:root{color-scheme:dark;--bg: #1a1a1d;--bg2: #232327;--bg3: #2d2d33;--fg: #e6e6e6;--muted: #888;--accent: #f9aa8f;--border: #3a3a40;--danger: #ff9a9a;--danger-bg: rgba(255, 92, 92, .1);--danger-border: rgba(255, 130, 130, .42);--layer-board: 0;--layer-board-object: 10;--layer-narrow-top-overlay: 80;--layer-narrow-initiative-rail: 100;--layer-narrow-chat-tab: 110;--layer-narrow-chat-panel: 140;--layer-narrow-menu-button: 160;--layer-narrow-menu-panel: 220;--layer-narrow-expanded-card: 250;--layer-narrow-tool-panel: 300;--layer-dialog: 400;--layer-admin-modal: 5000;--layer-toast: 5000;--layer-image-picker-modal: 5600;--layer-suggestion-popover: 9999;--layer-entrance: 9999;--layer-floating-menu: 10100;--layer-desktop-ribbon-toolbar: 119990;--layer-desktop-ribbon: 120000;--z-board: var(--layer-board);--z-board-object: var(--layer-board-object);--z-narrow-top-overlay: var(--layer-narrow-top-overlay);--z-narrow-initiative-rail: var(--layer-narrow-initiative-rail);--z-narrow-chat-tab: var(--layer-narrow-chat-tab);--z-narrow-chat-panel: var(--layer-narrow-chat-panel);--z-narrow-menu-button: var(--layer-narrow-menu-button);--z-narrow-menu-panel: var(--layer-narrow-menu-panel);--z-narrow-tool-panel: var(--layer-narrow-tool-panel);--z-dialog: var(--layer-dialog)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,system-ui,sans-serif;background:var(--bg);color:var(--fg)}.muted{color:var(--muted);font-size:12px}.placeholder{padding:32px;color:var(--muted)}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 10px;background:var(--bg2);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;white-space:nowrap}.app-header h1{font-size:16px;margin:0;font-weight:500;flex:0 0 auto}.tabs{display:flex;flex:0 0 auto;gap:4px}.tabs button,.tabs a{background:transparent;border:1px solid var(--border);color:var(--fg);padding:6px 14px;border-radius:4px;cursor:pointer;font-size:13px;text-decoration:none;line-height:1.2}.tabs button.active,.tabs a.active,.tabs a:hover{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}button.danger{border-color:var(--danger-border)!important;background:var(--danger-bg)!important;color:var(--danger)!important}button.danger:hover:not(:disabled),button.danger:focus-visible{border-color:#ffa0a0b8!important;background:#ff5c5c2e!important;color:#ffd0d0!important}.app-main{flex:1;min-height:0;overflow:hidden}.account-shell,.dashboard-page{min-height:100vh;background:linear-gradient(180deg,#18191efa,#121215),var(--bg)}.account-shell{display:grid;place-items:center;padding:24px}.login-panel{width:min(440px,100%);padding:22px;border:1px solid var(--border);border-radius:8px;background:var(--bg2);box-shadow:0 18px 44px #00000047}.login-brand h1{margin:0 0 6px;font-size:24px;letter-spacing:0}.login-brand p{margin:0 0 18px;color:var(--muted)}.oauth-actions{display:grid;gap:8px;margin-bottom:18px}.oauth-button,.dashboard-user button,.dashboard-action-form button,.room-card-actions a,.room-card-actions button,.detail-actions a,.detail-actions button,.detail-header button,.member-row button,.password-login-form button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:8px 12px;font-size:13px;line-height:1.2;text-decoration:none;cursor:pointer}.oauth-button{display:block;text-align:center}.oauth-button.disabled{opacity:.45;cursor:not-allowed}.legal-consent-row{display:flex;align-items:flex-start;gap:8px;margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.5}.legal-consent-row input{margin-top:3px}.legal-consent-row a,.legal-main a{color:var(--accent)}.password-login-form{display:grid;gap:12px}.password-login-form h2{margin:0;font-size:15px}.password-login-form label,.dashboard-action-form label,.invite-output{display:grid;gap:6px;color:var(--muted);font-size:12px}.password-login-form input,.dashboard-action-form input,.invite-output input{width:100%;border:1px solid var(--border);border-radius:4px;background:#151519;color:var(--fg);padding:9px 10px;font:inherit}.dashboard-room-settings{display:grid;gap:10px}.dashboard-room-settings label,.dashboard-preferences label{display:grid;gap:6px;color:var(--muted);font-size:12px}.dashboard-room-settings input,.dashboard-room-settings textarea,.dashboard-preferences select{width:100%;border:1px solid var(--border);border-radius:4px;background:#151519;color:var(--fg);padding:9px 10px;font:inherit}.dashboard-room-settings textarea{min-height:84px;resize:vertical}.dice-system-combobox{display:grid;gap:6px;min-width:0}.dice-system-combobox input{width:100%}.dice-system-options{display:grid;gap:4px;max-height:220px;overflow:auto;padding:4px;border:1px solid var(--border);border-radius:6px;background:#00000029}.dice-system-options button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;padding:5px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg);cursor:pointer;text-align:left}.dice-system-options button:hover,.dice-system-options button:focus-visible{border-color:#7dd3fc52;background:#7dd3fc1a}.dice-system-options button.selected{border-color:#7dd3fc7a;background:#7dd3fc29}.dice-system-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dice-system-options small{color:var(--muted);font-size:11px}.admin-announcement-editor{display:grid;gap:10px}.admin-announcement-editor textarea{min-height:76px;width:100%;border:1px solid var(--border);border-radius:4px;background:#151519;color:var(--fg);padding:9px 10px;font:inherit;resize:vertical}.dashboard-checkbox-row{display:flex!important;grid-template-columns:none;align-items:center;gap:8px}.dashboard-checkbox-row input{width:auto}.dashboard-scenario-actions{display:flex;flex-wrap:wrap;gap:8px}.file-button{display:inline-flex!important;align-items:center;justify-content:center;width:fit-content;min-height:36px;border:1px solid var(--border);border-radius:4px;background:#242431;color:var(--fg)!important;padding:0 12px;cursor:pointer}.file-button input{display:none}.dashboard-preferences{display:grid;gap:10px}.legal-main{max-width:860px}.legal-main p{margin:8px 0 0;color:#d6d6d8;font-size:14px;line-height:1.75}.legal-main ul{margin:10px 0 0;padding-left:22px;color:#d6d6d8;font-size:14px;line-height:1.7}.legal-main li+li{margin-top:6px}.form-error{border:1px solid rgba(249,170,143,.5);border-radius:4px;background:#f9aa8f1f;color:#ffd2c1;padding:9px 10px;font-size:13px}.form-success{border:1px solid rgba(93,201,148,.5);border-radius:4px;background:#5dc9941f;color:#bdf3d3;padding:9px 10px;font-size:13px}.scenario-panel{display:grid;gap:14px;color:var(--fg)}.scenario-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.scenario-panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.scenario-replace-tools{display:grid;gap:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff0a;padding:10px}.scenario-replace-row,.scenario-sample-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.scenario-tutorial-import{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid rgba(125,211,252,.32);border-radius:6px;background:#7dd3fc14}.scenario-tutorial-import div{display:grid;gap:3px;min-width:0}.scenario-tutorial-import strong{color:var(--fg);font-size:13px}.scenario-tutorial-import span{color:var(--muted);font-size:12px;line-height:1.5}.scenario-sample-picker span{color:var(--muted);font-size:13px}.scenario-sample-picker select{min-width:min(280px,100%);flex:1 1 220px}.scenario-panel-header h2,.scenario-current h3,.scenario-history h3{margin:0}.scenario-current,.scenario-history{display:grid;gap:10px}.scenario-scene-chip{width:fit-content;border:1px solid var(--border);border-radius:999px;background:#ffffff0f;color:var(--muted);padding:3px 8px;font-size:12px}.scenario-body{display:grid;gap:8px;line-height:1.7;white-space:pre-wrap}.scenario-body p{margin:0}.scenario-choice-list,.scenario-history-list{display:grid;gap:8px}.scenario-history-list details{border:1px solid var(--border);border-radius:6px;background:#ffffff0a;padding:8px 10px}.scenario-history-list summary{cursor:pointer;font-weight:700}.dashboard-page{display:grid;grid-template-rows:auto 1fr;color:var(--fg)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:10px 18px;border-bottom:1px solid var(--border);background:#232327eb}.dashboard-announcement-ribbon{position:sticky;top:0;z-index:20;height:26px;display:flex;align-items:center;overflow:hidden;border-top:1px solid rgba(74,222,128,.28);border-bottom:1px solid rgba(74,222,128,.28);background:linear-gradient(90deg,#0d3021f5,#12462deb);box-shadow:inset 0 1px #d1fae51a;color:#d9ffe9;white-space:nowrap}.dashboard-announcement-ribbon:before{content:"お知らせ";flex:0 0 auto;height:100%;display:inline-flex;align-items:center;padding:0 12px;border-right:1px solid rgba(187,247,208,.24);background:#22c55e29;color:#f0fff6;font-size:11px;font-weight:700;line-height:26px;transform:translateY(-1px)}.dashboard-announcement-viewport{flex:1 1 auto;min-width:0;height:100%;overflow:hidden}.dashboard-announcement-track{display:inline-flex;width:max-content;min-width:100%;height:100%;align-items:center;animation:dashboard-announcement-scroll 26s linear infinite;font-size:12px;line-height:26px;text-shadow:0 0 7px rgba(134,239,172,.32);will-change:transform}.dashboard-announcement-track span{display:inline-block;padding-right:80px;transform:translateY(-1px)}@keyframes dashboard-announcement-scroll{0%{transform:translate(100%)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.dashboard-announcement-track{animation:none}}.dashboard-header h1{margin:0;font-size:18px}.dashboard-user{display:flex;align-items:center;gap:10px}.provider-list{color:var(--muted);font-size:12px}.dashboard-main{overflow:auto;padding:20px}.dashboard-main:has(>.dashboard-announcement-ribbon){padding-top:0}.dashboard-main>.dashboard-announcement-ribbon{margin:0 -20px 16px}.dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:22px}.dashboard-sort-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;color:var(--muted);font-size:12px}.dashboard-sort-row button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:7px 10px;cursor:pointer}.dashboard-sort-row button.active{border-color:#f9aa8fa6;background:#f9aa8f29}.dashboard-action-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#2d2d33b3}.dashboard-account-linking{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin:0 0 16px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#232328b8}.dashboard-account-linking h2{margin:0 0 4px;font-size:15px}.dashboard-account-linking span{color:var(--muted);font-size:12px}.dashboard-oauth-actions{justify-content:flex-end}.dashboard-account-linking .form-error,.dashboard-account-linking .form-success{grid-column:1 / -1}.dashboard-support-links{display:grid;gap:8px;margin:0 0 16px;padding:9px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#22262ac7}.dashboard-support-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.dashboard-support-header h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 4px;font-size:15px}.dashboard-support-header h2 span{margin:0;color:var(--muted);font-size:12px}.dashboard-support-header>span{flex:0 0 auto;border:1px solid rgba(249,170,143,.35);border-radius:4px;color:#ffd2c1;padding:4px 7px;font-size:11px}.dashboard-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dashboard-support-link{display:flex;align-items:center;min-height:34px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:#ffffff09;color:var(--fg);text-decoration:none}.dashboard-support-link:hover,.dashboard-support-link:focus-visible{border-color:#f9aa8f8c;background:#f9aa8f14}.dashboard-support-link span{display:none}.dashboard-support-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dashboard-support-link small{display:none}@media(max-width:680px){.dashboard-support-grid{grid-template-columns:1fr}}.room-section{margin:0 0 28px}.room-section h2,.empty-dashboard h2{margin:0 0 12px;font-size:16px}.room-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.room-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg2)}.room-card-open{display:block;color:inherit}.room-card-thumbnail{position:relative;aspect-ratio:16 / 9;background:#151519}.room-card-thumbnail img,.room-card-placeholder{width:100%;height:100%;display:block;object-fit:cover}.room-card-placeholder{background:linear-gradient(135deg,#f9aa8f4d,#789aaf3d),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 1px,transparent 1px 12px)}.room-card-overlay{position:absolute;left:0;right:0;bottom:0;display:grid;gap:3px;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.74))}.room-card-overlay span{width:fit-content;border-radius:4px;background:#f9aa8fe6;color:#1a1a1d;padding:2px 6px;font-size:11px;font-weight:700}.room-card-overlay strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card-body{display:grid;gap:10px;padding:12px}.room-card-body p{min-height:34px;margin:0;color:var(--muted);font-size:13px}.room-card-meta,.room-card-actions,.detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.room-card-meta{color:var(--muted);font-size:12px}.dashboard-detail{position:fixed;top:72px;right:18px;z-index:500;width:min(420px,calc(100vw - 36px));max-height:calc(100vh - 92px);overflow:auto;display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:8px;background:#232327f5;box-shadow:0 18px 48px #00000061}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.detail-header h2,.dashboard-detail h3{margin:0;font-size:16px}.member-list{display:grid;gap:8px}.member-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:6px;background:#ffffff08}.member-row div{display:grid;gap:2px}.member-row span{color:var(--muted);font-size:12px}.empty-dashboard{padding:22px;border:1px solid var(--border);border-radius:8px;background:#2d2d33b3}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.dashboard-section-head h2{margin:0}.asset-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0 0 12px}.asset-summary-grid span{border:1px solid var(--border);border-radius:6px;background:#ffffff08;padding:9px 10px;color:var(--muted);font-size:12px}.dashboard-asset-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#2d2d33b3}.dashboard-asset-entry p{margin:0;color:var(--muted);font-size:13px}.dashboard-asset-entry a,.asset-library-upload button,.asset-library-actions button,.asset-library-actions a,.asset-library-segmented button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:8px 12px;font-size:13px;line-height:1.2;text-decoration:none;cursor:pointer}.asset-library-main{display:grid;grid-template-rows:auto auto auto 1fr;gap:12px;min-height:0;overflow:hidden;padding:20px}.asset-library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}.asset-library-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.asset-quota-meter{display:grid;gap:7px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:#232328c7}.asset-quota-meter div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.asset-quota-meter strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.asset-quota-meter span{color:var(--muted);font-size:12px}.asset-quota-bar{display:block;height:6px;overflow:hidden;border-radius:999px;background:#ffffff14}.asset-quota-bar i{display:block;height:100%;border-radius:inherit;background:#f9aa8fbd}.asset-library-upload{display:flex;align-items:end;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#232328c7}.asset-library-upload label,.asset-library-fields label{display:grid;gap:6px;color:var(--muted);font-size:12px}.asset-library-upload select,.asset-library-filters input,.asset-library-filters select,.asset-library-fields input{width:100%;min-height:36px;border:1px solid var(--border);border-radius:4px;background:#151519;color:var(--fg);padding:8px 10px;font:inherit}.asset-library-filters{display:grid;grid-template-columns:minmax(220px,1fr) auto auto minmax(140px,auto);gap:8px;align-items:center}.asset-library-segmented{display:flex;gap:4px;min-width:0}.asset-library-segmented button{min-height:36px;padding:7px 10px;white-space:nowrap}.asset-library-segmented button.active{border-color:#f9aa8fa6;background:#f9aa8f29}.asset-library-grid{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:12px;min-height:0}.asset-library-list,.asset-library-detail{min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#232328c7}.asset-library-list{display:grid;align-content:start;gap:6px;padding:8px}.asset-library-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;min-height:70px;width:100%;border:1px solid transparent;border-radius:6px;background:#ffffff08;color:var(--fg);padding:7px;text-align:left;cursor:pointer}.asset-library-row:hover,.asset-library-row:focus-visible,.asset-library-row.active{border-color:#f9aa8f80;background:#f9aa8f17}.asset-library-row img,.asset-library-kind{width:56px;height:56px;border-radius:5px;background:#151519}.asset-library-row img{object-fit:cover}.asset-library-kind{display:grid;place-items:center;color:var(--muted);font-weight:700}.asset-library-row span{display:grid;gap:3px;min-width:0}.asset-library-row strong,.asset-library-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-library-row small{color:var(--muted);font-size:12px}.asset-library-detail{display:grid;align-content:start;gap:12px;padding:12px}.asset-library-preview{display:grid;place-items:center;min-height:280px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25% 75%,rgba(255,255,255,.04) 75%),linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25% 75%,rgba(255,255,255,.04) 75%),#151519;background-position:0 0,10px 10px;background-size:20px 20px}.asset-library-preview img{display:block;max-width:100%;max-height:min(46vh,520px);object-fit:contain}.asset-library-preview audio{width:min(520px,100%)}.asset-library-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-library-actions{display:flex;flex-wrap:wrap;gap:8px}.asset-library-usages{display:grid;gap:8px}.asset-library-usages h2{margin:0;font-size:15px}.asset-library-usages ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.asset-library-usages li{display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#ffffff08}.asset-library-usages li span{color:var(--muted);font-size:12px}.dashboard-asset-list{display:grid;gap:8px}.dashboard-asset-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:54px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#ffffff08}.dashboard-asset-row img,.asset-kind-badge{width:42px;height:42px;border-radius:5px;background:#151519}.dashboard-asset-row img{object-fit:cover}.asset-kind-badge{display:grid;place-items:center;color:var(--muted);font-size:10px;text-transform:uppercase}.dashboard-asset-row div:nth-child(2){display:grid;gap:2px;min-width:0}.dashboard-asset-row strong,.dashboard-asset-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-asset-row span{color:var(--muted);font-size:12px}.dashboard-asset-row a,.dashboard-asset-row button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:7px 10px;font-size:12px;line-height:1.2;text-decoration:none;cursor:pointer}@media(max-width:680px){.dashboard-header,.dashboard-user{align-items:flex-start;flex-direction:column}.dashboard-main{padding:14px}.dashboard-action-form{grid-template-columns:1fr}.dashboard-detail{top:10px;right:10px;width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.dashboard-asset-row{grid-template-columns:42px minmax(0,1fr)}.dashboard-asset-row a,.dashboard-asset-row button{grid-column:span 2}.dashboard-asset-entry,.asset-library-upload{align-items:stretch;flex-direction:column}.asset-library-main{overflow:auto;padding:14px}.asset-library-toolbar,.asset-library-filters,.asset-library-grid,.asset-library-fields{grid-template-columns:1fr}.asset-library-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-library-list,.asset-library-detail{overflow:visible}}.scene-with-chat{display:grid;height:100%;min-height:0}.scene-with-chat.server-play-layout{position:relative;grid-template-columns:1fr!important;overflow:hidden}.server-play-layout>.scene-wrap{grid-column:1;grid-row:1;min-width:0;min-height:0}.server-play-layout>.resizer{display:none}.server-play-layout>.chat-side{position:absolute;top:12px;left:max(12px,calc(100vw - 544px));right:auto;bottom:12px;width:min(var(--window-width, 520px),calc(100vw - 48px));height:min(var(--window-height, calc(100vh - 24px) ),calc(100vh - 24px));max-width:none;z-index:120;border:1px solid rgba(255,255,255,.16);border-radius:6px;box-shadow:0 18px 50px #0000006b;background:#12141aa3;-webkit-backdrop-filter:blur(5px) saturate(115%);backdrop-filter:blur(5px) saturate(115%)}.server-play-layout>.chat-side.minimized{bottom:auto;height:auto;min-height:0}.draggable-window{transform:translate(var(--window-offset-x, 0),var(--window-offset-y, 0))}.window-drag-handle{cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.window-drag-handle:active{cursor:default}.window-actions{display:flex;align-items:center;gap:6px}.window-actions button,.chat-drag-handle button{min-width:24px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--fg);border-radius:4px;padding:3px 7px;cursor:pointer;font-size:12px}.chat-drag-handle{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:5px 8px 5px 10px;border-bottom:1px solid rgba(255,255,255,.13);background:#0c0e1247;color:var(--muted);font-size:12px;font-weight:700}@media(max-width:760px){.server-play-layout>.chat-side{inset:auto auto 8px 8px;width:calc(100vw - 16px);max-width:none;height:min(70vh,620px)}}.resizer{background:var(--border);cursor:col-resize;transition:background .12s}.resizer:hover,.resizer:active{background:var(--accent)}.chat-side{background:#232327c2;min-height:0;overflow:hidden;display:flex;flex-direction:column}.loader{padding:8px 16px;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.loader h2{margin:0 8px 0 0;font-size:13px;font-weight:500;color:var(--muted)}.loader-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.loader-row label{display:flex;gap:6px;align-items:center;font-size:12px}.loader-or{color:var(--muted);font-size:12px}.loader-status{font-size:12px;color:var(--muted);margin-left:auto}.loader-err{color:#f44336}.scene-wrap{height:100%;display:flex;flex-direction:column}.scene-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border)}.app.app-desktop-ribbon .scene-toolbar{position:fixed;top:72px;left:0;right:0;z-index:var(--layer-desktop-ribbon-toolbar);flex-wrap:wrap;gap:6px;min-height:42px;padding:6px 10px;background:linear-gradient(180deg,#1b1d24bd,#11121694),#11121694;border-bottom:1px solid rgba(255,255,255,.11);box-shadow:0 8px 22px #0003;-webkit-backdrop-filter:blur(6px) saturate(112%);backdrop-filter:blur(6px) saturate(112%)}.scene-primary-controls{display:flex;align-items:center;gap:6px;min-width:0}.scene-3d-aux-controls{display:inline-flex;align-items:center;gap:4px;min-width:0}.scene-primary-controls select,.scene-primary-controls button,.scene-3d-aux-controls button{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 10px;font-size:12px}.scene-primary-controls .scene-select{width:clamp(180px,24vw,320px);min-width:180px;max-width:320px;color-scheme:dark;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.app-desktop-ribbon .scene-header-board-controls .scene-select{width:clamp(90px,12vw,160px);min-width:90px;max-width:160px}.scene-select option{background:#20232b;color:#ffffffeb}.scene-select option:disabled{color:#ffffff6b}.app.app-desktop-ribbon .scene-primary-controls select,.app.app-desktop-ribbon .scene-primary-controls button,.app.app-desktop-ribbon .scene-3d-aux-controls button{background:#ffffff0f;border-color:#ffffff24}.app.app-desktop-ribbon .scene-primary-controls button:hover,.app.app-desktop-ribbon .scene-primary-controls button:focus-visible,.app.app-desktop-ribbon .scene-3d-aux-controls button:hover,.app.app-desktop-ribbon .scene-3d-aux-controls button:focus-visible{border-color:#f9aa8f8c;background:#ffffff1f}.app.app-desktop-ribbon .scene-primary-controls button.active{background:#f9aa8fe6;border-color:#f9aa8ff5;color:#1a1a1d}.app.app-desktop-ribbon.app-ribbon-collapsed .scene-toolbar{display:none}.scene-viewport{flex:1;overflow:hidden;position:relative;cursor:default;background:#0e0e10;touch-action:none;-webkit-user-select:none;user-select:none}.scene-viewport:active{cursor:default}.scene-selection-actions{position:absolute;left:50%;top:10px;z-index:2300;display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:min(760px,calc(100% - 24px));padding:6px 8px;transform:translate(-50%);background:#16181ee0;border:1px solid rgba(255,255,255,.14);border-radius:6px;box-shadow:0 8px 24px #00000052;-webkit-backdrop-filter:blur(8px) saturate(112%);backdrop-filter:blur(8px) saturate(112%)}.scene-selection-actions button{min-height:30px;padding:4px 9px;font-size:12px;border-radius:4px;white-space:nowrap}.scene-selection-count{color:var(--muted);font-size:12px;white-space:nowrap}.scene-backdrop{position:absolute;inset:0;overflow:hidden;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none;pointer-events:none}.scene-backdrop-image{position:absolute;inset:-8px;background-size:cover;background-color:#444;background-position:50% 50%;filter:blur(8px)}.scene-stage{position:absolute;left:50%;top:50%;transform-origin:0 0;z-index:1}.scene-board{position:relative;transform:translate(-50%,-50%);outline:1px solid #444;transform-style:preserve-3d}.scene-board:before{content:"";position:absolute;inset:-1px;background:#00000080;transform:translateZ(-24px);pointer-events:none}.scene-board:after{content:"";position:absolute;inset:0;background:transparent;transform:translateZ(-24.1px);box-shadow:0 0 50px 15px #000000b3;pointer-events:none}.board-side{position:absolute;background:#111;pointer-events:none;transform-style:preserve-3d;border:1px solid rgba(255,255,255,.05)}.board-side-top{top:0;left:0;width:100%;height:24px;transform:rotateX(-90deg);transform-origin:top;background-image:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px}.board-side-bottom{bottom:0;left:0;width:100%;height:24px;transform:rotateX(90deg);transform-origin:bottom;background-image:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px}.board-side-left{top:0;left:0;height:100%;width:24px;transform:rotateY(90deg);transform-origin:left;background-image:linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px}.board-side-right{top:0;right:0;height:100%;width:24px;transform:rotateY(-90deg);transform-origin:right;background-image:linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px}.scene-board.mode-switching{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.scene-viewport:not([style*=perspective]) .scene-board:before,.scene-viewport:not([style*=perspective]) .scene-board:after,.scene-viewport:not([style*=perspective]) .board-side{display:none}.field-bg,.field-fg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none;background-repeat:no-repeat;background-position:center}.field-grid{position:absolute;inset:0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px)}.scene-viewport[style*=perspective] .field-grid{background-image:linear-gradient(to right,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(to left,rgba(0,0,0,.3) 1px,transparent 1px),linear-gradient(to top,rgba(0,0,0,.3) 1px,transparent 1px)}.client-grid-overlay{position:absolute;inset:0;pointer-events:none;z-index:90;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:24px 24px;background-position:0 0;mix-blend-mode:difference}.marker,.item,.char-piece{position:absolute;pointer-events:auto;touch-action:none}.item.card-deck-item{overflow:visible}.item.card-deck-item:before,.item.card-deck-item:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);border-radius:4px;background:#0c0f16bf;box-shadow:0 2px 5px #00000047;pointer-events:none}.item.card-deck-item:before{transform:translate(5px,5px);z-index:-2}.item.card-deck-item:after{transform:translate(2.5px,2.5px);z-index:-1}.marker{pointer-events:auto}.marker,.item{background:transparent}.marker-inner,.item-inner{position:relative;width:100%;height:100%;transform-origin:center center}.marker.has-area{overflow:visible}.marker-area{position:absolute;inset:0;z-index:0;box-sizing:border-box;display:grid;place-items:center;border:2px solid #3bb4ff;pointer-events:none;overflow:hidden}.marker-area-circle{border-radius:999px}.marker-area-rectangle{border-radius:4px}.marker-area-label{max-width:calc(100% - 10px);padding:2px 5px;border-radius:4px;background:#080b12b3;color:#fff;font-size:10px;font-weight:700;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.75)}.marker.has-area .marker-inner{z-index:1;pointer-events:none}.marker-inner.empty-marker-image{pointer-events:none}.item-inner.empty-image{box-sizing:border-box;border:2px dashed rgba(190,190,190,.58);background:#a0a0a02e}.card-deck-inner{border-radius:4px;box-shadow:0 0 0 2px #ffffff3d,0 6px 12px #00000059}.private-peek-icon{position:absolute;left:50%;top:50%;width:min(44%,42px);aspect-ratio:1.55;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.62);border-radius:999px/70%;background:#0e121a61;box-shadow:0 2px 10px #00000059;pointer-events:none}.private-peek-icon:before{content:"";position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#ffffffad;box-shadow:inset 0 0 0 5px #0e121a8c}.private-peek-icon:after{content:"";position:absolute;left:12%;right:12%;top:50%;height:2px;transform:translateY(-50%) rotate(-28deg);background:#ffffffa8;box-shadow:0 0 0 2px #0e121a57}.marker-inner img,.item-inner img{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;pointer-events:none}.toolbar-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--fg);cursor:pointer}.char-piece.inactive{opacity:.4}.char-piece{border:1px solid #888;border-radius:4px;background:transparent;cursor:default;display:flex;align-items:center;justify-content:center;overflow:visible}.char-piece.dragging{cursor:default}.marker.selected,.item.selected,.char-piece.selected{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #f9aa8f38,0 8px 20px #0000005c}.remote-locked{cursor:not-allowed;opacity:.85}.remote-locked:after{content:"";position:absolute;inset:-2px;border:2px solid var(--accent);border-radius:4px;box-shadow:0 0 8px var(--accent);opacity:.6;pointer-events:none}.piece-lock-label{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:var(--accent, #f9aa8f);color:#000;font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px;white-space:nowrap;pointer-events:none;z-index:2250;box-shadow:0 2px 8px #00000080;border:1px solid rgba(0,0,0,.2)}.char-piece.remote-locked .char-piece-label{opacity:.5}@media(hover:none)and (pointer:coarse){.piece-action-menu{min-width:min(320px,calc(100vw - 24px))}.piece-action-menu button{min-height:40px}}.char-piece-anim{position:absolute;inset:0;display:block;transform-origin:50% 50%;pointer-events:none;transform-style:preserve-3d}.char-piece-anim>img,.char-piece-anim>.char-piece-fallback{pointer-events:auto}.emote-fx{transform-origin:50% 50%;transform-style:preserve-3d}.emote-shadow,.char-piece-shadow{position:absolute;inset:0;pointer-events:none;background:var(--emote-effect-gradient, linear-gradient(to bottom, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .78) 25%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .3) 100%));border-radius:4px;mix-blend-mode:var(--emote-effect-blend, normal);opacity:var(--emote-effect-opacity, 1);-webkit-mask-image:var(--shadow-mask);mask-image:var(--shadow-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:emote-shadow-fade-in .26s ease-out}.emote-effect-dark{--emote-effect-gradient: linear-gradient(to bottom, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .78) 25%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .3) 100%)}.emote-effect-white{--emote-effect-gradient: linear-gradient(to bottom, rgba(255, 255, 245, 1) 0%, rgba(255, 252, 218, .9) 26%, rgba(255, 244, 178, .58) 63%, rgba(255, 236, 130, .24) 100%);--emote-effect-blend: screen;--emote-effect-opacity: .92}.emote-effect-red{--emote-effect-gradient: linear-gradient(to bottom, rgba(190, 0, 0, .98) 0%, rgba(150, 0, 0, .88) 24%, rgba(92, 0, 0, .66) 62%, rgba(38, 0, 0, .38) 100%);--emote-effect-blend: multiply;--emote-effect-opacity: .96}.emote-translucent{opacity:.42;transition:opacity .18s ease}@keyframes emote-shadow-fade-in{0%{opacity:0}to{opacity:1}}.char-piece-anim.emote-1,.emote-fx.emote-1{animation:emote-jump 1.1s ease-in-out}@keyframes emote-jump{0%{transform:translateY(0)}14%{transform:translateY(-28px)}28%{transform:translateY(0)}47%{transform:translateY(-26px)}61%{transform:translateY(0)}80%{transform:translateY(-24px)}94%{transform:translateY(0)}to{transform:translateY(0)}}.char-piece-anim.emote-2,.emote-fx.emote-2{animation:emote-shake .8s linear}@keyframes emote-shake{0%{transform:translate(0) scale(1)}10%{transform:translate(-2px) scale(.96)}20%{transform:translate(3px) scale(.96)}30%{transform:translate(-3px) scale(.96)}40%{transform:translate(2px) scale(.96)}50%{transform:translate(-2px) scale(.96)}60%{transform:translate(3px) scale(.96)}70%{transform:translate(-3px) scale(.96)}80%{transform:translate(2px) scale(.97)}90%{transform:translate(-1px) scale(.98)}to{transform:translate(0) scale(1)}}.char-piece-anim.emote-3,.emote-fx.emote-3{transform-origin:50% 100%;animation:emote-swing 1.8s ease-in-out}@keyframes emote-swing{0%{transform:rotate(0)}12.5%{transform:rotate(14deg)}25%{transform:rotate(0)}37.5%{transform:rotate(-14deg)}50%{transform:rotate(0)}62.5%{transform:rotate(14deg)}75%{transform:rotate(0)}87.5%{transform:rotate(-14deg)}to{transform:rotate(0)}}.char-piece-anim.emote-4,.emote-fx.emote-4{animation:emote-riding-bounce 2.6s linear}@keyframes emote-riding-bounce{0%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}9%{transform:translateY(-12%) scaleX(.99) scaleY(1.03) rotate(-.5deg)}12%{transform:translateY(-14%) scaleX(.98) scaleY(1.04) rotate(-.8deg)}16%{transform:translateY(8%) scaleX(1.08) scaleY(.91) rotate(1deg)}19%{transform:translateY(1%) scaleX(1.02) scaleY(.98) rotate(.2deg)}20%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}29%{transform:translateY(-12%) scaleX(.99) scaleY(1.03) rotate(.5deg)}32%{transform:translateY(-14%) scaleX(.98) scaleY(1.04) rotate(.8deg)}36%{transform:translateY(8%) scaleX(1.08) scaleY(.91) rotate(-1deg)}39%{transform:translateY(1%) scaleX(1.02) scaleY(.98) rotate(-.2deg)}40%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}49%{transform:translateY(-12%) scaleX(.99) scaleY(1.03) rotate(-.5deg)}52%{transform:translateY(-15%) scaleX(.98) scaleY(1.05) rotate(-1deg)}56%{transform:translateY(9%) scaleX(1.09) scaleY(.9) rotate(1.2deg)}59%{transform:translateY(1%) scaleX(1.02) scaleY(.98) rotate(.2deg)}60%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}69%{transform:translateY(-12%) scaleX(.99) scaleY(1.03) rotate(.5deg)}72%{transform:translateY(-14%) scaleX(.98) scaleY(1.04) rotate(.8deg)}76%{transform:translateY(8%) scaleX(1.08) scaleY(.91) rotate(-1deg)}79%{transform:translateY(1%) scaleX(1.02) scaleY(.98) rotate(-.2deg)}80%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}89%{transform:translateY(-12%) scaleX(.99) scaleY(1.03) rotate(-.5deg)}92%{transform:translateY(-14%) scaleX(.98) scaleY(1.04) rotate(-.8deg)}96%{transform:translateY(8%) scaleX(1.08) scaleY(.91) rotate(1deg)}99%{transform:translateY(1%) scaleX(1.02) scaleY(.98) rotate(.2deg)}to{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}}.char-piece-anim.emote-5,.emote-fx.emote-5{animation:emote-5-anger 1.3s linear}@keyframes emote-5-anger{0%{transform:translate(0) rotate(0)}8%{transform:translateY(-30px) rotate(0)}14%{transform:translate(-3px,-30px) rotate(-4deg)}20%{transform:translate(3px,-30px) rotate(4deg)}26%{transform:translate(-3px,-30px) rotate(-3deg)}32%{transform:translate(2px,-30px) rotate(3deg)}38%{transform:translate(-2px,-30px) rotate(-3deg)}44%{transform:translate(2px,-30px) rotate(2deg)}50%{transform:translate(-1px,-30px) rotate(-2deg)}56%{transform:translate(1px,-30px) rotate(2deg)}62%{transform:translateY(-30px) rotate(0)}72%{transform:translateY(-30px) rotate(0)}82%{transform:translate(0) rotate(0)}to{transform:translate(0) rotate(0)}}.char-piece-anim.emote-6,.emote-fx.emote-6{animation:emote-spin .8s ease-in-out}@keyframes emote-spin{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(360deg)}}.char-piece img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.char-piece.locked,.item.locked{cursor:default}.char-piece-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;overflow:hidden;box-sizing:border-box;padding:0 4px}.char-piece-fallback-name{display:block;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip;line-height:1.2;text-align:center}.char-piece-label{position:absolute;top:-20px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;background:#000000b3;color:#f9aa8f;padding:1px 6px;border-radius:2px;pointer-events:none}.char-piece-status{position:absolute;top:-20px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;background:#000000b3;color:#f9aa8f;padding:1px 6px;border-radius:2px;pointer-events:none}.piece-ground-guide{position:absolute;left:50%;border:2px solid rgba(143,211,255,.95);border-radius:50%;background:radial-gradient(circle,rgba(143,211,255,.28) 0 34%,rgba(143,211,255,.12) 35% 58%,transparent 60%),#122a3a29;box-shadow:0 0 10px #8fd3ff7a;cursor:grab;opacity:0;pointer-events:none;scale:.82;transition:opacity .12s ease,scale .12s ease;z-index:2200}.char-piece:hover .piece-ground-guide,.char-piece.selected .piece-ground-guide{opacity:.95;pointer-events:auto;scale:1}.char-piece.dragging .piece-ground-guide{opacity:0;pointer-events:none}.piece-ground-guide:active{cursor:grabbing}.drag-drop-guide{position:absolute;width:42px;height:28px;border:2px solid rgba(255,218,94,.98);border-radius:50%;background:radial-gradient(circle,rgba(255,218,94,.34) 0 30%,rgba(255,218,94,.13) 31% 58%,transparent 60%),#46340a29;box-shadow:0 0 12px #ffda5e80;pointer-events:none;transform-origin:center;will-change:transform;z-index:99998}.drag-drop-guide:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff6b9f2;transform:translate(-50%,-50%)}.piece-floor-shadow{position:absolute;left:50%;top:50%;width:80%;height:80%;background:#0006;border-radius:50%;transform:translate(-50%,-50%) rotateX(90deg);filter:blur(4px);pointer-events:none;z-index:-1}.elevation-guide{position:absolute;left:50%;bottom:0;width:1px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.4),rgba(255,255,255,.4) 2px,transparent 2px,transparent 4px);transform:translate(-50%);pointer-events:none;transition:height .2s}.scene-viewport.visual-dragging .item.dragging,.scene-viewport.visual-dragging .char-piece.dragging,.scene-viewport.visual-dragging .marker.dragging{opacity:.6}.scene-toolbar label.toolbar-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;cursor:pointer}.scene-toolbar label.toolbar-toggle input[type=checkbox]{margin:0}.scene-board-settings-menu{position:fixed;top:86px;right:18px;z-index:calc(var(--layer-desktop-ribbon) + 2);width:min(330px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 108px));overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(180deg,#1f2027f5,#111216f0),var(--bg2);box-shadow:0 18px 44px #0000005c;-webkit-backdrop-filter:blur(8px) saturate(112%);backdrop-filter:blur(8px) saturate(112%)}.scene-board-settings-menu-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.scene-board-settings-menu-header strong{font-size:13px}.scene-board-settings-menu-header button{padding:4px 8px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#ffffff0f;color:var(--fg);cursor:pointer;font-size:11px}.scene-board-settings-menu-body{display:grid;gap:8px}.scene-board-settings-menu .toolbar-toggle{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;line-height:1.25;cursor:pointer}.scene-board-settings-menu .toolbar-toggle input[type=checkbox]{flex:0 0 auto;margin:0}.scene-board-settings-action{justify-self:start;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#ffffff0f;color:var(--fg);cursor:pointer;font-size:12px}.scene-board-settings-action:hover,.scene-board-settings-action:focus-visible{border-color:#f9aa8f8c;background:#ffffff1f}.scene-board-settings-status{display:grid;gap:3px;min-width:0;padding-top:4px;border-top:1px solid rgba(255,255,255,.08);font-size:11px}.scene-board-settings-status .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-hover-popup{position:fixed;z-index:10000;width:min(300px,calc(100vw - 16px));max-height:min(360px,calc(100vh - 16px));overflow:hidden;padding:10px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#1c1c20f0;color:var(--fg);box-shadow:0 8px 24px #00000073;pointer-events:none;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scene-selection-rect{position:absolute;z-index:10010;pointer-events:none;border:1px solid rgba(143,211,255,.9);background:#8fd3ff29;box-shadow:0 0 0 1px #00000038}.piece-action-menu{position:fixed;z-index:10020;width:min(420px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#12141aad;color:var(--fg);box-shadow:0 14px 36px #0000007a;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%)}.piece-action-menu.character{width:min(400px,calc(100vw - 16px))}.piece-action-menu.marker{width:min(300px,calc(100vw - 16px))}.piece-action-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-top:5px}.piece-action-menu.marker .piece-action-menu-grid{grid-template-columns:1fr}.piece-action-menu header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 4px 7px;border-bottom:1px solid rgba(255,255,255,.11)}.piece-action-menu header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.piece-action-menu button{width:100%;margin:0;border:1px solid rgba(255,255,255,.13);border-radius:4px;background:#ffffff0f;color:var(--fg);padding:6px 8px;text-align:left;cursor:default;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.shortcut-hint{font-size:10px;color:var(--muted);opacity:.5;font-family:inherit;pointer-events:none}.piece-action-menu header button{width:26px;margin:0;padding:3px 0;text-align:center;justify-content:center}.piece-action-menu-header-actions{display:flex;align-items:center;gap:4px}.piece-action-menu header button.external-url-button{width:auto;min-width:40px;padding:3px 8px}.piece-action-menu button:hover{border-color:var(--accent);background:#f9aa8f1f}.piece-action-menu button.danger{border-color:#ff646461;color:#ffb4b4}.piece-action-menu footer{margin-top:7px;padding:6px 4px 2px;border-top:1px solid rgba(255,255,255,.1);color:var(--muted);font-size:10px;line-height:1.35}.scene-viewport.ruler-mode{cursor:crosshair}.scene-hover-head{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;min-width:0}.scene-hover-head img{width:44px;height:44px;object-fit:contain;border-radius:3px;background:var(--bg3)}.scene-hover-thumb-placeholder{box-sizing:border-box;width:44px;height:44px;border:2px dashed rgba(190,190,190,.58);border-radius:3px;background:#a0a0a02e}.scene-hover-title{font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-hover-subtitle{margin-top:2px;color:var(--muted)}.scene-hover-rows{display:grid;gap:4px;margin-top:8px}.scene-hover-row{display:grid;grid-template-columns:88px 1fr;gap:8px;min-width:0}.scene-hover-row span{color:var(--muted)}.scene-hover-row strong{min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-hover-memo{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);color:#ddd;line-height:1.45;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.board-character-status-list{position:absolute;left:0;top:52px;z-index:110;display:grid;gap:6px;width:min(330px,calc(100vw - 32px));max-height:calc(100% - 264px);overflow-x:hidden;overflow-y:auto;padding:8px 12px 8px 8px;scrollbar-width:none;pointer-events:auto}.board-character-status-list::-webkit-scrollbar{display:none}.board-character-status{display:grid;grid-template-columns:34px minmax(76px,1fr) repeat(3,minmax(42px,auto));align-items:center;gap:6px;min-height:42px;padding:5px 8px 5px 5px;border:1px solid rgba(255,255,255,.13);border-left:4px solid #888;border-radius:4px;background:#12141ab8;color:var(--fg);cursor:pointer;text-align:left;box-shadow:0 5px 16px #00000047;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.board-character-status:hover{background:#20232ad1}.board-character-status img,.board-character-status-fallback{width:30px;height:30px;border-radius:4px;object-fit:cover}.board-character-status-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.board-character-status-main,.board-character-status-param{min-width:0;display:grid;gap:1px}.board-character-status-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.board-character-status-sub,.board-character-status-param span{color:var(--muted);font-size:10px}.board-character-status-param strong{font-size:12px;font-weight:700;white-space:nowrap}.board-character-status.secret .board-character-status-param strong{color:var(--muted);letter-spacing:1px}@media(max-width:760px){.board-character-status-list{top:48px;width:min(280px,calc(100vw - 20px));max-height:32vh}.board-character-status{grid-template-columns:30px minmax(70px,1fr) repeat(2,minmax(40px,auto))}.board-character-status-param:nth-of-type(n+4){display:none}}.char-panel{display:grid;grid-template-columns:260px 1fr;height:100%}.char-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg2)}.char-search{display:grid;gap:6px;padding:8px;border-bottom:1px solid var(--border)}.char-search input{width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px}.char-search-controls{display:grid;grid-template-columns:1fr 28px 28px;gap:4px;align-items:center}.char-search-controls button{height:26px;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;cursor:pointer}.char-search-controls button:disabled{opacity:.45;cursor:default}.char-sort-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px}.char-sort-controls select{min-width:0;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:5px 6px;font-size:12px}.char-list{overflow-y:auto;min-height:0}.char-list-item{display:flex;align-items:center;gap:8px;padding:8px 12px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--fg);text-align:left;cursor:pointer;font-size:13px}.char-list-item:hover{background:var(--bg3)}.char-list-item.active{background:var(--bg3);border-left:3px solid var(--accent)}.char-list-item.matched:not(.active){background:#f9aa8f1f}.char-list-item img,.char-list-fallback{width:32px;height:32px;border-radius:4px;object-fit:cover}.char-detail{overflow-y:auto;padding:24px}.char-sheet header{display:flex;gap:16px;align-items:center;margin-bottom:24px}.char-sheet-icon{width:80px;height:160px;border-radius:6px;object-fit:contain;background:var(--bg3)}.char-sheet-icon.fallback{display:block}.char-sheet h2{margin:0;font-size:22px}.char-sheet h3{font-size:13px;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px}.char-sheet section{margin-bottom:20px}.kv-row{display:flex;gap:8px;flex-wrap:wrap}.kv{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:6px 12px;display:flex;flex-direction:column;min-width:80px}.kv .k{font-size:11px;color:var(--muted)}.kv .v{font-size:16px;font-weight:500}.multiline{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:12px;white-space:pre-wrap;font-family:inherit;font-size:13px;margin:0}.faces{display:flex;flex-wrap:wrap;gap:8px}.face{width:80px;text-align:center;font-size:12px}.face img,.face-fallback{width:80px;height:160px;border-radius:4px;object-fit:contain;background:var(--bg3)}.chat-wrap{display:flex;flex-direction:column;height:100%;min-width:0}.chat-side>.chat-wrap{flex:1;min-height:0}.chat-toolbar{display:flex;gap:12px;align-items:center;padding:6px 12px;background:#23232785;border-bottom:1px solid var(--border);min-width:0}.chat-toolbar select,.chat-toolbar input{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px}.chat-toolbar input{flex:1;max-width:400px}.chat-download-btn{flex-shrink:0;padding:3px 7px;font-size:13px;line-height:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:inherit;cursor:pointer;opacity:.6;transition:opacity .15s}.chat-download-btn:hover{opacity:1}.chat-history-loader{display:flex;justify-content:center;padding:6px 12px;background:#08090c24;border-bottom:1px solid var(--border)}.chat-history-loader button{padding:4px 10px;font-size:12px;color:var(--fg);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer}.chat-history-loader button:disabled{cursor:wait;opacity:.6}.chat-parallel-controls{display:flex;gap:6px;min-width:0}.chat-parallel-controls select{min-width:110px;max-width:180px}.chat-list{flex:1;overflow-y:auto;padding:12px 16px;background:#08090c2e}.chat-target-column{--chat-target-color: #8fd3ff;position:relative;box-shadow:inset 0 0 0 1px var(--chat-target-color),inset 0 0 0 999px color-mix(in srgb,var(--chat-target-color) 4%,transparent)}.chat-list.chat-target-column,.chat-lane.chat-target-column{z-index:1}.chat-parallel{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto;background:#1a1a1d38}.chat-parallel.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.chat-lane{min-width:180px;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:#2323275c}.chat-lane:last-child{border-right:0}.chat-lane-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:7px 10px;border-bottom:1px solid var(--border);background:#2d2d339e;font-size:12px;font-weight:600}.chat-lane-header span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-lane-list{flex:1;min-height:0;overflow-y:auto;padding:8px 10px}.chat-sync{flex:1;min-height:0;overflow:auto;background:#1a1a1d38}.chat-sync-grid{position:relative;min-width:540px}.chat-sync-grid.two{min-width:360px}.chat-target-column-grid{--chat-target-color: #8fd3ff;--chat-target-count: 3;--chat-target-index: 0}.chat-target-column-grid:before{content:"";position:absolute;top:0;bottom:0;left:calc((100% / var(--chat-target-count)) * var(--chat-target-index));z-index:4;width:calc(100% / var(--chat-target-count));box-sizing:border-box;border:1px solid var(--chat-target-color);background:color-mix(in srgb,var(--chat-target-color) 4%,transparent);pointer-events:none}.chat-sync-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));border-bottom:1px solid var(--border)}.chat-sync-header.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.chat-sync-header-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:32px;padding:7px 10px;border-right:1px solid var(--border);background:#2d2d339e;font-size:12px;font-weight:600}.chat-sync-header-cell:last-child{border-right:0}.chat-sync-header-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sync-list{display:grid}.chat-virtual-spacer{flex:0 0 auto;pointer-events:none}.chat-virtual-item{contain:layout paint style}.chat-sync-row{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));border-bottom:1px solid rgba(255,255,255,.06)}.chat-sync-row.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.chat-sync-cell{min-width:0;padding:0 10px;border-right:1px solid var(--border);background:#2323275c}.chat-sync-cell:last-child{border-right:0}.chat-sync-cell.empty{background:linear-gradient(#ffffff05,#ffffff05),#1a1a1d2e}.chat-msg{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.chat-msg.compact{gap:8px;padding:6px 0}.chat-msg.secret{border-bottom-color:#d99a1e52}.chat-msg.canceled{opacity:.78}.chat-icon{width:36px;height:36px;border-radius:4px;object-fit:cover;flex-shrink:0}.character-thumb{object-position:top center}.chat-icon.fallback{display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.chat-msg.compact .chat-icon{width:28px;height:28px;font-size:12px}.chat-body{flex:1;min-width:0}.chat-scenario-still{width:min(100%,720px);margin:8px 0 0;overflow:hidden;border:1px solid rgba(143,211,255,.18);border-radius:6px;background:#08090c3d;aspect-ratio:16 / 9}.chat-scenario-still img{width:100%;height:100%;display:block}.chat-scenario-still.contain img{object-fit:contain}.chat-scenario-still.cover img{object-fit:cover}.chat-dice-judgement{margin-top:3px;font-size:12px;font-weight:700;line-height:1.35}.chat-dice-judgement.success,.chat-dice-judgement.regular-success{color:#6f95c9}.chat-dice-judgement.hard-success{color:#477fbd}.chat-dice-judgement.extreme-success{color:#255f9f}.chat-dice-judgement.critical{color:#d99a1e}.chat-dice-judgement.special{color:#1f9a8a}.chat-dice-judgement.failure{color:#c46f73}.chat-dice-judgement.fumble{color:#a8324e}.chat-parameter-result{margin-top:3px;color:#eeeeee9e;font-size:11px;line-height:1.35;white-space:pre-wrap}.chat-meta{display:flex;gap:8px;font-size:11px;align-items:center;flex-wrap:wrap}.chat-channel{color:var(--muted)}.chat-name{font-weight:600;font-size:13px}.chat-time{color:#e8eef675;font-size:10px;font-variant-numeric:tabular-nums}.chat-action-menu{display:inline-flex;align-items:center;margin-left:-3px}.chat-action-menu-trigger{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;background:transparent;color:#e8eef66b;font-size:17px;line-height:1;padding:0;cursor:pointer;touch-action:manipulation}.chat-action-menu-trigger:hover,.chat-action-menu-trigger:focus-visible,.chat-action-menu-trigger[aria-expanded=true]{border-color:#8fd3ff3d;background:#8fd3ff1a;color:#e8eef6d1}.chat-action-popover{position:fixed;z-index:var(--layer-floating-menu);width:144px;max-width:calc(100vw - 16px);padding:4px;border:1px solid rgba(143,211,255,.24);border-radius:6px;background:#0c121cfa;box-shadow:0 10px 24px #00000057}.chat-action-popover.top{transform:translateY(-100%)}.chat-action-popover button{width:100%;min-height:34px;display:flex;align-items:center;border:0;border-radius:4px;background:transparent;color:var(--text);padding:7px 9px;font-size:13px;text-align:left;cursor:pointer;touch-action:manipulation}.chat-action-popover button:hover,.chat-action-popover button:focus-visible{background:#8fd3ff21}.chat-action-popover button.danger{color:#f1a6a6}.chat-action-popover button.danger:hover,.chat-action-popover button.danger:focus-visible{background:#da4d4d29}.chat-action-popover button:disabled{opacity:.55;cursor:default}.chat-secret-badge{display:inline-flex;align-items:center;min-height:18px;border:1px solid rgba(217,154,30,.45);border-radius:4px;padding:1px 5px;color:#f0c36a;font-size:10px;line-height:1.2}.chat-secret-badge.revealed{border-color:#6f95c973;color:#9fbbe0}.chat-secret-actions{margin-top:5px}.chat-scenario-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.chat-scenario-choices button{border:1px solid rgba(111,149,201,.6);border-radius:6px;background:#6f95c926;color:var(--text);padding:5px 10px;font-size:13px;font-weight:700}.chat-scenario-choices button:hover{border-color:#8fd3ffcc;background:#8fd3ff2e}.chat-scenario-choices button:disabled{opacity:.6;cursor:default}.chat-edit-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-edit-actions button{border:1px solid rgba(143,211,255,.34);background:#8fd3ff1a;color:var(--text);border-radius:4px;padding:3px 8px;font-size:12px}.chat-edit-actions button:hover{border-color:#8fd3ff9e;background:#8fd3ff2e}.chat-edit-actions button:disabled{opacity:.55}.chat-edit-box{margin-top:5px}.chat-edit-box textarea{width:100%;min-height:72px;resize:vertical;border:1px solid rgba(143,211,255,.38);border-radius:6px;background:#050a12b8;color:var(--text);padding:7px 8px;font:inherit;line-height:1.45}.chat-edited-badge,.chat-canceled-badge{color:var(--muted)}.chat-secret-actions button{border:1px solid rgba(217,154,30,.55);background:#d99a1e21;color:#f4d28a;border-radius:4px;padding:3px 8px;font-size:12px}.chat-secret-actions button:disabled{opacity:.55}.chat-text{white-space:pre-wrap;word-break:break-word;font-size:14px;margin-top:2px}.chat-msg.compact .chat-meta{gap:5px;flex-wrap:wrap;line-height:1.25}@media(pointer:coarse){.chat-action-menu-trigger{width:32px;height:32px;font-size:19px}.chat-action-popover{min-width:144px}.chat-action-popover button{min-height:40px;font-size:14px}}.chat-msg.compact .chat-name{font-size:12px}.chat-msg.compact .chat-text{font-size:13px;line-height:1.45}.admin-main{display:grid;gap:16px;padding:16px}.admin-page.admin-users-page{height:auto;min-height:100vh}.admin-section,.server-toolbar,.side-tool,.chat-composer{background:#141820c7;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px}.admin-users-management{display:grid;gap:12px}.server-play-layout .side-tool,.server-play-layout .chat-composer{background:#0e1016a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-room-list{display:grid;gap:8px}.admin-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.admin-overview-card{display:grid;gap:4px;min-height:92px;padding:12px;border:1px solid var(--border);border-radius:6px;background:#ffffff0a}.admin-overview-card.warning{border-color:#f5c45d80;background:#f5c45d14}.admin-overview-card span,.admin-overview-card small{color:var(--muted);font-size:12px}.admin-overview-card strong{font-size:24px;line-height:1.1}.admin-warning-list{display:grid;gap:6px;margin-top:12px}.admin-warning-list span{border:1px solid rgba(245,196,93,.45);border-radius:4px;background:#f5c45d1a;color:#ffe1a6;padding:7px 9px;font-size:12px}.admin-asset-cleanup-panel{display:grid;gap:10px;margin:10px 0;padding:12px;border:1px solid rgba(245,196,93,.36);border-radius:6px;background:#f5c45d12}.admin-asset-cleanup-panel>div:first-child{display:grid;gap:4px}.admin-asset-cleanup-panel p{margin:0}.admin-room-list.compact{max-height:360px;overflow:auto}.admin-user-list.compact{max-height:none;overflow:visible}.owner-row,.participant-row,.tool-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-room{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:6px}.admin-room-entry{display:grid;gap:0}.admin-room-entry.expanded>.admin-room{border-color:#8fd3ff52;border-radius:6px 6px 0 0}.admin-room-detail-panel{display:grid;gap:12px;padding:12px;border:1px solid rgba(143,211,255,.32);border-top:0;border-radius:0 0 6px 6px;background:#121c248f}.admin-room-detail-tabs{flex-wrap:wrap}.admin-room-detail-section{display:grid;gap:12px}.admin-room-detail-section h3{margin:8px 0 0;font-size:14px}.admin-detail-action-grid{display:flex;flex-wrap:wrap;gap:8px}.admin-detail-action-grid a,.admin-detail-action-grid button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:7px 10px;font-size:12px;line-height:1.2;text-decoration:none;cursor:pointer}.admin-detail-action-grid .admin-observe-link{border-color:#8fd3ff61;background:#295b7d38;color:#c9ebff}.admin-room-detail-section.danger-zone{border:1px solid var(--danger-border);border-radius:6px;background:var(--danger-bg);padding:10px}.admin-room-actions,.server-toolbar,.admin-settings-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-room-actions{justify-content:flex-end;max-width:min(540px,100%)}.admin-oauth-links{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-oauth-link{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:280px;padding:2px 4px;border:1px solid rgba(255,255,255,.12);border-radius:4px;overflow-wrap:anywhere}.admin-oauth-link button{padding:2px 6px;font-size:11px;line-height:1.2}.admin-room-actions a,.admin-room-actions button,.admin-room>button,.admin-room>a{flex:0 0 auto;justify-self:end;white-space:nowrap}.admin-settings-row label{display:grid;gap:4px;min-width:min(320px,100%);font-size:12px}.admin-settings-row input,.admin-settings-row select{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.admin-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 12px;color:var(--muted);font-size:12px}.admin-rooms-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-rooms-header h2{margin:0}.admin-link-button{border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--fg);padding:6px 10px;text-decoration:none;font-size:12px}.open-beta-report-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border:1px solid rgba(125,211,252,.42);border-radius:4px;background:#7dd3fc1a;color:#c9ebff;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap}.open-beta-report-link:hover,.open-beta-report-link:focus-visible{border-color:#7dd3fcb8;background:#7dd3fc2b;color:#eef9ff}.admin-screen-tabs{margin:0 0 12px}.admin-secret-output{display:grid;gap:6px;margin:8px 0;padding:10px;border:1px solid rgba(249,170,143,.35);border-radius:6px;background:#f9aa8f14}.admin-secret-output input{width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.archived-asset-row{border-color:#f9aa8f59;background:#f9aa8f0f}.asset-archive-badge{border:1px solid rgba(249,170,143,.35);border-radius:4px;background:#f9aa8f1a;color:#ffd2c1;padding:6px 10px;font-size:12px}.warning-pill{border:1px solid rgba(245,196,93,.45);border-radius:4px;background:#f5c45d1f;color:#ffe1a6;padding:2px 6px}.audit-controls{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.access-controls{margin-top:12px}.audit-list{max-height:520px;overflow:auto}.audit-asset-row{align-items:flex-start}.admin-access-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:8px}.admin-access-card{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff0a}.admin-access-card span{color:var(--muted);font-size:12px}.admin-access-card strong{font-size:22px;line-height:1}.access-alert-list{display:grid;gap:8px;margin:10px 0}.access-alert{display:grid;gap:4px;width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff0a;color:var(--fg);text-align:left;cursor:pointer}.access-alert span{color:var(--muted);font-size:12px}.access-alert-warning{border-color:#f5c45d8c;background:#f5c45d17}.access-alert-error{border-color:var(--danger-border);background:var(--danger-bg)}.access-preset-row,.access-reason-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.access-reason-list{margin-top:6px}.access-reason-list span{border:1px solid rgba(245,196,93,.45);border-radius:4px;background:#f5c45d1f;color:#ffe1a6;padding:2px 6px;font-size:11px}.access-log-list{max-height:620px;overflow:auto}.access-log-row{align-items:flex-start}.access-log-row.suspicious{border-color:#f5c45d85;background:#f5c45d14}.access-block-row{border-color:#ff82826b;background:#ff5c5c14}.access-block-row.disabled{opacity:.62;border-color:var(--border);background:#ffffff08}.access-user-agent{margin-top:6px;overflow-wrap:anywhere}.asset-usage-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.asset-usage-list span{border:1px solid var(--border);border-radius:4px;background:#ffffff0a;color:var(--muted);padding:4px 6px;font-size:11px}.admin-checkbox-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:13px}.admin-checkbox-row.compact-checkbox{margin:0;min-width:auto;white-space:nowrap}.admin-checkbox-row.compact-checkbox input{margin:0}.admin-modal-backdrop{position:fixed;inset:0;z-index:var(--layer-admin-modal);display:grid;place-items:center;padding:20px;background:#00000094}.admin-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg2);padding:16px;box-shadow:0 18px 60px #0000007a}.asset-detail-preview{width:100%;max-height:320px;object-fit:contain;border:1px solid var(--border);border-radius:6px;background:#111}.admin-rooms-controls{display:flex;gap:8px;flex-wrap:wrap}.admin-rooms-controls input[type=search]{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;min-width:180px}.admin-rooms-controls select{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.admin-room-info{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-room-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px}.admin-room-stats code{font-family:var(--mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-size:10px;color:#ffffff8c}.admin-room-name{cursor:text}.admin-room-rename{display:flex;gap:6px;align-items:center}.admin-room-rename input{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;min-width:200px}@media(max-width:760px){.admin-room{grid-template-columns:1fr}.admin-room-actions{justify-content:flex-start;max-width:none}.admin-room-actions a,.admin-room-actions button,.admin-room>button,.admin-room>a{justify-self:start}}.admin-funnel-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;margin-bottom:8px}.admin-funnel-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:12px}.admin-funnel-row.active{border-color:var(--accent, #f9aa8f);background:#f9aa8f14}.admin-funnel-row code{flex:1 1 auto;font-size:11px;color:var(--muted);word-break:break-all}.admin-funnel-row>strong{flex:0 0 auto}.admin-funnel-add{display:flex;gap:6px;flex-wrap:wrap}.admin-funnel-add input[type=text]{flex:0 0 180px}.admin-funnel-add input[type=url]{flex:1 1 320px;min-width:200px}.admin-funnel-add input{background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.admin-public-links{display:grid;gap:8px;margin-top:12px}.admin-public-links h3{margin:0}.admin-public-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.admin-action-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.admin-action{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:4px 8px;border-left:3px solid var(--border);background:var(--bg3);border-radius:0 4px 4px 0;font-size:12px}.admin-action time{color:var(--muted);font-size:11px}.admin-action-ok{border-left-color:#6ec48a}.admin-action-warn{border-left-color:#e8c46c}.admin-action-err{border-left-color:#e87a7a}.admin-action-info{border-left-color:#8ab2e8}.admin-toast{position:fixed;bottom:24px;right:24px;z-index:var(--layer-toast);padding:10px 16px;background:var(--bg2, #1f1f24);border:1px solid var(--border);border-left:4px solid var(--accent, #f9aa8f);border-radius:4px;box-shadow:0 12px 28px #0000006b;font-size:13px;max-width:360px;animation:admin-toast-slide-in .2s ease-out}.admin-toast-ok{border-left-color:#6ec48a}.admin-toast-warn{border-left-color:#e8c46c}.admin-toast-err{border-left-color:#e87a7a}.admin-toast-info{border-left-color:#8ab2e8}@keyframes admin-toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.server-toolbar{flex:1 0 auto;justify-content:flex-end;min-width:max-content;margin:0;padding:0;background:transparent;border:0}.app.app-desktop-ribbon>.app-header{position:fixed;top:0;left:0;right:0;z-index:var(--layer-desktop-ribbon);height:72px;min-height:72px;align-items:stretch;gap:10px;padding:6px 128px 6px 10px;background:linear-gradient(180deg,#24272fe6,#12141ab8),#12141ab8;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(8px) saturate(118%);backdrop-filter:blur(8px) saturate(118%);transition:height .18s ease,min-height .18s ease,padding .18s ease,background-color .18s ease,box-shadow .18s ease}.app.app-desktop-ribbon.app-ribbon-collapsed>.app-header{left:auto;right:0;width:128px;min-height:30px;height:30px;align-items:center;padding:0;overflow:visible;background:transparent;border-bottom:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.ribbon-drawer-tab{position:absolute;top:0;right:10px;z-index:1;display:inline-flex;align-items:center;gap:4px;min-width:max-content;padding:2px;border:1px solid rgba(255,255,255,.12);border-radius:0 0 6px 6px;background:#ffffff0f;pointer-events:auto}.ribbon-drawer-button,.ribbon-pin-button{min-height:24px;border:0;border-radius:4px;background:transparent;color:var(--fg);cursor:pointer;font-size:12px;line-height:1}.ribbon-drawer-button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-weight:700}.ribbon-drawer-mark{color:var(--accent);font-size:10px}.ribbon-pin-button{display:inline-grid;place-items:center;width:26px;padding:0;opacity:.6}.ribbon-drawer-button:hover,.ribbon-drawer-button:focus-visible,.ribbon-pin-button:hover,.ribbon-pin-button:focus-visible,.ribbon-pin-button.active{background:#f9aa8f2e;color:#fff4ef;opacity:1}.ribbon-pin-button.active{box-shadow:inset 0 0 0 1px #f9aa8f75}.app.app-desktop-ribbon.app-ribbon-collapsed>.app-header h1,.app.app-desktop-ribbon.app-ribbon-collapsed>.app-header .tabs,.app.app-desktop-ribbon.app-ribbon-collapsed>.app-header .scene-header-board-controls,.app.app-desktop-ribbon.app-ribbon-collapsed>.app-header .server-toolbar{display:none}.app.app-desktop-ribbon>.app-header h1{align-self:center;max-width:180px;overflow:hidden;text-overflow:ellipsis}.app.app-desktop-ribbon>.app-header .tabs,.scene-header-board-controls{align-self:center}.scene-header-board-controls{flex:0 0 max-content;width:max-content;min-width:max-content}.app.app-desktop-ribbon .server-toolbar{flex:1 1 auto;align-items:stretch;gap:10px;min-width:0;flex-wrap:nowrap}.participant-chip{display:flex;align-items:center;gap:8px;max-width:320px;min-width:0}.participant-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-observe-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid rgba(143,211,255,.38);border-radius:4px;color:#c9ebff;background:#295b7d47;font-size:12px;white-space:nowrap}.participant-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 8px;color:var(--fg);font-size:12px;text-decoration:none;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:#ffffff0d}.participant-account-link:hover,.participant-account-link:focus-visible{color:var(--accent);border-color:#f9aa8f8c}.participant-account-link.open-beta-report-link{border-color:#7dd3fc6b;background:#7dd3fc1a;color:#c9ebff}.participant-info-button{flex:0 0 auto}.first-entry-guide{position:fixed;right:18px;top:74px;z-index:2223;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:min(520px,calc(100vw - 36px));padding:12px;border:1px solid rgba(125,211,252,.34);border-radius:6px;background:#161e26f0;box-shadow:0 18px 44px #0000005c;color:var(--fg)}.first-entry-guide-main{display:grid;gap:5px;min-width:0}.first-entry-guide-main strong{font-size:14px}.first-entry-guide-main>span{color:var(--muted);font-size:12px;line-height:1.55}.first-entry-guide-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.first-entry-guide-actions button{min-height:32px;white-space:nowrap}.first-entry-guide-checks{display:flex;flex-wrap:wrap;gap:5px}.first-entry-guide-checks span{padding:3px 7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0e;color:#eeeeeed1;font-size:11px;line-height:1.2}@media(max-width:720px){.first-entry-guide{inset:auto 10px 10px;grid-template-columns:1fr;width:auto}.first-entry-guide-actions{justify-content:flex-start}}.bgm-device-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#ffffff0e;color:#eeeeeed1;cursor:pointer;font-size:11px;font-weight:800;line-height:1;letter-spacing:0;white-space:nowrap;box-shadow:0 8px 18px #00000038}.bgm-device-toggle:hover,.bgm-device-toggle:focus-visible{border-color:#7dd3fcad;background:#7dd3fc1f;color:var(--fg)}.bgm-device-toggle.enabled{border-color:#2dd4bf8f;background:#2dd4bf21;color:#dffbf6}.bgm-device-toggle.disabled{border-color:#ffffff1f;background:#101216a8;color:#eeeeee94}.server-report-link{align-self:center;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid rgba(125,211,252,.42);border-radius:999px;background:#7dd3fc1a;color:#c9ebff;font-size:11px;line-height:1;text-decoration:none}.bgm-device-toggle-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.app.app-desktop-ribbon .participant-chip{align-self:center;flex:0 0 auto;max-width:220px;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0a}.room-tool-ribbon{display:flex;align-items:stretch;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:0 2px 2px}.room-tool-ribbon-group{display:grid;grid-template-rows:1fr auto;gap:3px;min-width:max-content;padding:4px 8px 3px;border-left:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff0e,#ffffff06)}.room-tool-ribbon-group.without-title{grid-template-rows:1fr;padding-bottom:4px}.room-tool-ribbon-buttons{display:flex;align-items:stretch;gap:4px}.room-tool-ribbon button{width:62px;min-height:44px;display:grid;grid-template-rows:20px 1fr;place-items:center;gap:2px;padding:4px 5px;background:#ffffff0e;color:var(--fg);border:1px solid rgba(255,255,255,.14);border-radius:5px;cursor:pointer;font-size:11px;line-height:1.1}.room-tool-ribbon button:hover,.room-tool-ribbon button:focus-visible{background:#ffffff1f;border-color:#f9aa8f8c}.room-tool-ribbon button.active{background:#f9aa8fe6;color:#1a1a1d;border-color:#f9aa8ff5}.room-tool-ribbon-icon{display:inline-grid;place-items:center;min-width:20px;height:20px;font-size:14px;font-weight:800}.room-tool-ribbon-label{display:block;width:100%;min-width:0;overflow-wrap:anywhere;text-align:center;white-space:normal}.room-tool-ribbon-title{color:var(--muted);font-size:10px;line-height:1;text-align:center}.room-tool-dock,.view-mode-dock{display:flex;align-items:center;gap:6px}.room-tool-dock button,.view-mode-dock button{width:34px;height:30px;padding:0;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:12px;font-weight:700}.room-tool-dock button.active,.view-mode-dock button.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.tool-popup{position:fixed;left:18px;top:92px;z-index:2100;width:min(var(--window-width, 420px),calc(100vw - 36px));height:min(var(--window-height, auto),calc(100vh - 116px));max-height:calc(100vh - 116px);display:flex;flex-direction:column;background:#12141aa3;border:1px solid rgba(255,255,255,.18);border-radius:6px;box-shadow:0 18px 48px #0000007a;-webkit-backdrop-filter:blur(5px) saturate(115%);backdrop-filter:blur(5px) saturate(115%)}.tool-popup.minimized{height:auto;max-height:none;min-height:0}.tool-popup.wide{width:min(var(--window-width, 760px),calc(100vw - 36px))}.tool-popup.compact{width:min(var(--window-width, 380px),calc(100vw - 36px))}.window-resize-handle{position:absolute;z-index:100;touch-action:none}.window-resize-handle.n{top:0;left:8px;right:8px;height:6px;cursor:ns-resize}.window-resize-handle.s{bottom:0;left:8px;right:8px;height:6px;cursor:ns-resize}.window-resize-handle.e{right:0;top:8px;bottom:8px;width:6px;cursor:ew-resize}.window-resize-handle.w{left:0;top:8px;bottom:8px;width:6px;cursor:ew-resize}.window-resize-handle.nw{top:0;left:0;width:10px;height:10px;cursor:nwse-resize}.window-resize-handle.ne{top:0;right:0;width:10px;height:10px;cursor:nesw-resize}.window-resize-handle.sw{bottom:0;left:0;width:10px;height:10px;cursor:nesw-resize}.window-resize-handle.se{bottom:0;right:0;width:10px;height:10px;cursor:nwse-resize}.tool-popup>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.tool-popup.minimized>header,.chat-side.minimized .chat-drag-handle{border-bottom:0}.tool-popup>header h2{pointer-events:none}.tool-popup h2{margin:0;font-size:14px}.tool-popup-body{flex:1;min-height:0;overflow-y:auto;padding:10px}.tool-popup-body:has(>.sound-board-panel){overflow:hidden}.tool-popup-body:has(>.manager-grid){overflow:hidden}.manager-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:10px;min-height:min(420px,calc(100vh - 180px));height:100%}.manager-list,.manager-editor,.editor-form,.mini-editor{display:grid;gap:8px;align-content:start}.scene-audio-section{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;display:grid;gap:10px}.scene-audio-section h4{margin:0;font-size:13px}.scene-audio-row{display:grid;gap:6px}.scene-audio-subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,max-content));gap:8px;align-items:end}.manager-list{overflow-y:scroll;min-height:0;padding-right:4px}.image-manager-list{grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.image-manager-list-scroll{grid-row:-2 / -1;min-height:0;overflow-y:auto;padding-right:4px}.image-manager-list-space{position:relative}.image-manager-virtual-row{position:absolute;left:0;right:0;height:50px}.manager-editor{min-width:0;min-height:0;overflow-y:scroll}.manager-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.manager-list-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.manager-list-head h3{margin:0;font-size:13px}.manager-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:6px;border:1px solid rgba(255,255,255,.11);border-radius:4px;background:#ffffff0a;color:var(--fg);text-align:left;cursor:pointer}.manager-row.active{border-color:var(--accent);background:#f9aa8f21}.manager-row img,.manager-thumb{width:30px;height:30px;border-radius:4px;object-fit:cover;background:var(--bg3)}.manager-thumb.marker-area-thumb{border:2px solid rgba(255,255,255,.62);box-shadow:inset 0 0 0 999px #ffffff29}.manager-thumb.marker-area-thumb.circle{border-radius:999px}.manager-row span{min-width:0}.manager-row strong,.manager-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-row strong{font-size:12px}.manager-row small{margin-top:2px;color:var(--muted);font-size:10px}.editor-actions,.flag-row,.tool-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.editor-actions .danger{border-color:#ff646473;color:#ffb4b4}.autosave-status{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 8px;border:1px solid rgba(160,180,210,.22);border-radius:6px;color:var(--muted);font-size:12px;line-height:1.3}.autosave-status.saving,.autosave-status.dirty{color:#d9e4ff}.autosave-status.saved{color:#a8e6c0}.autosave-status.error{border-color:#ff646473;color:#ffb4b4}.autosave-status button{min-height:24px;padding:2px 8px}.form-grid{display:grid;gap:8px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.numeric-grid{grid-template-columns:repeat(auto-fit,minmax(6.4rem,max-content));gap:8px 10px;align-items:end}.form-grid.numeric-grid label,.editor-form label.numeric-field{width:6.4rem}.form-grid.numeric-grid input[type=number],.editor-form label.numeric-field input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.field-title-grid{grid-template-columns:minmax(180px,1fr) max-content;align-items:end}.field-size-grid{justify-content:end}.field-asset-grid,.media-grid{grid-template-columns:repeat(auto-fit,minmax(96px,max-content));align-items:start}.field-asset-grid label,.media-grid label{width:min(13rem,100%)}.marker-area-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,max-content));align-items:end}.marker-area-grid label{width:8rem}.marker-area-grid input[type=range]{padding-left:0;padding-right:0}.marker-area-grid small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.editor-form label.image-field,.media-grid label.image-field,.field-asset-grid label.image-field{width:96px}.media-grid label.wide-field{width:min(14rem,100%)}.editor-form label,.mini-editor label{display:grid;gap:4px;min-width:0;font-size:12px;color:var(--muted)}.editor-form input,.editor-form select,.editor-form textarea,.mini-editor input,.mini-editor select{min-width:0;width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.editor-form input[type=color],.mini-editor input[type=color]{width:4.5rem;min-width:4.5rem;height:32px;padding:3px}.character-size-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(6.4rem,max-content));gap:8px;align-items:end}.character-size-row label{width:6.4rem}.character-size-row input{text-align:right;font-variant-numeric:tabular-nums}.editor-form textarea.character-long-textarea{min-height:calc(10lh + 16px)}.image-picker{position:relative;display:block;width:100%}.image-picker-trigger{display:grid;place-items:center;width:88px;min-height:88px;max-width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px;cursor:pointer;text-align:center}.image-picker-trigger:hover{border-color:var(--accent, #f9aa8f)}.image-picker-button-trigger{min-height:32px}.image-picker-trigger img{width:100%;height:auto;max-height:176px;object-fit:contain;border-radius:3px;background:#ffffff0f}.image-picker-trigger-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);background:#ffffff0a;border-radius:3px}.image-picker.open .image-picker-trigger{border-color:var(--accent, #f9aa8f)}.image-picker-uploading{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#0000009e;color:#fff;font-size:11px;font-weight:700;pointer-events:none}.image-picker-modal-backdrop{position:fixed;inset:0;z-index:var(--layer-image-picker-modal);display:grid;place-items:center;padding:20px;background:#0009}.image-picker-modal{position:relative;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);width:min(940px,100%);height:min(720px,calc(100vh - 40px));min-height:360px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg2, #1f1f24);box-shadow:0 18px 64px #0000007a;--image-picker-item-size: 116px}.image-picker-modal[data-thumb-size=small]{--image-picker-item-size: 88px}.image-picker-modal[data-thumb-size=large]{--image-picker-item-size: 152px}.image-picker-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.image-picker-modal-head h3{margin:0;font-size:14px}.image-picker-modal-head button{flex:0 0 auto}.image-picker-drop-hint{padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:11px}.image-picker-recent{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.image-picker-recent>span{color:var(--muted);font-size:11px}.image-picker-recent-row{display:flex;gap:6px;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.image-picker-recent-row .image-picker-item{flex:0 0 var(--image-picker-item-size)}.image-picker-modal-grid{grid-template-columns:repeat(auto-fill,minmax(var(--image-picker-item-size),var(--image-picker-item-size)))!important;grid-auto-rows:var(--image-picker-item-size)!important;align-content:start;align-items:start;justify-content:start;min-height:0;padding:12px}.virtual-image-grid{display:block!important;grid-row:-2 / -1;overflow-y:auto;position:relative}.virtual-image-grid-space{position:relative;min-width:100%}.virtual-image-grid-cell{position:absolute}.image-picker-modal-grid .image-picker-item{width:var(--image-picker-item-size)!important;height:var(--image-picker-item-size)!important;inline-size:var(--image-picker-item-size)!important;block-size:var(--image-picker-item-size)!important}.image-picker-modal-grid .image-picker-item img{width:100%;height:100%;object-fit:contain}.image-picker-modal-grid .image-picker-item-fallback{height:100%}.image-picker-modal-uploading{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#00000094;color:#fff;font-size:13px;font-weight:700;pointer-events:none}.image-picker-toolbar{display:flex;gap:6px;padding:6px;border-bottom:1px solid var(--border);flex-wrap:wrap}.image-picker-toolbar input{flex:1 1 auto;min-width:min(220px,100%);background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:12px}.image-picker-toolbar button{flex:0 0 auto;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.image-picker-size-control{display:inline-flex;flex:0 0 auto;gap:2px;padding:2px;border:1px solid var(--border);border-radius:4px;background:#ffffff0a}.image-picker-size-control button{min-width:32px;padding:3px 8px;border-color:transparent;background:transparent}.image-picker-size-control button.active{border-color:var(--accent, #f9aa8f);background:#f9aa8f29;color:var(--accent, #f9aa8f)}.image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;padding:8px;overflow-y:auto;flex:1 1 auto}.image-picker-item{display:grid;place-items:center;width:var(--image-picker-item-size, 88px);height:var(--image-picker-item-size, 88px);aspect-ratio:1 / 1;padding:4px;overflow:hidden;background:var(--bg3);border:1px solid transparent;border-radius:4px;cursor:pointer;text-align:left;min-width:0}.image-picker-item:hover{border-color:var(--accent, #f9aa8f)}.image-picker-item.selected{border-color:var(--accent, #f9aa8f);background:#f9aa8f14}.image-picker-item img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;background:#ffffff0a}.image-picker-item-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--muted);background:#ffffff0a;border-radius:3px}.image-picker-empty{grid-column:1 / -1;text-align:center;padding:16px}.image-manager-filter{width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 6px;margin-bottom:6px;font-size:12px}.image-manager-editor{display:flex;flex-direction:column;gap:12px}.image-manager-preview{display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--border);border-radius:4px;padding:12px;max-height:240px}.image-manager-preview img{max-width:100%;max-height:216px;object-fit:contain;display:block}.image-manager-usages{border-top:1px solid var(--border);padding-top:8px}.image-manager-usages h4{margin:0 0 6px;font-size:12px;color:var(--muted)}.image-manager-usages ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.image-manager-usages li{display:flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px}.image-manager-usages li>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-manager-usages li>button{flex:0 0 auto;font-size:11px;padding:2px 8px;background:var(--bg2, #1f1f24);color:var(--fg);border:1px solid var(--border);border-radius:3px;cursor:pointer}.image-manager-usages li>button:hover{border-color:var(--accent, #f9aa8f)}.form-warning{background:#ffc86414;border:1px solid rgba(255,200,100,.3);border-radius:4px;padding:6px 10px;font-size:11px;color:#f9d39a}.form-error{background:#ff5a5a14;border:1px solid rgba(255,90,90,.4);border-radius:4px;padding:6px 10px;font-size:11px;color:#ffb0b0}.inline-row{display:grid;grid-template-columns:minmax(96px,1fr) minmax(4.8rem,max-content) minmax(4.8rem,max-content) 30px;gap:6px;align-items:center}.inline-row.two{grid-template-columns:minmax(96px,1fr) minmax(5.8rem,max-content) 30px}.inline-row input{min-width:0}.inline-row input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.inline-row button{width:30px;min-width:30px;padding-right:0;padding-left:0}@media(max-width:420px){.inline-row{grid-template-columns:minmax(0,1fr) minmax(4.8rem,max-content) minmax(4.8rem,max-content) 30px}.inline-row.two{grid-template-columns:minmax(0,1fr) minmax(5.8rem,max-content) 30px}}.initiative-window-list{display:grid;gap:6px}.initiative-slot{display:grid;gap:5px;min-height:4px;transition:grid-template-rows .18s ease,gap .18s ease}.initiative-slot.tail{min-height:18px}.initiative-now-bar{position:relative;width:100%;height:14px;padding:0;border:0;background:transparent;cursor:default;animation:initiative-bar-pop .17s ease-out}.initiative-now-bar:active{cursor:default}.initiative-now-bar span{position:absolute;top:5px;right:12px;left:12px;height:4px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px #f9aa8f2e,0 0 14px #f9aa8f80}.initiative-now-bar span:before,.initiative-now-bar span:after{content:"";position:absolute;top:-4px;width:12px;height:12px;border-radius:999px;background:var(--accent)}.initiative-now-bar span:before{left:-10px}.initiative-now-bar span:after{right:-10px}.initiative-window-row{display:grid;grid-template-columns:38px minmax(92px,1fr) repeat(auto-fit,minmax(48px,auto));gap:6px;align-items:center;min-height:42px;padding:5px 8px 5px 10px;border:1px solid rgba(255,255,255,.13);border-left:4px solid #888;border-radius:4px;background:#12141ab8;color:var(--fg);text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;will-change:transform}.initiative-window-row[draggable=true]{cursor:default}.initiative-window-row:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000038}::view-transition-old(initiative-now-bar),::view-transition-new(initiative-now-bar),::view-transition-old(initiative-row-*),::view-transition-new(initiative-row-*){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@keyframes initiative-bar-pop{0%{opacity:0;transform:scaleX(.92) translateY(-2px)}to{opacity:1;transform:scaleX(1) translateY(0)}}.initiative-thumb-wrap{position:relative;display:block;width:34px;height:34px}.initiative-window-row img,.initiative-thumb-wrap .manager-thumb{width:30px;height:30px;object-fit:cover;border-radius:4px}.initiative-thumb-wrap .manager-thumb{display:block}.initiative-badge{position:absolute;top:-3px;right:calc(100% - 5px);min-width:26px;max-width:34px;height:20px;padding:0 5px;border:1px solid currentColor;border-radius:999px;background:#06080ce0;box-shadow:0 1px 6px #00000080,0 0 0 1px #ffffff14;font-size:11px;font-weight:800;line-height:18px;overflow:hidden;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8)}.initiative-window-main,.initiative-param{display:grid;gap:1px;min-width:0}.initiative-param{grid-template-rows:14px 17px}.initiative-window-main strong,.initiative-window-main small,.initiative-param small,.initiative-param strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initiative-window-main small,.initiative-param small{color:var(--muted);font-size:10px}.initiative-param strong{font-size:12px}.initiative-window-row.secret .initiative-param strong{color:var(--muted);letter-spacing:1px}.file-tool{display:grid;gap:6px;padding:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-size:12px}.tool-character-list{display:grid;gap:6px}.tool-character-row{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:4px}.tool-character-row.active{border-color:var(--accent);background:#f9aa8f1f}.tool-character-row img,.tool-character-fallback{width:32px;height:32px;object-fit:cover;border-radius:4px}.chat-composer{display:grid;gap:8px;position:relative}.admin-observe-composer{padding:10px;border:1px solid rgba(143,211,255,.28);border-radius:6px;color:var(--muted);background:#1828347a;font-size:12px}.admin-observe-composer strong{color:#d6f0ff;font-size:13px}.chat-composer-actions{position:relative;display:flex;gap:6px;align-items:stretch}.desktop-chat-composer-actions{justify-content:flex-end}.desktop-chat-composer-actions>.chat-send-button{flex:1 1 auto;min-width:0;white-space:nowrap}.chat-composer-actions>.narrow-chat-actions-wrap{position:relative;flex:0 0 auto}.chat-palette-quick-wrap{position:static;flex:0 0 auto}.chat-palette-quick-button{width:36px;aspect-ratio:1 / 1;flex:0 0 36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;line-height:1;border-radius:8px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.16);cursor:pointer}.chat-palette-quick-button.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.chat-palette-quick-popover{position:absolute;right:0;bottom:calc(100% + 6px);left:0;max-height:min(56dvh,420px);z-index:var(--z-narrow-menu-panel);background:#12141afa;border:1px solid rgba(255,255,255,.18);border-radius:var(--narrow-panel-radius, 14px);box-shadow:0 18px 48px #0000009e;padding:8px;display:flex;overflow:hidden}.chat-composer textarea{min-height:72px;resize:vertical}.chat-input-wrap{position:relative;display:grid;min-width:0}.parameter-suggestions{position:absolute;right:0;bottom:calc(100% + 6px);left:0;z-index:var(--layer-suggestion-popover);display:grid;gap:2px;padding:5px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#12141aeb;box-shadow:0 12px 28px #0000006b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.parameter-suggestions button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:6px 8px;border:0;border-radius:3px;background:transparent;color:var(--fg);text-align:left}.parameter-suggestions button.active,.parameter-suggestions button:hover{background:#f9aa8f2e}.parameter-suggestions span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.parameter-suggestions small{color:var(--muted);font-size:11px}.speaker-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.speaker-strip label,.channel-control,.color-control{display:grid;gap:4px;font-size:12px}.speaker-strip>label{flex:1 1 132px;min-width:112px}.speaker-strip .channel-control{flex-basis:116px}.speaker-strip .color-control{flex:0 0 54px;min-width:54px}.chat-settings-panel{gap:10px}.chat-setting-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0a;font-size:13px}.chat-tts-settings{display:flex;flex-wrap:wrap;gap:6px;align-items:end;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff09}.chat-tts-settings.active{border-color:#8fd3ff5c;background:#8fd3ff12}.chat-tts-settings label{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:12px}.chat-tts-settings .chat-tts-toggle,.chat-tts-settings .chat-tts-own{grid-template-columns:auto auto;align-items:center;align-self:center;color:var(--fg);white-space:nowrap}.chat-tts-settings>label:not(.chat-tts-toggle):not(.chat-tts-own){flex:1 1 104px}.chat-tts-settings>label:has(select){flex-basis:150px}.chat-tts-range{grid-template-columns:1fr auto}.chat-tts-range input{grid-column:1 / -1;width:100%}.chat-tts-range span{justify-self:end;color:var(--muted);font-variant-numeric:tabular-nums}.chat-tts-settings button{min-height:32px;white-space:nowrap}.speaker-strip select,.chat-composer select,.chat-composer input,.chat-composer textarea,.side-tool select,.side-tool input{min-width:0;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 8px}.side-tool label:has(input[type=number]){width:7rem}.side-tool input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.tool-status{color:var(--muted);font-size:12px}.participant-list{display:grid;gap:6px}.participant-manager-card{display:grid;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0a}.participant-manager-current{display:grid;gap:3px;min-width:0}.participant-manager-current span{color:var(--muted);font-size:11px}.participant-manager-current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-manager-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.participant-row{padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#ffffff0a}.participant-row.current{border-color:var(--accent);background:#f9aa8f1f}.participant-row div{min-width:0}.participant-row strong,.participant-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-row small,.participant-row time{color:var(--muted);font-size:11px}.chat-tab-create,.chat-tab-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.chat-tab-list{display:grid;gap:6px}.chat-tab-row{padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#ffffff0a}.inline-check{display:inline-flex;align-items:center;gap:6px}.color-control input{width:44px;height:32px;padding:2px}.chat-color-picker{position:relative;display:inline-block}.chat-color-trigger{width:44px;height:32px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:0}.chat-color-trigger:hover{border-color:var(--accent, #f9aa8f)}.chat-color-picker.open .chat-color-trigger{border-color:var(--accent, #f9aa8f);box-shadow:0 0 0 2px #f9aa8f40}.chat-color-popover{position:absolute;bottom:calc(100% + 6px);right:0;left:auto;z-index:80;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg2, #1f1f24);border:1px solid var(--border);border-radius:6px;box-shadow:0 10px 24px #00000073;min-width:180px}.chat-color-grid{display:grid;grid-template-columns:repeat(5,28px);grid-auto-rows:28px;gap:4px}.chat-color-swatch{width:28px;height:28px;border:1px solid rgba(0,0,0,.25);border-radius:4px;padding:0;cursor:pointer;transition:transform .08s ease}.chat-color-swatch:hover{transform:scale(1.08);border-color:#fff9}.chat-color-swatch.selected{outline:2px solid var(--accent, #f9aa8f);outline-offset:1px}.chat-color-custom{display:flex;align-items:center;gap:6px;border-top:1px solid var(--border);padding-top:8px;font-size:11px;color:var(--muted)}.chat-color-custom>span{flex:0 0 auto}.chat-color-custom>input[type=color]{width:32px;height:24px;padding:0;border:1px solid var(--border);border-radius:3px;background:transparent;cursor:pointer}.chat-color-hex{flex:1 1 auto;min-width:0;font-family:var(--mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--fg);background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:3px 6px}.chat-color-hex:focus{outline:none;border-color:var(--accent, #f9aa8f)}.chat-color-reserved-note{margin-top:8px;color:#ffb4b4;font-size:12px;line-height:1.4}.speaker-portrait{position:relative;flex:0 0 44px}.speaker-portrait,.speaker-portrait img,.speaker-fallback{width:44px;height:44px;border-radius:4px}.speaker-portrait img{object-fit:cover;background:var(--bg3)}.face-picker-popover{position:absolute;bottom:100%;left:0;z-index:1000;background:var(--bg2);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0006;padding:8px;margin-bottom:8px;min-width:220px;max-height:400px;overflow-y:auto}.face-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.face-picker-item{display:flex;flex-direction:column;align-items:center;background:none;border:1px solid transparent;padding:4px;cursor:pointer;border-radius:4px;color:var(--fg);transition:background .2s,border-color .2s}.face-picker-item:hover{background:var(--bg3)}.face-picker-item.selected{background:var(--bg3);border-color:var(--accent)}.face-picker-item-icon{width:56px;height:56px;object-fit:cover;border-radius:4px;background:var(--bg4);margin-bottom:4px}.face-picker-item-icon.auto{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--bg4);color:var(--muted);text-transform:uppercase}.face-picker-item-label{font-size:10px;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speaker-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.composer-preview{display:grid;gap:3px;padding:8px 10px;border-left:3px solid;background:#00000038;white-space:pre-wrap;word-break:break-word;font-size:13px}.typing-indicator{width:100%;max-width:100%;min-width:0;min-height:18px;color:#e8eef6b8;font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-tool{display:grid;gap:8px;margin-top:8px}.server-chat-area{flex:1;min-height:180px;overflow:hidden}.server-chat-area>.drag-ignore{height:100%;min-height:0;display:flex;flex-direction:column}.server-side-tools{position:relative;z-index:30;flex:0 0 auto;max-height:46%;overflow:visible;padding:8px;border-top:1px solid rgba(255,255,255,.13);background:#0c0e123d}.side-tool h3{margin:0;font-size:14px}.youtube-dock{position:fixed;left:16px;bottom:16px;z-index:2000;width:320px;min-width:200px;min-height:200px;background:#111;border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 40px #00000080}.youtube-dock iframe{display:block;width:320px;height:200px;border:0}.youtube-actions{display:flex;gap:8px;padding:8px}.youtube-notice{padding:0 8px 8px;font-size:12px;color:var(--muted)}.youtube-add{position:fixed;left:16px;bottom:16px;z-index:1999}.participant-minimap{position:fixed;left:14px;bottom:14px;z-index:2055;display:grid;gap:6px;width:240px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:#12151cc2;color:var(--fg);box-shadow:0 12px 30px #0000005c;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%)}.participant-minimap-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.participant-minimap-head strong{font-size:12px}.participant-minimap-head span{color:var(--muted);font-variant-numeric:tabular-nums}.participant-minimap svg{display:block;width:100%;aspect-ratio:1.35;border-radius:4px;background:#ffffff0a;cursor:crosshair}.participant-minimap-field{fill:#ffffff09;stroke:#ffffff38;stroke-width:.08;vector-effect:non-scaling-stroke}.participant-minimap-viewport{fill:transparent;stroke-width:.28;vector-effect:non-scaling-stroke}.participant-minimap g.self .participant-minimap-viewport{stroke-width:.48}.participant-minimap-self-viewport{fill:#ffffff09;stroke:#ffffffeb;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.participant-minimap-point{stroke:#00000080;stroke-width:.08;vector-effect:non-scaling-stroke}.participant-minimap-focus circle{fill:#ffd57238;stroke:#ffd572;stroke-width:.22;vector-effect:non-scaling-stroke}.participant-minimap-focus circle+circle{fill:#ffd572;stroke:#00000075;stroke-width:.08}.participant-minimap-legend{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0;color:var(--muted);font-size:10px;line-height:1.2}.participant-minimap-legend span{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-minimap-legend i{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.participant-minimap-legend i.focus{background:#ffd572}.viewport-share-stack{position:fixed;top:58px;right:16px;z-index:4000;display:grid;gap:8px;width:min(320px,calc(100vw - 32px));pointer-events:none}.viewport-share-toast{display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#12141ac7;color:var(--fg);box-shadow:0 14px 34px #00000070;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%);pointer-events:auto;font-size:12px}.viewport-share-toast.sent{color:#eeeeeec7}.viewport-share-toast strong{font-size:13px}.viewport-share-toast small{color:var(--muted)}.viewport-share-actions{display:flex;gap:8px;justify-content:flex-end}.viewport-share-actions button{min-width:64px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:#ffffff0f;color:var(--fg);padding:5px 10px;cursor:pointer;font-size:12px}.viewport-share-actions button:first-child{border-color:var(--accent);background:#f9aa8f29}.spoken-overlay{position:fixed;left:clamp(360px,26vw,420px);right:clamp(360px,43vw,560px);bottom:18px;z-index:2050;max-width:760px;min-width:320px;pointer-events:none}.spoken-overlay.minimized{right:auto;max-width:min(420px,calc(100vw - 20px));min-width:220px;pointer-events:auto}.spoken-overlay.has-youtube{left:clamp(360px,28vw,440px)}.spoken-portrait-wrap{position:absolute;left:8px;bottom:calc(100% - 8px);width:210px;max-height:320px;pointer-events:none;z-index:-1;display:block;transform-origin:50% 50%;transform-style:preserve-3d}.spoken-portrait{display:block;width:100%;max-height:100%;object-fit:contain;object-position:bottom left;pointer-events:none}.spoken-card{background:#161616db;border:1px solid rgba(255,255,255,.16);border-radius:6px;box-shadow:0 14px 40px #00000075;pointer-events:auto}.spoken-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px}.spoken-card header strong{pointer-events:none}.spoken-card header button{background:transparent;border:0;color:var(--fg);cursor:pointer}.spoken-body{max-height:96px;overflow-y:auto;padding:0 16px 14px;white-space:pre-wrap;word-break:break-word;line-height:1.5}@media(max-width:1180px){.spoken-overlay{left:360px;right:24px;bottom:230px;max-width:none}.spoken-overlay.has-youtube{left:360px}}@media(max-width:760px){.spoken-overlay,.spoken-overlay.has-youtube{left:10px;right:10px;bottom:calc(min(70vh,620px) + 18px);min-width:0}.spoken-portrait-wrap{width:120px;max-height:180px}}.entrance-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:radial-gradient(circle at top right,rgba(249,170,143,.1),transparent 40%),radial-gradient(circle at bottom left,rgba(143,211,255,.1),transparent 40%);z-index:var(--layer-entrance)}.entrance-glass{width:100%;max-width:420px;padding:40px;background:#12141aa6;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 24px 48px #00000080,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);text-align:center;animation:entrance-fade-in .6s cubic-bezier(.16,1,.3,1)}@keyframes entrance-fade-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.entrance-glass h1{margin:0 0 12px;font-size:28px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#d0d0d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.entrance-glass p{margin:0 0 32px;color:var(--muted);font-size:14px}.entrance-account{display:flex;flex-direction:column;gap:10px;margin:0 0 24px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000038;color:var(--muted);font-size:13px;text-align:left}.entrance-account strong{color:var(--fg)}.entrance-account>a,.entrance-account-actions a,.entrance-account-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff14;color:var(--fg);text-decoration:none;font:inherit;cursor:pointer}.entrance-account>a{border-color:#f9aa8f8c;background:#f9aa8f29;color:var(--accent)}.entrance-account>.open-beta-report-link,.entrance-account-actions .open-beta-report-link{border-color:#7dd3fc6b;background:#7dd3fc1a;color:#c9ebff}.entrance-account-actions{display:flex;flex-wrap:wrap;gap:8px}.entrance-section{display:flex;flex-direction:column;gap:12px;text-align:left}.entrance-section h3{margin:0;font-size:13px;color:var(--fg);text-transform:uppercase;letter-spacing:1px}.entrance-input-group{display:flex;flex-direction:column;gap:12px}.entrance-input-group input{width:100%;padding:12px 16px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--fg);font-size:15px;transition:all .2s ease}.entrance-input-group input:focus{outline:none;border-color:var(--accent);background:#00000080;box-shadow:0 0 0 3px #f9aa8f26}.entrance-input-group button{width:100%;padding:12px;background:var(--accent);color:#1a1a1d;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.entrance-input-group button:hover{background:#ffb79b;transform:translateY(-1px)}.entrance-input-group button:active{transform:translateY(1px)}.entrance-input-group button.secondary{background:#ffffff1a;color:var(--fg);border:1px solid rgba(255,255,255,.15)}.entrance-input-group button.secondary:hover{background:#ffffff2e}.entrance-divider{display:flex;align-items:center;margin:24px 0;color:var(--muted);font-size:12px}.entrance-divider:before,.entrance-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.entrance-divider span{padding:0 12px}ruby{ruby-position:over;ruby-align:center}ruby>rt{font-size:.55em;color:#ffffffc7;line-height:1.1;font-weight:400;letter-spacing:0;-webkit-user-select:none;user-select:none}.char-piece-label ruby>rt{color:#ffffffd9}.transparency-disabled,.transparency-disabled *,.transparency-disabled *:before,.transparency-disabled *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.transparency-disabled .tool-popup,.transparency-disabled .piece-action-menu,.transparency-disabled .scene-hover-popup,.transparency-disabled .spoken-overlay,.transparency-disabled .chat-side,.transparency-disabled .board-character-status,.transparency-disabled .parameter-suggestions,.transparency-disabled .viewport-share-toast,.transparency-disabled .entrance-glass{background:var(--bg2, #1f1f24)!important}.transparency-disabled .server-play-layout .side-tool,.transparency-disabled .server-play-layout .chat-composer{background:var(--bg, #16181e)!important}.session-notes-panel{grid-template-columns:240px minmax(0,1fr)}.session-notes-list{display:flex;flex-direction:column;gap:6px;padding:4px}.session-notes-list-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;font-size:12px}.session-notes-list-header button{width:24px;height:24px;font-weight:700}.session-notes-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0}.session-notes-item{padding:6px 8px;border-radius:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.session-notes-item:hover{background:#ffffff0f}.session-notes-item.selected{background:#8fd3ff1f;border-color:#8fd3ff80}.session-notes-item.drop-target{outline:2px dashed rgba(143,211,255,.7);outline-offset:-2px}.session-notes-item-title{font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-notes-item-meta{display:flex;justify-content:space-between;gap:6px;font-size:10px;opacity:.7}.session-notes-item-meta .lock-other{color:#f9aa8f;opacity:1}.session-notes-item-meta .lock-self{color:#8fd3ff;opacity:1}.session-notes-detail{display:flex;flex-direction:column;min-height:0;height:100%}.session-notes-error{background:#f9646426;border:1px solid rgba(249,100,100,.4);border-radius:4px;padding:4px 8px;font-size:12px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.session-notes-error button{background:transparent;border:none;color:inherit;cursor:pointer}.session-notes-viewer{display:flex;flex-direction:column;min-height:0;flex:1;gap:8px}.session-notes-viewer-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.session-notes-viewer-header h3{margin:0;font-size:16px;word-break:break-all}.session-notes-actions{display:flex;gap:6px;align-items:center}.session-notes-actions .primary{background:var(--accent, #8fd3ff);color:#1a1a1d;border-color:var(--accent, #8fd3ff)}.session-notes-actions .danger{border-color:#f9646480;color:#f96464}.session-notes-actions .small{font-size:10px}.session-notes-lock-banner{background:#f9aa8f26;border:1px solid rgba(249,170,143,.4);border-radius:4px;padding:6px 8px;font-size:12px}.session-notes-body-rendered{flex:1;min-height:0;overflow-y:auto;padding:4px 8px;background:#00000026;border-radius:4px;line-height:1.6;font-size:13px}.session-notes-editor{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.session-notes-title-input{font-size:16px;padding:6px 8px}.session-notes-body-input{flex:1;min-height:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;resize:none;padding:8px}.session-notes-insert-row{display:flex;gap:6px;align-items:center}.markdown-body h1{font-size:18px;margin:12px 0 6px}.markdown-body h2{font-size:16px;margin:10px 0 6px}.markdown-body h3{font-size:14px;margin:8px 0 4px}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:13px;margin:6px 0 4px}.markdown-body p{margin:4px 0}.markdown-body ul,.markdown-body ol{margin:4px 0;padding-left:22px}.markdown-body li{margin:2px 0}.markdown-body blockquote{border-left:3px solid rgba(255,255,255,.2);margin:6px 0;padding:2px 8px;color:#ffffffb3}.markdown-body code{background:#00000059;padding:1px 4px;border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.markdown-body pre{background:#00000059;padding:8px;border-radius:4px;overflow-x:auto;margin:6px 0}.markdown-body pre code{background:transparent;padding:0}.markdown-body a{color:var(--accent, #8fd3ff)}.markdown-body img{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:4px;margin:6px 0}.markdown-body hr{border:none;border-top:1px solid rgba(255,255,255,.15);margin:8px 0}.markdown-body table{border-collapse:collapse;margin:6px 0;font-size:12px}.markdown-body th,.markdown-body td{border:1px solid rgba(255,255,255,.15);padding:4px 8px}.markdown-body th{background:#ffffff0a}.chat-palette{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}.chat-palette-header{display:flex;align-items:end;gap:6px}.chat-palette-character{flex:1;display:flex;flex-direction:column;gap:2px;font-size:11px}.chat-palette-character select{width:100%}.chat-palette-input{display:flex;gap:4px;align-items:stretch}.chat-palette-textbox{flex:1;min-width:0;box-sizing:border-box;height:46px;resize:none;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;padding:4px 6px;word-break:break-all;overflow-y:auto;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:inherit}.chat-palette-textbox:focus{border-color:var(--accent, #f9aa8f);outline:none}.chat-palette-textbox::placeholder{color:#ffffff4d;font-family:inherit;font-size:11px}.chat-palette-input-send{flex-shrink:0;padding:0 12px;font-size:12px;align-self:stretch}.chat-palette-input-send:disabled{opacity:.4}.chat-palette-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 4px}.chat-palette-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-palette-category{margin:2px 0 4px;font-size:12px;letter-spacing:.05em;color:var(--accent, #8fd3ff);border-bottom:1px dashed rgba(143,211,255,.3);padding-bottom:2px}.chat-palette-row{display:flex}.chat-palette-row-text{flex:1;text-align:left;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;padding:4px 6px;white-space:pre-wrap;word-break:break-all;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:3px;cursor:pointer;color:inherit;-webkit-user-select:none;user-select:none}.chat-palette-row-text:hover{background:#8fd3ff1a;border-color:#8fd3ff66}.chat-palette-row-text:active{background:#8fd3ff2e}.chat-palette-divider{height:1px;background:#ffffff14;margin:4px 2px;list-style:none}.chat-palette-preassign{font-size:11px;color:#fff6;font-style:italic;padding:2px 4px;list-style:none}.chat-palette-hint{margin:0;font-size:10px;line-height:1.4;border-top:1px solid rgba(255,255,255,.08);padding-top:4px}.chat-palette-hint code{background:#00000059;padding:0 3px;border-radius:2px;font-size:10px}.sound-board-panel{display:flex;flex-direction:column;height:100%;min-height:0;gap:6px}.sound-board-tabs{display:flex;gap:2px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:0}.sound-board-tab{flex:1;padding:6px 8px;font-size:12px;font-weight:700;background:transparent;border:none;border-bottom:2px solid transparent;color:#ffffff80;cursor:pointer;transition:color .15s,border-color .15s}.sound-board-tab:hover{color:#fffc}.sound-board-tab.active{color:var(--accent, #f9aa8f);border-bottom-color:var(--accent, #f9aa8f)}.sound-board-content{flex:1;min-height:0;overflow:hidden}.sound-login-required{margin-bottom:8px;padding:8px 10px;border:1px solid rgba(249,170,143,.3);border-radius:6px;background:#f9aa8f14;color:#ffffffd1;font-size:12px}.sound-board-volume{border-top:1px solid rgba(255,255,255,.08);padding-top:6px;font-size:11px}.sound-board-volume label{display:flex;align-items:center;gap:6px}.sound-board-volume input[type=range]{flex:1}.sound-volume-value{min-width:34px;text-align:right;color:var(--muted);font-size:10px}.sound-diagnostic-strip{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#ffffff08;color:#ffffffb3;font-size:10px}.sound-diagnostic-detail{max-width:min(360px,62%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.sound-list-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}.sound-list-tools label{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;white-space:nowrap}.sound-list-tools select,.sound-list-search{min-width:0;font-size:12px}.sound-list-search{width:100%;box-sizing:border-box}.sound-list-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bgm-tab{display:flex;flex-direction:column;gap:8px}.bgm-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;padding:2px}.bgm-list-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:4px;cursor:pointer;color:inherit;font-size:12px;text-align:left;transition:background .12s,border-color .12s;-webkit-user-select:none;user-select:none}.bgm-list-item:hover{background:#ffffff12;border-color:#ffffff26}.bgm-list-item.selected{background:#8fd3ff1a;border-color:#8fd3ff59}.bgm-list-item.playing{background:#f9aa8f1f;border-color:#f9aa8f66}.bgm-list-item.playing .bgm-list-play{color:var(--accent, #f9aa8f);animation:pulse-icon 1.5s ease-in-out infinite}@keyframes pulse-icon{0%,to{opacity:1}50%{opacity:.4}}.bgm-list-play{flex-shrink:0;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#ffffffb3;text-align:center;font-size:11px;line-height:20px;cursor:pointer}.bgm-list-play:hover{background:#8fd3ff24;border-color:#8fd3ff66;color:#fffffff2}.bgm-list-main{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.bgm-list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bgm-list-loop{flex-shrink:0;font-size:10px;opacity:.45;font-family:ui-monospace,monospace}.bgm-detail{display:flex;flex-direction:column;gap:8px;padding:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px}.bgm-detail-label{width:100%;box-sizing:border-box;font-size:13px;font-weight:700;background:transparent;border:1px solid transparent;border-radius:3px;color:inherit;padding:3px 6px}.bgm-detail-label:focus{border-color:var(--accent, #f9aa8f);outline:none;background:#ffffff0a}.bgm-controls{display:flex;align-items:center;gap:4px}.bgm-ctrl-btn{padding:4px 10px;font-size:14px;min-width:36px}.bgm-ctrl-btn.play{background:#8fd3ff26;border-color:#8fd3ff66}.bgm-ctrl-btn.play:hover{background:#8fd3ff40}.bgm-now-playing{font-size:11px;color:var(--accent, #f9aa8f);margin-left:4px;font-family:ui-monospace,monospace}.bgm-now-playing.paused{color:#ffffff80}.bgm-start-mode,.bgm-loop-section{border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:6px 8px;margin:0}.bgm-start-mode legend,.bgm-loop-section legend{font-size:11px;padding:0 4px;opacity:.7}.bgm-start-mode label,.bgm-loop-section label{font-size:12px;display:inline-flex;align-items:center;gap:4px;margin-right:10px}.bgm-loop-inputs{display:flex;align-items:center;gap:6px;margin:6px 0}.bgm-loop-inputs label{display:flex;align-items:center;gap:4px;font-size:11px}.time-input{width:50px;font-family:ui-monospace,monospace;font-size:12px;text-align:center;padding:2px 4px}.bgm-loop-arrow{font-size:14px;opacity:.4}.bgm-loop-actions{display:flex;flex-wrap:wrap;gap:4px}.bgm-loop-actions button{font-size:11px;padding:3px 8px}.bgm-remove-btn{align-self:flex-end;font-size:11px;padding:3px 10px}.se-tab{display:flex;flex-direction:column;gap:8px}.se-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}.se-button-wrap{position:relative}.se-button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:9px 32px 9px 8px;font-size:12px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:inherit;transition:background .1s,transform .08s;text-align:left}.se-button:hover{background:#8fd3ff1f;border-color:#8fd3ff59}.se-button.selected{background:#8fd3ff1a;border-color:#8fd3ff59}.se-button:active{background:#8fd3ff40;transform:scale(.96)}.se-button-play:disabled{opacity:.4;cursor:not-allowed}.se-button-wrap.missing .se-button{border-color:#ff64644d;opacity:.5}.se-button-play{flex:0 0 auto;width:24px;height:24px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#ffffffc2;font-size:11px;line-height:22px}.se-button-play:hover:not(:disabled){background:#8fd3ff24;border-color:#8fd3ff66;color:#fffffff5}.se-button-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.se-button-main{flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.se-button-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;font-size:13px;line-height:22px;border-radius:50%;background:#c83c3cb3;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;opacity:.82;transition:opacity .15s}.se-button-wrap:hover .se-button-remove,.se-button-remove:focus-visible{opacity:1}.se-detail{margin-top:8px;padding:10px;border:1px solid rgba(143,211,255,.2);border-radius:6px;background:#8fd3ff0f}.bgm-detail-meta{font-size:11px;color:#ffffff9e;overflow-wrap:anywhere}.assets-tab{display:flex;flex-direction:column;gap:6px;height:100%;min-height:0;box-sizing:border-box;border:1px dashed transparent;border-radius:6px;padding:4px;transition:border-color .15s,background .15s}.assets-tab.drag-over{background:#8fd3ff14;border-color:#8fd3ff8c}.assets-drop-hint{padding:8px;border:1px dashed rgba(255,255,255,.14);border-radius:4px;color:var(--muted);font-size:11px;text-align:center}.sound-scope-filter{display:flex;gap:4px}.sound-scope-filter button{flex:1;padding:4px 6px;border-radius:5px;font-size:11px}.sound-scope-filter button.active{background:#8fd3ff29;border-color:#8fd3ff73}.assets-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.asset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;background:#ffffff08;border-radius:3px;font-size:12px}.asset-name{display:grid;gap:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-asset-scope{color:var(--muted);font-size:10px}.card-deck-panel{display:grid;gap:12px}.card-deck-tabs{display:flex;gap:6px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.card-deck-tabs button{flex:1;min-height:30px;border:0;background:transparent;color:var(--muted)}.card-deck-tabs button.active{background:#ffffff1a;color:var(--text)}.card-deck-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.card-deck-create-row select{min-width:0}.card-set-import{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted);font-size:12px}.card-set-import input{max-width:210px;font-size:12px}.card-set-list,.deck-list,.drawn-card-list{display:grid;gap:8px;margin-top:10px}.card-set-row,.deck-row,.drawn-card-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.card-set-row span,.deck-row span,.drawn-card-row span{min-width:0}.card-set-row strong,.deck-row strong,.drawn-card-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-set-row small,.deck-row small,.drawn-card-row small{display:block;color:var(--muted);font-size:11px}.deck-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.deck-actions button{padding:5px 8px;font-size:12px}.deck-size-field{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px}.deck-size-field input{width:54px;min-height:28px;padding:3px 6px;font-size:12px}.asset-actions{display:flex;flex-wrap:wrap;gap:3px;flex-shrink:0;justify-content:flex-end}.asset-actions button{min-height:28px;font-size:11px;padding:3px 8px}@media(max-width:420px){.sound-list-tools{grid-template-columns:1fr}.sound-list-count{text-align:left}.asset-row{grid-template-columns:1fr}.asset-actions{justify-content:flex-start}}:root{--narrow-breakpoint: 960px;--narrow-initiative-rail-width: 48px;--narrow-top-overlay-height: 48px;--narrow-chat-tab-width: 44px;--narrow-chat-tab-height: 96px;--narrow-chat-panel-max-width: 720px;--narrow-chat-panel-min-width: 300px;--narrow-chat-panel-ratio: 96vw;--narrow-chat-board-reserve: 4px;--narrow-panel-radius: 14px;--narrow-control-size: 40px;--narrow-icon-size: 32px;--narrow-font-size: 14px;--narrow-small-font-size: 12px;--z-board: var(--layer-board);--z-board-object: var(--layer-board-object);--z-narrow-top-overlay: var(--layer-narrow-top-overlay);--z-narrow-initiative-rail: var(--layer-narrow-initiative-rail);--z-narrow-chat-tab: var(--layer-narrow-chat-tab);--z-narrow-chat-panel: var(--layer-narrow-chat-panel);--z-narrow-menu-button: var(--layer-narrow-menu-button);--z-narrow-menu-panel: var(--layer-narrow-menu-panel);--z-narrow-tool-panel: var(--layer-narrow-tool-panel);--z-dialog: var(--layer-dialog)}.app.narrow-app{height:100dvh;overflow:hidden}.app.app-floating-chrome>.app-header{display:none}.scene-with-chat.narrow-room-layout{display:block!important;grid-template-columns:none!important;position:relative;width:100%;height:100%;overflow:hidden;background:#111}.scene-with-chat.narrow-room-layout>.scene-wrap{position:absolute;inset:0;width:100%;height:100%;z-index:var(--z-board)}.scene-with-chat.narrow-room-layout>.resizer{display:none}.chat-side.narrow-chat-side{position:absolute!important;inset:0 0 0 auto!important;width:min(var(--narrow-chat-panel-ratio),var(--narrow-chat-panel-max-width),calc(100vw - var(--narrow-initiative-rail-width) - var(--narrow-chat-board-reserve)))!important;min-width:var(--narrow-chat-panel-min-width)!important;max-width:calc(100vw - var(--narrow-initiative-rail-width))!important;height:auto!important;max-height:none!important;margin:0!important;transform:none!important;z-index:var(--z-narrow-chat-panel)!important;border-radius:0;border-left:1px solid rgba(255,255,255,.14);background:#12141af5;box-shadow:none;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.chat-side.narrow-chat-side.narrow-closed{display:none!important}.chat-side.narrow-chat-side .window-drag-handle.chat-drag-handle,.chat-side.narrow-chat-side .window-resize-handle{display:none}.chat-side.narrow-chat-side .server-chat-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-side.narrow-chat-side .server-chat-area>.drag-ignore{flex:1;min-height:0;display:flex}.chat-side.narrow-chat-side .chat-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.chat-side.narrow-chat-side .chat-list{flex:1;min-height:0;overflow-y:auto}.chat-side.narrow-chat-side .speaker-strip{flex-wrap:wrap;gap:4px}.chat-side.narrow-chat-side .chat-input-wrap textarea{width:100%;font-size:16px;min-height:60px}.chat-side.narrow-chat-side .narrow-chat-composer-actions{padding:4px 0 0}.chat-side.narrow-chat-side .chat-composer-actions button{font-size:16px;padding:8px 10px}.chat-side.narrow-chat-side .chat-composer-actions>.narrow-chat-send-button{flex:1 1 auto;min-width:0;padding:8px 6px;white-space:nowrap}.narrow-chat-actions-button{width:36px;aspect-ratio:1 / 1;flex:0 0 36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;border-radius:8px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.16);cursor:pointer}.narrow-chat-actions-button.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.narrow-chat-actions-menu{position:fixed;max-width:calc(100vw - 16px);z-index:var(--layer-floating-menu);background:#12141af7;border:1px solid rgba(255,255,255,.18);border-radius:var(--narrow-panel-radius);box-shadow:0 18px 48px #0009;padding:6px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overscroll-behavior:contain}.narrow-chat-actions-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:1px solid transparent;color:var(--fg);border-radius:8px;cursor:pointer;font-size:var(--narrow-font-size);text-align:left;width:100%}.narrow-chat-actions-row:hover{background:#ffffff0f}.narrow-chat-actions-row input[type=checkbox]{margin:0}.narrow-chat-actions-meta{cursor:default;color:var(--muted);justify-content:space-between}.narrow-chat-actions-meta:hover{background:transparent}.narrow-chat-actions-meta strong{color:var(--fg);font-weight:700}.chat-palette-mini{display:flex;flex-direction:column;gap:8px;min-height:0;width:100%}.chat-palette-mini-header{display:flex;align-items:end;gap:6px;flex:0 0 auto}.chat-palette-mini-character{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--narrow-small-font-size)}.chat-palette-mini-character select{width:100%;min-width:0;font-size:16px}.chat-palette-mini-close{width:36px;aspect-ratio:1 / 1;flex:0 0 36px;padding:0;border-radius:8px;font-size:20px;line-height:1}.chat-palette-mini-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.chat-palette-mini-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.chat-palette-mini-category{margin:2px 0 4px;font-size:12px;color:var(--accent, #8fd3ff);border-bottom:1px dashed rgba(143,211,255,.3);padding-bottom:2px}.chat-palette-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:stretch}.chat-palette-mini-text,.chat-palette-mini-send{min-width:0;padding:7px 8px;font-size:13px;line-height:1.35;border-radius:8px}.chat-palette-mini-text{text-align:left;justify-content:flex-start;white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--fg)}.chat-palette-mini-send{white-space:nowrap;font-size:12px;background:#8fd3ff24;border:1px solid rgba(143,211,255,.28)}.chat-palette-mini-divider{height:1px;background:#ffffff14;margin:4px 2px}.chat-side.narrow-chat-side .chat-composer-actions .chat-palette-quick-button{padding:0;font-size:15px}.chat-side.narrow-chat-side .chat-composer-actions .chat-palette-mini-close{padding:0;font-size:20px}.chat-side.narrow-chat-side .chat-composer-actions .chat-palette-mini-text,.chat-side.narrow-chat-side .chat-composer-actions .chat-palette-mini-send{padding:7px 8px;font-size:13px}.chat-side.narrow-chat-side .chat-composer-actions .chat-palette-mini-send{font-size:12px}.narrow-chat-search-bar{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#1c1e24f5;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.narrow-chat-search-input{flex:1;min-width:0;padding:6px 10px;font-size:16px;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.18);border-radius:8px}.narrow-chat-search-close{width:32px;aspect-ratio:1 / 1;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:50%;cursor:pointer}.narrow-chat-search-close:hover{color:var(--fg);background:#ffffff14}.narrow-chat-stash-button{width:36px;aspect-ratio:1 / 1;flex:0 0 36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;background:transparent!important;border:1px solid transparent!important;color:var(--muted)!important;border-radius:50%!important;cursor:pointer;transition:background .15s ease,color .15s ease,transform .12s ease}.narrow-chat-stash-button:hover,.narrow-chat-stash-button:focus-visible{background:#ffffff14!important;color:var(--fg)!important;transform:translate(2px)}.narrow-room-layout{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#111}.narrow-board-layer{position:absolute;inset:0;z-index:var(--z-board);overflow:hidden}.narrow-board-layer>*{width:100%;height:100%}.narrow-top-overlay,.narrow-chat-collapsed,.narrow-floating-layer{pointer-events:none}.narrow-top-overlay button,.narrow-chat-open-button,.narrow-action-menu,.narrow-action-menu-panel,.narrow-action-menu-panel button,.narrow-chat-panel,.narrow-initiative-rail,.narrow-initiative-expanded-card{pointer-events:auto}.narrow-top-overlay{position:absolute;top:env(safe-area-inset-top,0px);left:var(--narrow-initiative-rail-width);right:0;height:var(--narrow-top-overlay-height);z-index:var(--z-narrow-top-overlay);display:flex;align-items:center;justify-content:space-between;padding:6px calc(8px + env(safe-area-inset-right,0px)) 6px 8px}.narrow-room-title{max-width:min(56vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--narrow-font-size);font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.75);pointer-events:none;margin:0}.narrow-bgm-device-toggle{min-height:32px;padding:5px 8px;font-size:10px;background:#141418b8;-webkit-backdrop-filter:blur(6px) saturate(115%);backdrop-filter:blur(6px) saturate(115%)}.narrow-menu-button{width:var(--narrow-control-size);height:var(--narrow-control-size);border-radius:10px;background:#141418b3;color:var(--fg);border:1px solid rgba(255,255,255,.18);font-size:18px;cursor:pointer;z-index:var(--z-narrow-menu-button)}.narrow-menu-button.active,.narrow-menu-button:focus-visible{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.narrow-action-menu-panel{position:fixed;top:calc(var(--narrow-top-overlay-height) + env(safe-area-inset-top,0px) + 4px);right:calc(8px + env(safe-area-inset-right,0px));width:min(280px,calc(100vw - 16px));max-height:calc(100dvh - var(--narrow-top-overlay-height) - 24px);overflow-y:auto;z-index:var(--layer-floating-menu);background:#12141af2;border:1px solid rgba(255,255,255,.18);border-radius:var(--narrow-panel-radius);box-shadow:0 18px 48px #0009;padding:8px;display:flex;flex-direction:column;gap:4px}.narrow-action-menu-section{display:flex;flex-direction:column;gap:2px;padding:4px}.narrow-action-menu-section+.narrow-action-menu-section{border-top:1px solid rgba(255,255,255,.08);margin-top:4px}.narrow-action-menu-section-title{font-size:var(--narrow-small-font-size);color:var(--muted);margin:0 0 2px;font-weight:600}.narrow-action-menu-panel button{text-align:left;background:transparent;border:1px solid transparent;color:var(--fg);padding:8px 10px;border-radius:8px;cursor:pointer;font-size:var(--narrow-font-size);width:100%}.narrow-action-menu-panel button.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.narrow-action-menu-panel button:hover:not(.active){background:#ffffff0f}.narrow-initiative-rail{position:absolute;top:0;left:0;bottom:0;width:var(--narrow-initiative-rail-width);z-index:var(--z-narrow-initiative-rail);padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;align-items:center;overflow-y:auto;overflow-x:visible;background:#00000052;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.narrow-initiative-icon{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#282832b3;color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;padding:0;overflow:hidden}.narrow-initiative-icon img{width:100%;height:100%;object-fit:cover;display:block}.narrow-initiative-icon-fallback{font-size:12px;font-weight:700}.narrow-initiative-icon.current{border-color:var(--accent);box-shadow:0 0 0 2px #f9aa8f8c}.narrow-initiative-icon-badge{position:absolute;bottom:-2px;right:-2px;background:#000000d9;color:#fff;font-size:9px;border-radius:6px;padding:0 3px;line-height:12px;min-width:12px;text-align:center}.narrow-initiative-empty{font-size:10px;color:var(--muted);text-align:center;padding:8px 4px}.narrow-initiative-expanded-card{position:absolute;left:var(--narrow-initiative-rail-width);top:var(--expanded-card-top, 64px);z-index:var(--layer-narrow-expanded-card);width:min(280px,calc(100vw - var(--narrow-initiative-rail-width) - 12px));max-width:calc(100vw - var(--narrow-initiative-rail-width) - 12px);background:#12141af5;border:1px solid rgba(255,255,255,.18);border-left:4px solid #888;border-radius:var(--narrow-panel-radius);box-shadow:0 18px 48px #0009;padding:10px;display:flex;flex-direction:column;gap:8px}.narrow-initiative-expanded-header{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.narrow-initiative-expanded-init{min-width:26px;height:22px;padding:0 6px;border:1px solid currentColor;border-radius:999px;background:#06080ce0;font-size:12px;font-weight:800;line-height:20px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.narrow-initiative-expanded-thumb{width:100%;height:120px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0000004d;overflow:hidden;display:flex;align-items:center;justify-content:center}.narrow-initiative-expanded-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.narrow-initiative-expanded-thumb-fallback{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#1a1a1d}.narrow-initiative-expanded-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px 10px;padding:4px 0;border-top:1px solid rgba(255,255,255,.08)}.narrow-status-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.narrow-status-label{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.narrow-status-row{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:4px}.narrow-status-value{text-align:center;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.narrow-status-step{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.16);border-radius:6px;cursor:pointer}.narrow-status-step:hover,.narrow-status-step:focus-visible{background:#ffffff24;border-color:#ffffff4d}.narrow-status-step:active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.narrow-initiative-expanded-actions{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}.narrow-initiative-expanded-actions button{flex:1;text-align:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:var(--fg);border-radius:8px;padding:6px 8px;font-size:var(--narrow-small-font-size);cursor:pointer}.narrow-initiative-expanded-actions button:hover{background:#ffffff1a}.narrow-chat-collapsed{position:absolute;right:calc(6px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));top:auto;transform:none;z-index:var(--z-narrow-chat-tab)}.narrow-chat-open-button{width:var(--narrow-chat-tab-width);min-height:var(--narrow-chat-tab-height);border-radius:12px 0 0 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#141418d9;color:var(--fg);border:1px solid rgba(255,255,255,.16);border-right:none;cursor:pointer;font-size:var(--narrow-small-font-size);position:relative;padding:4px}.narrow-chat-open-button-icon{font-size:18px;line-height:1}.narrow-chat-open-button-badge{position:absolute;top:4px;right:4px;background:var(--accent);color:#1a1a1d;font-size:10px;font-weight:700;border-radius:8px;padding:0 5px;min-width:14px;line-height:14px;text-align:center}.narrow-chat-panel{position:absolute;top:0;right:0;bottom:0;width:min(var(--narrow-chat-panel-ratio),var(--narrow-chat-panel-max-width));min-width:var(--narrow-chat-panel-min-width);max-width:calc(100vw - var(--narrow-initiative-rail-width));z-index:var(--z-narrow-chat-panel);display:flex;flex-direction:column;overflow:hidden;background:#12141af5;border-left:1px solid rgba(255,255,255,.14);padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.narrow-chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}.narrow-chat-panel-title{font-size:var(--narrow-font-size);font-weight:700}.narrow-chat-panel-close{background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--fg);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:var(--narrow-small-font-size)}.narrow-chat-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.narrow-chat-panel .server-chat-area{flex:1;min-height:0;overflow:hidden;display:flex}.narrow-chat-panel .server-chat-area>.drag-ignore{flex:1;min-height:0;display:flex}.narrow-chat-panel .chat-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.narrow-chat-panel .chat-list{flex:1;min-height:0;overflow-y:auto}.narrow-chat-panel .server-side-tools{flex:0 0 auto}.narrow-chat-panel .speaker-strip{flex-wrap:wrap;gap:4px}.narrow-chat-panel .chat-input-wrap textarea{width:100%;font-size:16px;min-height:60px}.narrow-chat-panel .chat-composer-actions{display:flex;gap:6px;padding:4px 0 0}.narrow-chat-panel .chat-composer-actions button{flex:1}.narrow-room-layout input,.narrow-room-layout textarea,.narrow-chat-panel input,.narrow-chat-panel textarea{font-size:16px}.tool-popup.narrow-tool-popup{position:absolute!important;top:calc(8px + env(safe-area-inset-top,0px))!important;right:calc(8px + env(safe-area-inset-right,0px))!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;left:calc(var(--narrow-initiative-rail-width) + 8px)!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;z-index:var(--z-narrow-tool-panel)!important;transform:none!important}.tool-popup.narrow-tool-popup.minimized,.tool-popup.narrow-tool-popup .window-resize-handle{display:none}.tool-popup.narrow-tool-popup .window-drag-handle{cursor:default}.app.narrow-app .participant-minimap{left:calc(8px + env(safe-area-inset-left,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));width:min(190px,50vw);padding:6px}.app.narrow-app .participant-minimap-legend{display:none}.tool-popup.narrow-tool-popup .tool-popup-body:has(>.manager-grid){overflow:hidden}.tool-popup.narrow-tool-popup .manager-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(128px,34%) minmax(0,1fr);min-height:0;height:100%}.tool-popup.narrow-tool-popup .manager-list{min-width:0;min-height:0;overflow-y:auto;padding-right:0;padding-bottom:4px}.tool-popup.narrow-tool-popup .manager-editor{min-width:0;min-height:0;overflow-y:auto}.tool-popup.narrow-tool-popup .manager-list-head{align-items:flex-start}.tool-popup.narrow-tool-popup .manager-list-actions{justify-content:flex-start}.tool-popup.narrow-tool-popup .form-grid.two,.tool-popup.narrow-tool-popup .form-grid.three,.tool-popup.narrow-tool-popup .field-title-grid,.tool-popup.narrow-tool-popup .field-asset-grid,.tool-popup.narrow-tool-popup .media-grid{grid-template-columns:minmax(0,1fr)}.tool-popup.narrow-tool-popup .form-grid.numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-popup.narrow-tool-popup .form-grid.numeric-grid label,.tool-popup.narrow-tool-popup .editor-form label.numeric-field,.tool-popup.narrow-tool-popup .field-asset-grid label,.tool-popup.narrow-tool-popup .media-grid label,.tool-popup.narrow-tool-popup .editor-form label.image-field{width:auto}.tool-popup.narrow-tool-popup .character-size-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-popup.narrow-tool-popup .character-size-row label{width:auto}.app.narrow-app .youtube-dock,.app.narrow-app .youtube-add{display:none}.scene-toolbar.scene-toolbar-hidden{display:none!important}.scene-narrow-controls{position:absolute;top:calc(env(safe-area-inset-top,0px) + 4px);right:calc(8px + env(safe-area-inset-right,0px) + var(--narrow-control-size) + 8px + var(--narrow-control-size) + 8px);height:var(--narrow-control-size);z-index:var(--z-narrow-menu-button);display:inline-flex;align-items:center;gap:6px;padding:0 6px;border-radius:10px;background:#141418b3;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.scene-narrow-zoom-button{width:32px;aspect-ratio:1 / 1;padding:0;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.scene-narrow-tools-fab{position:absolute;top:calc(env(safe-area-inset-top,0px) + 4px);right:calc(8px + env(safe-area-inset-right,0px) + var(--narrow-control-size) + 8px);z-index:var(--z-narrow-menu-button);width:var(--narrow-control-size);height:var(--narrow-control-size);aspect-ratio:1 / 1;padding:0;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:#141418b3;color:var(--fg);border:1px solid rgba(255,255,255,.18);border-radius:10px;cursor:pointer;pointer-events:auto}.scene-narrow-tools-fab.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.scene-narrow-zoom-pct{font-size:var(--narrow-small-font-size);color:var(--fg);min-width:40px;text-align:center;-webkit-user-select:none;user-select:none}.scene-narrow-toolmenu{position:fixed;top:calc(var(--narrow-top-overlay-height) + env(safe-area-inset-top,0px) + 4px);right:calc(8px + env(safe-area-inset-right,0px) + var(--narrow-control-size) + 8px);width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - var(--narrow-top-overlay-height) - 80px);overflow-y:auto;z-index:var(--layer-floating-menu);background:#12141af5;border:1px solid rgba(255,255,255,.18);border-radius:var(--narrow-panel-radius);box-shadow:0 18px 48px #0009;padding:10px;display:flex;flex-direction:column;gap:6px}.scene-narrow-toolmenu-row{display:flex;align-items:center;gap:6px}.scene-narrow-toolmenu-row>select,.scene-narrow-toolmenu-row>.scene-select{flex:1;width:100%;min-width:0;max-width:none}.scene-narrow-toolmenu-row>button{flex:1}.scene-narrow-toolmenu .toolbar-toggle{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:var(--narrow-font-size)}.scene-narrow-toolmenu button{font-size:var(--narrow-font-size);padding:6px 10px;background:var(--bg3);color:var(--fg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.scene-narrow-toolmenu button.active{background:var(--accent);color:#1a1a1d;border-color:var(--accent)}.scene-narrow-toolmenu-close{margin-top:4px}
