:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--shell-paper:#f7f3ec;--shell-hair:#e6e0d6;--shell-ink:#2a2a28;--shell-quiet:#6b6560;--shell-steady:#5b7c99;--shell-wash:#5b7c9914;--shell-stage:#ebe4d8;--shell-bar:52px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--shell-paper:#1c1b19;--shell-hair:#2e2c28;--shell-ink:#ece8e1;--shell-quiet:#a39e96;--shell-steady:#7a9bb8;--shell-wash:#7a9bb822;--shell-stage:#141311}:root{--bg:#101820;--panel:#141c28;--panel-2:#1b2533;--line:#e8ecf31a;--text:#e7edf5;--muted:#93a0b3;--sand:#e4c48a;--ink:#1b140c;--working:#3f9d6a;--waiting:#d39a2c;--error:#d15b52;--done:#4c89c8;--idle:#8e97a8;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body{background:var(--shell-paper);height:100%;color:var(--text);margin:0}body{flex-direction:column;min-height:100%;font-family:Inter,system-ui,PingFang TC,Noto Sans TC,Avenir Next,Segoe UI,sans-serif;display:flex}.shell-bar{height:var(--shell-bar);border-bottom:1px solid var(--shell-hair);background:var(--shell-paper);color:var(--shell-ink);z-index:5;flex:none;align-items:center;gap:8px;padding:0 16px;display:flex}.shell-brand{color:var(--shell-quiet);letter-spacing:.02em;flex:none;margin-right:8px;font-weight:600}.shell-tabs{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.shell-tabs::-webkit-scrollbar{display:none}.shell-tab{color:var(--shell-quiet);white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:none;padding:8px 12px}.shell-tab.is-active{color:var(--shell-ink);background:var(--shell-wash);box-shadow:inset 0 0 0 1px var(--shell-steady)}.shell-theme{width:36px;height:36px;color:var(--shell-quiet);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.shell-theme:hover{background:var(--shell-wash);color:var(--shell-ink)}.shell-theme svg{width:18px;height:18px}.shell-theme .moon,html[data-theme=dark] .shell-theme .sun{display:none}html[data-theme=dark] .shell-theme .moon{display:block}.shell-bar :focus-visible{outline-color:var(--shell-steady)}#shell-stage{background:var(--shell-stage);flex:auto;min-height:0;position:relative}.shell-page{background:var(--shell-stage);height:100%;color:var(--shell-ink);place-items:center;padding:24px;display:grid}.shell-card{border:1px solid var(--shell-hair);background:var(--shell-paper);border-radius:16px;gap:12px;width:min(440px,100%);padding:28px;display:grid}.shell-kicker{color:var(--shell-quiet);letter-spacing:.08em;margin:0;font-size:12px}.shell-card h1{letter-spacing:-.03em;margin:0;font-size:28px}.shell-card p{color:var(--shell-quiet);margin:0}.shell-cta{color:var(--shell-ink);background:var(--shell-wash);box-shadow:inset 0 0 0 1px var(--shell-steady);border-radius:999px;justify-self:start;margin-top:8px;padding:10px 14px;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--sand);outline-offset:2px}#app{grid-template:"header header""stage panel"minmax(0,1fr)"footer footer"/minmax(0,1fr) 340px;height:100%;min-height:0;display:grid}#app[hidden],#gate[hidden],[hidden]{display:none!important}#app>header{border-bottom:1px solid var(--line);grid-area:header;align-items:center;gap:16px;padding:12px 16px;display:flex}.brand{min-width:180px}.eyebrow,.brand h1,#app>header h1,#gate h1{margin:0}.eyebrow{color:var(--sand);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.brand h1,#gate h1{letter-spacing:-.03em;font-size:20px;font-weight:650}.flag{color:var(--sand);letter-spacing:.08em;text-transform:uppercase;background:#e4c48a29;border-radius:999px;margin:0;padding:4px 10px;font-size:12px}.counts{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px 14px;margin-left:auto;font-size:13px;display:flex}.counts span,.legend li,.state{align-items:center;gap:6px;display:inline-flex}.free{color:var(--text)}.text-button,#reset-view,.times button,#inspector-close{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:8px 12px}#stage{background:radial-gradient(circle at 30% 20%, #3e5ab814, transparent 36%), var(--bg);grid-area:stage;min-height:280px;position:relative}#viewport{touch-action:none;position:absolute;inset:0}#viewport canvas{display:block}.banner{z-index:4;color:#f6e7cf;background:#5c3a16eb;border-radius:10px;margin:0;padding:10px 12px;position:absolute;top:12px;left:12px;right:12px}.legend{z-index:3;color:var(--muted);background:#101820b8;border-radius:12px;flex-wrap:wrap;gap:8px 12px;margin:0;padding:8px 10px;font-size:12px;list-style:none;display:flex;position:absolute;bottom:12px;left:12px}.webgl-error{z-index:4;color:var(--sand);margin:0;position:absolute;inset:auto 16px 56px}#inspector{z-index:4;border:1px solid var(--line);background:#101620e6;border-radius:14px;width:min(300px,100% - 24px);padding:12px 14px 14px;position:absolute;top:12px;left:12px}#inspector h2{margin:0 28px 4px 0;font-size:18px}#inspector p{color:var(--muted);margin:0 0 6px;font-size:13px}#inspector-line{color:var(--text)}#inspector-close{padding:4px 8px;position:absolute;top:8px;right:8px}#panel{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:panel;min-height:0;display:flex}#panel section{flex-direction:column;min-height:0;display:flex}#panel section:first-child{flex:1.2}#panel section:last-of-type{border-top:1px solid var(--line);flex:.8}.section-head{justify-content:space-between;align-items:baseline;padding:12px 14px 8px;display:flex}.section-head h2{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:14px}.section-head span,.meta{color:var(--muted);font-size:12px}#seats,#activity{padding:0 10px 10px;overflow:auto}.seat{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;margin:0 0 6px;padding:8px;display:grid}.seat[aria-pressed=true],.seat:hover{background:var(--panel-2);border-color:var(--line)}.swatch{border-radius:4px;width:14px;height:14px;margin-top:3px}.who{flex-direction:column;gap:2px;min-width:0;display:flex}.name{font-weight:650}.role,.line,.stale{color:var(--muted);font-size:12px}.line,.role{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.is-placeholder,.stale{font-style:italic}.state{color:var(--muted);white-space:nowrap;font-size:12px}.event{border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr);gap:8px;padding:7px 4px;font-size:13px;display:grid}.event time{color:var(--muted);font-variant-numeric:tabular-nums}.event div{flex-direction:column;min-width:0;display:flex}.event span{color:var(--muted)}.empty{color:var(--muted);padding:8px 4px}.meta{margin:0;padding:4px 14px}.meta:last-of-type{padding-bottom:12px}.dot{background:var(--idle);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot[data-state=working]{background:var(--working)}.dot[data-state=waiting]{background:var(--waiting)}.dot[data-state=error]{background:var(--error)}.dot[data-state=done]{background:var(--done)}.dot[data-state=idle]{background:var(--idle)}.tag{color:#e2e8f09e;text-shadow:0 1px 1px #0000008c;white-space:nowrap;align-items:center;gap:4px;font:500 11px/1 Avenir Next,Segoe UI,sans-serif;display:inline-flex}.tag .dot{width:6px;height:6px}.tag.is-hot{color:#ffffffeb}.tag.is-stale .dot{box-shadow:inset 0 0 0 1.5px var(--idle);background:0 0!important}footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0e1620;flex-wrap:wrap;grid-area:footer;justify-content:center;align-items:center;gap:10px;display:flex}#simulate{background:var(--sand);min-height:44px;color:var(--ink);border:0;border-radius:999px;padding:0 18px;font-weight:700}.times{gap:4px;display:inline-flex}.times button[aria-pressed=true]{color:var(--text);border-color:#e4c48a73}#gate{background:var(--bg);place-items:center;height:100%;padding:24px;display:grid}#gate form{border:1px solid var(--line);background:var(--panel);border-radius:18px;gap:12px;width:min(420px,100%);padding:28px;display:grid}#gate p{color:var(--muted);margin:0}#gate label{gap:6px;font-size:14px;display:grid}#gate input{border:1px solid var(--line);background:#0f1620;border-radius:10px;min-height:44px;padding:0 12px}#gate button{background:var(--sand);min-height:44px;color:var(--ink);border:0;border-radius:999px;font-weight:700}#gate-error{color:#f0b4ae;min-height:1.2em}@media (width<=860px){#app{grid-template:"header""stage"minmax(300px,1fr)"panel"minmax(168px,34dvh)"footer"/1fr}#app>header{flex-wrap:wrap;align-items:flex-start;padding:10px 12px}:root{--shell-bar:48px}.shell-bar{gap:6px;padding:0 8px 0 10px}.shell-tabs{gap:6px}.shell-tab{border-radius:999px;padding:7px 12px}.shell-theme{border-radius:999px;width:34px;height:34px}.shell-theme svg{width:17px;height:17px}.counts{margin-left:0}#panel{border-left:0;border-top:1px solid var(--line)}.brand h1{font-size:18px}.tag{font-size:10px}.legend{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
