:root{--night: #040912;--room: #0c1a38;--panel: #16294e;--screen: #2563eb;--cyan: #67b7ff;--ice: #d6e8ff;--ink-dim: #7d96c5;--red: #ff4540;--amber: #ffb454;--line: #1b2c52;--max: 1100px;--font-display: "Archivo Black", system-ui, sans-serif;--font-jp: "Noto Sans JP", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--night);color:var(--ice);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body{overflow:hidden;height:100dvh}#channel-m{position:fixed;inset:0;width:100%;height:100%;display:block}#ui{position:fixed;inset:0;z-index:10;pointer-events:none}#archive{display:none}body.no-webgl{overflow:auto;height:auto}body.no-webgl #channel-m,body.no-webgl #ui{display:none}body.no-webgl #archive{display:block}#archive{max-width:var(--max);margin:0 auto;padding:2.75rem 1.5rem 4rem}#archive .archive-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}#archive .eyebrow{margin:0 0 .1rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}#archive h1{font-family:var(--font-display);font-weight:400;font-size:2.4rem;margin:0;letter-spacing:.04em}#archive .sub{max-width:28rem;margin:0 0 .2rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);text-align:right}#archive .archive-bands{display:grid;gap:1.35rem;margin-top:1.4rem}#archive .archive-band{display:grid;grid-template-columns:minmax(10rem,.28fr) 1fr;gap:1rem;align-items:start;padding-top:1.1rem;border-top:1px solid var(--line);border-top:1px solid color-mix(in srgb,var(--accent, var(--line)) 36%,var(--line))}#archive .band-header{position:sticky;top:1rem;padding-left:.8rem;border-left:3px solid var(--accent, var(--cyan))}#archive .band-header p{margin:0 0 .15rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent, var(--cyan))}#archive .band-header h2{margin:0;font-family:var(--font-mono);font-size:.9rem;font-weight:600;line-height:1.25;color:var(--ice)}#archive .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}#archive .project-card{display:flex;min-width:0;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--line);border:1px solid color-mix(in srgb,var(--accent, var(--line)) 24%,var(--line));border-radius:6px;background:#081326;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, var(--panel)) 12%,transparent),transparent 46%),#081326;box-shadow:inset 0 1px #d6e8ff12}#archive .project-card-head{display:flex;align-items:start;justify-content:space-between;gap:.75rem}#archive .project-card h3{margin:0;overflow-wrap:anywhere;font-size:1.15rem;line-height:1.1}#archive .archive-thumb{display:block;overflow:hidden;margin:-.05rem 0 0;border:1px solid #d6e8ff18;border-radius:5px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, var(--cyan)) 16%,transparent),transparent 58%),#061022}#archive .archive-thumb-image img{display:block;width:100%;aspect-ratio:16 / 8.5;object-fit:cover;background:#040912}#archive .archive-thumb figcaption{padding:.38rem .5rem .45rem;border-top:1px solid #d6e8ff14;font-family:var(--font-mono);font-size:.62rem;line-height:1.35;color:var(--ink-dim)}#archive .archive-thumb-external{padding:.62rem .7rem;color:inherit;text-decoration:none}#archive .archive-thumb-external span,#archive .archive-thumb-external em{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;line-height:1.35;color:var(--accent, var(--cyan));text-transform:uppercase}#archive .archive-thumb-external strong{display:block;margin:.22rem 0 .12rem;overflow-wrap:anywhere;font-size:.92rem;line-height:1.2;color:var(--ice)}#archive .archive-thumb-external em{color:var(--ink-dim);font-style:normal;text-transform:none}#archive .archive-thumb-external:hover{border-color:color-mix(in srgb,var(--accent, var(--cyan)) 55%,var(--line));box-shadow:0 0 18px color-mix(in srgb,var(--accent, var(--cyan)) 16%,transparent)}#archive .freq{margin:0 0 .15rem;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--accent, var(--cyan))}#archive .status{flex:0 0 auto;padding:.15rem .42rem;border:1px solid var(--line);border:1px solid color-mix(in srgb,var(--accent, var(--cyan)) 55%,var(--line));border-radius:999px;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--accent, var(--cyan))}#archive .status-private,#archive .status-archive{color:var(--ink-dim);border-color:var(--line)}#archive .tag,#archive .summary,#archive .availability,#archive .detail-meta{margin:0}#archive .tag{font-weight:600;line-height:1.35}#archive .summary{color:#b6c9ea;font-size:.92rem;line-height:1.5}#archive .availability,#archive .detail-meta{font-family:var(--font-mono);font-size:.72rem;line-height:1.45;color:var(--ink-dim)}#archive .availability{padding-left:.65rem;border-left:2px solid var(--line);border-left:2px solid color-mix(in srgb,var(--accent, var(--cyan)) 45%,var(--line))}#archive .tech{display:flex;flex-wrap:wrap;gap:.35rem;margin:auto 0 0;padding:0;list-style:none}#archive .tech li{padding:.13rem .45rem;border:1px solid #d6e8ff18;border-radius:4px;background:#d6e8ff09;font-family:var(--font-mono);font-size:.68rem;color:#a7bbe0}#archive .project-links{display:flex;flex-wrap:wrap;gap:.6rem .8rem;padding-top:.2rem}#archive .project-links a{font-family:var(--font-mono);font-size:.76rem;font-weight:600;color:var(--accent, var(--cyan));text-decoration-color:color-mix(in srgb,var(--accent, var(--cyan)) 60%,transparent);text-underline-offset:.18em}#archive footer{margin-top:2.5rem;text-align:center;color:var(--ink-dim);font-size:.9rem}#archive a{color:inherit}@media(max-width:700px){#archive{padding-inline:1rem}#archive .archive-header,#archive .archive-band{display:block}#archive .sub{margin-top:.35rem;text-align:left}#archive .band-header{position:static;margin-bottom:.85rem}#archive .project-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}::selection{background:#2563eb66}.lab-page,.lab-scene-page{margin:0;height:100vh;min-height:100vh;overflow:hidden;background:#06101b;color:#d7e3f0;font-family:var(--font-mono)}.lab-page a,.lab-scene-page a{color:#9fd8ff}.lab-shell{display:grid;grid-template-columns:minmax(440px,52vw) minmax(360px,1fr);height:100vh;min-height:0;overflow:hidden}.lab-sidebar,.lab-detail,.lab-inspector{background:#06101bf0;border-right:1px solid rgba(159,216,255,.18)}.lab-sidebar{display:grid;grid-template-rows:auto auto 1fr;height:100vh;min-height:0;overflow:hidden}.lab-sidebar header,.lab-topbar{padding:16px;border-bottom:1px solid rgba(159,216,255,.16)}.lab-sidebar p{margin:0 0 6px;color:#f3a14b;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.lab-sidebar h1,.lab-meta h1,.lab-meta h2,.lab-detail h2{margin:0;font-family:var(--font-display);letter-spacing:0}.lab-sidebar nav,.lab-actions,.lab-topbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lab-sidebar nav{margin-top:12px}.lab-sidebar nav a,.lab-actions a,.lab-actions button,.lab-topbar a,.lab-topbar button,.lab-part-grid button,.lab-inspector button{border:1px solid rgba(159,216,255,.22);background:#0d273beb;color:#d7e3f0;padding:7px 9px;border-radius:4px;font:inherit;text-decoration:none;cursor:pointer}.lab-filters{display:grid;grid-template-columns:1fr .7fr .7fr;gap:8px;padding:12px;border-bottom:1px solid rgba(159,216,255,.16)}.lab-filters input,.lab-filters select,.lab-topbar select,.lab-inspector input,.lab-inspector select{width:100%;box-sizing:border-box;border:1px solid rgba(159,216,255,.22);background:#081826;color:#d7e3f0;padding:9px;border-radius:4px;font:inherit}.lab-filters input{grid-column:1 / -1}.lab-count{grid-column:1 / -1;color:#86a7c4;font-size:11px}.lab-list{min-height:0;overflow:auto;padding:10px}.lab-list section{margin:0 0 16px}.lab-list h2{display:flex;justify-content:space-between;margin:0 0 8px;color:#f3a14b;font-size:12px;text-transform:uppercase}.lab-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:8px}.lab-list button{display:grid;align-content:start;width:100%;min-height:92px;gap:5px;padding:9px;border:1px solid rgba(159,216,255,.12);border-radius:4px;background:#0a2036c2;color:#d7e3f0;text-align:left;cursor:pointer}.lab-list button.selected{border-color:#f3a14b;background:#40311ccc}.lab-list button strong{line-height:1.22}.lab-list span,.lab-list em,.lab-id{color:#86a7c4;font-size:11px}.lab-list em{align-self:end;color:#f3a14b;font-style:normal}.lab-preview,.lab-stage{min-width:0;min-height:0}.lab-preview{position:relative;height:100vh;overflow:hidden}.lab-preview canvas,.lab-stage canvas{display:block;width:100%;height:100%}.lab-preview .lab-meta{position:absolute;right:16px;bottom:16px;width:min(420px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;z-index:2}.lab-meta,.lab-detail{padding:16px;border:1px solid rgba(159,216,255,.16);background:#06101bf0;border-radius:6px}.lab-meta dl,.lab-inspector dl{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:14px 0}.lab-meta dt,.lab-inspector dt{color:#86a7c4}.lab-meta dd,.lab-inspector dd{margin:0;overflow-wrap:anywhere}.lab-viewer{display:grid;grid-template-rows:auto 1fr;height:100vh}.lab-topbar{gap:12px;background:#06101bf5}.lab-topbar select{width:min(520px,40vw)}.lab-topbar label{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.lab-stage{display:grid;grid-template-columns:1fr minmax(320px,420px)}.lab-detail{overflow:auto;border-top:0;border-right:0;border-bottom:0;border-radius:0}.lab-part-grid{display:flex;flex-wrap:wrap;gap:8px}.lab-scene-page #channel-m{position:fixed;inset:0;width:100vw;height:100vh}.lab-inspector{position:fixed;z-index:50;top:12px;right:12px;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;border:1px solid rgba(159,216,255,.24);border-radius:6px;padding:12px;box-shadow:0 18px 70px #0000007a}.lab-inspector header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.lab-inspector input,.lab-inspector select{margin-bottom:8px}.lab-inspector h2{margin:8px 0;font-size:18px}.lab-mode .cm-wallnav{left:12px;right:auto}@media(max-width:860px){.lab-shell,.lab-stage{grid-template-columns:1fr}.lab-sidebar{height:48vh;max-height:48vh}.lab-filters{grid-template-columns:1fr}.lab-preview{height:52vh;min-height:52vh}.lab-detail{max-height:45vh}.lab-topbar select{width:100%}}
