:where(html){--bg-deep:color-mix(in oklab, var(--bg) 76%, #000);--well:color-mix(in oklab, var(--bg) 58%, #000);--panel:color-mix(in oklab, var(--bg) 93%, var(--ink));--panel-2:color-mix(in oklab, var(--panel) 92%, var(--ink));--line-soft:color-mix(in oklab, var(--line) 55%, var(--bg));--ink-dim:color-mix(in oklab, var(--ink) 78%, var(--bg));--ink-faint:color-mix(in oklab, var(--ink) 54%, var(--bg));--accent-bright:color-mix(in oklab, var(--accent) 76%, #fff);--accent-deep:color-mix(in oklab, var(--accent) 70%, #000);--accent-hi:color-mix(in oklab, var(--accent-bright) 72%, #fff);--accent-ink:color-mix(in oklab, var(--bg-deep) 82%, #000);--frame-hi:color-mix(in oklab, var(--accent-deep) 45%, var(--panel-2));--frame-lo:color-mix(in oklab, var(--bg-deep) 78%, var(--accent-deep));--bg-glow:color-mix(in oklab, var(--bg) 86%, var(--accent))}html[data-palette=sepia]{--bg:#1a1410;--bg-deep:#120e0a;--panel:#241c15;--panel-2:#2c221a;--well:#0d0a06;--line:#6f5a33;--line-soft:#453823;--ink:#efe6d6;--ink-dim:#c7b9a2;--ink-faint:#93866f;--accent:#c8902f;--accent-bright:#e8b558;--accent-deep:#9a6c1f;--accent-ink:#201607;--good:#7dba6a;--info:#6fa8c9;--warn:#d9b25f;--bad:#c04a35;--frame-hi:#5a3d22;--frame-lo:#33220f;--bg-glow:#2c2016}html[data-palette=nord]{--bg:#2e3440;--panel:#3b4252;--panel-2:#434c5e;--line:#4c566a;--ink:#eceff4;--ink-dim:#d8dee9;--accent:#81a1c1;--accent-bright:#88c0d0;--accent-deep:#5e81ac;--accent-ink:#2e3440;--good:#a3be8c;--info:#81a1c1;--warn:#ebcb8b;--bad:#bf616a;--frame-hi:#4c566a;--frame-lo:#2e3440}html[data-palette=gruvbox]{--bg:#282828;--bg-deep:#1d2021;--panel:#3c3836;--panel-2:#504945;--well:#1d2021;--line:#665c54;--ink:#ebdbb2;--ink-dim:#d5c4a1;--ink-faint:#a89984;--accent:#d65d0e;--accent-bright:#fe8019;--accent-deep:#af3a03;--accent-ink:#1d2021;--good:#b8bb26;--info:#83a598;--warn:#fabd2f;--bad:#fb4934;--frame-hi:#504945;--frame-lo:#282828}html[data-palette=mocha]{--bg:#1e1e2e;--bg-deep:#11111b;--panel:#313244;--panel-2:#45475a;--well:#181825;--line:#585b70;--ink:#cdd6f4;--ink-dim:#bac2de;--ink-faint:#7f849c;--accent:#cba6f7;--accent-ink:#11111b;--good:#a6e3a1;--info:#89b4fa;--warn:#f9e2af;--bad:#f38ba8;--frame-hi:#45475a;--frame-lo:#181825}html[data-palette=everforest]{--bg:#2d353b;--bg-deep:#232a2e;--panel:#343f44;--panel-2:#3d484d;--well:#232a2e;--line:#4f585e;--ink:#d3c6aa;--ink-dim:#9da9a0;--ink-faint:#859289;--accent:#a7c080;--accent-ink:#232a2e;--good:#a7c080;--info:#7fbbb3;--warn:#dbbc7f;--bad:#e67e80;--frame-hi:#475258;--frame-lo:#2d353b}html:not([data-palette]),html[data-palette=tokyo-night]{--bg:#1a1b26;--bg-deep:#16161e;--well:#0c0e14;--panel:#292e42;--panel-2:#3b4261;--line:#414868;--line-soft:#3b4261;--ink:oklab(92.2787% .00253533 -.0304295);--ink-dim:#c0caf5;--ink-faint:#a9b1d6;--accent:#7aa2f7;--accent-bright:#7dcfff;--accent-deep:#3d59a1;--accent-ink:#16161e;--good:#9ece6a;--info:#7dcfff;--warn:#ff9e64;--bad:#f7768e;--frame-hi:#414868;--frame-lo:#16161e}html[data-palette=rose-pine]{--bg:#191724;--panel:#1f1d2e;--panel-2:#26233a;--well:#191724;--line:#403d52;--line-soft:#21202e;--ink:#e0def4;--ink-dim:#908caa;--ink-faint:#6e6a86;--accent:#c4a7e7;--accent-ink:#191724;--good:#9ccfd8;--info:#31748f;--warn:#f6c177;--bad:#eb6f92;--frame-hi:#524f67;--frame-lo:#26233a}:root{--muted:var(--ink-faint)}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 800px at 50% -10%, var(--bg-glow), var(--bg));min-height:100%;color:var(--ink);margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}#app{place-items:center;min-height:100vh;padding:2rem;display:grid}#app:has(.screen.wide){align-items:start}.screen{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;width:min(560px,100%);padding:2rem 2.25rem;box-shadow:0 20px 60px #00000073}h1{letter-spacing:.3px;margin:0 0 .5rem;font-size:1.9rem}h2{color:var(--muted);margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:600}.tag{vertical-align:middle;color:var(--accent-ink);background:var(--accent);letter-spacing:.5px;border-radius:999px;padding:.15em .5em;font-size:.7em}.tag.muted{color:var(--muted);border:1px solid var(--line-soft);background:#ffffff12}.muted{color:var(--muted)}.status{min-height:1.5em;margin-top:1rem}code{color:var(--ink);background:#0003;border-radius:5px;padding:.1em .4em}button.primary{font:inherit;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:10px;margin-top:1.25rem;padding:.7rem 1.2rem;font-weight:600;transition:transform 50ms,filter .15s}button.primary:hover{filter:brightness(1.08)}button.primary:active{transform:translateY(1px)}.screen.wide{flex-direction:column;width:min(1920px,100%);max-height:calc(100vh - 4rem);display:flex}.screen.wide:has(.menu-grid){height:calc(100vh - 4rem)}.bar{align-items:center;gap:1rem;display:flex}.bar h1{flex:none;margin:0;font-size:1.4rem}.bar .muted{margin-left:auto}a.tab{text-decoration:none;display:inline-block}.tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.tab{font:inherit;color:var(--ink);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .9rem}.tab:hover{border-color:var(--accent)}.tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.scroll{overflow-y:auto}#list-region{flex:auto;min-height:0}button.ghost{font:inherit;color:var(--muted);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:8px;padding:.3rem .7rem}button.ghost:hover{color:var(--ink);border-color:var(--accent)}.canvas-wrap{margin-top:1rem}.canvas-wrap canvas{width:100%;height:68vh;image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--well);cursor:grab;touch-action:none;border-radius:8px;display:block}.canvas-wrap canvas.dragging{cursor:grabbing}.hint{margin-top:.6rem}.menu-grid{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(340px,30%,560px);align-items:stretch;gap:1.25rem;min-height:0;margin-top:1rem;display:grid}.map-col{flex-direction:column;min-height:0;display:flex;position:relative}.map-fab{z-index:2;width:3rem;height:3rem;font:inherit;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;font-weight:600;line-height:1;transition:transform 50ms,filter .15s;display:grid;position:absolute;bottom:1rem;right:1rem;box-shadow:0 4px 14px #0009}.map-fab:hover{filter:brightness(1.08)}.map-fab:active{transform:translateY(1px)}.map-col.has-map-fab #list-region{padding-bottom:4rem}@media (width<=760px){.menu-grid{grid-template-rows:none;grid-template-columns:1fr}.screen.wide{height:auto;max-height:none;display:block}#list-region{max-height:60vh}}.list-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.filter{min-width:8rem;font:inherit;color:var(--ink);border:1px solid var(--line-soft);background:#0003;border-radius:8px;flex:10rem;padding:.55rem .75rem}.filter::placeholder{color:var(--muted)}.sort-ctl{align-items:center;gap:.3rem;display:inline-flex}.sort-ctl.hidden{display:none}.sbtn{font:inherit;color:var(--ink);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:.2rem;padding:.3rem .55rem;font-size:.85rem;display:inline-flex}.sbtn:hover{border-color:var(--accent)}.sbtn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.sbtn .s-ind{min-width:.7em;font-size:.8em}.view-toggle{border:1px solid var(--line-soft);border-radius:8px;display:inline-flex;overflow:hidden}.vbtn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.35rem .6rem;font-size:1rem}.vbtn:hover{color:var(--ink)}.vbtn.active{background:var(--accent);color:var(--accent-ink)}.pad{padding:.8rem}.mapgrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:.25rem;display:grid}.mapcard{border:1px solid var(--line-soft);cursor:pointer;background:#0002;border-radius:10px;transition:border-color .12s;overflow:hidden}.mapcard:hover{border-color:var(--accent)}.mapcard.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.mapcard.hidden{display:none}.mapcard-thumb{aspect-ratio:16/10;background:var(--well);background-image:radial-gradient(circle,#ffffff10,#0000 70%);place-items:center;display:grid}.mapcard-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mapcard-thumb.spoiler:after{content:"?";color:var(--muted);font:700 2.4rem/1 system-ui,sans-serif}.mapcard-cap{padding:.45rem .6rem}.mapcard-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.mapcard.active .mapcard-name{color:var(--accent)}.mapcard-meta{color:var(--muted);margin-top:.1rem;font-size:.78rem}.table-wrap{border:1px solid var(--line-soft);border-radius:8px}.maptable{border-collapse:collapse;width:100%;font-size:.95rem}.maptable thead th{z-index:1;text-align:left;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line-soft);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.5rem .65rem;font-weight:600;position:sticky;top:0}.maptable th.num,.maptable td.num{text-align:right;width:6rem}.maptable th.sortable{cursor:pointer}.maptable th.sortable:hover{color:var(--ink)}.maptable th.sorted{color:var(--accent)}.maptable th .sort-ind{width:1em;margin-left:.25rem;font-size:.8em;display:inline-block}.maptable tbody td{border-bottom:1px solid var(--line-soft);padding:.45rem .65rem}.maptable tbody tr:last-child td{border-bottom:0}.maprow{cursor:pointer}.maprow:hover td{background:#ffffff0d}.maprow.active td{background:var(--accent);color:var(--accent-ink)}.maprow.hidden{display:none}.maptable td.modes{white-space:nowrap;width:5.4rem}.mode{margin-left:.15rem;display:inline-block}.mode.off{opacity:.18;filter:grayscale()}.maprow.active .mode.off{opacity:.35}.mapcard-meta .mode{font-size:.9em}.preview-map{width:100%;height:100%;position:relative}.preview-map canvas{object-fit:contain;width:100%;height:100%;display:block}.startpos{color:#fff;text-shadow:0 0 2px #000,0 0 3px #000,0 1px 2px #000;pointer-events:none;-webkit-user-select:none;user-select:none;font:700 .85rem/1 system-ui,sans-serif;position:absolute;transform:translate(-50%,-50%)}.detail-actions{z-index:1;background:var(--panel);border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:.5rem;margin:auto -1rem -1rem;padding:.6rem 1rem 1rem;display:flex;position:sticky;bottom:-1rem}.detail-actions .splitbtn{anchor-name:--start-split;flex:1;display:flex}.detail-actions .splitbtn #start{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.detail-actions button.primary{margin-top:0}.tab-split{border:1px solid var(--line-soft);anchor-name:--mp-tab-split;border-radius:999px;display:inline-flex;overflow:hidden}.tab-split:hover{border-color:var(--accent)}.tab-split .tab{border:0;border-radius:0}.tab-split .tab-split-toggle{border-left:1px solid var(--line-soft);padding-inline:.45rem}.tab-split.active{border-color:var(--accent)}.tab-split.active .tab{background:var(--accent);color:var(--accent-ink);font-weight:600}#mp-tab-menu{position-anchor:--mp-tab-split;top:calc(anchor(bottom) + .35rem);left:anchor(left)}.mp-refresh{white-space:nowrap;padding:.35rem .7rem;position:relative}.mp-refresh-badge{background:var(--bad);color:#fff;border-radius:999px;padding:.05rem .4rem;font-size:.75rem;font-weight:700;line-height:1.4;position:absolute;top:-.5rem;right:-.5rem}.mp-refresh-stale{border-color:var(--bad)}.mp-refresh-stale:after{content:" · Stand veraltet";color:var(--muted);font-size:.8em}.mp-name-ctl{white-space:nowrap;align-items:center;gap:.45rem;min-width:0;margin-left:auto;display:inline-flex}.mp-name-ctl>span{color:var(--muted);font-size:.8rem}.mp-name-input{width:clamp(7rem,14vw,10.5rem);padding:.3rem .6rem}.screen.wide .bar{flex-wrap:wrap}.menu-foot-src{margin-left:auto;font-size:.85rem}.mp-room-gone{opacity:.5}.mp-room-gone td:first-child,.mp-room-gone .mapcard-name{text-decoration:line-through}.mp-room-mine [data-cell=state]{color:var(--accent);font-weight:600}.detail-actions .splitbtn .split-toggle{border-left:1px solid #00000059;border-top-left-radius:0;border-bottom-left-radius:0;flex:none;width:2.2rem;padding-inline:0}.split-menu{min-width:12rem;min-width:max(12rem, anchor-size(width));color:var(--ink);background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;margin:0;padding:0;position:fixed;inset:auto;overflow:hidden;box-shadow:0 6px 20px #00000080}.split-menu:popover-open{flex-direction:column;display:flex}#start-menu{position-anchor:--start-split;bottom:calc(anchor(top) + .35rem);right:anchor(right)}.split-menu button{appearance:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.55rem .8rem}.split-menu button:hover:not(:disabled){background:#ffffff12}.split-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.split-menu button:disabled{color:var(--muted);cursor:not-allowed}.mp-join-dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line-soft);border-radius:10px;width:min(24rem,90vw);padding:1.2rem 1.4rem;box-shadow:0 20px 60px #00000073}.mp-join-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000a}.mp-join-dialog h2{margin:0 0 .35rem;font-size:1.2rem}.mp-join-dialog p{margin:0 0 .8rem}.mp-join-dialog .mp-code-input{text-align:center;width:100%;padding:.5rem .65rem;font-size:1.1rem}.mp-join-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.mp-join-actions button.primary{margin-top:0}.briefing-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000a;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.briefing{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;width:100%;max-width:40rem;max-height:85vh;padding:1.2rem 1.4rem;overflow-y:auto}.briefing h2{margin:0 0 .6rem;font-size:1.2rem}.briefing-audio:not(:empty){margin:-.2rem 0 .6rem}.briefing h3{color:var(--muted);margin:1rem 0 .3rem;font-size:.95rem}.briefing-objective{margin:.2rem 0 .6rem;font-weight:600}.briefing-story{white-space:pre-line;margin:.2rem 0;line-height:1.45}.briefing-setup{margin:.4rem 0 .6rem}.briefing-close{margin-top:1rem}.slots{margin:.35rem 0 .75rem}.slot-teams{flex-wrap:wrap;gap:.6rem;margin-top:.3rem;display:flex}.team-group{border:1px solid var(--line-soft);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;display:inline-flex}.slot-dot{background:var(--slot-color,#888);color:#000;border:1px solid #0006;border-radius:50%;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.72rem;line-height:1;display:inline-flex}.slot-dot.c0{opacity:.65}.detail{border:1px solid var(--line-soft);background:#0002;border-radius:10px;flex-direction:column;min-height:0;padding:1rem;display:flex;overflow-y:auto}.detail>*{flex:none}.detail h2{margin:.8rem 0 .2rem;font-size:1.15rem}.detail-title-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.detail-title-row h2{overflow-wrap:anywhere;flex:auto;min-width:0}.detail-title-row>button{flex:none}.preview{background:var(--well);border:1px solid var(--line-soft);aspect-ratio:3;border-radius:8px;place-items:center;display:grid;overflow:hidden}.preview canvas{object-fit:contain;width:100%;height:100%;display:block}.preview.revealable{cursor:pointer}.preview.spoiler{gap:.5rem}.preview.spoiler:hover{border-color:var(--accent)}.preview .spoiler-q{color:var(--muted);font:700 3rem/1 system-ui,sans-serif}.preview.spoiler:hover .spoiler-q{color:var(--accent)}.preview .spoiler-hint{color:var(--muted);text-align:center;padding:0 .6rem;font-size:.8rem}.options{margin:1rem 0}.options h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .4rem;font-size:.9rem}.options .row{opacity:.55;justify-content:space-between;align-items:center;gap:1rem;padding:.3rem 0;display:flex}.options .row.live{opacity:1}.ui-select,.options select{appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;color:var(--ink);border:1px solid var(--line-soft);cursor:pointer;background-color:#00000038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-opacity='.65' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;border-radius:8px;padding:.35rem 1.8rem .35rem .6rem;transition:border-color .12s,background-color .12s}.ui-select:hover:not(:disabled),.options select:hover:not(:disabled){border-color:var(--accent);background-color:#0005}.ui-select:focus-visible,.options select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.ui-select:disabled,.options select:disabled{opacity:.45;cursor:not-allowed}.ui-select option,.options select option{background:var(--panel);color:var(--ink)}.ui-check,.options label.check{cursor:pointer;align-items:center;gap:.55rem;min-height:1.9rem;line-height:1.3;display:inline-flex}.ui-check input[type=checkbox],.options label.check input[type=checkbox]{appearance:none;border:1px solid var(--line-soft);cursor:pointer;background-color:#0004;border-radius:5px;flex:none;width:1.15rem;height:1.15rem;margin:0;transition:background-color .12s,border-color .12s}.ui-check:hover input[type=checkbox]:not(:disabled),.options label.check:hover input[type=checkbox]:not(:disabled){border-color:var(--accent)}.ui-check input[type=checkbox]:checked,.options label.check input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.4 3.4L11 1.6' fill='none' stroke='%23000000' stroke-opacity='.8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.72rem}.ui-check input[type=checkbox]:focus-visible,.options label.check input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-check input[type=checkbox]:disabled,.options label.check input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.ui-check:has(input:disabled){color:var(--muted);cursor:not-allowed}.ui-input{font:inherit;color:var(--ink);border:1px solid var(--line-soft);background:#0003;border-radius:8px;padding:.4rem .65rem;transition:border-color .12s}.ui-input::placeholder{color:var(--muted)}.ui-input:hover{border-color:var(--line-soft)}.ui-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.setup-slots{flex-direction:column;display:flex}.setup-slot-row span{flex:auto}.setup-slot-controls{align-items:center;gap:.5rem;min-width:0;display:flex}.setup-slot-controls select{background-position:right .45rem center;min-width:0;padding:.25rem 1.45rem .25rem .45rem;font-size:.9rem}.small{font-size:.8rem}button.primary:disabled{opacity:.4;cursor:default}button.ghost.small{padding:.15rem .5rem;font-size:.8rem}.mp-disconnected{opacity:.6;text-decoration:line-through}.mp-rename-btn{margin-left:.4rem}.mp-rename-input{max-width:12rem;padding:.15rem .45rem}.screen.mp-screen{width:min(760px,100%)}.screen.mp-screen:has(.mp-room-cols){width:min(1360px,100%)}.mp-row{justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;display:flex}.mp-row>span:first-child{flex:auto;min-width:0}.mp-row button.primary{margin-top:0}.mp-row .ui-input{min-width:0}.mp-code-input{text-transform:uppercase;letter-spacing:.18em;width:7.5rem;font-family:ui-monospace,monospace}hr.mp-sep{border:0;border-top:1px solid var(--line-soft);margin:.7rem 0}.mp-map-panel{border:1px solid var(--line-soft);background:#0002;border-radius:10px;flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.mp-map-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.mp-map-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;font-weight:600;overflow:hidden}.mp-code{border:1px solid var(--line-soft);color:var(--accent);letter-spacing:.16em;background:#0004;border-radius:7px;padding:.06em .45em;font-weight:700}button.ghost.mp-copy{vertical-align:middle;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:.12em 0 0;line-height:1;display:inline-flex}button.ghost.mp-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mp-invite{align-items:center;gap:.4rem;min-width:0;margin-left:auto;display:flex}.mp-invite a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mp-invite .mp-copy{flex:none}.mp-members{flex-direction:column;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.mp-members li{border:1px solid var(--line-soft);background:#0002;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.35rem .65rem;display:flex}.mp-members li.mp-me{border-color:color-mix(in srgb, var(--accent) 33%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.mp-member-name{font-weight:600}.mp-you{color:var(--accent);font-size:.85em;font-style:normal;font-weight:600}.mp-members .mp-rename-btn{margin-left:auto}.mp-slot-table{border:1px solid var(--line-soft);background:#0002;border-radius:10px;margin-top:.4rem;overflow:hidden}.mp-slot-table>p{margin:0;padding:.7rem .8rem}.mp-slot-head,.mp-slot-row{grid-template-columns:minmax(4.5rem,.9fr) minmax(0,1.35fr) minmax(0,1.2fr) 5.6rem 11.5rem;align-items:center;gap:.5rem;padding:.4rem .7rem;display:grid}.mp-slot-head{border-bottom:1px solid var(--line-soft);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#0003;padding-top:.3rem;padding-bottom:.3rem;font-size:.72rem}.mp-slot-row+.mp-slot-row{border-top:1px solid #ffffff0f}.mp-slot-row.is-you{background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.mp-slot-row.is-closed{color:var(--muted)}.mp-slot-row.is-open{background-color:color-mix(in srgb, var(--accent) 4%, transparent);background-image:repeating-linear-gradient(to bottom, var(--accent) 0 5px, transparent 5px 9px);background-repeat:no-repeat;background-size:3px 100%}.mp-slot-name{align-items:baseline;gap:.35rem;min-width:0;display:flex}.mp-slot-cell{align-items:center;gap:.3rem;min-width:0;display:flex}.mp-slot-cell>.ui-select{width:100%}.mp-slot-cell>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mp-color-swatches{grid-template-columns:repeat(12,1fr);gap:2px;width:100%;display:grid}.mp-color-swatch{aspect-ratio:1;cursor:pointer;border:1px solid #0006;border-radius:3px;width:100%;min-width:0;padding:0;transition:transform 80ms,box-shadow .12s;position:relative}.mp-color-swatch:not(.taken):not(:disabled):hover{z-index:2;box-shadow:0 0 0 1px var(--ink);transform:scale(1.25)}.mp-color-swatch:focus-visible{outline:2px solid var(--ink);outline-offset:2px;z-index:2}.mp-color-swatch.current{box-shadow:0 0 0 2px var(--panel), 0 0 0 3px var(--accent);z-index:1}.mp-color-swatch.current:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.4 3.4L11 1.6' fill='none' stroke='%23000' stroke-opacity='.75' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1 5l3.4 3.4L11 1.6' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/72% no-repeat;position:absolute;inset:0}.mp-color-swatch.taken{cursor:not-allowed;opacity:.5;background-image:linear-gradient(to top right,#0000 calc(50% - 2.5px),#fffc calc(50% - 2.5px) calc(50% - 1px),#0c0906eb calc(50% - 1px) calc(50% + 1px),#fffc calc(50% + 1px) calc(50% + 2.5px),#0000 calc(50% + 2.5px))}.mp-color-swatch.swap:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 3.5H8.7M6.5 1.5 9 3.5 6.5 5.5M10.5 8.5H3.3M5.5 6.5 3 8.5l2.5 2' fill='none' stroke='%23000' stroke-opacity='.75' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.5 3.5H8.7M6.5 1.5 9 3.5 6.5 5.5M10.5 8.5H3.3M5.5 6.5 3 8.5l2.5 2' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/72% no-repeat;position:absolute;inset:0}.mp-color-swatch:disabled{cursor:not-allowed;opacity:.5}.mp-color-readonly{min-width:0;color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.mp-color-chip{border:1px solid #0006;border-radius:4px;flex:none;width:.95rem;height:.95rem}@media (width<=780px){.mp-slot-head{display:none}.mp-slot-row{grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);row-gap:.35rem}.mp-slot-colors{grid-column:1/-1}}.mp-room-cols{flex-direction:column;gap:1rem;display:flex}.mp-chat>h2{margin-top:0}.mp-chat-log{overscroll-behavior:contain;border:1px solid var(--line-soft);background:#0002;border-radius:8px;height:14rem;padding:.5rem .65rem;overflow-y:auto}.mp-chat-line{overflow-wrap:anywhere;font-size:.9rem}.mp-chat-line+.mp-chat-line{margin-top:.15rem}.mp-chat-name{font-weight:700}.mp-chat-line.spectator{color:#9a9a9a;font-style:italic}.mp-chat-line.system{color:var(--muted);font-style:italic}.mp-chat-form{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.mp-chat-form .mp-chat-input{flex:auto;min-width:0}@media (width>=1390px){.mp-room-cols{grid-template-columns:minmax(0,1fr) 500px;display:grid}.mp-chat-log{flex:1 1 0;height:auto;min-height:16rem}}.game-screen{background:#000;position:fixed;inset:0}.game-screen canvas{width:100%;height:100%;image-rendering:pixelated;cursor:default;touch-action:none;display:block}.game-screen canvas.dragging{cursor:grabbing}.fab{top:1rem;left:calc(var(--gui-dock-w,0px) + 1rem);z-index:10;transition:left .18s;position:fixed}.game-hint{z-index:10;color:var(--muted);background:#000a;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.game-badge{z-index:10;letter-spacing:.3px;background:#000a;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;position:fixed;top:1rem;right:1rem}.game-badge.gpu{color:#86e08a}.game-badge.sw{color:var(--accent)}.mp-catchup-overlay{z-index:60;pointer-events:all;color:#e8e4dc;background:#000c;justify-content:center;align-items:center;font:500 1rem/1.4 sans-serif;display:flex;position:fixed;inset:0}.mp-catchup-overlay .box{background:color-mix(in srgb, var(--panel) 80%, transparent);text-align:center;border:1px solid #fff2;border-radius:10px;min-width:260px;padding:1.4rem 2rem}.mp-catchup-overlay .title{margin-bottom:.5rem;font-weight:700}.mp-catchup-overlay .progress{color:var(--accent);font:600 .9rem ui-monospace,monospace}.loading-overlay{z-index:60;pointer-events:none;color:#e8e4dc;background:#000c;justify-content:center;align-items:center;font:500 1rem/1.4 sans-serif;display:flex;position:fixed;inset:0}.loading-overlay .box{background:color-mix(in srgb, var(--panel) 80%, transparent);text-align:center;border:1px solid #fff2;border-radius:10px;min-width:280px;padding:1.4rem 2rem}.loading-overlay .title{margin-bottom:.7rem;font-weight:700}.loading-overlay .bar{background:#fff2;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.loading-overlay .bar-fill{background:var(--accent);border-radius:999px;width:0%;transition:width .15s ease-out;position:absolute;inset:0 auto 0 0}.loading-overlay .bar.indeterminate .bar-fill{width:40%;transition:none;animation:1.1s ease-in-out infinite loading-indeterminate}@keyframes loading-indeterminate{0%{left:-40%}to{left:100%}}.loading-overlay .detail{color:var(--accent);min-height:1.1em;margin-top:.6rem;font:600 .9rem ui-monospace,monospace}.loading-overlay .rate{color:var(--muted);min-height:1em;margin-top:.25rem;font:500 .78rem ui-monospace,monospace}.loading-overlay.curtain{background:#000}.loading-overlay.curtain .box{opacity:0}.fps-hud{z-index:10;color:#86e08a;letter-spacing:.3px;background:#000a;border-radius:999px;padding:.25rem .7rem;font:600 .78rem ui-monospace,monospace;position:fixed;top:3rem;right:1rem}.fps-hud.gametime{color:#e8e4dc;font-variant-numeric:tabular-nums;top:5rem}.fps-hud.gametime[hidden]{display:none}.debug-panel{z-index:20;color:#e8e4dc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;border:1px solid #fff2;border-radius:10px;flex-direction:column;gap:.5rem;width:350px;max-height:calc(100vh - 8rem);padding:.8rem 1rem;font-size:.85rem;display:flex;position:fixed;top:7.4rem;right:1rem;overflow:hidden auto}.debug-panel.hidden{display:none}.debug-panel h3{margin:0 0 .2rem;font-size:.9rem;font-weight:700}.debug-panel h3 .muted{font-weight:400}.debug-panel label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.debug-panel label.muted{cursor:default}.debug-panel input[type=checkbox],.debug-panel input[type=radio]{accent-color:var(--accent)}.dbg-nodes-head{margin-top:.15rem;font-size:.82rem}.dbg-slider{flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.dbg-slider input[type=range]{width:100%;accent-color:var(--accent)}.dbg-labels{flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.dbg-labels label.muted{opacity:.5}.dbg-swatch{border:1px solid #0006;border-radius:2px;flex:none;width:.7rem;height:.7rem}.dbg-bits{flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.dbg-bit-btns{gap:.25rem;display:flex}.bit-btn{cursor:pointer;color:#e8e4dc;border:1px solid var(--bit,#888);background:#ffffff14;border-radius:5px;flex:1;padding:.2rem 0;font:600 .72rem ui-monospace,monospace}.bit-btn.active{background:var(--bit);color:#000}.debug-canvas{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.dbg-readout{max-width:100%;margin-top:.4rem;font-size:.74rem;line-height:1.35}.dbg-readout .rd-head{margin-bottom:.15rem;font-weight:700}.dbg-readout .rd-sub{color:var(--muted);margin-bottom:.3rem}.dbg-readout .tri{word-break:break-word;border:1px solid #fff2;border-radius:6px;margin-top:.3rem;padding:.3rem .45rem;font-family:ui-monospace,monospace}.dbg-readout .tri.hov{background:#ffe6500f;border-color:#ffe650}.dbg-readout .bad{color:#ff5bbf;font-weight:700}.dbg-readout .frozen{color:#5bc8ff}.dbg-slice{width:180px;height:180px;image-rendering:pixelated;background:#1e1e24;border:1px solid #fff3;border-radius:6px;margin-top:.2rem;display:none}.dbg-uv{flex-direction:column;gap:.25rem;margin-top:.4rem;display:flex}.dbg-uv.hidden{display:none}.dbg-uv-head{font-size:.78rem;font-weight:700}.uv-row{grid-template-columns:2.6rem 1fr 2.4rem;align-items:center;gap:.4rem;display:grid}.uv-row .uv-tag{color:var(--muted);font-family:ui-monospace,monospace;font-size:.72rem}.uv-row input[type=range]{width:100%;accent-color:var(--accent)}.uv-row .uv-val{text-align:right;font-family:ui-monospace,monospace;font-size:.72rem}.uv-btns{gap:.4rem;margin-top:.3rem;display:flex}.uv-btn{cursor:pointer;color:#e8e4dc;background:#ffffff14;border:1px solid #ffffff2a;border-radius:6px;flex:1;padding:.25rem .4rem;font-size:.74rem}.uv-btn:hover{background:#fff2}.uv-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.dbg-zoom{flex-direction:column;gap:.3rem;display:flex}.dbg-zoom-head{font-size:.8rem;font-weight:700}.dbg-cam{overflow-wrap:anywhere;font:.74rem/1.4 ui-monospace,monospace}#dbg-hover{flex:none;height:2.1rem;overflow:hidden}.dbg-zoom-btns{flex-wrap:wrap;gap:.25rem;display:flex}.zoom-btn{cursor:pointer;color:#e8e4dc;background:#ffffff14;border:1px solid #ffffff2a;border-radius:5px;min-width:2.1rem;padding:.2rem .35rem;font-family:ui-monospace,monospace;font-size:.74rem}.zoom-btn:hover{background:#fff2}.zoom-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.linkback,.linkfwd{color:var(--muted);white-space:nowrap;border:1px solid var(--line-soft);border-radius:999px;padding:.3rem .85rem;font-size:.9rem;text-decoration:none;transition:color .12s,border-color .12s}.linkback:hover,.linkfwd:hover{color:var(--ink);border-color:var(--accent)}.bar .linkback{margin-left:auto}.menu-foot{flex:none;gap:.5rem;margin-top:.9rem;display:flex}#app:has(.tools-hub){align-items:start}.tools-hub{width:min(920px,100%)}.asset-status{border:1px solid var(--line-soft);background:#0002;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0 .25rem;padding:.7rem .9rem;display:flex}.asset-status .as-state{flex:auto}.asset-status .as-state.ok strong{color:var(--ink)}.asset-status .as-actions{flex-wrap:wrap;gap:.5rem;display:flex}.asset-status button{margin-top:0}button.sm{border-radius:8px;padding:.3rem .7rem;font-size:.85rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin-top:1.25rem;display:grid}.tool-card{color:var(--ink);border:1px solid var(--line-soft);background:#0002;border-radius:12px;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .12s,transform 50ms;display:flex}.tool-card:hover{border-color:var(--accent)}.tool-card:active{transform:translateY(1px)}.tc-icon{flex:none;font-size:1.8rem;line-height:1}.tc-body{flex-direction:column;gap:.25rem;display:flex}.tc-title{font-size:1.05rem;font-weight:600}.tc-desc{font-size:.85rem;line-height:1.4}.spectator-ui{color:var(--ink);background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line-soft);border-radius:10px;align-items:center;gap:.75rem;padding:.35rem .65rem;font:13px/1.3 system-ui,sans-serif;display:flex;box-shadow:0 2px 10px #00000073}.spectator-badge{letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:.1rem .4rem;font-weight:700}.spectator-field{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.spectator-ui .ui-select{background-position:right .45rem center;padding:.2rem 1.5rem .2rem .5rem}.spectator-ui .ui-check{white-space:nowrap;gap:.4rem;min-height:0}.spectator-ui .ui-check input[type=checkbox]{width:1rem;height:1rem}.mp-pause-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.mp-pause-row .mp-pause-replace{white-space:nowrap;margin-top:0}.mp-pause-ai-row{font-size:.82rem}.mp-toast{background:var(--panel);border:1px solid var(--line-soft);color:var(--ink);border-radius:10px;padding:.6rem .8rem;font:13px/1.4 sans-serif;box-shadow:0 8px 24px #0006}.mp-toast-actions{gap:.5rem;margin-top:.5rem;display:flex}.mp-toast-actions button{margin-top:0}.chat-box-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);background:#00000059;border-radius:8px 8px 0 0;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:flex}.chat-box-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.chat-box-history{background:#00000059;flex-direction:column;gap:.15rem;max-height:220px;padding:.35rem .6rem;display:flex;overflow-y:auto}.chat-box.collapsed .chat-box-history{display:none}.chat-box-overlay{flex-direction:column;gap:.15rem;padding:.2rem .6rem 0;display:none}.chat-box.collapsed .chat-box-overlay{display:flex}.chat-line{color:var(--ink);word-break:break-word;text-shadow:0 1px 2px #000000e6,0 0 4px #000000b3;font:13px/1.4 sans-serif}.chat-line .chat-name{font-weight:700}.chat-line.spectator{color:#9a9a9a;font-style:italic}.chat-line.system{color:var(--muted);font-style:italic}.chat-line.fade{opacity:0;transition:opacity 1.2s}.chat-box-input-row{background:#00000073;border-radius:0 0 8px 8px;padding:.3rem .6rem}.chat-box-input-row.hidden{display:none}.chat-box-input{width:100%;color:var(--ink);border:1px solid var(--line-soft);background:#0005;border-radius:6px;padding:.25rem .5rem;font:13px/1.4 sans-serif}.chat-box-input:focus{outline:1px solid var(--accent)}.community-info{flex-direction:column;gap:.35rem;margin:.2rem 0 .6rem;display:flex}.community-desc{border-left:2px solid var(--line-soft);max-height:11rem;padding:.1rem 0 .1rem .6rem;font-size:.85rem;line-height:1.45;overflow-y:auto}.community-desc p{margin:0 0 .4rem}.community-comments{font-size:.85rem}.community-comments>summary{cursor:pointer}.community-comment{border-top:1px solid var(--line-soft);max-height:9rem;padding:.4rem 0 .2rem;line-height:1.4;overflow-y:auto}.community-comment p{margin:0 0 .2rem}
