:root{--ink-0:#07090b;--ink-1:#0c0f12;--ink-2:#12161a;--ink-3:#1d2329;--ink-4:#2c353d;--fg:#dfe6ea;--fg-dim:#7f8c96;--mint:#3ee0b5;--amber:#ffc861;--rose:#ff7085;--violet:#b9a1ff;--blue:#82b8ff;--hud-h:54px;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--s-bg:#fff;--s-card:transparent;--s-text:#000;--s-muted:#333;--s-line:#999;--s-accent:#00e;--s-accent-soft:transparent;--s-accent-ink:#fff;--s-font:"Times New Roman",Times,serif;--s-mono:"Courier New",Courier,monospace;--s-display:var(--s-font);--s-radius:0px;--s-shadow:none}.has-theme{--s-bg:#f5f4ef;--s-card:#fffffd;--s-text:#15181b;--s-muted:#5b646c;--s-line:#dfdcd3;--s-accent:#0c8a6e;--s-accent-soft:rgba(12,138,110,.1);--s-accent-ink:#fff;--s-font:var(--sans);--s-mono:var(--mono);--s-display:"Instrument Serif","Iowan Old Style",Georgia,serif;--s-radius:14px;--s-shadow:0 1px 2px rgba(21,24,27,.04),0 10px 30px rgba(21,24,27,.06)}@media(prefers-color-scheme:dark){.has-theme{--s-bg:#0d1013;--s-card:#13181c;--s-text:#e8edf0;--s-muted:#93a1ab;--s-line:#232b32;--s-accent:#3ee0b5;--s-accent-soft:rgba(62,224,181,.1);--s-accent-ink:#05120e;--s-shadow:none}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ink-0);color:var(--fg);font-family:var(--sans);margin:0}:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.app{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh}.app,html:not(.is-live) body{overflow:hidden}.hud{align-items:center;background:var(--ink-0);border-bottom:1px solid var(--ink-3);color:var(--fg);display:flex;font-family:var(--mono);gap:clamp(12px,3vw,32px);height:var(--hud-h);padding:0 16px;position:relative}.hud__brand{font-size:14px;font-weight:700;letter-spacing:-.01em;margin:0}.hud__brand span{color:var(--mint)}.hud__stats{display:flex;gap:clamp(14px,3vw,28px);margin:0}.hud__stat{position:relative}.hud__stat dt{color:var(--fg-dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hud__stat dd{font-size:15px;font-variant-numeric:tabular-nums;font-weight:700;margin:0}.hud__bump{animation:bump 1.2s ease-out forwards;color:var(--mint);font-size:12px;font-weight:700;left:100%;margin-left:6px;pointer-events:none;position:absolute;top:12px;white-space:nowrap}.hud__bump.is-neg{color:var(--rose)}.hud__meter{background:transparent;height:2px;inset:auto 0 -1px;position:absolute}.hud__meter span{background:var(--mint);box-shadow:0 0 12px var(--mint);display:block;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);width:0}.hud__sound{background:transparent;border:1px solid var(--ink-4);border-radius:50%;cursor:pointer;display:grid;flex:none;font-size:14px;height:32px;line-height:1;margin-left:auto;padding:0;place-items:center;transition:border-color .2s;width:32px}.hud__sound:hover{border-color:var(--mint)}.hud__sound[aria-pressed=false]{opacity:.55}.hud__view{border:1px solid var(--ink-4);border-radius:999px;display:flex;flex:none;padding:3px}.hud__view button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--fg-dim);cursor:pointer;display:inline-flex;font:500 12.5px/1 var(--sans);gap:7px;padding:5px 11px;transition:background-color .2s,color .2s}.hud__view button:hover{color:var(--fg)}.hud__view button[aria-pressed=true]{background:var(--ink-3);color:var(--fg)}.hud__view button[aria-disabled=true]{cursor:not-allowed;opacity:.45}.hud__view+.hud__skip{margin-left:0}.hud__view-icon{border:1.5px solid;border-radius:2px;height:10px;width:14px}.hud__view-icon--split{background:linear-gradient(90deg,transparent calc(50% - .75px),currentColor calc(50% - .75px) calc(50% + .75px),transparent calc(50% + .75px))}.hud__skip{background:transparent;border:1px solid var(--ink-4);border-radius:999px;color:var(--fg-dim);cursor:pointer;font:13px/1 var(--sans);margin-left:auto;padding:7px 14px;transition:border-color .2s,color .2s;white-space:nowrap}.hud__skip strong{color:var(--fg);font-weight:600}.hud__skip:hover{border-color:var(--mint);color:var(--fg)}@keyframes bump{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.stage{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);min-height:0;padding:12px}.term{background:var(--ink-1);border:1px solid var(--ink-3);border-radius:12px;display:flex;flex-direction:column;font:13.5px/1.6 var(--mono);min-height:0;overflow:hidden}.term__bar{align-items:center;border-bottom:1px solid var(--ink-3);color:var(--fg-dim);display:flex;font-size:12px;gap:12px;padding:9px 12px}.term__title{flex:1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.term__close{background:transparent;border:0;border-radius:6px;color:var(--fg-dim);cursor:pointer;display:none;font-size:18px;height:24px;line-height:1;width:24px}.term__close:hover{background:var(--ink-3);color:var(--fg)}.term__out{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 6px;scrollbar-color:var(--ink-4) transparent;scrollbar-width:thin}.term__echo,.term__line{min-height:1.6em;overflow-wrap:anywhere;white-space:pre-wrap}.term__echo{margin-top:10px}.term__host{color:var(--mint)}.term__path{color:var(--blue)}.term__cmd{color:var(--fg)}.term__pre{font:inherit;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.term__plasma{color:var(--mint);line-height:1.05;margin:4px 0;overflow:hidden;white-space:pre}.term__pts{background:rgba(62,224,181,.14);border-radius:4px;color:var(--mint);font-size:12px;padding:0 6px}.term__grid,.term__ls{display:flex;flex-wrap:wrap;gap:2px 20px}.term__grid{color:var(--fg-dim)}.term__help{display:grid;gap:2px 20px;grid-template-columns:max-content 1fr}.term__help code{color:var(--mint);font:inherit}.term__help span{color:var(--fg-dim)}@media(max-width:520px){.term__help{grid-template-columns:1fr}.term__help span{margin-bottom:6px}}.term__ls--col{align-items:flex-start;flex-direction:column}.term__trophy{align-items:baseline;background:rgba(255,200,97,.08);border:1px solid rgba(255,200,97,.35);border-radius:8px;color:var(--fg);display:grid;gap:10px;grid-template-columns:auto 1fr auto;margin:6px 0;padding:8px 12px}.term__trophy strong{color:var(--amber)}.term__achs{display:grid;gap:2px 14px;grid-template-columns:max-content max-content 1fr;margin:4px 0}.term__ach{color:var(--fg-dim);display:contents}.term__ach.is-done{color:var(--fg)}.term__ach.is-done strong{color:var(--amber)}.term__ach strong{font-weight:500}@media(max-width:520px){.term__ach span:last-child{grid-column:2/-1;margin-bottom:6px}}.term__name{color:var(--fg);font:italic 400 clamp(2.6rem,9vw,4.2rem)/1 "Instrument Serif",Georgia,serif;margin:6px 0 2px}.term__name span{color:var(--mint)}.term__git .term__hash{color:var(--amber)}.term__fetch{overflow-x:auto}.term__fetch,.term__train{color:var(--fg);white-space:pre}.term__train{line-height:1.15;margin:4px 0;overflow:hidden}.term mark{background:rgba(255,200,97,.25);border-radius:3px;color:var(--amber)}.term__form{align-items:baseline;display:flex;gap:8px;padding:8px 16px 12px}.term__prompt{flex:none;white-space:nowrap}@media(max-width:520px){.term__prompt .term__host{display:none}}.term__input{background:transparent;border:0;caret-color:var(--mint);color:var(--fg);flex:1;font:inherit;min-width:0;outline:none;padding:0}@media(pointer:coarse){.term__input{font-size:16px}}.term.is-busy .term__form{opacity:.35}.term__keys{display:flex;gap:6px;overflow-x:auto;padding:0 12px 12px;scrollbar-width:none}.term__keys .tok{border:1px solid var(--ink-4);border-radius:6px;flex:none;font-size:12px;padding:4px 9px;text-decoration:none}.term__keys .tok:hover{border-color:currentColor}.term .is-dim{color:var(--fg-dim)}.term .is-err{color:var(--rose)}.term .is-ok{color:var(--mint)}.term .is-warn{color:var(--amber)}.term .is-magic{color:var(--violet)}.tok{background:none;border:0;border-radius:3px;color:var(--mint);cursor:pointer;display:inline;font:inherit;padding:0;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}.tok:hover{background:var(--ink-3);text-decoration-color:currentColor}.tok--dir{color:var(--blue);font-weight:700}.tok--pkg{color:var(--amber);font-weight:700}.tok--file{color:var(--fg)}.tok--hidden{color:var(--fg-dim);font-style:italic}.tok--locked{color:var(--rose)}.screen{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.screen__chrome{align-items:center;border-bottom:1px solid var(--ink-3);color:var(--fg-dim);display:flex;font:12px var(--mono);gap:12px;padding:8px 12px}.screen__url{background:var(--ink-1);border-radius:6px;flex:1;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;white-space:nowrap}.screen__url b{font-weight:400;opacity:.5}.screen__status{color:var(--mint);white-space:nowrap}.screen__viewport{background:var(--ink-1);container:site/inline-size;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative;scrollbar-color:var(--ink-4) transparent;scrollbar-width:thin}.screen__empty{align-items:center;color:var(--fg-dim);display:flex;flex-direction:column;font:13px/1.6 var(--mono);gap:4px;justify-content:center;min-height:100%;padding:32px 20px;text-align:center}.screen__empty pre{color:var(--rose);font:inherit;line-height:1.15;margin:0 0 18px;text-align:left}.screen__empty p{margin:0}.screen__empty strong{color:var(--fg)}.screen__empty .muted{opacity:.7}.screen__dots,.term__dots{display:inline-flex;gap:6px}.screen__dots i,.term__dots i{background:var(--ink-4);border-radius:50%;height:10px;width:10px}.installer{animation:fade-in .15s ease-out;backdrop-filter:blur(3px);background:rgba(4,6,8,.74);display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:100}.installer[hidden]{display:none}.installer__box{background:var(--ink-1);border:1px solid var(--mint);box-shadow:0 0 0 4px var(--ink-1),0 0 0 5px color-mix(in srgb,var(--mint) 40%,transparent),14px 16px 0 5px rgba(0,0,0,.55);color:var(--fg);font:13px/1.6 var(--mono);outline:none;padding:26px 22px 20px;position:relative;width:min(600px,100%)}.installer__title{background:var(--ink-1);color:var(--mint);font-weight:700;left:50%;letter-spacing:.06em;margin:0;padding:0 10px;position:absolute;text-transform:uppercase;top:0;transform:translate(-50%,-50%);white-space:nowrap}.installer__title:before{content:"┤ "}.installer__title:after{content:" ├"}.installer__pkg{font-weight:700;margin:0 0 14px}.installer__bar{border:1px solid var(--ink-4);height:16px;padding:2px}.installer__bar span{background:repeating-linear-gradient(90deg,var(--mint) 0 8px,transparent 8px 10px);display:block;height:100%;width:0}.installer__pct{color:var(--fg-dim);font-variant-numeric:tabular-nums;margin:4px 0 0;text-align:right}.installer__log{color:var(--fg-dim);list-style:none;margin:10px 0 0;max-height:14em;overflow-y:auto;padding:0}.installer__log li{overflow-wrap:anywhere;white-space:pre-wrap}.installer__log .is-ok{color:var(--mint)}.installer__log .is-row{display:flex;gap:8px;padding:3px 0}.installer__log .is-row span{flex:1;overflow:hidden;white-space:nowrap}.installer__log .is-row span:after{color:var(--ink-4);content:" ································································"}.installer__log .is-row strong{color:var(--fg)}.installer.is-summary .installer__bar,.installer.is-summary .installer__pct{display:none}.installer__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.installer__actions:empty{display:none}.btn-tui{background:var(--ink-2);border:1px solid var(--ink-4);color:var(--fg);cursor:pointer;font:inherit;padding:8px 12px}.btn-tui:before{content:"[ ";opacity:.6}.btn-tui:after{content:" ]";opacity:.6}.btn-tui--primary{background:var(--mint);border-color:var(--mint);color:var(--ink-0);font-weight:700}@keyframes fade-in{0%{opacity:0}}.np{align-items:center;background:rgba(255,200,97,.08);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:999px;color:var(--amber);cursor:pointer;display:none;font:700 12px var(--mono);gap:8px;padding:6px 12px}.np:hover{border-color:var(--amber)}.np__bars{align-items:flex-end;display:inline-flex;gap:2px;height:12px}.np__bars i{animation:eq .9s ease-in-out infinite;background:currentColor;height:100%;transform-origin:bottom;width:3px}.np__bars i:nth-child(2){animation-delay:-.3s}.np__bars i:nth-child(3){animation-delay:-.6s}.np__bars i:nth-child(4){animation-delay:-.45s}.np--float{background:var(--ink-1);bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.3);left:20px;padding:10px 16px;position:fixed;z-index:60}.is-live.is-playing .np--float,.is-playing .np--hud{display:inline-flex}.is-playing .np--hud{margin-left:auto}.is-playing .np--hud+.hud__sound{margin-left:0}@keyframes eq{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.fusion,.fusion *{animation:none!important;transition:none!important}.np__bars i{animation:none;transform:scaleY(.6)}}.fab{align-items:center;background:var(--ink-1);border:1px solid var(--ink-4);border-radius:999px;bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.3);color:var(--mint);cursor:pointer;display:none;font:700 13px var(--mono);gap:6px;padding:10px 16px;position:fixed;right:20px;transition:transform .2s;z-index:60}.fab__label{color:var(--fg);font-weight:400}.fab:hover{transform:translateY(-2px)}.has-contact .screen__empty,.has-identity .screen__empty,.has-layout .screen__empty,.has-projects .screen__empty,.has-stack .screen__empty,html:not(.has-contact) [data-pkg-link=contact],html:not(.has-contact) [data-pkg=contact],html:not(.has-identity) [data-pkg-link=identity],html:not(.has-identity) [data-pkg=identity],html:not(.has-layout) [data-pkg-link=layout],html:not(.has-layout) [data-pkg=layout],html:not(.has-layout):not(.has-identity):not(.has-stack):not(.has-projects):not(.has-contact) .site,html:not(.has-projects) [data-pkg-link=projects],html:not(.has-projects) [data-pkg=projects],html:not(.has-stack) [data-pkg-link=stack],html:not(.has-stack) [data-pkg=stack]{display:none}.is-flash{animation:flash 1.6s ease-out}@keyframes flash{0%,30%{background-color:rgba(62,224,181,.12);outline:2px solid var(--mint);outline-offset:-2px}to{outline:2px solid transparent;outline-offset:-2px}}.site{background:var(--s-bg);color:var(--s-text);font-family:var(--s-font);font-size:16px;line-height:1.5;min-height:100%;padding:16px;transition:background-color .4s,color .4s}.site a{color:var(--s-accent)}.site img{height:auto;max-width:100%}.site .fusion__cube{width:72px}.site .link-btn{background:none;border:0;color:var(--s-accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}html:not(.has-layout) .site .fusion__label,html:not(.has-layout) .site .fusion__replay,html:not(.has-layout) .site .fusion__ring{display:none}.has-theme .site{font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.has-theme .site h1,.has-theme .site h2,.has-theme .site h3,.has-theme .site h4{font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0}.has-theme .site p{margin:0 0 .75em}.has-theme .site a{text-decoration:none}.has-theme .site a:hover{text-decoration:underline;text-underline-offset:3px}.has-theme .site .eyebrow{align-items:center;background:var(--s-card);border:1px solid var(--s-line);border-radius:999px;color:var(--s-muted);display:inline-flex;font:500 12.5px var(--s-mono);gap:10px;margin-bottom:20px;padding:6px 12px}.has-theme .site .pulse{background:var(--s-accent);border-radius:50%;box-shadow:0 0 0 4px var(--s-accent-soft);height:8px;width:8px}.has-theme .site .hero__name{font-weight:400;letter-spacing:0;margin:0}.has-theme .site .hero__first{color:var(--s-muted);display:block;font:400 clamp(1.4rem,4cqi,2.2rem)/1 var(--s-display)}.has-theme .site .hero__last{display:block;font:italic 400 clamp(3.4rem,23cqi,15.5rem)/.92 var(--s-display);letter-spacing:-.025em;margin:0 -.12em -.22em -.04em;padding:0 .12em .22em 0;white-space:nowrap}.has-theme .site .hero__dot{color:var(--s-accent)}.has-theme .site .hero__say{color:var(--s-muted);display:flex;flex-wrap:wrap;font:13px var(--s-mono);gap:0;letter-spacing:.06em;margin:18px 0 0}.has-theme .site .hero__say span:not(:last-child):after{color:var(--s-accent);content:"·";margin-inline:.45em}.has-theme .site .hero__pitch{font-size:clamp(1.1rem,2.4cqi,1.35rem);line-height:1.5;margin-top:28px;max-width:46ch}.has-theme .site .btn{align-items:center;background:var(--s-card);border:1px solid var(--s-line);border-radius:999px;color:var(--s-text);display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:11px 18px;text-decoration:none}.has-theme .site .btn--primary{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-accent-ink)}.has-theme .site .facts,.has-theme .site .project__facts{margin:0}.has-theme .site .facts dt,.has-theme .site .project__facts dt{color:var(--s-muted);font:12px var(--s-mono);letter-spacing:.06em;text-transform:uppercase}.has-theme .site .facts dd,.has-theme .site .project__facts dd{font-weight:500;margin:4px 0 0}.has-theme .site .project__facts dd{font:italic 400 2.4rem/1 var(--s-display)}.has-theme .site .section__index{color:var(--s-accent);font:500 13px var(--s-mono)}.has-theme .site .section__head h2{font-size:clamp(1.8rem,5cqi,2.6rem)}.has-theme .site .section__head h2 em{font:italic 400 1.2em/1 var(--s-display);letter-spacing:-.01em}.has-theme .site .section__lead{color:var(--s-muted);font-size:1.1rem;max-width:52ch}.has-theme .site .chips,.has-theme .site .tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.has-theme .site .tags li{color:var(--s-muted);font:12.5px var(--s-mono)}.has-theme .site .tags li:not(:last-child):after{content:" ·";opacity:.6}.has-theme .site .chips li{background:var(--s-accent-soft);border-radius:999px;color:var(--s-text);font-size:14px;padding:5px 11px}.has-theme .site .stack__group h3{font-size:1.05rem;margin-bottom:8px}.has-theme .site .stack__group p{color:var(--s-muted);font-size:15px}.has-theme .site .project__name{font:italic 400 clamp(2.4rem,7cqi,3.6rem)/1 var(--s-display);letter-spacing:-.01em}.has-theme .site .project__tagline{font-size:1.15rem;font-weight:500;margin-top:10px}.has-theme .site .project__desc{color:var(--s-muted)}.has-theme .site .project__note{color:var(--s-muted);font:12.5px var(--s-mono)}.has-theme .site .fusion__part{background:var(--s-card);border:1px solid var(--s-line);border-radius:999px;box-shadow:var(--s-shadow)}.has-theme .site .fusion__part small{color:var(--s-muted);font:11.5px var(--s-mono)}.has-theme .site .fusion__face{stroke:var(--s-bg);stroke-width:1.2;stroke-linejoin:round}.has-theme .site .fusion__face--top{fill:var(--s-accent)}.has-theme .site .fusion__face--left{fill:color-mix(in srgb,var(--s-accent) 72%,#000)}.has-theme .site .fusion__face--right{fill:color-mix(in srgb,var(--s-accent) 50%,#000)}.has-theme .site .fusion__label{font:italic 400 1.35rem/1 var(--s-display)}.has-theme .site .fusion__part:focus-within,.has-theme .site .fusion__part:hover{border-color:var(--s-accent)}.has-theme .site .fusion__play-icon{background:var(--s-accent);box-shadow:0 0 0 8px var(--s-accent-soft);color:var(--s-accent-ink)}.has-theme .site .fusion__play-text{font:500 13px var(--s-mono)}.has-theme .site .section__hint{font:13px var(--s-mono)}.has-theme .site .dev__badge{background:var(--s-text);border-radius:6px;color:var(--s-bg);font:600 11px var(--s-mono);letter-spacing:.04em;padding:2px 7px}.has-theme .site .fusion__ring{border:2px solid var(--s-accent);border-radius:50%}.has-theme .site .fusion__modules li{background:var(--s-accent-soft);border-radius:999px;color:var(--s-text);font-size:13.5px;font-weight:500}.has-theme .site .contact__lead{color:var(--s-muted);font-size:1.15rem}.has-theme .site .contact__mail{color:var(--s-text);font-size:clamp(1.3rem,5.2cqi,2.9rem);font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--s-accent);text-decoration-thickness:2px;text-underline-offset:8px}.has-theme .site .contact__links{list-style:none;padding:0}.has-theme .site .contact__links small{color:var(--s-muted);font:12.5px var(--s-mono)}.has-theme .site .site-footer{color:var(--s-muted);font-size:13.5px}.has-theme .site .site-footer p{margin:0}.has-theme .site .site-nav__logo{color:var(--s-text);font:italic 400 30px/1 var(--s-display);text-decoration:none}.has-theme .site .site-nav__logo span{color:var(--s-accent)}.dev{background:var(--ink-1);border:1px solid var(--ink-4);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.45);color:var(--fg);font:15px/1.6 var(--sans);max-height:min(680px,100dvh - 32px);padding:0;width:min(560px,100vw - 32px)}.dev::backdrop{backdrop-filter:blur(4px);background:rgba(7,9,11,.6)}.dev[open]{animation:fade-in .2s ease-out}.dev__bar{align-items:center;background:var(--ink-2);border-bottom:1px solid var(--ink-3);display:flex;font:12.5px var(--mono);gap:10px;padding:10px 12px 10px 16px}.dev__bar form{margin:0 0 0 auto}.dev__badge{background:var(--mint);border-radius:6px;color:var(--ink-0);font:700 11px var(--mono);letter-spacing:.04em;padding:2px 7px}.dev__close,.dev__path{color:var(--fg-dim)}.dev__close{background:none;border:0;border-radius:8px;cursor:pointer;font-size:20px;height:30px;width:30px}.dev__close:hover{background:var(--ink-3);color:var(--fg)}.dev .dev__body{overflow:auto;padding:22px 24px 26px}.dev .dev__body h4{color:var(--mint);font:600 11.5px var(--mono);letter-spacing:.08em;margin:22px 0 6px;text-transform:uppercase}.dev .dev__body p{margin:0 0 10px}.dev .dev__body .tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:10px 0 0;padding:0}.dev .dev__body .tags li{border:1px solid var(--ink-4);border-radius:999px;color:var(--fg);font:12px var(--mono);padding:3px 9px}.dev .dev__body .tags li:after{content:none!important}.dev .dev__body .dev__year{color:var(--fg-dim);font:12.5px var(--mono)}.dev .dev__body .dev__title{font-weight:400;font:italic 400 2.6rem/1 "Instrument Serif",Georgia,serif;letter-spacing:0;margin:2px 0 10px}.dev .dev__body .dev__idea{font-size:1.05rem}.dev .dev__body .dev__legacy{background:var(--ink-2);border-left:2px solid var(--mint);padding:10px 14px}.dev .dev__body .dev__links{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:22px}.dev .dev__body .dev__links a{color:var(--mint);font-weight:500}.dev .dev__body .dev__links small{color:var(--fg-dim);font:12px var(--mono)}.has-layout .site{padding:0}.has-layout .site .site-nav{align-items:center;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--s-bg) 85%,transparent);border-bottom:1px solid var(--s-line);display:flex;gap:16px;justify-content:space-between;padding:14px clamp(16px,5cqi,48px);position:sticky;top:0;z-index:5}.has-layout .site .site-nav__links{align-items:center;display:flex;gap:2px}.has-layout .site .site-nav__links a{border-radius:8px;color:var(--s-muted);font-size:14.5px;padding:6px 12px;text-decoration:none}.has-layout .site .site-nav__links a:hover{color:var(--s-text)}.has-layout .site .site-nav__cta{border:1px solid var(--s-line);border-radius:999px!important;color:var(--s-text)!important;margin-left:8px}.has-layout .site .hero,.has-layout .site .section{margin-inline:auto;max-width:1120px;padding-inline:clamp(16px,5cqi,48px);scroll-margin-top:64px}.has-layout .site .hero{padding-block:clamp(40px,8cqi,104px) clamp(40px,7cqi,80px)}.has-layout .site .facts,.has-layout .site .project__facts{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:48px}.has-layout .site .facts div,.has-layout .site .project__facts div{border-top:1px solid var(--s-line);padding-top:14px}.has-layout .site .project__facts{margin-top:28px}.has-layout .site .section{border-top:1px solid var(--s-line);padding-block:clamp(56px,9cqi,104px)}.has-layout .site .section__head{align-items:baseline;display:flex;gap:14px;margin-bottom:clamp(28px,5cqi,48px)}.has-layout .site .stack{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));list-style:none;margin:0;padding:0}.has-layout .site .contact__links a,.has-layout .site .project,.has-layout .site .stack__group{background:var(--s-card);border:1px solid var(--s-line);border-radius:var(--s-radius);box-shadow:var(--s-shadow)}.has-layout .site .stack__group{display:flex;flex-direction:column;padding:22px 22px 20px}.has-layout .site .stack__group .tags{margin-top:auto;padding-top:10px}.has-layout .site .fusion{--r:min(190px,31cqi);--r2:min(165px,34cqi);--ease:cubic-bezier(0.65,0,0.35,1);--pop:cubic-bezier(0.34,1.4,0.64,1);height:calc(var(--r)*2 + 90px);margin:24px 0 8px;position:relative}.has-layout .site .fusion__modules,.has-layout .site .fusion__parts{list-style:none;margin:0;padding:0}.has-layout .site .fusion__modules li,.has-layout .site .fusion__part{--a:calc(360deg/var(--n)*var(--i) - 90deg);left:50%;position:absolute;top:50%;white-space:nowrap}.has-layout .site .fusion__part{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.15);transition:transform 1.6s var(--ease),opacity .6s 1.1s;transition-delay:calc(var(--i)*.25s),calc(1.1s + var(--i)*.25s);z-index:2}.has-layout .site .fusion__part button{align-items:center;background:none;border:0;border-radius:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;line-height:1.3;padding:9px 18px}.has-layout .site .fusion__core{height:112px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:112px}.has-layout .site .fusion__cube-btn{background:none;border:0;cursor:pointer;display:block;padding:0;width:100%}.has-layout .site .fusion__cube{display:block;transition:transform .9s var(--pop) 2.3s;width:100%}.has-layout .site .fusion__ring{inset:-20px;opacity:0;pointer-events:none;position:absolute}.has-layout .site .fusion__label{left:50%;margin-top:6px;position:absolute;top:100%;transform:translateX(-50%);transition:opacity .6s 2.9s;white-space:nowrap}.has-layout .site .fusion__play{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:8px;left:50%;opacity:0;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.6);transition:opacity .3s,transform .3s;white-space:nowrap}.has-layout .site .fusion__play-icon{border-radius:50%;display:grid;font-size:22px;height:64px;padding-left:4px;place-items:center;width:64px}.has-layout .site .fusion__modules li{padding:5px 12px;transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r2)) rotate(calc(var(--a)*-1));transition:transform .9s var(--pop),opacity .5s;transition-delay:calc(3.3s + var(--i)*.16s)}.has-layout .site .fusion__replay{bottom:0;font-size:13.5px;position:absolute;right:0}.has-layout .site .fusion.is-split .fusion__part{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(var(--a)*-1));transition:none}.has-layout .site .fusion.is-split .fusion__cube-btn{pointer-events:none}.has-layout .site .fusion.is-split .fusion__cube{transform:scale(0);transition:none}.has-layout .site .fusion.is-split .fusion__label,.has-layout .site .fusion.is-split .fusion__replay{opacity:0;pointer-events:none;transition:none}.has-layout .site .fusion.is-split .fusion__play{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.has-layout .site .fusion.is-split .fusion__modules li{opacity:0;transform:translate(-50%,-50%) scale(.3);transition:none}.has-layout .site .fusion.is-merging .fusion__ring{animation:fusion-ring 1.2s ease-out 2.2s}.has-layout .site .fusion.is-merging .fusion__replay{opacity:0;pointer-events:none}.has-layout .site .project{padding:clamp(22px,4cqi,36px)}.has-layout .site .project__links{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px}.has-layout .site .contact__mail{display:inline-block;margin:4px 0 40px}.has-layout .site .contact__links{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:0}.has-layout .site .contact__links a{align-items:baseline;color:var(--s-text);display:flex;font-weight:500;gap:12px;justify-content:space-between;padding:16px 18px;text-decoration:none}.has-layout .site .contact__links small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-layout .site .site-footer{align-items:center;border-top:1px solid var(--s-line);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;margin-top:80px;padding-top:24px}@container site (max-width: 640px){.has-layout .site .site-nav__links a:not(.site-nav__cta){display:none}}@media(prefers-reduced-motion:no-preference){.has-motion .site .pulse{animation:pulse 2.4s ease-out infinite}.has-motion .site .hero__last{animation:shimmer 7s ease-in-out infinite;background:linear-gradient(100deg,var(--s-text) 0 42%,var(--s-accent) 50%,var(--s-text) 58% 100%);-webkit-background-clip:text;background-clip:text;background-size:260% 100%;color:transparent}.has-motion .site .hero__dot{color:var(--s-accent);-webkit-text-fill-color:var(--s-accent)}.has-motion .site .btn,.has-motion .site .contact__links a,.has-motion .site .project,.has-motion .site .stack__group{transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}.has-motion .site .btn:hover,.has-motion .site .contact__links a:hover,.has-motion .site .project:hover,.has-motion .site .stack__group:hover{border-color:var(--s-accent);transform:translateY(-3px)}.has-motion .site .chips li{transition:background-color .2s,color .2s}.has-motion .site .chips li:hover{background:var(--s-accent);color:var(--s-accent-ink)}@supports(animation-timeline:view()){.has-motion .site .contact__links li,.has-motion .site .project,.has-motion .site .section__head,.has-motion .site .stack__group{animation:rise linear both;animation-timeline:view();animation-range:entry 0 entry 30%}}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--s-accent) 55%,transparent)}to{box-shadow:0 0 0 10px transparent}}@keyframes shimmer{0%,to{background-position:100% 0}50%{background-position:0 0}}@keyframes fusion-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.2)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.is-live body{background:var(--s-bg)}.is-live .app{display:block;height:auto;overflow:visible}.is-live .hud{border-bottom-color:var(--ink-0);position:sticky;top:0;z-index:60}.is-live .screen__chrome,.is-live .term{display:none}.is-live .stage{display:block;padding:0}.is-live .screen{background:none;border:0;border-radius:0;display:block;overflow:visible}.is-live .screen__viewport{background:var(--s-bg);overflow:visible}.is-live .fab{display:inline-flex}.is-live .term-open .term{bottom:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);display:flex;height:min(480px,100dvh - 32px);position:fixed;right:16px;width:min(640px,100vw - 32px);z-index:70}.is-live .term-open .term__close{display:block}.is-live .term-open .fab{display:none}.is-live.has-layout .site .site-nav{top:var(--hud-h)}.is-live.has-layout .site .hero,.is-live.has-layout .site .section{scroll-margin-top:calc(64px + var(--hud-h))}.no-js .fab,.no-js .site-footer .link-btn,.no-js .site-footer__game{display:none}@media(max-width:900px){.stage{gap:8px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,.85fr) minmax(0,1.15fr);padding:8px}.screen{order:-1}.term{font-size:13px}}@media(max-width:600px){.hud{gap:10px;padding:0 12px}.hud__view-label{display:none}.hud__view button{padding:6px 8px}.hud__brand{display:none}.hud__skip{font-size:12px;padding:6px 10px}.np--hud .np__label{display:none}.hud__skip{font-size:0}.hud__skip strong{font-size:12px}.screen__dots,.term__dots{display:none}}