body{-moz-osx-font-smoothing:grayscale}:root{--ground:#120a1f;--sheet:#1d1230;--ink:#f3e9f7;--soft:#d9c9e4;--muted:#9f8db0;--rule:#f3e9f721;--accent:#ff7ac6;--accent-dim:#ff7ac659;--title:#fff0fa;--portrait-ink:#cdeee9;--portrait-glow:#5fd4e059;--display:"Archivo","Arial Narrow",system-ui,sans-serif;--serif:"Literata",Georgia,"Times New Roman",serif;--body:"Fira Sans","Helvetica Neue",Arial,sans-serif;--mono:"Fira Code",ui-monospace,Menlo,monospace;--pixel:"Silkscreen",monospace;--term:"VT323",var(--mono);--wrap:1180px;--head-h:70px;--radius:6px;color-scheme:dark}:root[data-theme=bone]{--ground:#0c0b0a;--sheet:#1a1814;--ink:#ece8dd;--soft:#cbc6b8;--muted:#8f8a7e;--rule:#ece8dd21;--accent:#ece8dd;--accent-dim:#ece8dd4d;--title:#f3ecdc}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#120a1f;background:var(--ground);color:#f3e9f7;color:var(--ink);font-family:Fira Sans,Helvetica Neue,Arial,sans-serif;font-family:var(--body);margin:0}#root{display:flex;flex-direction:column;min-height:100vh}a,button{color:inherit}button{cursor:pointer;font:inherit}:focus-visible{outline:2px solid #ff7ac6;outline:2px solid var(--accent);outline-offset:2px}.site{--gutter:max(0px,(100% - var(--wrap))/2);align-items:center;border-bottom:1px solid #0000;display:flex;justify-content:center;padding:22px calc(var(--gutter) + 56px);position:-webkit-sticky;position:sticky;top:0;transition:background-color .2s,border-color .2s;width:100%;z-index:10}.site-stuck{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,#120a1f 82%,#0000);background:color-mix(in srgb,var(--ground) 82%,#0000);border-bottom-color:#f3e9f721;border-bottom-color:var(--rule)}.site nav{display:flex;gap:clamp(4px,2vw,22px)}.site nav a{border-radius:3px;font-size:13px;letter-spacing:.06em;padding:4px 8px;text-decoration:none}.site nav a,.themeb{color:#9f8db0;color:var(--muted);font-family:Silkscreen,monospace;font-family:var(--pixel);text-transform:uppercase}.themeb{align-items:center;background:color-mix(in srgb,#120a1f 60%,#0000);background:color-mix(in srgb,var(--ground) 60%,#0000);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;display:flex;font-size:11px;gap:8px;letter-spacing:.08em;padding:5px 10px;position:absolute;right:calc(var(--gutter) + clamp(16px, 4vw, 52px))}.themeb i{border-radius:50%;box-shadow:0 0 8px currentColor;height:8px;width:8px}.themeb:hover{border-color:#ff7ac6;border-color:var(--accent);color:#f3e9f7;color:var(--ink)}.site nav a:hover,.site nav a[aria-current=page]{color:#ff7ac6;color:var(--accent);text-shadow:0 0 10px #ff7ac659;text-shadow:0 0 10px var(--accent-dim)}.site nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:#ff7ac6;text-decoration-color:#ff7ac6;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px}.pb-grid{display:grid;flex:1 1;grid-template-columns:minmax(0,1fr) minmax(0,clamp(720px,50vw,1120px)) minmax(0,1fr);margin:0 auto;padding:0 16px;width:100%}.pb-grid>main{grid-column:2;padding:clamp(28px,6vw,76px) 0 48px}@media (max-width:979px){.pb-grid{grid-template-columns:minmax(0,1fr)}.pb-grid>main{grid-column:1;margin-inline:auto;max-width:760px;width:100%}}.pb-lbl{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11px;letter-spacing:.1em;margin:0 0 10px}.pb-h1,.pb-lbl{text-transform:uppercase}.pb-h1{text-wrap:balance;color:#fff0fa;color:var(--title);font-family:Silkscreen,monospace;font-family:var(--pixel);font-size:clamp(28px,4.4vw,50px);font-weight:700;letter-spacing:.01em;line-height:1.08;margin:0;text-shadow:0 0 22px #ff7ac659;text-shadow:0 0 22px var(--accent-dim)}.pb-dek{text-wrap:pretty;color:#d9c9e4;color:var(--soft);font-family:Literata,Georgia,Times New Roman,serif;font-family:var(--serif);font-size:clamp(18px,2vw,21px);line-height:1.45;margin:.55em 0 0}.pb-more{border-bottom:1px solid #f3e9f721;border-bottom:1px solid var(--rule);color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin:14px 0 0;padding-bottom:clamp(24px,4vw,36px)}.pb-item p a,.pb-more a,.pb-older a{color:#f3e9f7;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:#f3e9f721;text-decoration-color:#f3e9f721;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}.pb-item p a:hover,.pb-more a:hover,.pb-older a:hover{-webkit-text-decoration-color:#ff7ac6;text-decoration-color:#ff7ac6;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}main section{margin-top:clamp(40px,6vw,60px)}main h2{color:#ff7ac6;color:var(--accent);font-family:Silkscreen,monospace;font-family:var(--pixel);font-size:18px;font-weight:400;letter-spacing:.04em;line-height:1.25;margin:0 0 10px;text-transform:uppercase}.pb-grp{margin:22px 0 2px}.pb-item{border-bottom:1px solid #f3e9f721;border-bottom:1px solid var(--rule);padding:13px 0}.pb-hd{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.pb-hd .t{color:#f3e9f7;color:var(--ink);font-family:Literata,Georgia,Times New Roman,serif;font-family:var(--serif);font-size:19.2px;font-weight:500;line-height:1.3;text-decoration:none}.pb-hd a.t:hover{text-decoration:underline;-webkit-text-decoration-color:#ff7ac6;text-decoration-color:#ff7ac6;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.pb-hd .y{font-feature-settings:"tnum";color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.pb-item li,.pb-item p{color:#9f8db0;color:var(--muted);font-size:15px;line-height:1.6;margin:3px 0 0;max-width:76ch}.pb-item .role{color:#d9c9e4;color:var(--soft)}.pb-item ul{margin:4px 0 0;padding-left:18px}.pb-now{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:13px;line-height:1.9;list-style:none;margin:14px 0 0;padding:0}.pb-now li:before{color:#ff7ac6;color:var(--accent);content:"→ "}.proj-links{display:flex;flex-wrap:wrap;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;gap:4px 14px;margin-top:8px}.proj-links a{color:#ff7ac6;color:var(--accent);text-decoration:none}.proj-links a:hover{text-decoration:underline;text-underline-offset:3px}.pb-older{font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin:14px 0 0}.pb-sec{grid-gap:0 clamp(24px,4vw,56px);display:grid;gap:0 clamp(24px,4vw,56px);grid-template-columns:minmax(150px,1fr) minmax(0,3.6fr)}.pb-sec>h2{align-self:start;padding-top:13px;position:-webkit-sticky;position:sticky;top:94px;top:calc(var(--head-h) + 24px)}.pb-sec-wide{display:block}.pb-sec-wide>h2{padding-top:0;position:static}.proj-grid.pb-cards{border-top:0;margin-top:18px;padding-top:0}@media (max-width:979px){.pb-sec{display:block}.pb-sec>h2{padding-top:0;position:static}}.cv-hero{grid-gap:clamp(28px,5vw,72px);align-items:center;border-bottom:1px solid #f3e9f721;border-bottom:1px solid var(--rule);display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:calc(100vh - 140px);padding-bottom:clamp(32px,5vw,56px)}.cv-contact{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;line-height:1.8;margin:16px 0 0}.cv-contact a{color:#f3e9f7;color:var(--ink);-webkit-text-decoration-color:#f3e9f721;text-decoration-color:#f3e9f721;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px}.cv-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.cv-btn{background:#ff7ac6;background:var(--accent);border:1px solid #ff7ac6;border:1px solid var(--accent);border-radius:999px;color:#120a1f;color:var(--ground);display:inline-block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:13px;padding:11px 18px;text-decoration:none;transition:box-shadow .25s,transform .25s}.cv-btn:hover{box-shadow:0 10px 28px -10px #ff7ac659;box-shadow:0 10px 28px -10px var(--accent-dim);transform:translateY(-1px)}.cv-btn-ghost{background:#0000;border-color:#f3e9f721;border-color:var(--rule);color:#f3e9f7;color:var(--ink)}.cv-btn-ghost:hover{border-color:#ff7ac6;border-color:var(--accent)}.cv-scroll{color:#9f8db0;color:var(--muted);display:inline-block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin-top:30px;text-decoration:none}.cv-scroll:hover{color:#ff7ac6;color:var(--accent)}.cv-paper{background:#fff;border-radius:10px;box-shadow:0 40px 90px -40px #000c,0 0 0 1px #f3e9f721,0 0 60px -20px #ff7ac659;box-shadow:0 40px 90px -40px #000c,0 0 0 1px var(--rule),0 0 60px -20px var(--accent-dim);display:block;justify-self:center;overflow:hidden;transform:rotate(1.2deg);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;width:min(100%,560px)}.cv-paper:hover{box-shadow:0 50px 100px -40px #000000d9,0 0 0 1px #ff7ac6,0 0 80px -20px #ff7ac659;box-shadow:0 50px 100px -40px #000000d9,0 0 0 1px var(--accent),0 0 80px -20px var(--accent-dim);transform:rotate(0) translateY(-4px)}.cv-paper img{display:block;height:auto;width:100%}#cv-text{scroll-margin-top:16px}@media (max-width:979px){.cv-hero{grid-template-columns:minmax(0,1fr);min-height:0}}@media (prefers-reduced-motion:reduce){.cv-btn,.cv-paper{transform:none;transition:none}}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips-filter{margin-top:28px}.chip{background:none;border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;padding:5px 10px}.chip:hover:not(:disabled),.chip[aria-pressed=true],.chip[aria-selected=true]{border-color:#ff7ac6;border-color:var(--accent);color:#ff7ac6;color:var(--accent)}.chip:disabled{cursor:default;opacity:.5}.proj-page{flex:1 1;margin:0 auto;max-width:1400px;padding:clamp(28px,6vw,76px) clamp(16px,4vw,56px) 64px;width:100%}.proj-head{max-width:660px}.proj-grid{grid-gap:clamp(44px,5vw,72px) clamp(24px,3vw,44px);border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);display:grid;gap:clamp(44px,5vw,72px) clamp(24px,3vw,44px);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;padding-top:32px}.proj{display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.thumb-frame{background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:6px;border-radius:var(--radius);display:block;margin-bottom:18px;overflow:hidden;position:relative;transition:border-color .25s,box-shadow .35s}.thumb{aspect-ratio:16/10;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .35s;width:100%}.thumb-empty{color:#9f8db0;color:var(--muted);display:grid;font-size:34px;place-items:center}.thumb-cta{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000009e;border-radius:999px;bottom:12px;color:#f3e9f7;color:var(--ink);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px;left:12px;opacity:0;padding:5px 11px;position:absolute;transform:translateY(8px);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1)}.proj .pb-hd .t{transition:color .2s}.proj:is(:hover,:focus-within){transform:translateY(-4px)}.proj:is(:hover,:focus-within) .thumb-frame{border-color:#ff7ac6;border-color:var(--accent);box-shadow:0 14px 34px -14px #ff7ac659;box-shadow:0 14px 34px -14px var(--accent-dim)}.proj:is(:hover,:focus-within) .thumb{filter:brightness(1.08);transform:scale(1.045)}.proj:is(:hover,:focus-within) .thumb-cta{opacity:1;transform:none}.proj:is(:hover,:focus-within) .pb-hd .t{color:#ff7ac6;color:var(--accent)}@media (prefers-reduced-motion:reduce){.proj,.thumb,.thumb-cta{transition:none}.proj:is(:hover,:focus-within),.proj:is(:hover,:focus-within) .thumb{transform:none}}.proj p{color:#9f8db0;color:var(--muted);font-size:14.5px;line-height:1.5;margin:4px 0 0}.proj .role{color:#d9c9e4;color:var(--soft);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px}.proj .proj-blurb{flex:1 1;margin-top:8px}.proj-meta{font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px!important;line-height:1.7!important;margin-top:12px!important}.proj-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.proj-grid{grid-template-columns:minmax(0,1fr)}}:root[data-palette],[data-palette]{--case-title-font:var(--display);--fig-bg:#000}:root[data-palette=luminara],[data-palette=luminara]{--ground:#07080b;--sheet:#10141b;--ink:#eef0ff;--soft:#cdd1f2;--muted:#9097c8;--rule:#eef0ff1f;--accent:#cea8ff;--accent-dim:#cea8ff59;--title:#f0eeff;--case-title-font:var(--serif);--label-w:210px;background:radial-gradient(1200px 700px at 85% -10%,#cb55f629,#0000 60%),radial-gradient(900px 600px at -10% 40%,rgba(104,61,245,.096),#0000 60%),#120a1f;background:radial-gradient(1200px 700px at 85% -10%,var(--glow-a,#cb55f629),#0000 60%),radial-gradient(900px 600px at -10% 40%,var(--glow-b,rgba(104,61,245,.096)),#0000 60%),var(--ground)}:root[data-palette=wardrobe-genie],[data-palette=wardrobe-genie]{--ground:#eef6f2;--sheet:#fff;--ink:#1c2a27;--soft:#35463f;--muted:#62756e;--rule:#1c2a271f;--accent:#7457d6;--accent-dim:#7457d638;--title:#1c2a27;--fig-bg:#fff;background:radial-gradient(1100px 700px at 100% 0,#c4b4ff73,#0000 60%),radial-gradient(900px 700px at 0 100%,#96e6cd66,#0000 60%),#120a1f;background:radial-gradient(1100px 700px at 100% 0,#c4b4ff73,#0000 60%),radial-gradient(900px 700px at 0 100%,#96e6cd66,#0000 60%),var(--ground);color-scheme:light}:root[data-palette=immune-vanguard],[data-palette=immune-vanguard]{--ground:#0b0507;--sheet:#1b0b10;--ink:#fdecef;--soft:#ecc8cf;--muted:#b38b94;--rule:#fdecef1f;--accent:#ff4f6e;--accent-dim:#ff4f6e59;--title:#fff0f2;--case-title-font:var(--pixel);background:radial-gradient(900px 620px at 50% -12%,#ff325a42,#0000 62%),radial-gradient(600px 500px at 100% 70%,#96dc3c14,#0000 60%),#120a1f;background:radial-gradient(900px 620px at 50% -12%,#ff325a42,#0000 62%),radial-gradient(600px 500px at 100% 70%,#96dc3c14,#0000 60%),var(--ground)}:root[data-palette=campus-glide],[data-palette=campus-glide]{--ground:#f3f6ee;--sheet:#fff;--ink:#1e2a22;--soft:#374539;--muted:#66766a;--rule:#1e2a221f;--accent:#e07a2e;--accent-dim:#e07a2e38;--title:#1e2a22;--fig-bg:#fff;background:radial-gradient(1000px 640px at 100% 0,#ffc48c66,#0000 60%),radial-gradient(900px 700px at 0 90%,#aae1be73,#0000 60%),#120a1f;background:radial-gradient(1000px 640px at 100% 0,#ffc48c66,#0000 60%),radial-gradient(900px 700px at 0 90%,#aae1be73,#0000 60%),var(--ground);color-scheme:light}:root[data-palette] body{background:#0000}.case{counter-reset:sec;flex:1 1;margin:0 auto;max-width:1320px;max-width:var(--case-max,1320px);padding:clamp(28px,5vw,64px) clamp(16px,5vw,64px) 72px;width:100%}.case-back{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;text-decoration:none}.case-back:hover{color:#ff7ac6;color:var(--accent)}.case-head{grid-gap:clamp(28px,6vw,96px);align-items:end;display:grid;gap:clamp(28px,6vw,96px);grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);margin-top:clamp(28px,5vw,56px)}.case-title{text-wrap:balance;color:#fff0fa;color:var(--title);font-family:var(--case-title-font);font-size:clamp(48px,8.5vw,124px);font-weight:600;letter-spacing:-.02em;line-height:.95;margin:0;text-shadow:0 0 40px #ff7ac659;text-shadow:0 0 40px var(--accent-dim)}[data-palette=immune-vanguard] .case-title{font-size:clamp(36px,6.4vw,92px);font-weight:700;letter-spacing:0;line-height:1.05;text-transform:uppercase}.case-dek{text-wrap:pretty;color:#d9c9e4;color:var(--soft);font-family:Literata,Georgia,Times New Roman,serif;font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);line-height:1.45;margin:clamp(18px,2.4vw,28px) 0 0;max-width:38ch}.case-facts{grid-gap:18px;border-left:1px solid #f3e9f721;border-left:1px solid var(--rule);display:grid;gap:18px;margin:0;padding-left:22px}.case-facts dt{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.case-facts dd{color:#f3e9f7;color:var(--ink);font-size:15px;line-height:1.5;margin:4px 0 0}.case-hero{border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:7.5px;border-radius:calc(var(--radius)*1.25);box-shadow:0 40px 90px -50px #ff7ac659;box-shadow:0 40px 90px -50px var(--accent-dim);display:block;margin-top:clamp(40px,6vw,80px);max-height:720px;object-fit:cover;width:100%}.case-video{aspect-ratio:16/9;background:#000;max-height:none;overflow:hidden}.case-video iframe{border:0;display:block;height:100%;width:100%}.case-watch{color:#9f8db0;color:var(--muted);display:inline-block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin-top:12px;text-decoration:none}.case-watch:hover{color:#ff7ac6;color:var(--accent)}.case-sec{grid-gap:40px;grid-gap:var(--case-gap,40px);display:grid;gap:40px;gap:var(--case-gap,40px);grid-template-columns:200px minmax(0,1fr);grid-template-columns:var(--label-w,200px) minmax(0,1fr);margin-top:clamp(64px,9vw,128px)}.case-sec h2{text-wrap:balance;align-self:start;border-top:1px solid #ff7ac6;border-top:1px solid var(--accent);color:#f3e9f7;color:var(--ink);font-family:var(--case-title-font);font-size:clamp(20px,1.9vw,26px);font-weight:600;letter-spacing:0;line-height:1.2;margin:0;padding-top:14px;position:-webkit-sticky;position:sticky;text-transform:none;top:98px;top:calc(var(--head-h) + 28px)}.case-sec h2:before{color:#ff7ac6;color:var(--accent);content:counter(sec,decimal-leading-zero);counter-increment:sec;display:block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.08em;margin-bottom:10px}[data-palette=immune-vanguard] .case-sec h2{font-size:clamp(15px,1.4vw,19px);text-transform:uppercase}.case-body>p{color:#d9c9e4;color:var(--soft);font-size:clamp(16px,1.25vw,18px);line-height:1.7;margin:0 0 16px;max-width:64ch}.case-items{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:8px 0 0}.case-items>div{background:color-mix(in srgb,#1d1230 70%,#0000);background:color-mix(in srgb,var(--sheet) 70%,#0000);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:6px;border-radius:var(--radius);padding:20px 22px}.case-items dt{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px}.case-items dd{color:#d9c9e4;color:var(--soft);font-size:15px;line-height:1.6;margin:8px 0 0}.case-figs{grid-gap:clamp(28px,3vw,44px) clamp(18px,2.4vw,32px);display:grid;gap:clamp(28px,3vw,44px) clamp(18px,2.4vw,32px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.case-body>.case-figs:first-child{margin-top:0}.case-figs figure{margin:0}.case-figs .wide{grid-column:1/-1}.case-figs-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-figs img{border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:6px;border-radius:var(--radius);display:block;height:auto;max-height:640px;max-width:100%;width:auto}.case-figs-3 img{width:100%}.case-figs-crop figure:not(.wide) img{aspect-ratio:4/3;object-fit:cover}.case-figs-row{align-items:flex-start;display:flex;gap:clamp(14px,1.6vw,24px)}.case-figs-row>figure{flex:var(--ar) 1 0%;min-width:0}.case-figs-row img{max-height:none;width:100%}.case-figs-half{max-width:50%}.case-figs-row>figure:only-child{flex:none;max-width:100%}.case-figs-row>figure:only-child img{max-height:640px;width:auto}.case-figs+.case-figs{margin-top:clamp(24px,3vw,40px)}.case-flow{align-items:center;background:color-mix(in srgb,#1d1230 60%,#0000);background:color-mix(in srgb,var(--sheet) 60%,#0000);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:6px;border-radius:var(--radius);display:flex;list-style:none;margin:8px 0 28px;padding:clamp(24px,3vw,40px) clamp(18px,3vw,40px)}.cf-node span{background:color-mix(in srgb,#ff7ac6 12%,#0000);background:color-mix(in srgb,var(--accent) 12%,#0000);border:1px solid #ff7ac6;border:1px solid var(--accent);border-radius:999px;box-shadow:0 0 26px -10px #ff7ac6;box-shadow:0 0 26px -10px var(--accent);color:#f3e9f7;color:var(--ink);display:block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:13px;padding:10px 16px;white-space:nowrap}.cf-step{flex:1 1;min-width:64px;padding:0 8px 12px;position:relative;text-align:center}.cf-step span{color:#9f8db0;color:var(--muted);display:block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11px;line-height:1.35}.cf-step:after{background:linear-gradient(90deg,color-mix(in srgb,#ff7ac6 20%,#0000),#ff7ac6);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 20%,#0000),var(--accent));bottom:0;content:"";height:1px;left:6px;position:absolute;right:6px}.cf-step:before{border:4.5px solid #0000;border-left:7px solid #ff7ac6;border-left:7px solid var(--accent);border-right:0;bottom:-4px;content:"";position:absolute;right:2px}@media (max-width:900px){.case-flow{flex-direction:column}.cf-step{flex:none;min-width:0;padding:12px 0 12px 22px;text-align:left}.cf-step:after{background:linear-gradient(180deg,color-mix(in srgb,#ff7ac6 20%,#0000),#ff7ac6);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 20%,#0000),var(--accent));bottom:4px;height:auto;left:0;right:auto;top:4px;width:1px}.cf-step:before{border:4.5px solid #0000;border-bottom:0;border-top:7px solid #ff7ac6;border-top:7px solid var(--accent);bottom:0;left:-4px;right:auto}}.case-figs figcaption{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;line-height:1.65;margin-top:12px}.case-figs figcaption strong{font-family:Fira Sans,Helvetica Neue,Arial,sans-serif;font-family:var(--body);font-size:16px;font-weight:600;margin-bottom:4px}.case-figs figcaption strong,.case-next{color:#f3e9f7;color:var(--ink);display:block}.case-next{border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);font-family:var(--case-title-font);font-size:clamp(28px,4vw,52px);line-height:1.1;margin-top:clamp(80px,10vw,140px);padding-top:28px;text-decoration:none}.case-next span{color:#9f8db0;color:var(--muted);display:block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11px;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.case-next:hover{color:#ff7ac6;color:var(--accent)}.case-figs img,.case-flow,.case-hero,.case-items>div{transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .35s}.case-figs figure:hover img,.case-flow:hover,.case-hero:hover,.case-items>div:hover{border-color:#ff7ac6;border-color:var(--accent);box-shadow:0 14px 34px -14px #ff7ac659;box-shadow:0 14px 34px -14px var(--accent-dim)}.case-figs figure:hover img,.case-items>div:hover{transform:translateY(-4px)}.case-hero:hover{box-shadow:0 40px 90px -40px #ff7ac659,0 0 0 1px #ff7ac6;box-shadow:0 40px 90px -40px var(--accent-dim),0 0 0 1px var(--accent)}@media (prefers-reduced-motion:reduce){.case-figs img,.case-flow,.case-hero,.case-items>div{transition:none}.case-figs figure:hover img,.case-items>div:hover{transform:none}}.case-original{max-width:1240px}.co-head{margin:clamp(32px,6vw,72px) auto 0;max-width:820px;text-align:center}.co-head .case-dek{margin-inline:auto;max-width:46ch}.co-meta{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin:18px 0 0}.case-original .case-hero{margin-top:clamp(36px,5vw,64px)}.co-group{margin-top:clamp(80px,10vw,140px)}.co-group>h2{color:#fff0fa;color:var(--title);font-family:var(--case-title-font);font-size:clamp(32px,4vw,52px);font-weight:600;letter-spacing:-.01em;margin:0 0 clamp(28px,4vw,48px);text-align:center;text-shadow:0 0 30px #ff7ac659;text-shadow:0 0 30px var(--accent-dim);text-transform:none}[data-palette=immune-vanguard] .co-group>h2{font-size:clamp(22px,2.6vw,34px);text-transform:uppercase}.co-sub+.co-sub{margin-top:clamp(48px,6vw,80px)}.co-sub>h3{color:#ff7ac6;color:var(--accent);font-family:Fira Sans,Helvetica Neue,Arial,sans-serif;font-family:var(--body);font-size:clamp(19px,1.6vw,23px);font-weight:600;margin:0 0 22px}.co-sub>p{color:#d9c9e4;color:var(--soft);font-size:clamp(16px,1.2vw,18px);line-height:1.7;margin:0 0 14px;max-width:70ch}.case-original .case-figs-3{gap:40px clamp(20px,3vw,48px)}.case-original .case-figs figcaption strong{font-size:19px;margin:6px 0 10px}.case-original .case-figs figcaption{color:#d9c9e4;color:var(--soft);font-family:Fira Sans,Helvetica Neue,Arial,sans-serif;font-family:var(--body);font-size:15px}.case-immersive{max-width:none;padding:0 0 72px}.ci-hero{background-position:50%;background-size:cover;display:flex;flex-direction:column;justify-content:space-between;min-height:min(92vh,980px);padding:clamp(20px,3vw,36px) clamp(16px,5vw,72px) clamp(40px,7vw,96px);position:relative}.ci-hero:before{background:linear-gradient(180deg,color-mix(in srgb,#120a1f 30%,#0000),#0000 35%,color-mix(in srgb,#120a1f 70%,#0000) 72%,#120a1f);background:linear-gradient(180deg,color-mix(in srgb,var(--ground) 30%,#0000) 0,#0000 35%,color-mix(in srgb,var(--ground) 70%,#0000) 72%,var(--ground) 100%);content:"";inset:0;position:absolute}.ci-hero>*{position:relative}.ci-hero-text{max-width:980px}.ci-hero .case-title{font-size:clamp(56px,11vw,168px)}.ci-kicker{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.ci-video{margin:0 auto;max-width:1200px;padding:0 clamp(16px,5vw,72px)}.ci-group{margin-top:clamp(96px,12vw,180px)}.ch-sec>h2,.ci-group>h2{color:#fff0fa;color:var(--title);font-family:var(--case-title-font);font-size:clamp(34px,5vw,68px);font-weight:600;letter-spacing:-.015em;line-height:1.05;margin:0 auto 28px;max-width:900px;padding:0 16px;text-align:center;text-shadow:0 0 40px #ff7ac659;text-shadow:0 0 40px var(--accent-dim);text-transform:none}[data-palette=immune-vanguard] .ch-sec>h2,[data-palette=immune-vanguard] .ci-group>h2{font-size:clamp(24px,3.4vw,44px);text-transform:uppercase}.ch-group,.ci-sub>h3{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:.12em;margin:clamp(48px,6vw,80px) 0 20px;text-align:center;text-transform:uppercase}.ch-sec>p,.ci-sub>p{color:#d9c9e4;color:var(--soft);font-family:Literata,Georgia,Times New Roman,serif;font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.6;margin:0 auto 16px;max-width:62ch;padding:0 16px;text-align:center}.ch-sec .case-items,.ci-sub .case-items{margin:32px auto 0;max-width:1100px;padding:0 clamp(16px,4vw,48px)}.case-immersive .case-figs{gap:clamp(8px,1vw,14px);margin:36px auto 0;max-width:1680px;padding:0 clamp(8px,1.5vw,24px)}.case-immersive .case-figs figure{border-radius:6px;border-radius:var(--radius);overflow:hidden;position:relative}.case-immersive .case-figs img{border:0;border-radius:0;max-height:none;width:100%}.case-immersive .case-figs figure{transition:box-shadow .35s}.case-immersive .case-figs figure:hover{box-shadow:0 0 0 1px #ff7ac6,0 14px 34px -14px #ff7ac659;box-shadow:0 0 0 1px var(--accent),0 14px 34px -14px var(--accent-dim)}.case-immersive .case-figs figure:hover img{box-shadow:none;transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.case-immersive .case-figs figure:hover img{transform:none}}.case-immersive .case-figs figcaption{background:linear-gradient(180deg,#0000,#000000d1);bottom:0;color:#ffffffd1;left:0;margin:0;padding:48px clamp(14px,1.6vw,24px) clamp(14px,1.6vw,22px);position:absolute;right:0}.case-immersive .case-figs figcaption strong{color:#fff}.case-immersive .case-figs-crop figure:not(.wide) img{aspect-ratio:3/4}.ci-tools{color:#9f8db0;color:var(--muted);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12.5px;margin:clamp(80px,10vw,140px) auto 0;text-align:center}.case-immersive .case-back{color:#fffc}.case-chapters .case-next,.case-immersive .case-next{margin-inline:auto;max-width:1200px;padding-inline:clamp(16px,5vw,72px);text-align:center}.case-chapters{max-width:none;padding-inline:0}.case-chapters>.case-back{margin-left:clamp(16px,5vw,72px)}.ch-head{margin:clamp(40px,7vw,96px) auto 0;max-width:980px;padding:0 16px;text-align:center}.ch-head .case-dek{margin-inline:auto;max-width:44ch}.case-chapters>.case-hero,.case-chapters>.case-watch{margin-inline:auto;max-width:1200px}.case-chapters>.case-hero{width:calc(100% - clamp(16px, 5vw, 72px)*2)}.case-chapters>.case-watch{display:block;width:-webkit-fit-content;width:fit-content}.ch-sec{margin-top:clamp(100px,13vw,200px);position:relative;text-align:center}.ch-num{-webkit-text-stroke:1px #ff7ac6;-webkit-text-stroke:1px var(--accent);color:#0000;display:block;font-family:var(--case-title-font);font-size:clamp(80px,13vw,200px);font-weight:700;line-height:.9;opacity:.55}.ch-group{margin-top:18px}.case-chapters .case-figs,.case-chapters .case-figs-3{display:flex;gap:clamp(14px,1.6vw,24px);margin-top:32px;overflow-x:auto;padding:8px clamp(16px,5vw,72px) 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;text-align:left}.case-chapters .case-figs figure{flex:none;scroll-snap-align:center;width:auto}.case-chapters .case-figs img,.case-chapters .case-figs-crop figure:not(.wide) img{aspect-ratio:auto;height:clamp(240px,52vh,560px);max-height:none;max-width:none;width:auto}.case-chapters .case-figs figcaption{max-width:44ch}@media (max-width:760px){.case-immersive .case-figs,.case-immersive .case-figs-3{grid-template-columns:minmax(0,1fr)}.case-immersive .case-figs-crop figure:not(.wide) img{aspect-ratio:4/3}.case-chapters .case-figs img,.case-chapters .case-figs-crop figure:not(.wide) img{height:300px}}@media (max-width:980px){.case-head,.case-sec{grid-template-columns:minmax(0,1fr)}.case-facts{border-left:0;border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0 0}.case-sec{gap:20px}.case-sec h2{position:static}}@media (max-width:760px){.case-figs-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.case-facts,.case-figs,.case-figs-3{grid-template-columns:minmax(0,1fr)}.case-figs-row{flex-direction:column}.case-figs-half{max-width:none}.case-figs-row>figure{flex:none;width:100%}.case-hero{border-radius:6px;border-radius:var(--radius)}}.home{flex:1 1;width:100%}.site-over{left:0;position:fixed;right:0}.home .cx{min-height:100vh;min-height:calc(100vh + var(--grow, 0px));min-height:100svh;min-height:calc(100svh + var(--grow, 0px));padding-top:clamp(72px,9vh,96px)}.home-dark{--panel:#111113;--panel-line:#2b2b30;--key:#18181b;--key-text:#c4c2cc;background:#120a1f;background:var(--ground);color:#f3e9f7;color:var(--ink)}.font-press{--pixel:"Press Start 2P",monospace}.font-jersey{--pixel:"Jersey 10",monospace}.font-pixelify{--pixel:"Pixelify Sans",monospace}.hl{container-type:inline-size;overflow:hidden;position:relative;width:100%}.hl,.tw-name{align-items:center;display:flex;flex-direction:column}.tw-name{color:#fff0fa;color:var(--title);font-family:Silkscreen,monospace;font-family:var(--pixel);font-weight:700;line-height:.82;margin:0;text-transform:uppercase}.tw-name-line{font-size:clamp(36px,8.6cqw,104px);letter-spacing:.04em;white-space:nowrap}.hl-petersen .tw-name{margin-top:clamp(16px,4cqw,48px)}.font-press .tw-name{line-height:1.05}.font-press .tw-name-line{font-size:clamp(26px,6cqw,76px)}.tw-portrait{container-type:inline-size;margin-top:clamp(8px,2cqw,24px);width:min(100%,640px)}.ascii{aspect-ratio:1.6;aspect-ratio:var(--aspect,1.6);color:#cdeee9;color:var(--portrait-ink);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:calc(100cqw/72);font-size:calc(100cqw/(var(--cols, 120)*0.6));letter-spacing:0;line-height:1;margin:0;overflow:hidden;padding:0;text-shadow:0 0 6px #5fd4e059;text-shadow:0 0 6px var(--portrait-glow);-webkit-user-select:none;user-select:none;white-space:pre}.tw-exchange{border-bottom:1px solid var(--panel-line);cursor:pointer;max-height:min(28vh,280px);overflow-y:auto;padding-bottom:14px;scrollbar-width:thin;text-align:left}.tw-q{color:#d9c9e4;color:var(--soft);font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:21px;line-height:1.2;margin:0}.tw-reply{display:flex;gap:10px;margin:8px 0 0;padding-left:18px}.tw-reply>span:first-child{color:#ff7ac6;color:var(--accent);flex:none;font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:21px;line-height:1.35}.tw-a{color:#f3e9f7;color:var(--ink);font-family:Literata,Georgia,Times New Roman,serif;font-family:var(--serif);font-size:16.5px;line-height:1.6}.tw-link{color:inherit;overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:#ff7ac6;text-decoration-color:#ff7ac6;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease}.tw-link:focus-visible,.tw-link:hover{color:#ff7ac6;color:var(--accent)}.caret{animation:pulse .8s steps(2) infinite;background:#ff7ac6;background:var(--accent);display:inline-block;height:1em;margin-left:2px;vertical-align:-.12em;width:.55em}@keyframes pulse{50%{opacity:.3}}.dots:after{animation:dots 1.2s steps(4) infinite;content:""}@keyframes dots{25%{content:"."}50%{content:".."}75%{content:"..."}}.tw-turn+.tw-turn{margin-top:14px}.tw-turn.is-past{opacity:.5;transition:opacity .4s ease}.tw-turn.is-past:hover{opacity:.85}.tw-turn.is-past .tw-q{font-size:17px}.tw-reply+.tw-reply{margin-top:4px}.tw-queued{font-size:17px;margin-top:12px;opacity:.45}.tw-queued small{font-size:12px;letter-spacing:.04em}.tw-dots{align-items:center;display:inline-flex;gap:5px;height:1.2em}.tw-dots i{animation:tw-bounce 1.1s ease-in-out infinite;background:#ff7ac6;background:var(--accent);border-radius:50%;height:6px;opacity:.35;width:6px}.tw-dots i:nth-child(2){animation-delay:.15s}.tw-dots i:nth-child(3){animation-delay:.3s}@keyframes tw-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:.9;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.tw-dots i{animation:none}}.tw-wrap{width:min(100%,760px)}.tw-panel{background:var(--panel);border:2px solid var(--panel-line);display:flex;flex-direction:column;gap:14px;padding:18px}.tw-chips{align-items:center;display:flex;gap:8px}.tw-icon{background:none;border:none;color:#9f8db0;color:var(--muted);flex:none;font-size:18px;height:32px;padding:0;width:32px}.tw-icon:hover{color:#f3e9f7;color:var(--ink)}.tw-chip{background:var(--key);border:1px solid var(--panel-line);box-shadow:0 3px 0 var(--panel-line);color:var(--key-text);flex:1 1;font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:19px;min-width:0;overflow:hidden;padding:7px 12px 6px;text-align:left;text-overflow:ellipsis;transition:transform .05s;white-space:nowrap}.tw-chip span{color:#9f8db0;color:var(--muted);margin-right:4px}.tw-chip:hover:not(:disabled){border-color:#45454c;color:#fff}.tw-chip:active:not(:disabled){box-shadow:0 1px 0 var(--panel-line);transform:translateY(2px)}.tw-chip:disabled{cursor:default;opacity:.5}.tw-input{align-items:center;display:flex;gap:10px}.tw-grip{color:#9f8db0;color:var(--muted);font-size:18px}.tw-input input{background:none;border:none;color:#f3e9f7;color:var(--ink);flex:1 1;font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:23px;letter-spacing:.02em;min-width:0;outline:none;padding:6px 0}.tw-input input::placeholder{color:#9f8db0;color:var(--muted)}.tw-nav{display:flex;gap:4px}.tw-nav button{background:var(--key);border:1px solid var(--panel-line);color:#9f8db0;color:var(--muted);font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:22px;height:30px;padding:0;width:26px}.tw-nav button:disabled{cursor:default;opacity:.35}.tw-mic{background:#26262b;border:2px solid #3a3a40;color:var(--key-text);display:grid;flex:none;font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:22px;height:44px;padding:0;place-items:center;width:44px}.tw-mic.is-on,.tw-mic:hover:not(:disabled){background:#ff7ac6;background:var(--accent);border-color:#ff7ac6;border-color:var(--accent);color:#120a1f;color:var(--ground)}.tw-mic:disabled{cursor:default;opacity:.4}.tw-mode{align-items:center;color:#9f8db0;color:var(--muted);display:flex;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11.5px;gap:12px;justify-content:center;letter-spacing:.18em;margin-top:16px;text-transform:uppercase}.tw-switch{background:var(--key);border:2px solid var(--panel-line);height:22px;padding:0;position:relative;width:44px}.tw-switch i{height:12px;left:3px;position:absolute;top:3px;transition:transform .15s;width:12px}.tw-switch i,.tw-switch.is-on{background:#f3e9f7;background:var(--ink)}.tw-switch.is-on{border-color:#f3e9f7;border-color:var(--ink)}.tw-switch.is-on i{background:#120a1f;background:var(--ground);transform:translateX(22px)}.cx{--px:0;--py:0;background:radial-gradient(ellipse 80% 60% at 50% 55%,#0b1a1d 0,#120a1f 72%);background:radial-gradient(ellipse 80% 60% at 50% 55%,#0b1a1d 0,var(--ground) 72%);isolation:isolate;min-height:clamp(780px,100vh,980px);padding:clamp(28px,5cqw,56px) clamp(16px,3cqw,40px) 28px}.cx>*{position:relative;z-index:1}.cx>.cx-canvas,.cx>.cx-vignette{height:100%;height:calc(100% - var(--grow, 0px));inset:0 0 auto;position:absolute;z-index:0}.cx:after{background:linear-gradient(#0000,#040607);background:linear-gradient(#0000,var(--bg,#040607));content:"";height:160px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:calc(100% - 160px);top:calc(100% - var(--grow, 0px) - 160px);transition:opacity .6s ease;z-index:0}.cx:has(.tw-exchange):after{opacity:1}.cx-canvas{display:block;height:100%;pointer-events:none;width:100%}.cx-vignette{background:radial-gradient(ellipse 75% 70% at 50% 50%,#0000 50%,#000c 100%);pointer-events:none}.cx-dock{align-items:center;display:flex;flex-direction:column;margin-top:auto;width:100%}.cx .tw-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0812148c;border:1px solid #5fd4e047;box-shadow:inset 0 0 40px #5fd4e00f}.cx .tw-chip{background:#0e1e21b3;border-color:#5fd4e033;box-shadow:0 3px 0 #5fd4e024}.cx .tw-chip:hover:not(:disabled){border-color:#ff7ac6;border-color:var(--accent)}.cx-descent{background:radial-gradient(ellipse 80% 60% at 50% 55%,var(--bg-glow) 0,var(--bg) 72%) 0 0 /100% 100% no-repeat,var(--bg);background:radial-gradient(ellipse 80% 60% at 50% 55%,var(--bg-glow) 0,var(--bg) 72%) 0 0 /100% calc(100% - var(--grow, 0px)) no-repeat,var(--bg);min-height:100vh;min-height:calc(100vh + var(--grow, 0px))}.cx-depth{transform:translate3d(calc(var(--px)*1*var(--z)*-14px),calc(var(--py)*1*var(--z)*-8px),0);transform:translate3d(calc(var(--px)*var(--sway, 1)*var(--z)*-14px),calc(var(--py)*var(--sway, 1)*var(--z)*-8px),0)}.cx-descent .cx-kicker,.cx-descent .tw-name{z-index:2}.cx-descent .tw-name-line{color:var(--name-color);font-family:var(--name-font);font-size:clamp(28px,var(--name-size),180px);letter-spacing:var(--name-track)}.cx-kicker{color:#ff7ac6;color:var(--accent);font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:22px;letter-spacing:.08em;margin:18px 0 0;text-shadow:0 0 12px #ff7ac659;text-shadow:0 0 12px var(--accent-dim)}.fig-stage{height:var(--fig-h);left:50%;pointer-events:none;position:absolute;top:var(--fig-top);transform:translateX(-50%);z-index:1}.fig-stage .fig{height:100%;width:auto}.cx-descent .cx-dock{z-index:3}.cx-descent .tw-wrap{width:min(100%,var(--panel-w))}.cx-descent .tw-a{font-family:var(--answer-font)}.cx-descent .tw-panel{background:color-mix(in srgb,var(--bg) 84%,#0000);border-color:color-mix(in srgb,#ff7ac6 28%,#0000);border-color:color-mix(in srgb,var(--accent) 28%,#0000);box-shadow:inset 0 0 40px color-mix(in srgb,#ff7ac6 6%,#0000);box-shadow:inset 0 0 40px color-mix(in srgb,var(--accent) 6%,#0000)}.cx-descent .tw-chip{border-color:color-mix(in srgb,#ff7ac6 20%,#0000);border-color:color-mix(in srgb,var(--accent) 20%,#0000);box-shadow:0 3px 0 color-mix(in srgb,#ff7ac6 14%,#0000);box-shadow:0 3px 0 color-mix(in srgb,var(--accent) 14%,#0000)}.cx-descent>.cx-vignette{opacity:var(--vignette)}.cx>.cx-texture{inset:0;pointer-events:none;position:absolute;z-index:4}.cx-texture:after,.cx-texture:before{content:"";inset:0;position:absolute}.cx-texture:before{animation:grain .8s steps(4) infinite;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.4 -0.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");inset:-50px;mix-blend-mode:overlay;opacity:0;opacity:var(--grain,0)}.cx-texture:after{background:repeating-linear-gradient(180deg,#0000 0 2px,#0009 2px 3px);opacity:0;opacity:var(--scan,0)}@keyframes grain{25%{transform:translate(-18px,9px)}50%{transform:translate(11px,-21px)}75%{transform:translate(-7px,16px)}}.reflect{-webkit-box-reflect:below -4px linear-gradient(#0000 62%,#fff3)}.fig-wrap{margin-top:clamp(12px,2cqw,24px);width:min(100%,470px)}.fig{-webkit-mask-image:linear-gradient(180deg,#000 68%,#0000);-webkit-mask-image:linear-gradient(to bottom,#000 var(--fig-fade,68%),#0000 100%);mask-image:linear-gradient(180deg,#000 68%,#0000);mask-image:linear-gradient(to bottom,#000 var(--fig-fade,68%),#0000 100%);position:relative;width:100%}.fig.is-cut-top{-webkit-mask-image:linear-gradient(180deg,#0000 0,#000 10%,#000 68%,#0000);-webkit-mask-image:linear-gradient(to bottom,#0000 0,#000 10%,#000 var(--fig-fade,68%),#0000 100%);mask-image:linear-gradient(180deg,#0000 0,#000 10%,#000 68%,#0000);mask-image:linear-gradient(to bottom,#0000 0,#000 10%,#000 var(--fig-fade,68%),#0000 100%)}.fig canvas{filter:drop-shadow(0 0 0 rgba(255,64,129,0)) drop-shadow(0 0 0 rgba(64,224,255,0)) drop-shadow(0 0 5px rgba(95,212,224,.35));filter:drop-shadow(calc(var(--chroma, 0)*-1px) 0 0 rgba(255,64,129,var(--chroma-a,0))) drop-shadow(calc(var(--chroma, 0)*1px) 0 0 rgba(64,224,255,var(--chroma-a,0))) drop-shadow(0 0 calc(var(--glow, 5)*1px) var(--glow-color,rgba(95,212,224,.35)));height:100%;inset:0;position:absolute;width:100%}.grounded:after{background:radial-gradient(ellipse at center,#5fd4e042,#0000 70%);bottom:-5%;content:"";filter:blur(6px);height:16%;left:8%;pointer-events:none;position:absolute;right:8%}.floating{animation:float 7s ease-in-out infinite}.floating .fig,.floating .fig.is-cut-top{-webkit-mask-image:linear-gradient(180deg,#0000 0,#000 10%,#000 52%,#0000 94%);mask-image:linear-gradient(180deg,#0000 0,#000 10%,#000 52%,#0000 94%)}@keyframes float{50%{transform:translateY(-10px)}}.cx-dream,.cx-nebula{background:radial-gradient(ellipse 100% 80% at 50% 30%,#08151a,#040607 80%)}.cx>.fog,.cx>.nebula,.cx>.stars{pointer-events:none;position:absolute;z-index:0}.cx>.stars{inset:0}.stars i{animation:twinkle 6s ease-in-out infinite;inset:-40px;position:absolute}.stars-far{background-image:radial-gradient(1px 1px at 12% 22%,#cdeee9,#0000),radial-gradient(1px 1px at 37% 71%,#cdeee9,#0000),radial-gradient(1px 1px at 58% 12%,#cdeee9,#0000),radial-gradient(1px 1px at 81% 49%,#cdeee9,#0000),radial-gradient(1px 1px at 93% 88%,#cdeee9,#0000),radial-gradient(1px 1px at 24% 93%,#cdeee9,#0000);background-size:240px 240px;opacity:.45;transform:translate(calc(var(--px)*-4px),calc(var(--py)*-3px))}.stars-mid{animation-delay:-3s;animation-duration:8s;background-image:radial-gradient(1.5px 1.5px at 18% 64%,#e2fbf8,#0000),radial-gradient(1.5px 1.5px at 46% 28%,#e2fbf8,#0000),radial-gradient(1.5px 1.5px at 72% 81%,#e2fbf8,#0000),radial-gradient(1.5px 1.5px at 88% 16%,#e2fbf8,#0000);background-size:380px 380px;opacity:.6;transform:translate(calc(var(--px)*-10px),calc(var(--py)*-6px))}.stars-near{animation-delay:-6s;animation-duration:11s;background-image:radial-gradient(2px 2px at 30% 40%,#fff,#0000),radial-gradient(6px 6px at 30% 40%,#5fd4e059,#0000),radial-gradient(2px 2px at 76% 66%,#fff,#0000),radial-gradient(6px 6px at 76% 66%,#5fd4e059,#0000);background-size:560px 520px;opacity:.75;transform:translate(calc(var(--px)*-20px),calc(var(--py)*-12px))}@keyframes twinkle{50%{opacity:.2}}.cx>.nebula{animation:nebula-drift 30s ease-in-out infinite alternate;background:radial-gradient(ellipse 38% 28% at 28% 30%,#5fd4e021,#0000 70%),radial-gradient(ellipse 34% 26% at 74% 40%,#6074e01c,#0000 70%),radial-gradient(ellipse 50% 24% at 50% 74%,#5fd4e017,#0000 70%);filter:blur(18px);inset:-10%}@keyframes nebula-drift{to{transform:translate(3%,-2%) scale(1.06)}}.cx>.fog{animation:fog-breathe 12s ease-in-out infinite alternate;background:linear-gradient(180deg,#0000,#0c2024d9 42%,#0c20244d 75%,#0000);filter:blur(8px);height:32%;left:0;right:0;top:56%}@keyframes fog-breathe{to{opacity:.7;transform:translateY(-2%)}}.cx-dream>canvas:last-of-type,.cx-nebula>canvas:last-of-type{z-index:2}.cx-dream>.cx-dock,.cx-nebula>.cx-dock{z-index:3}.dream-name .tw-name-line{animation:dream-flicker 7s steps(1) infinite;color:#d6f6f2eb;font-size:clamp(28px,5.4cqw,64px);letter-spacing:.28em;padding-left:.28em;text-shadow:0 0 18px #5fd4e099,0 0 48px #5fd4e040}@keyframes dream-flicker{0%,to{opacity:1}62%{opacity:.55}63%{opacity:1}64%{opacity:.7}65%{opacity:1}}@property --spin{syntax:"<angle>";inherits:true;initial-value:0deg}.orbit-stage{display:flex;justify-content:center;margin-top:clamp(8px,2cqw,24px);perspective:1100px;width:100%}.orbit-body{position:relative;transform-style:preserve-3d;width:min(100%,470px)}.orbit-body .fig-wrap{margin:0;width:100%}.orbit{animation:orbit-spin 32s linear infinite;left:50%;position:absolute;top:46%;transform:rotateX(-8deg);transform-style:preserve-3d}@keyframes orbit-spin{to{--spin:360deg}}.orbit-tag{--turn:calc(var(--a) + var(--spin));background:#05141680;border:1px solid #5fd4e059;color:#ff7ac6;color:var(--accent);filter:blur(calc((1 - cos(var(--turn)))*.8px));font-family:VT323,Fira Code,ui-monospace,Menlo,monospace;font-family:var(--term);font-size:18px;letter-spacing:.12em;opacity:calc(.6 + cos(var(--turn))*.4);padding:2px 8px;position:absolute;text-shadow:0 0 8px #5fd4e099;text-transform:uppercase;transform:translate(-50%,-50%) rotateY(var(--turn)) translateZ(min(34cqw,300px)) rotateY(calc(var(--turn)*-1)) translateY(var(--y));white-space:nowrap}.pg-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0c0ee6;border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:6px;color:#d9c9e4;color:var(--soft);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px;max-height:calc(100vh - 32px);overflow-y:auto;padding:12px 14px 16px;position:fixed;right:16px;top:16px;width:300px;z-index:20}.pg-panel.is-closed{width:auto}.pg-actions,.pg-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.pg-head b{color:#ff7ac6;color:var(--accent);font-family:Silkscreen,monospace;font-family:var(--pixel);font-size:13px;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.pg-actions{margin-top:10px}.pg-panel button{background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#f3e9f7;color:var(--ink);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11.5px;padding:4px 10px}.pg-actions button{flex:1 1}.pg-panel button:hover{border-color:#ff7ac6;border-color:var(--accent)}.pg-panel details{border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);margin-top:12px;padding-top:10px}.pg-panel summary{color:#f3e9f7;color:var(--ink);cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.pg-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:8px}.pg-range{align-items:stretch;flex-direction:column;gap:3px}.pg-range b{font-feature-settings:"tnum";color:#ff7ac6;color:var(--accent);float:right;font-variant-numeric:tabular-nums;font-weight:500}.pg-range input{accent-color:#ff7ac6;accent-color:var(--accent);width:100%}.pg-row select{background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#f3e9f7;color:var(--ink);font:inherit;max-width:160px;padding:3px 4px}.pg-toggle input{accent-color:#ff7ac6;accent-color:var(--accent)}.pg-swatches{grid-gap:6px 10px;display:grid;gap:6px 10px;grid-template-columns:1fr 1fr;margin-top:10px}.pg-swatch{align-items:center;cursor:pointer;display:flex;gap:6px;min-width:0}.pg-swatch input{background:none;border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;cursor:pointer;flex:none;height:22px;padding:0;width:22px}.pg-swatch span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab{flex:1 1;margin:0 auto;max-width:1180px;max-width:var(--wrap);padding:16px clamp(16px,4vw,52px) 48px;width:100%}.lab-bar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.lab-bar .pb-lbl{margin:0}.lab-wide{max-width:1600px}.lab-sub{margin-bottom:20px}.lab-case{color:#f3e9f7;color:var(--ink);height:82vh;overflow-y:auto}.lab-cap-top{align-items:baseline;flex-wrap:wrap;margin:0 0 10px!important}.lab-cap-top a{color:#ff7ac6;color:var(--accent);font-size:12.5px;margin-left:auto}.lab-cap-top a,.tuner{font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono)}.tuner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,#1d1230 88%,#0000);background:color-mix(in srgb,var(--sheet) 88%,#0000);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:10px;bottom:16px;color:#f3e9f7;color:var(--ink);font-size:12px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px 16px 16px;position:fixed;right:16px;width:min(320px,calc(100vw - 32px));z-index:50}.tuner-closed{padding:6px;width:auto}.tuner-toggle{background:none;border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:4px;float:right;font-size:11px;margin:0 0 8px 8px;padding:3px 8px}.tuner .chips{clear:both}.tuner-group{color:#ff7ac6;color:var(--accent);font-size:10.5px;letter-spacing:.1em;margin:14px 0 6px;text-transform:uppercase}.tuner-row{display:block;margin:6px 0}.tuner-row span{color:#9f8db0;color:var(--muted);display:flex;justify-content:space-between}.tuner-row b{color:#f3e9f7;color:var(--ink);font-weight:500}.tuner-row input{accent-color:#ff7ac6;accent-color:var(--accent);width:100%}.tuner-actions{display:flex;gap:6px;margin-top:12px}.radius-bar{align-items:center;background:#120a1f;background:var(--ground);border-bottom:1px solid #f3e9f721;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:14px 22px;padding:14px 0;position:-webkit-sticky;position:sticky;top:70px;top:var(--head-h);z-index:5}.radius-bar .pb-lbl{font-size:13px;margin:0;min-width:120px}.radius-bar input{accent-color:#ff7ac6;accent-color:var(--accent);width:min(360px,100%)}.radius-note{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px;letter-spacing:.1em;margin:48px 0 0;text-transform:uppercase}.radius-page .proj-grid{border-top:0;margin-top:16px;padding-top:0}.lab-grid{display:flex;flex-direction:column;gap:40px}.lab-item{margin:0}.lab-frame{border-radius:6px;box-shadow:0 0 0 1px #f3e9f721;box-shadow:0 0 0 1px var(--rule);overflow:hidden}.lab-frame>.hl-petersen{padding:0 24px 32px}.lab-item figcaption{color:#9f8db0;color:var(--muted);display:flex;font-size:14px;gap:12px;margin-top:10px}.lab-item figcaption b{color:#f3e9f7;color:var(--ink);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-weight:500}@media (max-width:640px){.tw-chips{flex-wrap:wrap}.tw-chip{flex:1 1 100%}}.pfoot{color:#9f8db0;color:var(--muted);display:flex;flex-wrap:wrap;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:12px;gap:12px;justify-content:space-between;margin:0 auto;max-width:1180px;max-width:var(--wrap);padding:22px clamp(16px,4vw,52px) 32px;width:100%}.pfoot-links{display:flex;gap:16px}.pfoot a{text-decoration:none}.pfoot a:hover{color:#f3e9f7;color:var(--ink)}@media (max-width:640px){.themeb span{display:none}}@media (max-width:480px){.site{justify-content:flex-start;padding-left:8px;padding-right:44px}.site nav{gap:0}.site nav a{font-size:11.5px;letter-spacing:.02em;padding:4px 5px}}.vx{flex:1 1;margin:0 auto;max-width:1180px;max-width:var(--wrap);padding:24px clamp(16px,4vw,52px) 96px;width:100%}.vx-head h1{color:#fff0fa;color:var(--title);font-family:Silkscreen,monospace;font-family:var(--pixel);font-size:clamp(22px,3.4vw,34px);font-weight:400;margin:0 0 8px}.vx-head>p:not(.pb-lbl){color:#d9c9e4;color:var(--soft);line-height:1.55;margin:0 0 18px;max-width:62ch}.vx-head textarea{background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:4px;color:#f3e9f7;color:var(--ink);display:block;font:16px/1.55 Literata,Georgia,Times New Roman,serif;font:16px/1.55 var(--serif);max-width:760px;padding:12px 14px;resize:vertical;width:100%}.vx-head textarea:focus{border-color:#ff7ac6;border-color:var(--accent);outline:none}.vx-presets{display:flex;gap:6px;margin-top:10px}.vx .chip{cursor:pointer}.vx .chip[aria-pressed=true]{border-color:#ff7ac6;border-color:var(--accent);color:#ff7ac6;color:var(--accent)}.vx-engine{border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);margin-top:40px;padding-top:20px}.vx-engine-head h2{color:#fff0fa;color:var(--title);font-family:Archivo,Arial Narrow,system-ui,sans-serif;font-family:var(--display);font-size:22px;margin:0 0 6px}.vx-engine-head p{color:#9f8db0;color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 16px;max-width:72ch}.vx-tag{border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#d9c9e4;color:var(--soft);display:inline-block;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono);font-size:11.5px;margin-right:6px;padding:1px 7px}.vx-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));list-style:none;margin:0;padding:0}.vx-voice{align-items:center;background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:4px;display:flex;gap:10px;min-width:0;padding:8px 10px;transition:border-color .15s ease}.vx-voice.is-playing{border-color:#ff7ac6;border-color:var(--accent)}.vx-bar button,.vx-load button,.vx-play,.vx-star{background:none;border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#f3e9f7;color:var(--ink);cursor:pointer;font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono)}.vx-play{flex:none;font-size:12px;height:34px;width:34px}.vx-play:hover:not(:disabled),.vx-voice.is-playing .vx-play{border-color:#ff7ac6;border-color:var(--accent);color:#ff7ac6;color:var(--accent)}.vx-play:disabled{cursor:default;opacity:.3}.vx-label{display:flex;flex:1 1;flex-direction:column;min-width:0}.vx-label b{font-size:14.5px;font-weight:500}.vx-label small{color:#9f8db0;color:var(--muted);font-weight:400}.vx-label .vx-grade{color:#ff7ac6;color:var(--accent);font-family:Fira Code,ui-monospace,Menlo,monospace;font-family:var(--mono)}.vx-label span{color:#9f8db0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-label em,.vx-load em{color:#ff7ac6;color:var(--accent);font-style:normal;white-space:normal}.vx-star{border-color:#0000;color:#9f8db0;color:var(--muted);flex:none;font-size:15px;height:30px;width:30px}.vx-star.is-on,.vx-star:hover{color:#ff7ac6;color:var(--accent)}.vx-load{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vx-load select{background:#1d1230;background:var(--sheet);border:1px solid #f3e9f721;border:1px solid var(--rule);border-radius:3px;color:#f3e9f7;color:var(--ink);font:13px Fira Code,ui-monospace,Menlo,monospace;font:13px var(--mono);max-width:100%;padding:7px 8px}.vx-bar button,.vx-load button{font-size:13px;padding:7px 14px}.vx-bar button:hover:not(:disabled),.vx-load button:hover:not(:disabled){border-color:#ff7ac6;border-color:var(--accent);color:#ff7ac6;color:var(--accent)}.vx-bar button:disabled,.vx-load button:disabled{cursor:default;opacity:.5}.vx-empty{color:#9f8db0;color:var(--muted)}.vx-bar{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,#120a1f 92%,#0000);background:color-mix(in srgb,var(--ground) 92%,#0000);border-top:1px solid #f3e9f721;border-top:1px solid var(--rule);bottom:0;color:#d9c9e4;color:var(--soft);display:flex;font:12.5px Fira Code,ui-monospace,Menlo,monospace;font:12.5px var(--mono);gap:12px;justify-content:space-between;left:0;padding:10px clamp(16px,4vw,52px);position:fixed;right:0;z-index:10}.vx-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-bar button{flex:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important}}
/*# sourceMappingURL=main.f99324b8.css.map*/