:root{color-scheme:dark;font-family:system-ui,"Microsoft YaHei",sans-serif;background:#06141e;color:#d7f5f4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 0,#164450,#06141e 65%);min-height:100vh}header{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:16px}.eyebrow{color:#66b5ba;font-size:10px;letter-spacing:3px}h1{font-size:24px;font-weight:600;letter-spacing:4px;margin:3px 0}.badge{font-size:12px;border:1px solid #47756a;color:#ade1c8;padding:8px 14px;border-radius:30px}.connection{display:flex;gap:8px;align-items:center;font-size:12px;color:#aec8cc}#led{width:7px;height:7px;background:#e7b576;border-radius:50%}#led.online{background:#7ef1bd;box-shadow:0 0 10px #7ef1bd}#arena{width:min(1600px,100%);aspect-ratio:16/9;position:relative;margin:auto;overflow:hidden;background:#086773 url('assets/sea-background_1.png') center/100% 100%;border:1px solid #447d8680;box-shadow:0 25px 80px #0005}canvas{position:absolute;inset:0;width:100%;height:100%}#world{pointer-events:none}#fx{touch-action:none;cursor:crosshair}.room-label{position:absolute;left:50%;top:1.5%;transform:translateX(-50%);text-align:center;background:linear-gradient(#153d73ea,#16316ab0);border:1px solid #8ce5f775;border-radius:0 0 22px 22px;padding:8px 30px;pointer-events:none}.room-label span{font-size:10px;letter-spacing:4px;color:#82dde8}.room-label strong{display:block;font-size:22px;color:#fff2c5;letter-spacing:3px}.room-label small{font-size:10px;color:#91cace}.seat{position:absolute;width:23%;padding:12px 8px;background:linear-gradient(#125697d9,#073759b8);border:1px solid #7bcbf56b;border-radius:18px;color:#b8e5ee;font-size:12px;text-align:center;pointer-events:none}.top-left{top:1.5%;left:1.5%}.top-right{top:1.5%;right:1.5%}.bottom-left{bottom:1.5%;left:1.5%;width:17%}.bottom-right{bottom:1.5%;right:1.5%;width:17%}.seat.self{color:#fff0bb;border-color:#ffd473b0}#message{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);padding:20px 26px;background:#051c30ed;border:1px solid #71c2d680;border-radius:16px;text-align:center;max-width:90%;font-size:14px;pointer-events:none}#toast{position:absolute;bottom:14%;left:50%;transform:translateX(-50%);border-radius:30px;padding:8px 20px;background:#031e32d9;color:#ffe6a3;font-size:15px;pointer-events:none}[hidden]{display:none!important}.dashboard{max-width:1600px;margin:auto;display:flex;align-items:center;gap:30px;padding:16px 24px;background:#08232d88;border-bottom:1px solid #32545966}.credit span{display:block;color:#85b1ba;font-size:11px}.credit b{font-size:28px;color:#ffdf8e;font-variant-numeric:tabular-nums}.credit small{display:block;font-size:10px;color:#7eacb0}.metrics{display:flex;gap:20px;font-size:12px;color:#8cb8c0}.metrics b{display:block;color:#ebf3f4;font-size:19px;margin-top:4px}.actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}button{border:1px solid #426870;background:#123c49;border-radius:9px;color:#dbf6f5;padding:11px 15px;font:inherit;font-size:12px;cursor:pointer}button:hover{border-color:#93d9d3}button[aria-pressed=true]{background:#a0e5d4;color:#073636}button:disabled{opacity:.4;cursor:wait}footer{max-width:1600px;margin:14px auto;display:flex;justify-content:space-between;gap:12px;padding:0 24px;color:#85aab1;font-size:11px}.disclaimer{color:#6c929d;font-size:11px;line-height:1.7;max-width:1600px;margin:10px auto;padding:0 24px 20px}@media(max-width:800px){header{padding:10px 12px;gap:8px}h1{font-size:17px}.eyebrow{font-size:8px}.badge{font-size:9px;padding:5px 8px}.connection{font-size:10px}.room-label{padding:3px 12px}.room-label strong{font-size:12px}.room-label small{display:none}.room-label span{font-size:8px}.seat{font-size:9px;padding:6px 4px}.dashboard{padding:10px;gap:15px;flex-wrap:wrap}.credit b{font-size:21px}.metrics{gap:14px}.actions{margin-left:0}button{padding:8px 12px}footer{padding:0 12px;flex-wrap:wrap}.disclaimer{padding:0 12px}#message{font-size:11px;padding:12px}}
:root #dragon-status{position:absolute;top:14%;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#302317e0,#5a3f21e0,#302317e0);border:1px solid #e9c773aa;padding:8px 28px;border-radius:30px;color:#ffe4a0;font-size:clamp(10px,1.3vw,18px);pointer-events:none;white-space:nowrap;text-shadow:0 2px 3px #000}#dragon{color:#ffdc91;border-color:#bd9450}#lock-dragon[aria-pressed=true]{background:#e3be71;color:#31230e}
.compare-link{align-self:center;color:#d8c389;font-size:12px;text-decoration:none;padding:8px}.actions{max-width:76%}.metrics,.credit{flex-shrink:0}.metrics span{white-space:nowrap}.dashboard{flex-wrap:wrap}.actions{flex:1 1 600px;max-width:100%}
/* Dedicated resource preview controls do not intercept the playfield. */
.migration-status{max-width:1600px;margin:0 auto;padding:12px 24px;background:#18332f;color:#c8dec4;font-size:12px;line-height:1.7;border-bottom:1px solid #526b4b}#special-rule-notes .disclaimer{padding-bottom:8px}
.lab-tools{max-width:1600px;margin:0 auto;border-bottom:1px solid #32545966;background:#061d27}.lab-tools summary{padding:14px 24px;color:#9fc5cd;font-size:12px;cursor:pointer;min-height:44px}.lab-tools .dashboard{border:0;background:transparent;padding-top:0}.award-summary{max-width:1600px;margin:auto;color:#ffe4a0;font-size:13px;padding:0 24px}.award-summary:has(> [hidden]){display:none}.actions button,.actions .compare-link{min-height:44px}.actions .compare-link{display:inline-flex;align-items:center}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffdf8e;outline-offset:3px}.dashboard #power{border-color:#d8bb70;color:#ffe4a0}@media(max-width:600px){header{flex-wrap:wrap}.badge{margin-left:auto}.dashboard .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.actions button{min-width:0}.lab-tools summary{padding:14px 12px}.award-summary{padding:0 12px}}
.mermaid-preview-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;color:#bceffc;font:14px system-ui;}
#boot-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 20%,#155866,#051723 75%);overflow:auto}body:has(#boot-screen:not([hidden])){overflow:hidden}.boot-card{width:min(460px,100%);padding:32px;border:1px solid #59949c80;border-radius:24px;background:#061e2fe8;box-shadow:0 24px 80px #0006}.boot-card h2{font-size:26px;letter-spacing:2px;color:#effffb}.boot-card p{min-height:3em;color:#b7dadb;font-size:14px;line-height:1.6}.boot-card progress{width:100%;height:10px;accent-color:#80e0d2}.boot-card ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;font-size:13px;color:#a2c8ce}.boot-card small{display:block;color:#7ba3ad;font-size:11px;line-height:1.7}.boot-card button{margin-top:20px;min-height:44px;width:100%;border-color:#d8bb70;color:#ffe4a0}#boot-screen[data-failed=true] progress{accent-color:#dba867}@media(max-width:500px){.boot-card{padding:24px}.boot-card h2{font-size:22px}}@media(max-height:480px){#boot-screen{place-items:start center}.boot-card{padding:18px}.boot-card h2{margin:10px 0}.boot-card ul{gap:6px;margin:12px 0}}
.mermaid-preview-controls button{padding:7px 14px;border:1px solid #57bdd2;border-radius:6px;background:#103747;color:#e4faff;cursor:pointer;}
#dial-status{position:absolute;left:50%;top:22%;transform:translateX(-50%);padding:5px 16px;border:1px solid #e9c77388;border-radius:20px;background:#082338df;color:#ffe4a0;font-size:clamp(9px,1.1vw,15px);pointer-events:none;white-space:nowrap}
