@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Press+Start+2P&family=Geist+Mono:wght@400;500&display=swap";:root{--neon-blue:#00d4ff;--neon-yellow:#ffe600;--cartridge-grey:#6b7280;--deep-navy:#0a0e1a;--surface:#111827;--surface-light:#1f2937;--bg:#000103;--fg:#e3e8ee;--card:#05070d;--primary:#00e0ea;--primary-fg:#010309;--muted:#12161d;--muted-fg:#7a8189;--accent:#fdd506;--destructive:#e40014;--border:#1c222b;--ring:#00e0ea;--ok:#34d399;--warn:#facc15;--bad:#f87171;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-pixel:"Press Start 2P", "Courier New", monospace;--text-8px:8px;--text-9px:9px;--text-10px:10px;--text-11px:11px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-xl:20px;--leading-relaxed:1.7;--radius:.5rem;--radius-sm:calc(var(--radius) - 4px);--radius-lg:var(--radius);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--duration-fast:.15s;--duration-medium:.3s;--duration-slow:.5s;--ease-out:cubic-bezier(.22, 1, .36, 1)}@supports (color:lab(0% 0 0)){:root{--bg:lab(.297985% .0263304 -.847262);--fg:lab(91.8716% -1.09071 -3.5696);--card:lab(1.95475% -.10851 -2.58467);--primary:lab(80.7492% -52.9928 -21.6865);--primary-fg:lab(.872366% .0483319 -2.26578);--muted:lab(7.16596% -.441141 -5.41423);--muted-fg:lab(53.5841% -1.57407 -5.3218);--accent:lab(86.6644% 3.21394 85.4018);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(12.9118% -.603847 -7.27841);--ring:lab(80.7492% -52.9928 -21.6865)}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-medium:1ms;--duration-slow:1ms}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-sans);font-size:var(--text-sm);margin:0;overflow:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);color:var(--primary);font-size:.92em}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{z-index:50;padding:var(--space-3) var(--space-4);background:var(--primary);color:var(--primary-fg);font-family:var(--font-pixel);font-size:var(--text-9px);letter-spacing:.1em;border-radius:0 0 var(--radius-sm) 0;transition:transform var(--duration-fast) var(--ease-out);position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus-visible{text-decoration:none;transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#stage{background:radial-gradient(120% 90% at 50% 8%, #22262f 0%, #14161c 42%, #0b0d12 78%), var(--bg);position:fixed;inset:0}#viewport{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#viewport:focus-visible{outline-offset:-3px}.pixel{font-family:var(--font-pixel);letter-spacing:.06em;line-height:var(--leading-relaxed)}.eyebrow{font-family:var(--font-pixel);font-size:var(--text-9px);letter-spacing:.14em;color:var(--primary);line-height:var(--leading-relaxed);margin:0}.eyebrow--warn{color:var(--warn)}.eyebrow--spaced{margin-top:var(--space-10)}.note{font-size:var(--text-xs);color:var(--muted-fg);margin:0 0 var(--space-3);line-height:1.65}.note--quiet{opacity:.75}header{z-index:20;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;position:fixed;inset:0 0 auto}.brand{align-items:center;gap:var(--space-2);color:var(--primary);white-space:nowrap;flex:none;display:flex}.brand svg{width:18px;height:18px}.brand span{font-family:var(--font-pixel);font-size:var(--text-11px);letter-spacing:.1em}.titlebar{align-items:baseline;gap:var(--space-3);flex:1;min-width:0;display:flex}.titlebar h1{font-family:var(--font-pixel);font-size:var(--text-11px);letter-spacing:.06em;line-height:var(--leading-relaxed);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.titlebar p{font-size:var(--text-11px);color:var(--muted-fg);white-space:nowrap;margin:0}.tools{gap:var(--space-2);flex:none;display:flex}button{font-family:var(--font-pixel);font-size:var(--text-9px);letter-spacing:.1em;line-height:var(--leading-relaxed);color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) 11px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out)}button:hover:not(:disabled){border-color:color-mix(in oklab, var(--primary) 50%, transparent);color:var(--primary)}button:disabled{opacity:.32;cursor:default}button.primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}button.primary:hover:not(:disabled){opacity:.9;color:var(--primary-fg)}#actions{z-index:20;gap:var(--space-2);flex-wrap:wrap;justify-content:center;max-width:min(92vw,760px);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}#hints{left:var(--space-4);z-index:15;font-size:var(--text-11px);color:var(--muted-fg);max-width:210px;margin:0;line-height:1.7;position:fixed;bottom:22px}#hints b{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.1em;color:#8d94a3;font-weight:400}#touch-hint{z-index:18;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));max-width:min(320px, calc(100vw - 2 * var(--space-4)));text-align:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in oklab, var(--card) 88%, transparent);color:var(--muted-fg);font-size:var(--text-11px);opacity:1;transition:opacity var(--duration-slow) var(--ease-out);margin:0;line-height:1.5;position:fixed;transform:translate(-50%)}#touch-hint[hidden]{display:none}#touch-hint.is-fading{opacity:0}#page-controls{right:var(--space-4);z-index:20;gap:var(--space-2);align-items:center;display:flex;position:fixed;bottom:22px}#page-controls[hidden]{display:none}#page-count{font-family:var(--font-pixel);font-size:var(--text-9px);letter-spacing:.08em;color:var(--muted-fg);text-align:center;min-width:9ch}#viewer-error{z-index:22;max-width:min(90vw,520px);padding:var(--space-5);background:var(--card);border:1px solid var(--bad);border-radius:var(--radius-lg);color:var(--fg);font-size:var(--text-xs);line-height:1.7;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#viewer-error[hidden]{display:none}.panel{z-index:25;background:color-mix(in oklab, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--border);width:min(360px,88vw);padding:var(--space-5);position:fixed;top:54px;bottom:0;right:0;overflow:auto}.panel[hidden]{display:none}.panel h2{margin:0 0 var(--space-4);font-family:var(--font-pixel);font-size:var(--text-10px);letter-spacing:.12em;color:var(--primary);line-height:var(--leading-relaxed)}.panel h2+h2{margin-top:var(--space-6)}.record__metadata{gap:var(--space-1) var(--space-4);font-size:var(--text-xs);margin:0 0 var(--space-5);grid-template-columns:auto 1fr;display:grid}.record__metadata dt{color:var(--muted-fg)}.record__metadata dd{margin:0}.slots{margin:0 0 var(--space-4);font-size:var(--text-11px);padding:0;list-style:none}.slots li{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);padding:7px 0;display:flex}.slots .k{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:#9aa1b0;cursor:help}.slots .v{color:var(--muted-fg);text-align:right}.slots .v.is-missing{color:var(--warn)}.slots .v.is-present{color:var(--ok)}.slots .v.is-error{color:var(--bad)}.field{margin-bottom:var(--space-4)}.field label{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:#9aa1b0;margin-bottom:var(--space-1);display:block}.field__hint{margin:0 0 var(--space-2);font-size:var(--text-11px);color:var(--muted-fg);line-height:1.5}.field input[type=file]{width:100%;font-family:var(--font-sans);font-size:var(--text-11px);color:var(--muted-fg);border:1px solid var(--border);border-radius:var(--radius-sm);background:#0e1016;padding:7px}#bench-status{margin-top:var(--space-3);font-size:var(--text-11px);color:var(--primary);min-height:1.6em;line-height:1.6;display:block}#catalogue{z-index:30;background:var(--bg);padding:var(--space-10) var(--space-6) var(--space-12);position:fixed;inset:0;overflow:auto}#catalogue[hidden]{display:none}.catalogue__wrap{max-width:1280px;margin:0 auto}.catalogue__head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.catalogue__head>div:first-child{flex:320px;min-width:0}.catalogue__head h2{font-family:var(--font-pixel);font-size:var(--text-base);margin:var(--space-2) 0 var(--space-1);line-height:var(--leading-relaxed)}.catalogue__head p{font-size:var(--text-xs);color:var(--muted-fg);max-width:620px;margin:0}.catalogue__search{align-items:center;gap:var(--space-3);flex:0 auto;min-width:0;display:flex}.catalogue__search input{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:#0e1016;flex:200px;min-width:120px}.catalogue__search span{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:var(--muted-fg);white-space:nowrap;flex:none}.catalogue__filters{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.filters-toggle{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.1em;color:var(--muted-fg);cursor:pointer;padding:var(--space-2) 0;background:0 0;border:0}.filters-toggle:before{content:"▸ "}.filters-toggle[aria-expanded=true]:before{content:"▾ "}.filters-toggle:hover{color:var(--fg)}.catalogue__filters-body{align-items:flex-end;gap:var(--space-3) var(--space-4);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.catalogue__filters-body.is-collapsed{display:none}@media (min-width:761px){.filters-toggle{display:none}.catalogue__filters-body.is-collapsed{display:flex}}.facets{gap:var(--space-3) var(--space-4);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.facets[hidden]{display:none}.facet{gap:var(--space-1);flex-direction:column;min-width:0;margin:0;display:flex}.facet label{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:var(--muted-fg)}.facet select{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:#0e1016;max-width:220px}.active-filters{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.active-filters[hidden]{display:none}.active-filters__label{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:var(--muted-fg)}.filter-chip,.filter-clear{align-items:center;gap:var(--space-2);font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid color-mix(in oklab, var(--primary) 45%, transparent);background:color-mix(in oklab, var(--primary) 12%, transparent);color:var(--fg);cursor:pointer;display:inline-flex}.filter-chip:hover,.filter-clear:hover{border-color:var(--primary)}.filter-chip__x{color:var(--muted-fg)}.filter-chip:hover .filter-chip__x{color:var(--fg)}.filter-clear{border-color:var(--border);color:var(--muted-fg);background:0 0}.catalogue__grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.entry-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);overflow:hidden}.entry-card:hover,.entry-card:focus-visible{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}.entry-card__art{aspect-ratio:.7;background:#0e1016;place-items:center;display:grid;overflow:hidden}.entry-card__art img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out)}.entry-card:hover .entry-card__art img{transform:scale(1.05)}.entry-card__placeholder{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.1em;color:var(--muted-fg)}.entry-card__body{padding:var(--space-4)}.entry-card__body h3{margin:0 0 var(--space-2);font-family:var(--font-pixel);font-size:var(--text-9px);letter-spacing:.06em;line-height:var(--leading-relaxed)}.entry-card__body p{font-size:var(--text-xs);color:var(--muted-fg);margin:0}.chip{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;background:var(--surface-light);color:#9fd8e8;border-radius:var(--radius-sm);padding:var(--space-1) 7px;margin:0 var(--space-1) var(--space-2) 0;display:inline-block}.empty{font-size:var(--text-xs);color:var(--muted-fg);padding:var(--space-8) 0;grid-column:1/-1}.template-list{margin:var(--space-5) 0 0;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:0;list-style:none;display:grid}.template-list li{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--muted-fg)}.template-list .k{font-family:var(--font-pixel);font-size:var(--text-8px);letter-spacing:.08em;color:#9aa1b0;margin-bottom:var(--space-1);line-height:1.6;display:block}.template-list .dims{color:var(--fg);display:block}.template-list .meta{margin-top:var(--space-1);display:block}.status--implemented{color:var(--ok)}.status--declared{color:var(--warn)}#broken-list{margin-top:var(--space-10);font-size:var(--text-xs);color:var(--muted-fg)}#broken-list[hidden]{display:none}#broken-list ul{margin:var(--space-2) 0;padding-left:var(--space-5);line-height:1.7}#broken-list strong{color:var(--fg)}#boot{z-index:40;padding:var(--space-8);text-align:center;background:var(--bg);font-family:var(--font-pixel);font-size:var(--text-10px);letter-spacing:.12em;line-height:var(--leading-relaxed);color:var(--muted-fg);transition:opacity var(--duration-medium) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}#boot.boot--gone{opacity:0;pointer-events:none}#boot.boot--error{color:var(--bad);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:normal}@media (prefers-contrast:more){:root{--muted-fg:#b0b8c1;--border:#4f5661}@supports (color:lab(0% 0 0)){:root{--muted-fg:lab(74.4654% -1.59931 -5.33468);--border:lab(36.1243% -.829309 -7.36671)}}.slots .k,#hints b,.field label,.template-list .k{color:#c9cfdb}button{border-color:var(--border)}}@media (max-width:760px){#hints,.titlebar p{display:none}#catalogue{padding:var(--space-6) var(--space-4) var(--space-8)}}@media (max-width:560px){header{gap:var(--space-2);padding:var(--space-2) max(var(--space-3), env(safe-area-inset-left)) var(--space-2) max(var(--space-3), env(safe-area-inset-right))}.brand span{display:none}.tools button{padding:var(--space-2) var(--space-2)}#actions{bottom:calc(16px + env(safe-area-inset-bottom));gap:var(--space-1)}#page-controls{left:50%;right:auto;bottom:calc(16px + env(safe-area-inset-bottom));justify-content:center;transform:translate(-50%)}body:has(#page-controls:not([hidden])) #actions{bottom:calc(70px + env(safe-area-inset-bottom))}}@media (pointer:coarse){button{min-height:44px;padding-top:var(--space-3);padding-bottom:var(--space-3)}#page-count{min-width:8ch}}
