:root{--bg:#181825;--bg-2:#11111b;--surface:#1e1e2e;--surface-2:#313244;--border:#313244;--text:#cdd6f4;--muted:#9399b2;--accent:#a6e3a1;--accent-ink:#11111b;--gold:#f9e2af;--danger:#f38ba8;--success:#a6e3a1;--radius:12px;--q-objects:#cba6f7;--q-statues:#a6e3a1;--q-boats:#89b4fa;--q-chess:#fab387;--sq-light:#45475a;--sq-dark:#313244;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}:root[data-theme=light]{--bg:#e6e9ef;--bg-2:#eff1f5;--surface:#f5f6f9;--surface-2:#dce0e8;--border:#ccd0da;--text:#4c4f69;--muted:#6c6f85;--accent:#40a02b;--accent-ink:#fff;--gold:#df8e1d;--danger:#d20f39;--success:#40a02b;--q-objects:#8839ef;--q-statues:#40a02b;--q-boats:#1e66f5;--q-chess:#fe640b;--sq-light:#dce0e8;--sq-dark:#bcc0cc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.small{font-size:.85em}.tiny-text{margin:6px 0 0;font-size:.75em}.error{color:var(--danger);margin:0}.ok-text{color:var(--success)}.center{text-align:center}.coord{color:var(--muted);font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:.8em}.coord.big{color:var(--text);font-size:1em}.sub-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:.75em;font-weight:600}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;white-space:nowrap;border-radius:9px;padding:8px 14px;transition:background .15s,border-color .15s,transform 50ms}.btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.big{width:100%;padding:12px 18px;font-size:1.05em}.btn.tiny{border-radius:7px;padding:4px 9px;font-size:.82em}.btn.round{border-radius:50%;width:28px;height:28px;padding:0;font-size:1em}.btn.ghost{background:0 0}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.danger{border-color:color-mix(in srgb, var(--danger) 60%, var(--border));color:var(--danger);background:0 0}.btn.danger.on,.btn.danger:not(.tiny),.garden-status .btn.danger{background:var(--danger);color:#fff}input,select,textarea{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;outline:none;min-width:0;padding:9px 12px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:1px}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:.85em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.home{max-width:440px;margin:0 auto;padding:24px 16px 48px}.home-top{justify-content:flex-end;display:flex}.home-hero{text-align:center;margin:28px 0 22px}.home-logo{filter:drop-shadow(0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent));font-size:54px}.home-hero h1{letter-spacing:-.02em;margin-top:6px;font-size:2rem}.home-hero p{margin:6px 0 0}.home-card{gap:14px;display:grid}.home-card h2{font-size:1.2rem}.divider{color:var(--muted);align-items:center;gap:10px;font-size:.85em;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.join-row{gap:8px;display:flex}.join-row input{flex:1;width:0}.code-input{letter-spacing:.25em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace;font-size:1.1em}.home-features{color:var(--muted);gap:8px;margin:22px 0 0;padding:0;font-size:.92em;list-style:none;display:grid}.conn{color:var(--muted);font-size:.8em}.conn-offline{color:var(--danger)}.loading{text-align:center;color:var(--muted);padding:60px}.chip{--hue:140;background:hsl(var(--hue) 45% 50% / .16);border:1px solid hsl(var(--hue) 45% 55% / .35);color:hsl(var(--hue) 55% 78%);border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:2px 8px;font-size:.82em;display:inline-flex}.chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-x{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;padding:0 0 0 2px;font-size:1.1em;line-height:1}.chip-x:hover{opacity:1}.dot{background:var(--muted);opacity:.5;border-radius:50%;width:7px;height:7px}.dot.on{background:var(--success);opacity:1;box-shadow:0 0 6px var(--success)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;align-items:center;gap:4px;margin:0 0 14px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.quadrants{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.quadrant{--q:var(--accent);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--q);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.q-objects{--q:var(--q-objects)}.q-statues{--q:var(--q-statues)}.q-boats{--q:var(--q-boats)}.q-chess{--q:var(--q-chess)}.quadrant.is-done{background:color-mix(in srgb, var(--success) 6%, var(--surface))}.q-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.q-zone{color:var(--q,var(--accent));text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.8rem;font-weight:700}.q-people{flex-wrap:wrap;gap:4px;display:flex}.q-body{flex:1}.q-foot{justify-content:flex-end;display:flex}.help-body{border-left:3px solid var(--q,var(--accent));background:var(--bg-2);color:var(--muted);border-radius:0 8px 8px 0;margin-top:8px;padding:10px 12px;font-size:.88em}.color-picker{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:.88em;display:inline-flex}.swatch-dot{background:var(--c);border-radius:50%;width:14px;height:14px}.swatch.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 25%, var(--bg-2));font-weight:700}.statues{gap:14px;display:grid}.statues-top{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;display:grid}.cross{grid-template-rows:repeat(3,64px);grid-template-columns:repeat(3,64px);gap:4px;display:grid}.cross-cell{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;align-content:center;place-items:center;gap:0;line-height:1.1;display:grid}.cross-cell.nav{cursor:pointer}.cross-cell.nav.active{border-color:var(--q);box-shadow:inset 0 0 0 1px var(--q)}.cross-cell.ok{background:color-mix(in srgb, var(--success) 22%, var(--bg-2))}.cross-cell.err{background:color-mix(in srgb, var(--danger) 22%, var(--bg-2))}.cross-cell.target{outline:2px dashed var(--gold);outline-offset:2px}.cross-cell .arrow{color:var(--muted);font-size:.9em}.big-glyph{font-size:1.6em;line-height:1}.statue-result{gap:8px;display:grid}.statue-pick{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.statue-btn{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;border-radius:9px;justify-items:center;gap:2px;padding:6px 2px;display:grid}.statue-btn.on{border-color:var(--q);background:color-mix(in srgb, var(--q) 18%, var(--bg-2));font-weight:700}.garden-pair{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:10px;display:grid}.garden-svg{border:1px solid var(--border);background:#000;border-radius:10px;width:100%;height:auto;display:block}.statue-hit{cursor:pointer;outline:none}.statue-hit ellipse{fill:#fff0;stroke:#ffffffbf;stroke-width:3px;stroke-dasharray:10 6;transition:fill .12s,stroke .12s}.statue-hit:hover ellipse,.statue-hit:focus-visible ellipse{fill:#ffffff1f;stroke:#fff;stroke-dasharray:none}.statue-hit.full{cursor:not-allowed}.statue-hit.full ellipse{stroke:#ffffff4d}@container (width<=560px){.garden-pair{grid-template-columns:minmax(0,1fr)}}.boats{gap:12px;display:grid}.boat-maps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.boat-map{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;gap:8px;padding:10px;display:grid}.boat-grid,.chess-board{align-items:center;gap:3px;display:grid}.axis{text-align:center;color:var(--muted);padding:0 3px;font-size:.72em;font-weight:700}.boat-cell{aspect-ratio:1.25;border:1px solid var(--border);background:color-mix(in srgb, var(--q-boats) 10%, var(--surface));cursor:pointer;border-radius:7px;padding:0;font-size:1.25em;position:relative}.boat-cell:disabled{cursor:default}.boat-cell.own{background:color-mix(in srgb, var(--q-boats) 28%, var(--surface))}.chess{grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:14px;display:grid}.chess-board{align-items:center;gap:1px;display:grid}.sq{aspect-ratio:1;background:var(--sq-light);cursor:default;border:0;border-radius:2px;place-items:center;padding:0;display:grid;position:relative;container-type:inline-size}.sq.dark{background:var(--sq-dark)}.chess.editable .sq:not(:disabled){cursor:pointer}.chess.editable .sq:not(:disabled):hover{filter:brightness(1.25)}.sq.start{background:color-mix(in srgb, var(--q-chess) 22%, var(--sq-light));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--q-chess) 70%, transparent)}.sq.start:after{content:"";border:1.5px dashed color-mix(in srgb, var(--q-chess) 70%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:30%}.sq.start:has(.pc):after{display:none}.sq.belladone,.sq.belladone.dark{background:#171a18;box-shadow:inset 0 0 0 1px #ffffff0f}.sq>.pc,.belladone-mark{place-items:center;font-size:80cqi;line-height:1;display:grid;position:absolute;inset:0;translate:0 .15em}.belladone-mark{color:#efe6cf;font-family:DejaVu Sans,Segoe UI Symbol,"Noto Sans Symbols 2",serif}.sq.over{box-shadow:inset 0 0 0 2px var(--accent);filter:brightness(1.35)}.pc{-webkit-user-select:none;user-select:none;font-family:DejaVu Sans,Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:clamp(1.1em,2.6vw,1.7em);line-height:1}.chess.editable .pc[draggable=true]{cursor:grab}.pc.black{color:#0b0a08;text-shadow:0 0 2px #fff5dce6,0 0 4px #fff5dc80}.pc.white{color:#fffaf0;text-shadow:0 0 2px #000000e6,0 1px 3px #0009}.pc.ghost{opacity:.55}.pc.big{font-size:1.9em}.piece-list{gap:8px;min-width:0;display:grid}.piece-row{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;gap:7px;min-width:0;padding:9px 10px;display:grid}.chess.editable .piece-row{cursor:pointer}.piece-top{align-items:center;gap:10px;display:flex}.piece-name{font-size:.92em;font-weight:600}.piece-pos-row{flex-wrap:wrap;gap:2px 12px;font-size:.92em;display:flex}@container (width<=470px){.chess{grid-template-columns:minmax(0,1fr)}.piece-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}.task-groups{gap:14px;display:grid}.task-group{border-top:3px solid var(--q,var(--accent));gap:10px;display:grid}.task-group-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.task-group-head h3{font-size:1.05rem}.memo{background:color-mix(in srgb, var(--gold) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 35%, var(--border));border-radius:8px;padding:8px 10px;font-size:.88em}.notes textarea{resize:vertical;width:100%;min-height:60vh;line-height:1.5}@media (width<=1100px){.quadrants{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.statues-top{grid-template-columns:1fr;justify-items:center}.statue-result{width:100%}}@media (width<=520px){.boat-maps{grid-template-columns:1fr}}.q-body{container-type:inline-size}@container (width<=520px){.statues-top{grid-template-columns:1fr;justify-items:center}.statue-result{width:100%}}.room{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.side-wrap{z-index:30;border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);height:100vh;position:sticky;top:0}.sidebar{flex-direction:column;gap:4px;height:100%;padding:14px 14px 16px;display:flex;overflow-y:auto}.side-top{justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.brand{color:var(--text);font-size:1.05em;font-weight:700;text-decoration:none}.side-block{border-top:1px solid var(--border);gap:8px;padding:12px 0;display:grid}.side-block.grow{flex:1;align-content:start;min-height:0}.side-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.72em;font-weight:700}.side-code{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;letter-spacing:.18em;color:var(--accent);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-family:ui-monospace,Menlo,monospace;font-size:1.35em;font-weight:800;display:flex}.avatar{background:hsl(var(--hue,140) 45% 50% / .22);border:1px solid hsl(var(--hue,140) 45% 55% / .5);width:40px;height:40px;color:hsl(var(--hue,140) 55% 78%);border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.avatar.sm{width:28px;height:28px;font-size:.85em}.side-roster{gap:1px;margin:0;padding:0;list-style:none;display:grid}.side-roster li{border-radius:7px;align-items:center;gap:8px;min-width:0;padding:4px 6px;display:flex}.side-roster li:hover{background:var(--bg-2)}.side-roster li.is-me{background:color-mix(in srgb, var(--accent) 10%, transparent)}.side-name{--hue:140;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:hsl(var(--hue) 55% 78%);flex:1;overflow:hidden}.side-x{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:0 2px;font-size:1.1em;line-height:1}.side-roster li:hover .side-x,.side-x:focus-visible{opacity:1}.side-x:hover{color:var(--danger)}.sidebar .join-row input{padding:6px 8px;font-size:.88em}.room-main{min-width:0;max-width:1500px;padding:8px 18px 40px}.drawer-btn,.side-close{display:none}.scrim{z-index:40;background:#00000080;position:fixed;inset:0}@media (width<=900px){.room{grid-template-columns:minmax(0,1fr)}.side-wrap{z-index:50;background:var(--surface);width:min(300px,86vw);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open .side-wrap{transform:none;box-shadow:0 0 40px #00000080}.drawer-btn,.side-close{align-items:center;gap:6px;display:inline-flex}.drawer-btn code{letter-spacing:.12em;color:var(--accent);font-weight:700}.room-main{padding:4px 12px 32px}.side-x{opacity:1}}.participants-editor{gap:6px;display:grid}.pe-chips{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;align-items:center;gap:5px;min-height:46px;padding:7px;display:flex}.pe-chips:focus-within{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:1px}.pe-chips input{background:0 0;border:0;outline:none;flex:1;min-width:140px;padding:3px 4px}.picker{max-width:860px;margin:0 auto;padding:24px 16px 48px}.picker-head{text-align:center;margin:18px 0 22px}.room-code-big{letter-spacing:.18em;color:var(--accent);font-size:1.1em;font-weight:800}.picker-head h1{margin-top:10px;font-size:1.8rem}.picker-head p{margin:6px 0 0}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.picker-card{--hue:140;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;justify-items:center;gap:8px;min-width:0;padding:18px 10px 14px;transition:transform .1s,border-color .15s,background .15s;display:grid}.picker-card:hover{border-color:hsl(var(--hue) 45% 55% / .7);background:hsl(var(--hue) 45% 50% / .08);transform:translateY(-2px)}.picker-card.last{border-color:hsl(var(--hue) 45% 55% / .7)}.picker-card .avatar{width:52px;height:52px;font-size:1.3em}.picker-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.picker-online{color:var(--success);font-size:.75em}.picker-custom{max-width:440px;margin:0 auto}.home>.divider{margin:16px 0}.side-roster li[draggable=true]{cursor:grab}.side-roster li[draggable=true]:active{cursor:grabbing}.objects{gap:14px;display:grid}.pedestals{gap:6px;display:grid}.pedestal{grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.pedestal-num{border-right:2px solid var(--border);place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.05em;display:grid}.flower-btn{border:0;border-left:1px solid var(--border);cursor:pointer;filter:grayscale();opacity:.4;background:0 0;padding:0 10px;font-size:1.15em}.flower-btn:disabled{opacity:.15;cursor:default}.flower-btn.on{filter:none;opacity:1}.boat-map.is-owner,.boat-map.is-shooter{border-color:color-mix(in srgb, var(--q) 60%, var(--border))}.boat-cell:not(:disabled):hover{border-color:var(--q)}.boat-map.is-shooter .boat-cell.own:not(.hit){border-color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, var(--surface))}.boat-cell.hit{border-color:var(--success);background:color-mix(in srgb, var(--success) 18%, var(--surface))}.q-actions{align-items:center;gap:8px;display:flex}.chess-wrap{gap:12px;display:grid}.sq.marked{background:color-mix(in srgb, var(--pcol) 32%, var(--sq-dark));box-shadow:inset 0 0 0 2px var(--pcol)}.sq.start.marked{background:color-mix(in srgb, var(--pcol) 16%, var(--sq-dark));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--pcol) 70%, transparent)}.sq.marked.bad{box-shadow:inset 0 0 0 2px var(--pcol), 0 0 0 2px var(--danger);z-index:1}.sq.marked.bad:before{content:"⚠";color:var(--danger);font-size:.55em;position:absolute;top:-2px;right:1px}.chess.editable .sq.off{cursor:not-allowed}.piece-row{border-left:4px solid var(--pcol)}.piece-row.on{border-color:var(--pcol);box-shadow:inset 0 0 0 1px var(--pcol)}.pos{align-items:baseline;gap:5px;display:inline-flex}.pos-x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:1em;line-height:1}.pos-x:hover{color:var(--danger)}.pos.set .pos-val{color:var(--pcol)}.pos.bad .pos-val{color:var(--danger)}.piece-warn{color:var(--danger);font-size:.78em;line-height:1.3}.pavatar{--size:30px;width:var(--size);height:var(--size);font-weight:800;font-size:calc(var(--size) * .42);color:hsl(var(--hue,140) 55% 80%);background:hsl(var(--hue,140) 40% 45% / .25);box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--border);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.pavatar.has-class{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cls) 70%, white), var(--cls) 60%, color-mix(in srgb, var(--cls) 60%, black));color:#fff}.pavatar-icon{font-size:calc(var(--size) * .56);filter:drop-shadow(0 1px 1px #0006);line-height:1}.pavatar.online{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--success)}.pavatar.sm{--size:22px}.pavatar.sm.online{box-shadow:0 0 0 1.5px var(--surface), 0 0 0 3px var(--success)}.pavatar.lg{--size:54px}.pavatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;display:inline-grid}.pavatar-btn:hover .pavatar{filter:brightness(1.15)}.class-picker-anchor{display:inline-grid}.class-picker{z-index:100;border:1px solid var(--border);background:var(--surface-2);cursor:default;border-radius:12px;gap:8px;width:380px;padding:10px;display:grid;position:fixed;box-shadow:0 16px 40px #00000073}.class-picker-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75em;font-weight:700}.class-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.class-opt{background:var(--bg-2);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:5px 6px;font-size:.8em;display:flex}.class-opt:hover{border-color:var(--cls)}.class-opt.on{border-color:var(--cls);background:color-mix(in srgb, var(--cls) 22%, var(--bg-2));font-weight:700}.class-opt-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-clear{justify-self:start}.side-code{position:relative}.side-copy{letter-spacing:0;color:var(--muted);font-family:inherit;font-size:.75em;font-weight:600}.side-copy.ok{color:var(--success)}.side-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.side-online{color:var(--success);text-transform:none;letter-spacing:0;font-size:1.05em;font-weight:600}.side-roster{gap:3px}.side-roster li{gap:10px;padding:5px 6px}.side-roster li.is-me .side-name{font-weight:800}.side-switch{padding:2px 7px;font-size:.75em}.obj-slot{border:1px solid var(--border);background:var(--bg-2);border-radius:9px;align-items:center;min-width:0;height:46px;display:flex}.obj-slot.empty{border-style:dashed;gap:2px;padding:0 4px}.obj-choice{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:1 1 0;place-items:center;min-width:0;max-width:40px;height:38px;padding:2px;transition:background .12s,border-color .12s,transform 80ms;display:grid}.obj-choice img{object-fit:contain;opacity:.85;width:100%;height:100%}.obj-choice:hover{border-color:var(--q);background:color-mix(in srgb, var(--q) 14%, transparent);transform:translateY(-1px)}.obj-choice:hover img{opacity:1}.obj-slot.filled{gap:8px;padding-left:6px}.obj-slot.filled.flower{border-color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--bg-2))}.obj-img{object-fit:contain;flex:none;width:36px;height:36px}.obj-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.obj-x{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;width:26px;height:26px;font-size:1.15em;line-height:1}.obj-x:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.obj-slot.filled .flower-btn{align-self:stretch}.memo-objects{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.memo-object{align-items:center;gap:4px;display:inline-flex}.memo-object img{object-fit:contain;width:22px;height:22px}.statue-hit.on ellipse{fill:color-mix(in srgb, var(--success) 30%, transparent);stroke:var(--success);stroke-width:5px;stroke-dasharray:none}.mini-lit{cursor:pointer;outline:none}.mini-hit{fill:#0000}.mini-glow{fill:#eb2828d9;filter:blur(5px);animation:1.6s ease-in-out infinite mini-pulse}.mini-ring{fill:none;stroke:#ff2d2d;stroke-width:4px}.mini-lit:hover .mini-ring,.mini-lit:focus-visible .mini-ring{stroke:#fff;stroke-width:4px}.mini-lit.done .mini-glow{fill:color-mix(in srgb, var(--success) 60%, transparent);animation:none}.mini-lit.done .mini-ring{stroke:#58e06e}.mini-check{fill:var(--success);text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:5px;pointer-events:none;font-size:30px;font-weight:900}@keyframes mini-pulse{50%{opacity:.6}}.cross-cell.nav{position:relative}.cross-cell .arrow{font-size:1.3em}.cross-ok{color:var(--success);font-weight:900;position:absolute;top:3px;right:6px}.cross-cell.center[data-color]{border-color:var(--c);background:color-mix(in srgb, var(--c) 30%, var(--bg-2))}.statue-btn.tinted{background:color-mix(in srgb, var(--c) 16%, var(--bg-2));border-color:color-mix(in srgb, var(--c) 40%, var(--border))}.statue-btn.tinted.on{background:color-mix(in srgb, var(--c) 40%, var(--bg-2));border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}.cross-cell .arrow.fight{filter:drop-shadow(0 1px 2px #00000080);font-size:1.6em}.q-title{align-items:center;gap:8px;display:flex}.q-help{border:1px solid var(--border);width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:.75em;font-weight:800;display:inline-grid}.q-help:hover,.q-help.on{color:var(--q);border-color:var(--q)}.q-assignees{align-items:center;min-height:26px;display:flex}.mchips{flex-wrap:wrap;gap:5px;display:flex}.mchip{background:hsl(var(--hue,140) 45% 50% / .16);border:1px solid hsl(var(--hue,140) 45% 55% / .35);color:hsl(var(--hue,140) 55% 80%);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.82em;font-weight:600;display:inline-flex;position:relative}.mchip.me{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mchip-x{cursor:pointer;color:#fff;background:var(--danger);border:0;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:-5px;padding:0;font-size:.9em;line-height:1;display:none}.mchip:hover .mchip-x,.mchip:focus-within .mchip-x{display:inline-grid}.mchip-hint{color:var(--muted);font-size:.82em;font-style:italic}.quadrant.drop-over,.boat-col.drop-over{outline:2px dashed var(--q);outline-offset:3px;background:color-mix(in srgb, var(--q) 8%, var(--surface))}.boat-col{border-radius:10px;gap:6px;min-width:0;display:grid}@media (hover:none){.mchip-x{display:inline-grid}}.boss-card{gap:12px}.trophy-btn.on{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, transparent)}.mchip-trophy{font-size:.95em}.mchip.clickable{cursor:pointer}.mchip.clickable:hover{filter:brightness(1.2)}.boss-requests{border-top:1px solid var(--border);gap:6px;padding-top:10px;display:grid}.boss-requests .sub-title{margin:0}.done-btn{font-weight:600}.done-btn:not(:disabled):hover{border-color:var(--success);color:var(--success)}.done-time{font:inherit;border:1px solid var(--success);background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success);cursor:pointer;white-space:nowrap;border-radius:7px;padding:4px 9px;font-family:ui-monospace,Menlo,monospace;font-size:.82em;font-weight:800}.done-time:hover{background:color-mix(in srgb, var(--success) 26%, transparent)}.raid-timer{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.raid-time{letter-spacing:.03em;font-family:ui-monospace,Menlo,monospace;font-size:1.3em;font-weight:800}.raid-timer.running{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.raid-timer.warn .raid-time{color:var(--gold)}.raid-timer.over .raid-time{color:var(--danger)}.raid-actions{gap:4px;display:flex}.corridor-card{grid-column:1/-1}.arows{gap:5px;display:grid}.arow{background:hsl(var(--hue,140) 45% 50% / .14);border:1px solid hsl(var(--hue,140) 45% 55% / .35);height:34px;color:hsl(var(--hue,140) 55% 80%);border-radius:8px;align-items:center;gap:6px;padding:0 4px 0 12px;font-weight:600;display:flex}.arow.me{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.arow-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.arow-x{width:26px;height:26px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;font-size:1.1em;line-height:1}.arow:hover .arow-x,.arow-x:focus-visible{opacity:1}.arow-x:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}@media (hover:none){.arow-x{opacity:1}}.summary{gap:22px;max-width:820px;display:grid}.sum-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:.72rem}.sum-rows{display:grid}.sum-row{border-bottom:1px solid var(--border);grid-template-columns:210px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:7px 0;display:grid}.sum-row:last-child{border-bottom:0}.sum-label{font-weight:600}.sum-row.done .sum-label{color:var(--muted)}.sum-names{flex-wrap:wrap;gap:2px 14px;display:flex}.sum-name.me{color:var(--accent);font-weight:800}.sum-sep,.sum-empty{color:var(--muted)}.sum-time{color:var(--success);white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:.85em}@media (width<=640px){.sum-row{grid-template-columns:minmax(0,1fr) auto}.sum-names{grid-area:2/1/auto/-1}}.sum-actions{justify-content:flex-end;display:flex}.pavatar.has-class{background:0 0}.pavatar-img{object-fit:contain;border-radius:50%;width:100%;height:100%}.boat-cell{place-items:center;display:grid}.boat-img{object-fit:contain;filter:drop-shadow(0 2px 2px #0006);grid-area:1/1;width:62%;height:62%}.boat-cell.hit .boat-img{opacity:.35;filter:grayscale(.6)}.boat-hit{grid-area:1/1;font-size:1.3em}.sq>.pc{translate:none}.pc img{object-fit:contain;pointer-events:none;width:100%;height:100%}.sq>.pc{padding:0;overflow:visible}.sq>.pc img{filter:drop-shadow(0 1px 1px #0009);transform:scale(1.45)translateY(-6%)}.sq.marked{z-index:1}.pc.big{width:40px;height:40px;display:inline-grid}.pc.ghost img{opacity:.6}.statue-img{object-fit:contain;width:44px;height:44px}.cross-cell.center .statue-img{width:54px;height:54px}.arow-slot{gap:5px;display:grid}.arow{cursor:grab;padding-left:6px}.arow:active{cursor:grabbing}.arow.dragging{opacity:.4}.arow-grip{color:var(--muted);letter-spacing:-2px;opacity:.6;font-size:.8em}.arow-num{text-align:right;min-width:1.2em;color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:.8em}.turn-div{text-transform:uppercase;letter-spacing:.06em;color:var(--danger);align-items:center;gap:8px;margin:0 28px;padding:1px 0;font-size:.72em;font-weight:700;display:flex}.turn-div:before,.turn-div:after{content:"";background:color-mix(in srgb, var(--danger) 55%, transparent);flex:1;height:1px}.turn-div.alt{color:#c08cff}.turn-div.alt:before,.turn-div.alt:after{background:#c08cff8c}.arow.empty{cursor:default;border:1px dashed var(--border);color:var(--muted);background:0 0;padding-left:22px}.arow-empty-label{opacity:.7;font-size:.85em;font-style:italic;font-weight:500}.arow.drop-on{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}:root{--player-bg:color-mix(in srgb, var(--text) 7%, transparent);--player-border:color-mix(in srgb, var(--text) 20%, transparent);--player-text:var(--text);--me-bg:color-mix(in srgb, var(--accent) 16%, transparent);--me-border:var(--accent);--me-text:var(--accent)}.chip,.mchip,.arow,.arow.me,.mchip.me{background:var(--player-bg);border:1px solid var(--player-border);color:var(--player-text);box-shadow:none}.mchip.me,.arow.me{background:var(--me-bg);border-color:var(--me-border);color:var(--me-text)}.arow.empty{border:1px dashed var(--border);color:var(--muted);background:0 0}.arow.drop-on{border:1px solid var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.side-name{color:var(--text)}.side-roster li.is-me .side-name{color:var(--me-text)}.pavatar:not(.has-class),.avatar{background:var(--player-bg);border-color:var(--player-border);color:var(--text)}.picker-card:hover,.picker-card.last{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.boss-portrait{object-fit:contain;filter:drop-shadow(0 2px 3px #00000080);width:44px;height:44px;margin:-10px 0 -10px -6px}.turn-div-label{align-items:center;gap:4px;display:inline-flex}.turn-div-label img{object-fit:contain;width:22px;height:22px;margin:-4px 0}.obelisk-img{filter:drop-shadow(0 0 3px var(--c)) drop-shadow(0 0 1px var(--c))}.memo .memo-object{vertical-align:middle;margin:-4px 0}.memo .memo-object img{width:24px;height:24px}.statue-pick{grid-template-columns:repeat(4,minmax(0,1fr))}.statue-btn{min-width:0}.statue-btn .small{text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%;line-height:1.15}.boss-grid{row-gap:54px;padding-top:40px}.boss-card .q-title{min-height:28px;padding-left:92px;position:relative}.boss-card .boss-portrait{pointer-events:none;filter:drop-shadow(0 4px 6px #0000008c);width:96px;height:96px;margin:0;position:absolute;bottom:-10px;left:-8px}.boss-body{gap:14px;display:grid}.boss-body.has-memo{grid-template-columns:minmax(0,1fr) auto}.boss-main{align-content:start;gap:12px;min-width:0;display:grid}.boss-memo{background:color-mix(in srgb, var(--gold) 9%, var(--bg-2));border:1px solid color-mix(in srgb, var(--gold) 30%, var(--border));text-align:center;border-radius:10px;align-content:start;justify-items:center;gap:4px;min-width:96px;max-width:150px;padding:8px 10px;display:grid}.boss-memo-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gold);font-size:.68em;font-weight:700}.memo-pic{justify-items:center;gap:2px;font-size:.82em;font-weight:700;line-height:1.2;display:grid}.memo-pic img{object-fit:contain;width:48px;height:48px}.memo-pics{grid-template-columns:repeat(2,30px);gap:4px;display:grid}.memo-pics img{object-fit:contain;width:30px;height:30px}.memo-unknown{color:var(--muted);font-size:1.4em;font-weight:800}.boss-grid.no-top{padding-top:0}.done-time.armed,.btn.armed,.side-x.armed{border-color:var(--danger);color:#fff;background:var(--danger);opacity:1}.done-btn{font-variant-numeric:tabular-nums;text-align:center;min-width:92px;font-family:ui-monospace,Menlo,monospace}.done-btn.idle{color:var(--muted)}.done-btn.live{border-color:color-mix(in srgb, var(--success) 45%, var(--border));color:var(--text);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--success) 50%, transparent);display:inline-grid}.done-btn.live>span{grid-area:1/1}.done-hover{visibility:hidden;font-family:inherit}.done-btn.live:hover .done-live,.done-btn.live:focus-visible .done-live{visibility:hidden}.done-btn.live:hover .done-hover,.done-btn.live:focus-visible .done-hover{visibility:visible}.done-btn.live:hover{background:var(--success);border-color:var(--success);color:#fff}.done-time{text-align:center;min-width:92px;display:inline-grid}.done-time>span{grid-area:1/1}.done-took,.done-time.has-took:hover .done-at{visibility:hidden}.done-time.has-took:hover .done-took{visibility:visible}.side-status{flex:none;gap:3px;font-size:.85em;display:inline-flex}.side-x-spacer{flex:none;width:18px}.side-switch{justify-self:start}.side-x{text-align:center;flex:none;width:18px}.raid-timer.ended{border-color:var(--success)}.raid-timer.ended .raid-time{color:var(--success);font-size:1.1em}.sidebar .side-block.grow{flex-direction:column;min-height:0;display:flex;overflow:hidden}.sidebar .side-roster{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:80px;max-height:none;margin-right:-6px;padding-right:6px;overflow-y:auto}.sidebar .side-block.grow>form,.sidebar .side-block.grow>.side-switch{flex:none}.sidebar{overflow:hidden}.sidebar .side-roster{align-content:start}.side-host{text-transform:uppercase;letter-spacing:.06em;vertical-align:2px;color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);border-radius:4px;margin-left:6px;padding:0 5px;font-size:.65em;font-weight:800}.q-body.locked{cursor:not-allowed}.q-body.locked *{cursor:not-allowed!important}.done-btn.live.locked:hover{background:var(--surface-2);border-color:var(--border);color:var(--muted)}.done-btn.live.locked:hover .done-live{visibility:visible}.done-btn.live.locked:hover .done-hover{visibility:hidden}.toast{z-index:200;background:var(--surface-2);border:1px solid color-mix(in srgb, var(--danger) 60%, var(--border));color:var(--text);pointer-events:none;border-radius:999px;padding:8px 16px;font-size:.88em;font-weight:600;animation:.18s ease-out toast-in;position:fixed;top:14px;left:50%;translate:-50%;box-shadow:0 8px 24px #0006}@keyframes toast-in{0%{opacity:0;translate:-50% -8px}}.toast{background:var(--danger);color:#fff;box-shadow:0 10px 34px #0000008c, 0 0 0 3px color-mix(in srgb, var(--danger) 35%, transparent);border:0;border-radius:12px;align-items:center;gap:10px;padding:12px 22px;font-size:1.05em;font-weight:700;animation:.18s ease-out toast-in,.4s ease-in-out .18s toast-shake;display:flex;top:18px}.toast:before{content:"⛔";font-size:1.2em}@keyframes toast-shake{20%,60%{translate:calc(-50% - 6px)}40%,80%{translate:calc(6px - 50%)}}.picker-card.locked{opacity:.55;cursor:not-allowed}.picker-card.locked:hover{transform:none}.picker-lock{text-transform:uppercase;letter-spacing:.05em;color:var(--gold);font-size:.72em;font-weight:700}.side-bottom-actions{flex-wrap:wrap;flex:none;gap:6px;display:flex}.prefs{align-items:center;gap:6px;display:flex}.lang-select{flex:1;position:relative}.sidebar .lang-select{width:auto}.lang-current{border:1px solid var(--border);background:var(--bg-2);align-items:center;gap:8px;width:100%;display:flex}.lang-caret{color:var(--muted);margin-left:auto;font-size:.85em}.flag{border-radius:2px;flex:none;width:20px;height:14px;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #00000040}.flag svg{width:100%;height:100%;display:block}.lang-menu{z-index:50;border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:2px;min-width:100%;padding:4px;display:grid;position:absolute;box-shadow:0 10px 30px #00000059}.sidebar .lang-menu{bottom:calc(100% + 4px)}.home-top .lang-menu,.picker .lang-menu{top:calc(100% + 4px);right:0}.lang-opt{cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:6px 10px;display:flex}.lang-opt:hover,.lang-opt.on{background:var(--surface-2)}.lang-opt.on{font-weight:700}.theme-toggle{border:1px solid var(--border);background:var(--bg-2);padding:3px 9px;font-size:1em}.home-top .lang-select,.picker .home-top .lang-select{flex:none}.tab{position:relative}.tab-badge{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;animation:.25s ease-out badge-pop;position:absolute;top:7px;right:4px}@keyframes badge-pop{0%{transform:scale(0)}}.tab .phase-dot{background:var(--success);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:1.4s ease-in-out infinite phase-pulse;display:inline-block}@keyframes phase-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 60%, transparent)}50%{box-shadow:0 0 0 5px #0000}}.tab.phase-live{color:var(--text)}.tab .phase-check{color:var(--success);margin-right:5px;font-weight:800}
