@font-face{font-family:Gambetta;src:url(/fonts/Gambetta-Variable.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--void:#000;--text:#fff;--text-muted:#999;--scrim:#000000e6;--accent-type:#7e71f0;--accent-halftone:#03e65b;--accent-edges:#ffc533;--accent-textile:#ff3386;--accent-print:#ff5d4b;--accent-glitch:#00e5ff;--accent-geometry:#b78bff;--accent-color:#ffe14d;--accent-optics:#6fd3ff;--accent-generative:#7bffb0;--font-display:"Gambetta", Georgia, serif;--font-ui:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--text-caption:10px;--lh-caption:1.1;--ls-caption:0;--text-body:14px;--lh-body:1.5;--ls-body:0;--text-subheading:18px;--lh-subheading:1.35;--ls-subheading:0;--text-heading-sm:22px;--lh-heading-sm:1.15;--ls-heading-sm:-.66px;--text-heading:39px;--lh-heading:1.12;--ls-heading:-1.56px;--text-heading-lg:59px;--lh-heading-lg:1.1;--ls-heading-lg:-2.36px;--text-display:165px;--lh-display:1.08;--ls-display:-6.6px;--paper:#f6f5f2;--ink:#1a1a1a;--ink-muted:#55524d;--rule-ink:2px;--text-input-touch:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:18px;--space-5:24px;--space-6:36px;--gap-element:var(--space-2);--pad-card:var(--space-4);--gap-section:var(--space-6);--radius-button:60px;--radius-card:8.4px;--border-width:1px;--ls-label:.08em;--rail-width:200px;--inspector-width:260px;--ds-max-width:960px;--ds-chip-min:220px;--bp-compact:720px;--viewport-min:320px;--tap-min:24px;--indicator-width:2px;--focus-width:2px;--thumb-width:240px;--thumb-height:180px;--seam:#ffffff1f;--surface-0:#080808;--surface-1:#101010;--surface-2:#181818;--surface-3:#202020;--line:#282828;--line-strong:#6a6a6a;--sidebar-width:240px;--lp-max-width:1080px;--measure-prose:62ch;--motion-fast:.2s;--motion-slow:.4s;--dim-hover:.82;--opacity-disabled:.4}*{box-sizing:border-box}body{background:var(--void);color:var(--text);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);margin:0}:focus-visible{outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-slow:0s}}.param-panel{gap:var(--gap-element);padding:var(--pad-card);flex-direction:column;display:flex}.control{gap:var(--space-1);flex-direction:column;display:flex}.control-inline{flex-direction:row;justify-content:space-between;align-items:center}.control-head{justify-content:space-between;align-items:baseline;display:flex}.control label{color:var(--text);font-size:var(--text-caption);line-height:var(--lh-caption)}.control-value{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text);font-variant-numeric:tabular-nums}.control input[type=range]{width:100%;min-height:var(--tap-min);accent-color:var(--text)}.control input[type=checkbox]{width:var(--tap-min);height:var(--tap-min);accent-color:var(--text);margin:0}.control select,.control input[type=text],.control button{background:var(--surface-3);color:var(--text);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);padding:var(--space-1) var(--space-3);font:inherit}.control input[type=text]{width:100%;min-width:0;font-family:var(--font-mono)}.shell{background:var(--surface-0);grid-template-rows:auto 1fr;height:100dvh;display:grid}.shell.is-studio{grid-template-columns:1fr var(--inspector-width);grid-template-areas:"top top""viewport inspector"}.shell.is-catalogue{grid-template-columns:1fr;grid-template-areas:"top""main"}.shell.is-catalogue .viewport,.shell.is-catalogue .inspector,.shell.is-catalogue .rendering{display:none}.topbar{justify-content:space-between;align-items:center;gap:var(--gap-element);padding:var(--pad-card);border-bottom:var(--border-width) solid var(--line);grid-area:top;display:flex}.topbar [role=alert]{min-width:0;font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text);margin:0}.viewport{background:var(--void);grid-area:viewport;place-items:center;display:grid;position:relative;overflow:auto}.viewport canvas{max-width:100%;max-height:100%;image-rendering:pixelated}.viewport-source{image-rendering:auto}.viewport.is-full{place-items:start}.viewport.is-full canvas{max-width:none;max-height:none}.viewport-frame{min-width:0;max-width:100%;min-height:0;max-height:100%;display:grid;position:relative}.viewport-frame>canvas{grid-area:1/1}.viewport.is-effect .viewport-source,.viewport.is-original .viewport-effect{display:none}.viewport.is-split .viewport-frame{touch-action:none;cursor:ew-resize}.viewport.is-split .viewport-effect{clip-path:inset(0 0 0 var(--split))}.split-handle{top:0;bottom:0;left:var(--split);width:var(--space-6);color:var(--text);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--ls-label);cursor:ew-resize;background:0 0;border:0;place-items:center;display:grid;position:absolute;transform:translate(-50%)}.split-handle:before{content:"";width:var(--border-width);background:var(--text);position:absolute;top:0;bottom:0}.split-handle>span{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-button);background:var(--scrim);place-items:center;display:grid}.split-handle:focus-visible{outline:none}.split-handle:focus-visible>span{outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}.split-label{top:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-button);background:var(--scrim);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text);pointer-events:none;position:absolute}.split-label-left{left:var(--space-2)}.split-label-right{right:var(--space-2)}.view-modes{left:50%;bottom:var(--space-3);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-button);background:var(--scrim);display:flex;position:absolute;transform:translate(-50%)}.view-mode{color:var(--text-muted);border:var(--border-width) solid transparent;border-radius:var(--radius-button);padding:var(--space-1) var(--space-3);min-height:var(--tap-min);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0}.view-mode:hover{color:var(--text)}.view-mode[aria-pressed=true]{color:var(--text);border-color:var(--line-strong)}.inspector{background:var(--surface-1);border-left:var(--border-width) solid var(--line);grid-area:inspector;overflow-y:auto}.inspector h1{font-family:var(--font-display);font-size:var(--text-heading-sm);font-weight:700;line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm);padding:var(--pad-card) var(--pad-card) 0;margin:0}.topbar button{background:var(--text);color:var(--void);border-radius:var(--radius-button);padding:var(--space-2) var(--space-5);font:inherit;cursor:pointer;border:0}.topbar button:disabled{opacity:var(--opacity-disabled);cursor:default}.topbar button{transition:opacity var(--motion-fast) ease, border-color var(--motion-fast) ease}.topbar button:hover:not(:disabled){opacity:.85}.topbar button.secondary:hover:not(:disabled){opacity:1;border-color:var(--text)}.control select,.control input[type=text],.control button{transition:border-color var(--motion-fast) ease}.control select:hover,.control input[type=text]:hover,.control button:hover{border-color:var(--text)}.layer button{transition:opacity var(--motion-fast) ease}.layer button:hover:not(:disabled){opacity:.75}.layers-add{transition:border-color var(--motion-fast) ease}.layers-add:hover:not(:disabled){border-color:var(--text)}@media (width<=720px){.shell.is-studio{grid-template:"top""viewport""inspector"1fr/1fr;height:100svh}.topbar,.topbar-actions{flex-wrap:wrap}.viewport{min-height:var(--viewport-min)}.inspector{border-left:0;border-top:var(--border-width) solid var(--line)}}.topbar-actions{gap:var(--gap-element);align-items:center;display:flex}.source-drop{align-items:center;gap:var(--gap-element);flex-wrap:wrap;min-width:0;display:flex}.source-drop-label{min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:var(--border-width) dashed var(--line-strong);border-radius:var(--radius-card);color:var(--text);cursor:pointer;transition:border-color var(--motion-fast) ease, color var(--motion-fast) ease;align-items:center;display:inline-flex}.source-drop-label:hover{border-style:solid}.source-offer{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.source-offer-note{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-caption);line-height:var(--lh-caption);flex-basis:100%;margin:0}.source-restore{align-items:center;gap:var(--space-2);min-height:var(--tap-min);max-width:40ch;padding:var(--space-1) var(--space-3);color:var(--text-muted);border:var(--border-width) dashed var(--line-strong);border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;display:inline-flex}.source-restore:hover{color:var(--text);border-color:var(--text)}.source-forget{min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-1) var(--space-2);color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);cursor:pointer;transition:color var(--motion-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;text-decoration:underline;display:inline-flex}.source-forget:hover{color:var(--text)}.source-restore-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);color:var(--text);overflow:hidden}.source-drop-label:has(:focus-visible){outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}.export-menu{position:relative}.export-menu-list{right:0;top:calc(100% + var(--space-2));z-index:2;min-width:320px;padding:var(--space-1);background:var(--surface-1);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-card);flex-direction:column;display:flex;position:absolute}.topbar .export-menu-item{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast) ease;background:0 0;border:0;flex-direction:column;display:flex}.topbar .export-menu-item:hover{background:var(--surface-2)}.topbar .export-menu-item[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:default}.topbar .export-menu-item[aria-disabled=true]:hover{background:0 0}.export-menu-item[aria-checked=true] .export-menu-label:after{content:" ✓";font-family:var(--font-mono)}.export-menu-label{font-size:var(--text-body);line-height:var(--lh-caption)}.export-menu-hint{font-size:var(--text-caption);line-height:var(--lh-body);color:var(--text);opacity:.75}.topbar button.secondary{background:var(--surface-3);color:var(--text);border:var(--border-width) solid var(--line-strong)}.layers{padding:var(--pad-card) var(--pad-card) 0;border-bottom:var(--border-width) solid var(--line)}.layers-source{margin:0 0 var(--space-2);font-size:var(--text-caption);color:var(--text-muted);letter-spacing:var(--ls-label);text-transform:uppercase}.layers-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.layer{align-items:center;gap:var(--space-1);border-radius:var(--radius-button);grid-template-columns:1fr auto auto;display:grid}.layer.is-active{background:var(--void)}.layer.is-off .layer-name{opacity:var(--opacity-disabled)}.layer.is-broken .layer-name{text-decoration:line-through}.layer button{color:inherit;font:inherit;cursor:pointer;padding:var(--space-2);min-width:var(--tap-min);min-height:var(--tap-min);background:0 0;border:0}.layer button:disabled{opacity:var(--opacity-disabled);cursor:default}.layer-pick{align-items:center;gap:var(--space-2);text-align:left;min-width:0;display:flex}.layer-index{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted)}.layer-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-salt{font-size:var(--text-caption);color:var(--text-muted)}.layer-note{font-size:var(--text-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--ls-label)}.layers-foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--pad-card);display:flex}.layers-add{background:var(--surface-3);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);color:inherit;font:inherit;padding:var(--space-1) var(--space-3);cursor:pointer}.layers-add:disabled{opacity:var(--opacity-disabled);cursor:default}.layers-count{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:3;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);background:var(--surface-3);color:var(--text);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);transition:transform var(--motion-fast) ease;align-items:center;text-decoration:none;display:inline-flex;position:fixed;transform:translateY(-300%)}.skip-link:focus{transform:none}.rendering{margin:var(--space-3) 0 0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-button);background:var(--surface-1);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-caption);pointer-events:none;z-index:1;grid-area:viewport;place-self:start center}.toast{align-items:center;gap:var(--space-2);margin:0 var(--pad-card) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-3);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-card);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text);flex-wrap:wrap;display:flex}.toast-text{white-space:nowrap}.toast-undo,.toast-dismiss{min-height:var(--tap-min);padding:0 var(--space-3);color:var(--text);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);font:inherit;cursor:pointer;transition:border-color var(--motion-fast) ease;background:0 0}.toast-dismiss{color:var(--text-muted)}.toast-undo:hover,.toast-dismiss:hover{border-color:var(--text)}.catalogue{grid-area:main;grid-template-columns:var(--sidebar-width) 1fr;background:var(--surface-0);min-height:0;display:grid}.sidebar{gap:var(--gap-section);padding:var(--pad-card);background:var(--surface-1);border-right:var(--border-width) solid var(--line);flex-direction:column;display:flex;overflow-y:auto}.sidebar-group{gap:var(--space-1);flex-direction:column;display:flex}.sidebar-label{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted);margin-bottom:var(--space-1)}.sidebar-item{align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap-min);padding:var(--space-2);color:var(--text-muted);border:var(--border-width) solid transparent;border-radius:var(--radius-card);font:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;display:flex}.sidebar-item:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.sidebar-item:disabled{opacity:var(--opacity-disabled);cursor:default}.sidebar-item.is-on{background:var(--surface-2);border-color:var(--line);color:var(--text)}.sidebar-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-button);flex:none}.sidebar-item-name{flex:1;min-width:0}.sidebar-count,.sidebar-hint{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.sidebar-item.has-hint{flex-direction:column;align-items:flex-start;gap:0}.sidebar-hint{text-align:left;width:100%;display:block}.sidebar-note{font-size:var(--text-caption);line-height:var(--lh-body);color:var(--text-muted);margin:0}.sidebar-reset{color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-button);padding:var(--space-1) var(--space-3);min-height:var(--tap-min);font:inherit;cursor:pointer;transition:border-color var(--motion-fast) ease;background:0 0;align-self:flex-start}.sidebar-reset:hover{border-color:var(--text)}.catalogue-main{flex-direction:column;min-width:0;min-height:0;display:flex}.catalogue-head{align-items:center;gap:var(--gap-element);padding:var(--pad-card);border-bottom:var(--border-width) solid var(--line);flex:none;display:flex}.catalogue-title{align-items:flex-start;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-heading-sm);font-weight:700;line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm);margin:0 auto 0 0;display:flex}.catalogue-count{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.catalogue-search{flex:0 380px}.catalogue-search input{background:var(--surface-1);width:100%;color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--lh-body);transition:border-color var(--motion-fast) ease}.catalogue-search input:hover,.catalogue-search input:focus{border-color:var(--text-muted)}.catalogue-chips{gap:var(--space-1);padding:var(--space-2) var(--pad-card);border-bottom:var(--border-width) solid var(--line);flex-wrap:wrap;flex:none;display:flex}.chip{background:var(--surface-2);color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-button);padding:var(--space-1) var(--space-3);min-height:var(--tap-min);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);cursor:pointer;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease}.chip:hover{border-color:var(--text);background:var(--surface-3)}.chip.is-reset{color:var(--text-muted);background:0 0}.chip.is-reset:hover{color:var(--text)}.catalogue-grid{min-height:0;padding:var(--pad-card);flex:1;overflow-y:auto}.catalogue-empty{color:var(--text);margin:0}.card-group{margin-bottom:var(--gap-section)}.card-group:last-child{margin-bottom:0}.card-group-label{z-index:1;align-items:baseline;gap:var(--space-2);background:var(--surface-0);padding:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text);display:flex;position:sticky;top:0}.card-group-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.card-grid{grid-template-columns:repeat(auto-fill, var(--thumb-width));justify-content:start;gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface-1);width:100%;color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-card);font:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;flex-direction:column;padding:0;display:flex;overflow:hidden}.card:hover,.card:focus-visible{background:var(--surface-2);border-color:var(--text-muted)}.card.is-active{border-color:var(--text);border-width:var(--indicator-width)}.card-thumb{aspect-ratio:var(--thumb-width) / var(--thumb-height);background:var(--void);place-items:center;display:grid;overflow:hidden}.card-thumb canvas{max-width:100%;max-height:100%;image-rendering:pixelated;transition:filter var(--motion-slow) ease}.card:hover .card-thumb canvas,.card:focus-visible .card-thumb canvas{filter:brightness(var(--dim-hover))}.card-thumb.is-pending{background:var(--surface-2);animation:1.2s ease-in-out infinite thumb-wait}@media (prefers-reduced-motion:reduce){.card-thumb.is-pending{animation:none}}.card-fallback{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text-muted);padding:var(--space-2);text-align:center}.card-body{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.card-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.card-name{font-size:var(--text-body);line-height:var(--lh-caption)}.card-marks{gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted);display:flex}.card-blurb{-webkit-line-clamp:2;line-clamp:2;min-height:calc(var(--text-caption) * var(--lh-body) * 2);font-size:var(--text-caption);line-height:var(--lh-body);color:var(--text-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-foot{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding-top:var(--space-1);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);display:flex}.card-index{color:var(--text-muted);font-variant-numeric:tabular-nums}.screens{gap:var(--space-1);display:flex}.topbar .screen-tab{color:var(--text-muted);border:var(--border-width) solid transparent;border-radius:var(--radius-button);padding:var(--space-2) var(--space-4);min-height:var(--tap-min);font:inherit;cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0}.topbar .screen-tab:hover{color:var(--text)}.topbar .screen-tab[aria-pressed=true]{color:var(--text);border-color:var(--line-strong)}@media (width<=1000px){.catalogue{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--pad-card);contain:paint;border-right:0;border-bottom:var(--border-width) solid var(--line);flex-direction:row;min-width:0;overflow:auto hidden}.sidebar-group{align-items:center;gap:var(--space-2);flex-direction:row;flex:none}.sidebar-label{margin-bottom:0}.sidebar-item{white-space:nowrap}.sidebar-item.has-hint{align-items:center;gap:var(--space-2);flex-direction:row}.sidebar-hint,.sidebar-note{display:none}.catalogue-head{flex-wrap:wrap}.catalogue-search{flex:100%}}@media (width<=720px){.card-grid{grid-template-columns:repeat(2,1fr)}.card-thumb canvas{object-fit:cover;width:100%;height:100%}.export-menu-list{left:var(--pad-card);right:var(--pad-card);margin-top:var(--space-2);min-width:0;position:fixed;top:auto}.catalogue-search input,.control select,.control input[type=text]{font-size:var(--text-input-touch)}}.lp{gap:var(--gap-section);background:var(--surface-0);flex-direction:column;min-height:100vh;display:flex}.lp h1,.lp h2,.lp p,.lp ul,.lp figure{margin:0}.lp ul{padding:0;list-style:none}.lp-top{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--line);display:flex}.lp-mark{font-family:var(--font-display);font-size:var(--text-heading-sm);line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm)}.lp-hero,.lp-section,.lp-end{width:100%;max-width:var(--lp-max-width);padding-inline:var(--space-5);align-items:start;gap:var(--space-4);flex-direction:column;margin-inline:auto;display:flex}.lp-eyebrow{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted)}.lp-title{font-family:var(--font-display);font-weight:300;font-size:clamp(var(--text-heading-lg), 6.4vw, 120px);line-height:var(--lh-display);letter-spacing:var(--ls-display);text-wrap:balance}.lp-lead{max-width:var(--measure-prose);font-size:var(--text-subheading);line-height:var(--lh-subheading);color:var(--text-muted);text-wrap:pretty}.lp-actions{gap:var(--gap-element);flex-wrap:wrap;align-items:center;display:flex}.lp-cta,.lp-ghost,.lp-open{min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border-radius:var(--radius-button);border:var(--border-width) solid transparent;font:inherit;transition:opacity var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;align-items:center;text-decoration:none;display:inline-flex}.lp-cta{background:var(--text);color:var(--void)}.lp-cta:hover{opacity:.85}.lp-ghost,.lp-open{color:var(--text);border-color:var(--line-strong)}.lp-ghost:hover,.lp-open:hover{border-color:var(--text)}.lp-open{padding:var(--space-2) var(--space-4)}.lp-strip-hint{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted)}.lp-strip{contain:paint;background:var(--surface-1);border-block:var(--border-width) solid var(--line);display:flex;overflow-x:auto}.lp-cell{border-right:var(--border-width) solid var(--seam);flex:none}.lp-tile{color:inherit;text-decoration:none;display:block}.lp-thumb{width:var(--thumb-width);height:var(--thumb-height);background:var(--void);place-items:center;display:grid;overflow:hidden}.lp-thumb>*{grid-area:1/1}.lp-thumb canvas{width:var(--thumb-width);height:var(--thumb-height);image-rendering:pixelated;transition:filter var(--motion-slow) ease}.lp-thumb img{width:var(--thumb-width);height:var(--thumb-height);object-fit:cover}.lp-tile:hover .lp-thumb canvas,.lp-tile:focus-visible .lp-thumb canvas{filter:brightness(var(--dim-hover))}.lp-thumb.is-pending{background:var(--surface-2);animation:1.2s ease-in-out infinite thumb-wait}.lp-fallback{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text-muted);text-align:center;padding:var(--space-2)}.lp-cap{gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.lp-cap-cat{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted)}.lp-cap-name{font-size:var(--text-body)}.lp-cap-note{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text-muted)}.lp-h2{font-family:var(--font-display);font-weight:300;font-size:var(--text-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.lp-note{max-width:var(--measure-prose);color:var(--text-muted);text-wrap:pretty}.lp-code code{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text);background:var(--surface-2);border-radius:var(--radius-card);padding:var(--space-1) var(--space-2);word-break:break-all}.lp-families{width:100%;max-width:var(--lp-max-width);column-gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));display:grid}.lp-families li{min-width:0}.lp-families a{align-items:baseline;gap:var(--space-3);width:100%;padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--line);color:inherit;font-family:var(--font-display);font-size:var(--text-heading-sm);line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm);transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;text-decoration:none;display:flex}.lp-family-name{flex:1}.lp-families a:hover{color:var(--text);border-color:var(--line-strong)}.lp-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-button);flex:none}.lp-family-count{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.lp-columns{align-items:start;gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.lp-columns article{gap:var(--space-3);padding-top:var(--space-4);border-top:var(--border-width) solid var(--line);flex-direction:column;display:flex}.lp-columns .lp-h2{font-size:var(--text-heading-sm);line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm)}.lp-end{padding-block:calc(var(--space-6) * 2);gap:var(--space-5);border-top:var(--border-width) solid var(--line)}.lp-end-title{font-family:var(--font-display);font-weight:300;font-size:clamp(var(--text-heading), 4.1vw, var(--text-heading-lg));line-height:var(--lh-heading-lg);letter-spacing:var(--ls-heading-lg);text-wrap:balance}.lp-end .lp-cta{padding:var(--space-4) var(--space-6);font-size:var(--text-subheading);line-height:var(--lh-subheading)}.lp-foot{gap:var(--space-4);padding:var(--space-5);border-top:var(--border-width) solid var(--line);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.lp-foot a{min-height:var(--tap-min);color:var(--text-muted);transition:color var(--motion-fast) ease;align-items:center;text-decoration:none;display:inline-flex}.lp-foot a:hover{color:var(--text)}@media (width<=720px){.lp-title{font-size:var(--text-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.lp-lead{font-size:var(--text-body);line-height:var(--lh-body)}.lp-h2{font-size:var(--text-heading-sm);line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm)}.lp-columns{grid-template-columns:1fr}.lp-hero,.lp-section,.lp-end{padding-inline:var(--space-4)}}@media (prefers-reduced-motion:reduce){.lp-thumb.is-pending{animation:none}}.timeline{left:var(--space-4);right:var(--space-4);bottom:var(--space-6);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);background:var(--scrim);display:flex;position:absolute}.timeline-track{flex:1;align-items:center;min-width:0;display:flex;position:relative}.timeline input[type=range]{min-width:0;accent-color:var(--text);z-index:1;flex:1;position:relative}.timeline-range{background:var(--text);opacity:.35;pointer-events:none;border-radius:3px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.timeline-marks{gap:var(--space-1);display:flex}.timeline-marks button{min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-2);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);color:var(--text);font-family:var(--font-mono);font-size:var(--text-caption);cursor:pointer;background:0 0}.timeline-marks button:hover:not(:disabled){border-color:var(--text)}.timeline-marks button:disabled{opacity:.4;cursor:default}.timeline-clock{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text);font-variant-numeric:tabular-nums}.preset-chips{gap:var(--space-1);padding:0 var(--space-4) var(--space-3);flex-wrap:wrap;display:flex}.control-hint{margin:calc(var(--space-1) * -1) 0 0;color:var(--text-muted);font-size:var(--text-caption);line-height:var(--lh-caption);max-width:34em}.fx{max-width:var(--measure-prose);padding:var(--space-6) var(--pad-card);gap:var(--space-4);background:var(--surface-0);color:var(--text);font-family:var(--font-ui);flex-direction:column;margin:0 auto;display:flex}.fx-eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted);margin:0;display:flex}.fx-dot{width:var(--space-2);height:var(--space-2);border-radius:50%}.fx-title{font-family:var(--font-display);font-size:var(--text-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0;font-weight:500}.fx-blurb{font-size:var(--text-subheading);line-height:var(--lh-subheading);color:var(--text);margin:0}.fx-example{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.fx-example canvas{width:var(--thumb-width);height:var(--thumb-height);background:var(--surface-1);max-width:100%;image-rendering:pixelated}.fx-example figcaption{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--text-muted)}.fx-open{min-height:var(--tap-min);padding:var(--space-2) var(--space-4);background:var(--text);color:var(--void);border-radius:var(--radius-button);align-self:start;align-items:center;text-decoration:none;display:inline-flex}.fx-controls h2,.fx-presets h2{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted);font-weight:400}.fx-controls dl{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.fx-control dt{font-family:var(--font-mono);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text)}.fx-control dd{font-size:var(--text-body);line-height:var(--lh-body);color:var(--text-muted);margin:0}.fx-presets ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.fx-presets a,.fx-foot a{min-height:var(--tap-min);padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-button);color:var(--text);font-size:var(--text-body);line-height:var(--lh-body);align-items:center;text-decoration:none;display:inline-flex}.fx-presets a:hover,.fx-foot a:hover{border-color:var(--text)}.fx-foot{gap:var(--space-2);padding-top:var(--space-4);border-top:var(--border-width) solid var(--line);flex-wrap:wrap;display:flex}.fx-foot a[aria-current=page]{color:var(--text-muted);border-color:var(--line);text-underline-offset:var(--space-1);text-decoration:underline}.fx-neighbours h2{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted);font-weight:400}.fx-neighbours ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.fx-neighbours a{min-height:var(--tap-min);padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-button);color:var(--text-muted);font-size:var(--text-body);line-height:var(--lh-body);align-items:center;text-decoration:none;display:inline-flex}.fx-neighbours a:hover{color:var(--text);border-color:var(--line-strong)}.fx-index{max-width:var(--lp-max-width);padding:var(--space-6) var(--pad-card);gap:var(--gap-section);background:var(--surface-0);color:var(--text);font-family:var(--font-ui);flex-direction:column;margin:0 auto;display:flex}.fx-index-head{gap:var(--space-3);max-width:var(--measure-prose);flex-direction:column;display:flex}.fx-index-group h2{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:400;display:flex}.fx-index-count{color:var(--text-muted)}.fx-index-group ul{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.fx-index-group li{gap:var(--space-1);flex-direction:column;display:flex}.fx-index-group li a{min-height:var(--tap-min);color:var(--text);border-bottom:var(--border-width) solid var(--line-strong);font-size:var(--text-subheading);line-height:var(--lh-subheading);align-self:start;align-items:center;text-decoration:none;display:inline-flex}.fx-index-group li a:hover{border-color:var(--text)}.fx-index-blurb{color:var(--text-muted);font-size:var(--text-body);line-height:var(--lh-body)}.lp-yours{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.lp-yours-label{min-height:var(--tap-min);padding:var(--space-1) var(--space-3);border:var(--border-width) dashed var(--line-strong);border-radius:var(--radius-button);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;cursor:pointer;transition:color var(--motion-fast) ease, border-color var(--motion-fast) ease;align-items:center;display:inline-flex}.lp-yours-label:hover{color:var(--text);border-color:var(--text)}.lp-yours-label:has(:focus-visible){outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}.lp-paper{background:var(--paper);color:var(--ink);padding:var(--space-6) var(--space-5)}.lp-paper-inner{max-width:var(--lp-max-width);align-items:center;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));margin:0 auto;display:grid}.lp-paper-text{gap:var(--space-3);flex-direction:column;display:flex}.lp-sheet{padding:var(--space-6) var(--space-5) var(--space-5);border:var(--border-width) solid var(--ink-muted);background:var(--paper);gap:var(--space-3);flex-direction:column;margin:0;display:flex;position:relative}.lp-sheet:before,.lp-sheet:after{content:"";width:var(--space-4);height:var(--space-4);pointer-events:none;position:absolute}.lp-sheet:before{top:calc(var(--space-2) * -1);left:calc(var(--space-2) * -1);border-top:var(--border-width) solid var(--ink);border-left:var(--border-width) solid var(--ink)}.lp-sheet:after{bottom:calc(var(--space-2) * -1);right:calc(var(--space-2) * -1);border-bottom:var(--border-width) solid var(--ink);border-right:var(--border-width) solid var(--ink)}.lp-sheet-size:before,.lp-sheet-size:after{content:"";width:var(--space-4);height:var(--space-4);pointer-events:none;position:absolute}.lp-sheet-size:before{top:calc(var(--space-2) * -1);right:calc(var(--space-2) * -1);border-top:var(--border-width) solid var(--ink);border-right:var(--border-width) solid var(--ink)}.lp-sheet-size:after{bottom:calc(var(--space-2) * -1);left:calc(var(--space-2) * -1);border-bottom:var(--border-width) solid var(--ink);border-left:var(--border-width) solid var(--ink)}.lp-sheet-ruler{height:var(--space-3);background:repeating-linear-gradient(to right, var(--ink) 0 1px, transparent 1px 8px);border-top:var(--border-width) solid var(--ink);opacity:.7;position:static;-webkit-mask-image:linear-gradient(#000 0 40%,#0000 40%);mask-image:linear-gradient(#000 0 40%,#0000 40%)}.lp-sheet-size{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);color:var(--ink-muted);text-align:right}.lp-ink{width:var(--space-3);height:var(--space-3);margin-right:var(--space-2);vertical-align:-1px;border:var(--border-width) solid var(--ink);display:inline-block}.lp-ink-black{background:var(--ink)}.lp-ink-red{background:#ff4438}.lp-ink-none{background:0 0}.lp-paper-eyebrow{padding-bottom:var(--space-2);border-bottom:var(--rule-ink) solid var(--ink);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-label);text-transform:uppercase;align-self:start;margin:0}.lp-paper-h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0}.lp-paper-note{font-size:var(--text-subheading);line-height:var(--lh-subheading);color:var(--ink-muted);margin:0}.lp-paper-files{gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-body);line-height:var(--lh-body);color:var(--ink);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.page-error{justify-content:center;align-items:start;gap:var(--gap-element);min-height:100dvh;padding:var(--pad-card);background:var(--surface-0);flex-direction:column;display:flex}.page-error h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-heading-sm);line-height:var(--lh-heading-sm);letter-spacing:var(--ls-heading-sm);margin:0}.page-error p{max-width:var(--measure-prose);font-size:var(--text-body);line-height:var(--lh-body);color:var(--text-muted);margin:0}.page-error button{min-height:var(--tap-min);background:var(--text);color:var(--void);border-radius:var(--radius-button);padding:var(--space-2) var(--space-5);font:inherit;cursor:pointer;transition:opacity var(--motion-fast) ease;border:0}.page-error button:hover{opacity:.85}@media (width<=720px) and (height<=480px){.shell.is-studio{grid-template-rows:auto auto auto;height:auto}.viewport{min-height:0;max-height:50svh}}@media (width>=1400px){.lp-collage{isolation:isolate;position:relative}.lp-collage .lp-hero{z-index:1;text-align:center;min-height:37rem;padding-inline:clamp(18rem,26vw,26rem);position:relative}.lp-collage .lp-actions{flex-wrap:nowrap;justify-content:center}.lp-collage .lp-cta,.lp-collage .lp-ghost{white-space:nowrap}.lp-collage .lp-strip{pointer-events:none;background:0 0;border:none;display:block;position:absolute;inset:0;overflow:visible}.lp-collage .lp-cell{pointer-events:auto;border-radius:var(--radius-card);width:15rem;box-shadow:0 var(--space-2) var(--space-6) #00000047;transition:transform var(--motion-fast) ease;border:none;position:absolute;overflow:hidden}.lp-collage .lp-cell:hover,.lp-collage .lp-cell:focus-within{z-index:2;transform:rotate(0)scale(1.04)}.lp-collage .lp-cell:first-child{width:12rem;top:1.1rem;left:15%;transform:rotate(-6deg)}.lp-collage .lp-cell:nth-child(2){width:14rem;top:9.6rem;left:1%;transform:rotate(4deg)}.lp-collage .lp-cell:nth-child(3){width:12rem;bottom:5.1rem;left:3%;transform:rotate(-3deg)}.lp-collage .lp-cell:nth-child(4){width:9rem;top:0;left:26%;transform:rotate(5deg)}.lp-collage .lp-cell:nth-child(5){width:13rem;bottom:.6rem;left:17%;transform:rotate(-5deg)}.lp-collage .lp-cell:nth-child(6){width:9rem;top:0;right:19%;transform:rotate(6deg)}.lp-collage .lp-cell:nth-child(7){width:14rem;top:11.1rem;right:1%;transform:rotate(-4deg)}.lp-collage .lp-cell:nth-child(8){width:13rem;bottom:2.1rem;right:4%;transform:rotate(3deg)}.lp-collage .lp-cell:nth-child(9){width:12rem;top:2.2rem;right:13%;transform:rotate(-7deg)}.lp-collage .lp-cell:nth-child(10){width:11rem;bottom:-1.6rem;right:21%;transform:rotate(5deg)}.lp-collage .lp-cell:nth-child(11){width:10rem;top:17.4rem;left:9%;transform:rotate(-4deg)}.lp-collage .lp-thumb{display:block;overflow:hidden}.lp-collage .lp-thumb canvas,.lp-collage .lp-thumb img{object-fit:cover;width:100%;height:100%}.lp-collage .lp-cell:nth-child(2){aspect-ratio:3/4}.lp-collage .lp-cell:nth-child(3),.lp-collage .lp-cell:nth-child(4),.lp-collage .lp-cell:nth-child(6){aspect-ratio:1}.lp-collage .lp-cell:nth-child(7){aspect-ratio:3/4}.lp-collage .lp-cell:nth-child(9){aspect-ratio:4/3}.lp-collage .lp-cell:nth-child(10){aspect-ratio:1}.lp-collage .lp-cell:nth-child(11){aspect-ratio:3/4}.lp-collage .lp-cap{display:none}@media (prefers-reduced-motion:reduce){.lp-collage .lp-cell{transition:none;transform:none}.lp-collage .lp-cell:hover,.lp-collage .lp-cell:focus-within{transform:none}}}
