.writing-index,.writing-post{max-width:680px;margin:0 auto;padding:32px 0 112px}.writing-header{margin-bottom:36px}.writing-eyebrow,.writing-date{font-family:var(--font-mono);color:var(--color-gray-600);font-size:11px;line-height:1.7}.writing-eyebrow{gap:10px;margin-bottom:10px;display:flex}.writing-header h1{letter-spacing:-.045em;text-wrap:balance;color:var(--color-gray-900);margin:0 0 8px;font-size:clamp(30px,3.3vw,42px);font-weight:500;line-height:1.16}.writing-header>p{color:var(--color-gray-600);text-wrap:pretty;max-width:52ch;margin:0;font-size:16px;line-height:1.55}.writing-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.writing-list a{background:var(--color-gray-100);box-shadow:inset 0 0 0 1px var(--hairline);color:var(--color-gray-900);border-radius:14px;grid-template-columns:110px minmax(0,1fr) 20px;gap:24px;padding:24px;text-decoration:none;transition:background .18s ease-out,box-shadow .18s ease-out;display:grid}.writing-list a:hover,.writing-list a:focus-visible{background:var(--color-gray-200);box-shadow:inset 0 0 0 1px var(--color-gray-300)}.writing-date{flex-direction:column;gap:7px;padding-top:3px;display:flex}.writing-date>span{font-family:var(--font-sans);font-size:11px}.writing-summary h2{letter-spacing:-.025em;margin:0 0 4px;font-size:18px;font-weight:500;line-height:1.35}.writing-summary p{color:var(--color-gray-600);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.writing-arrow{color:var(--color-gray-500);transition:transform .18s ease-out,color .18s}.writing-list a:hover .writing-arrow,.writing-list a:focus-visible .writing-arrow{color:var(--color-gray-900);transform:translate(2px,-2px)}.writing-back{min-height:40px;color:var(--color-gray-600);align-items:center;margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-flex}.writing-back:hover{color:var(--color-gray-900)}.writing-header .writing-draft{margin-top:22px;font-size:12px}.writing-prose .writing-section{margin:0 0 44px}.writing-prose .writing-paragraph{margin:0 0 24px}.writing-prose h2{letter-spacing:-.035em;color:var(--color-gray-900);margin-bottom:16px;font-size:22px;font-weight:500;line-height:1.3}.writing-prose p{color:var(--color-gray-700);text-wrap:pretty;font-size:16px;line-height:1.85}.writing-prose sup a{color:var(--color-azure-500);padding:6px;scroll-margin-top:60px;text-decoration:none}.writing-credits{border-top:1px solid var(--color-gray-200);margin-top:64px;padding-top:24px}.writing-credits h2{font:11px var(--font-mono);color:var(--color-gray-600);margin-bottom:24px}.writing-credits ol{padding-left:22px;list-style:decimal}.writing-credits li{color:var(--color-gray-600);margin-bottom:14px;padding-left:8px;scroll-margin-top:40px;font-size:13px;line-height:1.8}.writing-credits li::marker{font:11px var(--font-mono);color:var(--color-azure-500)}.writing-credits a{color:inherit;text-underline-offset:3px;-webkit-text-decoration-color:var(--color-gray-400);text-decoration-color:var(--color-gray-400)}.writing-credits a:hover{color:var(--color-gray-900)}.writing-credits .credit-return{justify-content:center;align-items:center;min-width:40px;min-height:40px;text-decoration:none;display:inline-flex}.writing-credits li:target{color:var(--color-gray-900)}@media (width<=600px){.writing-index,.writing-post{padding-top:24px}.writing-list a{grid-template-columns:1fr 20px;gap:10px}.writing-date{flex-direction:row;grid-column:1/-1;gap:12px}.writing-header{margin-bottom:36px}.portfolio-tabs>a{padding-inline:9px}}@media (prefers-reduced-motion:reduce){.writing-arrow{transition:none}}.origin-demo{margin:32px 0}.origin-toolbar{color:var(--color-gray-600);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.origin-toolbar>div{align-items:center;gap:12px;display:flex}.origin-toolbar label{cursor:pointer;align-items:center;gap:6px;min-height:40px;display:flex}.origin-toolbar input{accent-color:var(--color-azure-500)}.origin-toolbar button,.origin-trigger{border:1px solid var(--color-gray-300);background:var(--color-gray-50);color:var(--color-gray-900);border-radius:8px;min-height:40px;padding:0 12px;font-size:12px}.origin-toolbar button:hover,.origin-trigger:hover{background:var(--color-gray-200)}.origin-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.origin-panel{background:var(--color-gray-100);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:12px;overflow:hidden}.origin-label{font:11px var(--font-mono);color:var(--color-gray-600);padding:16px 16px 0}.origin-stage{height:228px;position:relative}.origin-trigger{align-items:center;gap:8px;width:auto;min-height:32px;padding:0 10px;line-height:16px;display:flex;position:absolute;top:18px;right:20px}.origin-trigger .origin-chevron{flex:0 0 14px;width:14px;height:14px;display:block}.origin-menu{background:var(--color-gray-50);width:204px;box-shadow:0 6px 20px #0000000c, 0 0 0 1px var(--hairline);pointer-events:none;border-radius:10px;padding:8px;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.22,1,.36,1);position:absolute;top:58px;right:20px}.origin-menu>span{height:34px;color:var(--color-gray-800);justify-content:space-between;align-items:center;padding:0 8px;font-size:12px;display:flex}.origin-menu>span>span{font:10px var(--font-mono);color:var(--color-gray-500)}.origin-dot{background:var(--color-azure-500);width:6px;height:6px;box-shadow:0 0 0 3px var(--color-gray-50);pointer-events:none;border-radius:50%;position:absolute}.origin-dot-center{top:114px;right:119px}.origin-dot-trigger{top:55px;right:57px}.origin-demo figcaption{color:var(--color-gray-600);margin-top:14px;font-size:13px;line-height:1.6}.origin-notes{gap:8px;margin:20px 0 0;font-size:12px;line-height:1.6;display:grid}.origin-notes>div{grid-template-columns:80px 1fr;gap:12px;display:grid}.origin-notes dt{color:var(--color-gray-900);font-weight:500}.origin-notes dd{color:var(--color-gray-600);margin:0}.writing-prose .origin-reduced{color:var(--color-gray-600);font-size:12px}@media (width<=600px){.origin-panels{grid-template-columns:1fr}}.origin-trigger:before{content:"";position:absolute;inset:-4px 0}
