:root[data-theme=light]{--bg: #f5f3ed;--bg-2: #efece4;--bg-3: #e6e2d5;--panel: rgba(255,255,255,.78);--rule: rgba(0,0,0,.08);--rule-2: rgba(0,0,0,.16);--rule-3: rgba(0,0,0,.28);--ink: #1a1814;--ink-2: #4a4639;--ink-3: #5a5547;--ink-mute: #a8a394;--accent: #d24a0e;--accent-2: #ff8a4a;--signal: #2e8b57;--plasma: #2a5cd9;--warn: #b88500}:root[data-theme=light] .grain{mix-blend-mode:multiply;opacity:.18}:root[data-theme=light] .scan{opacity:.04}:root[data-theme=light] .aurora .blob{mix-blend-mode:multiply;opacity:.18}:root[data-theme=light] .grid-bg{background-image:radial-gradient(rgba(0,0,0,.08) 1px,transparent 1px)}:root[data-theme=light] .sysbar{background:#f5f3edc7;border-bottom-color:var(--rule-2);color:var(--ink)}:root[data-theme=light] .sysbar .runtime,:root[data-theme=light] .sysbar .runtime .field .k{color:var(--ink-3)}:root[data-theme=light] .sysbar .runtime .field .v{color:var(--ink)}:root[data-theme=light] .sysbtn{border-color:var(--rule-2)}:root[data-theme=light] .sysbtn:hover{background:#0000000a}:root[data-theme=light] .cmd-dock{background:#ffffffc7;box-shadow:0 24px 60px #0000002e,0 0 0 1px #0000000a inset}:root[data-theme=light] .cmd-dock .kbd{background:#0000000a}:root[data-theme=light] .cmd-panel{background:#ffffffeb;box-shadow:0 24px 60px #0000002e}:root[data-theme=light] .proj-body .arch,:root[data-theme=light] .proj-stats,:root[data-theme=light] .tag,:root[data-theme=light] .stack-pill,:root[data-theme=light] .case-arch{background:#00000009}:root[data-theme=light] .tag.p,:root[data-theme=light] .stack-pill.primary{background:#0000000f}:root[data-theme=light] .stack-pill:hover{background:#d24a0e14}:root[data-theme=light] .tl-row:hover{background:#00000006}:root[data-theme=light] .metric:hover{background:#d24a0e0d}:root[data-theme=light] .lang:hover{background:#d24a0e0a}:root[data-theme=light] .proj-thumb{background:linear-gradient(135deg,#e6e2d5,#f0ece2)}:root[data-theme=light] .proj-thumb .live-overlay{background:#ffffffb3}:root[data-theme=light] .scan{display:none}.sysbtn:focus-visible,.cmd-close:focus-visible,.case-close:focus-visible,.proj-cta:focus-visible,.case-cta:focus-visible,.stack-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.agent-card{display:grid;gap:1.4rem 2.5rem}@media(min-width:1024px){.agent-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}}.agent-card-main{min-width:0}.hero-viz{position:relative;align-self:stretch;display:flex;flex-direction:column;gap:.9rem;min-width:0}.hero-viz-frame{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,rgba(255,106,26,.04) 0%,transparent 70%),linear-gradient(180deg,#0000002e,#0000000d)}.hero-viz-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;filter:drop-shadow(0 0 14px rgba(111,224,159,.55))}.hero-viz.viz-static .hero-viz-canvas{display:none}.hero-viz-fallback{position:absolute;top:8%;right:4%;bottom:8%;left:4%;width:92%;height:84%;color:var(--signal);display:none;pointer-events:none}.hero-viz.viz-static .hero-viz-fallback{display:block}.hero-viz-corner{position:absolute;width:14px;height:14px;border-color:var(--rule-2);border-style:solid;border-width:0;pointer-events:none}.hero-viz-corner.tl{top:8px;left:8px;border-top-width:1px;border-left-width:1px}.hero-viz-corner.tr{top:8px;right:8px;border-top-width:1px;border-right-width:1px}.hero-viz-corner.bl{bottom:8px;left:8px;border-bottom-width:1px;border-left-width:1px}.hero-viz-corner.br{bottom:8px;right:8px;border-bottom-width:1px;border-right-width:1px}.hero-viz-label{position:absolute;top:12px;left:14px;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);z-index:2;pointer-events:none}.hero-viz-label .dot{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px #6fe09f2e,0 0 10px var(--signal);animation:ping 2s infinite}.hero-viz-transcript{font-family:var(--mono);font-size:.78rem;line-height:1.55;color:var(--ink-2);letter-spacing:.01em;min-height:2.6em;padding:.55rem .7rem;border-left:2px solid var(--accent);background:linear-gradient(90deg,rgba(255,106,26,.05),transparent 60%);transition:opacity .28s ease-out;word-break:break-word}.hero-viz-transcript.vt-fade{opacity:.25}.hero-viz-transcript .vt-meta{color:var(--accent);margin-right:.5em;font-weight:500}.hero-viz-transcript .vt-text{color:var(--ink)}.hero-viz-transcript .vt-caret{display:inline-block;width:.55em;margin-left:.05em;color:var(--signal);animation:caret .95s steps(2) infinite}.hero-viz-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(255,255,255,.025) 2px,rgba(255,255,255,.025) 3px);mix-blend-mode:overlay;z-index:1}:root[data-theme=light] .hero-viz-frame{background:linear-gradient(180deg,rgba(42,92,217,.04),transparent 70%),linear-gradient(0deg,#fff9,#fff9);border-color:var(--rule-2)}:root[data-theme=light] .hero-viz-frame:after{background-image:linear-gradient(rgba(42,92,217,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(42,92,217,.07) 1px,transparent 1px);background-size:24px 24px;mix-blend-mode:multiply}:root[data-theme=light] .hero-viz-canvas{filter:none}:root[data-theme=light] .hero-viz-fallback{color:var(--plasma)}:root[data-theme=light] .hero-viz-label .dot{background:var(--signal);box-shadow:0 0 0 3px #2e8b5726,0 0 6px #2e8b5799}:root[data-theme=light] .hero-viz-transcript{background:linear-gradient(90deg,rgba(42,92,217,.05),transparent 60%);border-left-color:var(--plasma)}:root[data-theme=light] .hero-viz-transcript .vt-meta{color:var(--plasma)}:root[data-theme=light] .hero-viz-transcript .vt-caret{color:var(--plasma)}@media(prefers-reduced-motion:reduce){.hero-viz-transcript .vt-caret{animation:none}}.sysbtn{white-space:nowrap}.sysbtn .lbl{display:inline-block}#themeBtn{min-width:5.6rem}#langBtn{min-width:4.2rem}@media(max-width:520px){#themeBtn,#langBtn{min-width:0}}.cmd-close{display:none;font-family:var(--mono);font-size:1rem;line-height:1;padding:.35rem .55rem;background:#ffffff0a;border:1px solid var(--rule-2);border-radius:5px;color:var(--ink-2);cursor:none;transition:all .18s}.cmd-close:hover{color:var(--accent);border-color:var(--accent)}.cmd-dock.open .cmd-close{display:inline-flex;align-items:center;justify-content:center}.cmd-dock.open .placeholder{display:none}#caseModal{border:1px solid var(--rule-2);background:linear-gradient(180deg,var(--bg-2),var(--bg-3));color:var(--ink);border-radius:18px;width:min(720px,calc(100vw - 2rem));max-width:100vw;max-height:86vh;padding:0;margin:auto;box-shadow:0 32px 80px #0000008c;overflow:hidden;view-transition-name:case-modal}#caseModal::backdrop{background:#05060ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#caseModal[open]{animation:caseIn .45s cubic-bezier(.22,1,.36,1)}@keyframes caseIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}#caseModal>*{padding-left:2rem;padding-right:2rem}.case-close{position:absolute;top:1rem;right:1.1rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.4rem;line-height:1;background:#ffffff0a;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:8px;cursor:none;z-index:2;transition:all .2s}.case-close:hover{color:var(--accent);border-color:var(--accent)}.case-head{padding-top:2.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--rule);background:linear-gradient(180deg,rgba(255,106,26,.06),transparent)}.case-num{font-family:var(--serif);font-style:italic;font-size:2.2rem;font-weight:300;color:var(--accent);display:inline-block;margin-bottom:.2rem;line-height:1}.case-title{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.025em;line-height:1.1;color:var(--ink);margin-bottom:.5rem}.case-tagline{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--ink-2)}.case-section{padding-top:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--rule)}.case-section:last-of-type{border-bottom:none}.case-eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase;display:block;margin-bottom:.6rem}.case-section p{font-size:.96rem;line-height:1.65;color:var(--ink-2)}.case-arch{font-family:var(--mono);font-size:.78rem;color:var(--ink);background:#ffffff06;border:1px solid var(--rule);padding:.85rem 1rem;border-radius:6px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.case-highlights{list-style:none;padding-left:0;margin:0}.case-highlights li{padding:.5rem 0 .5rem 1.4rem;position:relative;font-size:.95rem;color:var(--ink-2);border-bottom:1px dashed var(--rule)}.case-highlights li:last-child{border-bottom:none}.case-highlights li:before{content:"↳";color:var(--accent);position:absolute;left:0;top:.5rem}.case-stack{display:flex;flex-wrap:wrap;gap:.4rem}.case-cta{display:inline-flex;margin:1.5rem 0 2rem;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);text-decoration:none;align-items:center;gap:.5rem;transition:gap .2s}.case-cta:hover{gap:1rem}.gh-live{display:block;margin-top:.6rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-3)}.gh-stars{color:var(--accent)}@media(pointer:coarse){.sysbtn,.cmd-close,.case-close,.stack-pill,.tag{min-height:44px}.sysbtn{padding:.65rem .7rem}.stack-pill,.tag{display:inline-flex;align-items:center}.sysbtn .kbd{display:none}}@media(max-width:520px){.sysbar a[data-key=contact],.sysbar .brand-mono .ver{display:none}}@media(prefers-reduced-motion:reduce){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}}input,textarea,[contenteditable]{cursor:text}.cmd-dock{transition:width .28s cubic-bezier(.7,0,.3,1),bottom .3s,opacity .3s}@media(prefers-reduced-motion:reduce){.cmd-dock{transition:none}}@media(prefers-reduced-motion:reduce){.aurora .blob,.grain,.scan,.ticker-track,.reveal,.reveal-stagger>*{animation:none!important;transform:none!important}.reveal,.reveal-stagger>*{opacity:1!important}.grain{display:none}.ticker-track{animation:none!important}.boot-line{opacity:1!important}html{scroll-behavior:auto}}@media(prefers-reduced-motion:no-preference)and (pointer:fine){.aurora .blob,.grid-bg,.cursor-dot,.cursor-ring{will-change:transform}}.hero-name .typed-name{will-change:contents}
