:root,:root[data-skin=club]{--bg1:#1c1c1c;--bg2:#0b0b0b;--panel:#0e0e0ef0;--panel-solid:#121212;--border:#2a2a2a;--soft:#1f1f1f;--soft-2:#2a2a2a;--text:#fff;--muted:#a3a3a3;--accent:#f5b301;--accent-ink:#141000;--ok:#3ba55d;--radius:8px;--shadow:0 10px 30px #00000080;--blur:none;--title-case:uppercase;--title-spacing:.08em}:root[data-skin=light]{--bg1:#eef1f5;--bg2:#d6dce5;--panel:#ffffffd1;--panel-solid:#fff;--border:#0f172a14;--soft:#0f172a0d;--soft-2:#0f172a17;--text:#1d2330;--muted:#6b7280;--accent:#3d5170;--accent-ink:#fff;--radius:16px;--shadow:0 10px 30px #0f172a24;--blur:blur(14px) saturate(1.4);--title-case:none;--title-spacing:0}:root[data-skin=dark]{--bg1:#1d2029;--bg2:#0f1116;--panel:#181a22c7;--panel-solid:#1a1c24;--border:#ffffff14;--soft:#ffffff0f;--soft-2:#ffffff1c;--text:#f3f4f6;--muted:#9ca3af;--accent:#8ab4ff;--accent-ink:#0d1424;--radius:16px;--shadow:0 10px 30px #00000073;--blur:blur(14px) saturate(1.3);--title-case:none;--title-spacing:0}*{box-sizing:border-box}html,body{background:var(--bg2);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.35 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}#view{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hud{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);position:fixed}h3,h4{text-transform:var(--title-case);letter-spacing:var(--title-spacing);margin:0}.icon-btn{border-radius:calc(var(--radius) - 4px);background:var(--soft);border:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.icon-btn:hover{background:var(--soft-2)}.plaque{z-index:5;align-items:center;gap:10px;max-width:calc(100% - 200px);padding:8px 16px 8px 8px;display:flex;top:14px;left:14px}:root[data-skin=club] .plaque{border-left:4px solid var(--accent)}.plaque-icon{border-radius:calc(var(--radius) - 4px);background:var(--accent);width:40px;height:40px;color:var(--accent-ink);flex:none;place-items:center;display:grid}.plaque-text{flex-direction:column;min-width:0;display:flex}.plaque-text strong{white-space:nowrap;text-overflow:ellipsis;text-transform:var(--title-case);letter-spacing:var(--title-spacing);font-size:16px;font-weight:800;overflow:hidden}.plaque-text span{color:var(--muted);font-size:12px}.tools{z-index:6;gap:6px;padding:6px;display:flex;top:14px;right:14px}.tool{border-radius:calc(var(--radius) - 3px);width:38px;height:38px;color:var(--muted);background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:grid;position:relative}.tool svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.tool:hover{background:var(--soft);color:var(--text)}.tool.on{background:var(--accent);color:var(--accent-ink)}.badge{border:2px solid var(--panel-solid);box-sizing:content-box;background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);text-align:center;border-radius:99px;padding:0 4px;font-size:10px;font-weight:800;line-height:16px;position:absolute;top:-5px;right:-5px}.tool.on .badge{background:var(--accent-ink);color:var(--accent)}.tool-dot{border:2px solid var(--panel-solid);box-sizing:content-box;border-radius:50%;width:8px;height:8px;position:absolute;bottom:7px;right:7px}.pop{z-index:9;gap:10px;width:280px;padding:14px;animation:.14s ease-out pop;display:grid}.pop[hidden]{display:none}.pop h4{color:var(--muted);font-size:12px}.pop-right{top:72px;right:14px}.pop-dock{bottom:88px;left:14px}.options{gap:6px;display:grid}.option{border-radius:calc(var(--radius) - 4px);background:var(--soft);text-align:left;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:9px 10px;display:flex}.option:hover{background:var(--soft-2)}.option.on{border-color:var(--accent);background:var(--soft-2)}.ic{flex:none;place-items:center;line-height:0;display:inline-grid}.option .ic{width:24px}.option strong{font-size:14px;display:block}.option small{color:var(--muted);font-size:12px;display:block}.option .preview{border:1px solid #7f7f7f66;border-radius:6px;flex:none;width:34px;height:24px}.hint{color:var(--muted);margin:0;font-size:12px}.table-menu{width:250px}.table-status{color:var(--muted);align-items:center;gap:6px;margin:-4px 0 0;font-size:13px;display:flex}.table-status .live{background:var(--ok);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3ba55d40}.option:disabled{opacity:.5;cursor:default}.cap-row{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.cap-row[hidden]{display:none}.cap-row span{flex:1}.cap-row b{text-align:center;min-width:26px;color:var(--text);font-size:16px}.drawer{z-index:4;width:260px;padding:12px 14px;transition:transform .2s;top:72px;bottom:98px;right:14px;overflow-y:auto;transform:translate(calc(100% + 20px))}.drawer.open{transform:none}.drawer header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.drawer h3{font-size:15px}.drawer section{padding-top:12px}.drawer h4{color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.pill{background:var(--soft-2);color:var(--text);border-radius:99px;padding:0 7px;font-size:11px}.list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.list li{border-radius:calc(var(--radius) - 6px);align-items:center;gap:8px;padding:6px 8px;display:flex}.list li.current{background:var(--soft-2);box-shadow:inset 3px 0 0 var(--accent)}.list .name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.list .count{text-align:center;background:var(--soft);min-width:22px;color:var(--muted);border-radius:99px;padding:1px 6px;font-size:11px}.list .count.on{background:var(--ok);color:#fff}.list .dot{background:var(--soft-2);border-radius:50%;flex:none;width:8px;height:8px}.list .dot.on{background:var(--ok)}.list .initial{color:#fff;text-shadow:0 1px 1px #0006;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.list .empty{color:var(--muted);font-size:12px}#chatLog{pointer-events:none;z-index:3;flex-direction:column;justify-content:flex-end;gap:4px;width:min(380px,100% - 28px);max-height:32vh;display:flex;position:fixed;bottom:92px;left:14px;overflow:hidden}.chat-line{border-radius:calc(var(--radius) - 4px);background:var(--panel);max-width:100%;-webkit-backdrop-filter:var(--blur);word-wrap:break-word;align-self:flex-start;padding:5px 10px;font-size:13px;transition:opacity 1.2s}.chat-line b{margin-right:4px}.chat-line.system{background:var(--panel);color:var(--muted);padding:2px 10px;font-size:12px}.chat-line.notice{border-left:3px solid var(--accent)}.chat-line.old{opacity:.4}.dock{z-index:5;align-items:center;gap:10px;width:min(720px,100% - 28px);padding:8px;display:flex;bottom:14px;left:50%;transform:translate(-50%)}:root[data-skin=club] .dock{border-top:3px solid var(--accent)}.me{border-radius:calc(var(--radius) - 2px);background:var(--soft);border:0;flex:none;width:52px;height:52px;padding:0;position:relative}.me:hover{background:var(--soft-2)}#portrait{border-radius:inherit;width:100%;height:100%;display:block}.me-dot{border:3px solid var(--panel-solid);background:var(--ok);border-radius:50%;width:16px;height:16px;position:absolute;bottom:-3px;right:-3px}.me-info{border-radius:calc(var(--radius) - 4px);text-align:left;background:0 0;border:0;min-width:110px;max-width:170px;padding:4px 8px}.me-info:hover{background:var(--soft)}.me-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.me-info span{color:var(--muted);white-space:nowrap;font-size:12px;display:block}.me-info span:after{content:" ▾"}.chat{background:var(--soft);border:1px solid #0000;border-radius:99px;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 4px 4px 14px;display:flex}:root[data-skin=club] .chat{border-radius:calc(var(--radius) - 2px)}.chat:focus-within{border-color:var(--accent)}.chat input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:8px 0}.chat input::placeholder{color:var(--muted)}.send{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border:0;border-radius:99px;flex:none;font-size:14px}:root[data-skin=club] .send{border-radius:calc(var(--radius) - 3px)}.field{color:var(--muted);gap:4px;font-size:12px;display:grid}.field[hidden]{display:none}.field input{border-radius:calc(var(--radius) - 6px);border:1px solid var(--border);background:var(--soft);outline:0;padding:7px 10px}.swatch-row{gap:4px;margin-top:6px;display:grid}.swatch-row>span{color:var(--muted);font-size:12px}.swatches{flex-wrap:wrap;gap:5px;display:flex}.swatch{border:2px solid var(--soft-2);border-radius:7px;width:24px;height:24px;padding:0}.swatch.sel{outline:2px solid var(--accent);outline-offset:1px}#toasts{z-index:10;gap:8px;width:min(380px,100% - 28px);display:grid;position:fixed;top:76px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:10px;padding:12px 14px;animation:.18s ease-out pop;display:grid}:root[data-skin=club] .toast{border-left:4px solid var(--accent)}.toast-body{align-items:flex-start;gap:10px;display:flex}.toast-body .ic{color:var(--accent);margin-top:1px}.toast .actions{justify-content:flex-end;gap:6px;display:flex}.btn{border-radius:calc(var(--radius) - 4px);background:var(--soft-2);border:0;padding:7px 12px;font-weight:700}.btn.ok{background:var(--accent);color:var(--accent-ink)}@keyframes pop{0%{opacity:0;transform:translateY(-6px)}}#loading{background:var(--bg2);z-index:20;place-items:center;display:grid;position:fixed;inset:0}#loading[hidden]{display:none}.loading-box{text-align:center;justify-items:center;gap:18px;max-width:320px;padding:16px;display:grid}.brand{color:var(--text);text-align:left;font-size:34px;font-weight:900;line-height:.95}.brand span{color:#f5b301;margin-left:6px}.spinner{border:3px solid var(--soft-2);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}#loadingText{color:var(--muted);margin:0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.plaque{padding:6px 12px 6px 6px}.plaque-icon{width:32px;height:32px}.plaque-text span{display:none}.tool{width:34px;height:34px}.drawer{width:auto;left:14px}.me-info{display:none}.me{width:44px;height:44px}.pop{width:calc(100% - 28px)}}
