:root{color-scheme:dark;--ink:#171a18;--ink-soft:#202521;--paper:#e9e3d4;--paper-dim:#aaa695;--line:#41483f;--signal:#d9a84e;--safe:#8db29b;--danger:#c98278;--panel:#1a1e1bdb;--panel-raised:#262b27c7;--shadow:#00000057;background:var(--ink);color:var(--paper);font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px),var(--ink);background-size:28px 28px;min-width:320px;min-height:100vh;margin:0}body:before{z-index:-1;content:"";background:radial-gradient(circle at 72% 18%,#d9a84e14,#0000 34rem);position:fixed;inset:0}.app-shell{grid-template-rows:auto 1fr auto;width:min(1180px,100% - 48px);min-height:100vh;margin:0 auto;display:grid}.masthead,footer{border-color:var(--line);justify-content:space-between;align-items:center;display:flex}.masthead{border-bottom:1px solid var(--line);padding:36px 0 24px}.eyebrow,.kicker,.rail-label,footer span{color:var(--signal);letter-spacing:.16em;margin:0 0 8px;font:700 .7rem/1.2 ui-monospace,Cascadia Code,monospace}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-family:Noto Serif KR,Batang,serif;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:600}.status-chip{border:1px solid var(--line);color:var(--paper-dim);align-items:center;gap:9px;padding:9px 12px;font-size:.78rem;display:inline-flex}.status-dot{background:var(--safe);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #8db29bb8}.workspace{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:clamp(40px,8vw,120px);padding:80px 0;display:grid}.rail{border-right:1px solid var(--line);align-self:stretch;padding:20px 20px 20px 0}.rail ol{color:#777d74;gap:18px;margin:0;padding:20px 0 0;font-size:.82rem;list-style:none;display:grid}.rail li:before{content:"○";color:var(--line);margin-right:9px}.rail li.active{color:var(--paper)}.rail li.active:before{content:"●";color:var(--signal)}.briefing{max-width:760px}.auth-layout{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:end;gap:clamp(36px,6vw,76px);display:grid}.briefing h2{letter-spacing:-.055em;max-width:16ch;margin-bottom:28px;font-family:Noto Serif KR,Batang,serif;font-size:clamp(2rem,5vw,4.75rem);font-weight:500;line-height:1.14}.lead{max-width:64ch;color:var(--paper-dim);word-break:keep-all;margin-bottom:48px;font-size:1rem;line-height:1.9}.checks{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.checks div{padding:18px 16px 20px 0}.checks div+div{border-left:1px solid var(--line);padding-left:16px}.checks dt{color:var(--signal);letter-spacing:.12em;margin-bottom:8px;font:700 .65rem/1 ui-monospace,Cascadia Code,monospace}.checks dd{color:var(--paper-dim);margin:0;font-size:.78rem;line-height:1.5}.auth-card{border:1px solid var(--line);background:#202521d1;min-height:410px;padding:28px;box-shadow:18px 18px #00000021}.auth-card-heading{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:20px}.auth-card h3{margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.55rem;font-weight:500}.auth-message,.auth-error{color:var(--paper-dim);word-break:keep-all;margin-bottom:24px;font-size:.88rem;line-height:1.75}.auth-error{color:#d9b2aa;border-left:2px solid #b86b62;padding-left:12px}.fixture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.button{min-height:42px;color:var(--paper);text-align:center;cursor:pointer;background:0 0;border:1px solid #596158;border-radius:0;justify-content:center;align-items:center;padding:10px 13px;font:600 .76rem/1.25 inherit;text-decoration:none;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.button:hover,.button:focus-visible{border-color:var(--signal);background:#d9a84e14;outline:0}.button:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.button:disabled{color:#686d67;cursor:wait;background:0 0;border-color:#3b403b}.button:disabled:hover{background:0 0;border-color:#3b403b}.button.primary{border-color:var(--signal);background:var(--signal);width:100%;color:var(--ink)}.button.secondary{margin-top:22px}.button.danger{color:#c69b94;border-color:#79534e}.button.quiet{min-height:36px;color:var(--paper-dim);border-color:#0000;padding:7px 11px}.button.compact-button{min-width:92px;min-height:36px;padding:7px 10px}.identity-record{gap:8px;padding:22px 0;display:grid}.identity-record strong{font-family:Noto Serif KR,Batang,serif;font-size:1.8rem;font-weight:500}.identity-record>span:last-child{color:var(--paper-dim);font-size:.8rem}.identity-label{color:var(--signal);letter-spacing:.12em;font:700 .64rem/1 ui-monospace,Cascadia Code,monospace}footer{border-top:1px solid var(--line);color:var(--paper-dim);padding:20px 0 26px;font-size:.75rem}footer span{margin:0}footer strong{font-weight:500}.signed-workspace{align-items:start;gap:clamp(28px,5vw,72px);padding:48px 0 72px}.signed-workspace .rail{min-height:420px;position:sticky;top:24px}.rail li.complete,.rail li.complete:before{color:var(--safe)}.workspace-main{min-width:0}.session-strip{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;margin-bottom:52px;padding:0 0 24px;display:flex}.identity-record.compact{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px 16px;padding:0}.identity-record.compact .identity-label{grid-column:1/-1}.identity-record.compact strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.25rem,2.4vw,1.75rem);overflow:hidden}.session-actions{flex:none;align-items:center;gap:12px;display:flex}.session-actions .button.secondary{min-height:36px;margin-top:0}.capability-badge,.safe-payload{color:#8c928a;letter-spacing:.08em;white-space:nowrap;border:1px solid #4c534c;padding:7px 9px;font:700 .62rem/1.2 ui-monospace,Cascadia Code,monospace}.capability-badge.enabled{color:var(--safe);border-color:#577161}.workspace-heading{grid-template-columns:minmax(250px,.9fr) minmax(300px,1.1fr);align-items:end;gap:clamp(28px,6vw,68px);margin-bottom:44px;display:grid}.workspace-heading h2{letter-spacing:-.055em;word-break:keep-all;max-width:13ch;margin-bottom:0;font-family:Noto Serif KR,Batang,serif;font-size:clamp(2rem,4.4vw,3.9rem);font-weight:500;line-height:1.16}.workspace-heading>p{color:var(--paper-dim);word-break:keep-all;margin-bottom:3px;font-size:.9rem;line-height:1.8}.workspace-panel{gap:38px;display:grid}.notice-slot{min-height:0}.workspace-notice{border-left:2px solid var(--safe);color:#b8cfbf;background:#8db29b14;margin:0;padding:12px 14px;font-size:.82rem;line-height:1.5}.workspace-notice.error{border-left-color:var(--danger);color:#dab0aa;background:#c9827814}.gm-studio{border:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;box-shadow:14px 14px #0000001c}.work-form{align-content:start;gap:17px;padding:clamp(22px,4vw,34px);display:grid}.work-form+.work-form{border-left:1px solid var(--line)}.section-heading{border-bottom:1px solid var(--line);grid-template-columns:35px 1fr;align-items:start;gap:12px;margin-bottom:3px;padding-bottom:18px;display:grid}.section-heading>span{color:var(--signal);font:500 1.3rem/1 ui-monospace,Cascadia Code,monospace}.section-heading .kicker{margin-bottom:5px}.section-heading h3,.collection-heading h3,.player-boundary h3{letter-spacing:-.035em;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.35rem;font-weight:500}.work-form label{gap:8px;min-width:0;display:grid}.work-form label>span{color:var(--paper-dim);font-size:.73rem;font-weight:600}.work-form input,.work-form select,.work-form textarea{width:100%;min-width:0;color:var(--paper);background:#171b18;border:1px solid #4b524a;border-radius:0;outline:0;padding:11px 12px;font:400 .88rem/1.55 inherit;transition:border-color .14s,box-shadow .14s}.work-form textarea{resize:vertical}.work-form input::placeholder,.work-form textarea::placeholder{color:#6e746c}.work-form input:focus-visible,.work-form select:focus-visible,.work-form textarea:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.work-form input:disabled{color:#7d827a;opacity:1}.work-form .code-input{font-family:ui-monospace,Cascadia Code,monospace;font-size:.78rem}.work-form small{color:#767c74;margin-top:-9px;font-size:.68rem;line-height:1.55}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-intro{min-height:76px;color:var(--paper-dim);word-break:keep-all;margin:0;font-size:.8rem;line-height:1.7}.player-boundary{background:#8db29b0d;border:1px solid #496151;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:22px;padding:24px;display:grid}.player-boundary>span{color:var(--safe);letter-spacing:-.08em;font:500 2.2rem/1 ui-monospace,Cascadia Code,monospace}.player-boundary p{max-width:68ch;color:var(--paper-dim);word-break:keep-all;margin:8px 0 0;font-size:.82rem;line-height:1.65}.collection{border-top:1px solid var(--line)}.collection-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.collection-heading .kicker{margin-bottom:5px}.collection-state,.empty-state{color:var(--paper-dim);margin:0;padding:22px 0;font-size:.82rem;line-height:1.65}.collection-state.error{color:#d2a39c}.record-group{padding:18px 0 8px}.record-group+.record-group{border-top:1px dashed #373d37;margin-top:16px}.record-group-label{color:#7d837a;letter-spacing:.11em;align-items:baseline;gap:8px;margin-bottom:10px;font:700 .65rem/1 ui-monospace,Cascadia Code,monospace;display:flex}.record-group-label strong{color:var(--paper-dim);font-size:.72rem}.record-list{display:grid}.record-card{border-top:1px solid #363c36;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:17px 0;display:grid}.record-card:last-child{border-bottom:1px solid #363c36}.record-index{width:32px;height:32px;color:var(--signal);border:1px solid #635941;place-items:center;font:700 .75rem/1 ui-monospace,Cascadia Code,monospace;display:grid}.record-index.campaign-index{color:var(--safe);border-color:#496151}.record-copy{min-width:0}.record-title-line{align-items:baseline;gap:14px;min-width:0;display:flex}.record-title-line h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500;overflow:hidden}.record-title-line span{color:var(--signal);letter-spacing:.08em;flex:none;font:700 .62rem/1 ui-monospace,Cascadia Code,monospace}.campaign-card .record-title-line span{color:var(--safe)}.record-copy p{color:var(--paper-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 4px;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.record-copy small{color:#6f756d;font-size:.67rem}.trash-group{opacity:.78}.muted-list .record-index{color:#777c74;border-color:#4c504a}.empty-state.compact-empty{padding:10px 0}.safe-payload{color:var(--safe);border-color:#496151}.moderation-desk{border-top:1px solid var(--line);gap:22px;margin-top:34px;padding-top:30px;display:grid}.moderation-grid,.gm-moderation-tools{border:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compact-form{min-width:0}.compact-form form{gap:14px;display:grid}.gm-moderation-tools{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.gm-moderation-tools>:nth-child(n+2){border-left:1px solid var(--line);padding:24px}.gm-moderation-tools>:nth-child(3),.gm-moderation-tools>:nth-child(4){border-top:1px solid var(--line)}.secret-receipt{border:1px dashed var(--signal);background:#d9a84e12;gap:12px;margin-top:18px;padding:16px;display:grid}.secret-receipt strong{color:var(--signal);font-size:.8rem}.secret-receipt textarea,.secret-receipt input{font-family:ui-monospace,Cascadia Code,monospace;font-size:.72rem}.moderation-list{min-width:0}.moderation-list h4{margin:0 0 16px;font-family:Noto Serif KR,Batang,serif;font-weight:500}.mini-record{border-bottom:1px solid #41483fb3;align-items:center;gap:10px;min-width:0;padding:11px 0;display:flex}.mini-record>:first-child{min-width:0;margin-right:auto}.mini-record small{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-ban-form{background:#c982780f;border:1px solid #c982788c;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr) auto auto;align-items:end;gap:18px;padding:22px;display:grid}.admin-ban-form h3{margin:0}.check-line{flex-direction:row;align-items:center;gap:9px;padding-bottom:10px;display:flex}.check-line input{width:auto}.character-desk{border-top:1px solid var(--line);gap:24px;margin-top:34px;padding-top:34px;display:grid}.character-desk-heading{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);align-items:end;gap:34px;display:grid}.character-desk-heading>p{color:var(--paper-dim);word-break:keep-all;margin:0 0 4px;font-size:.8rem;line-height:1.75}.character-section-heading{margin:0}.character-notice-slot{min-height:0}.character-notice{border-left:2px solid var(--safe);color:#b8cfbf;background:#8db29b12;margin:0;padding:11px 14px;font-size:.78rem;line-height:1.55}.character-notice.error{border-left-color:var(--danger);color:#dab0aa;background:#c9827814}.character-campaign-bar{border:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:end;gap:20px;padding:18px 20px;display:flex}.character-campaign-bar>label{flex:420px;gap:8px;max-width:620px;display:grid}.character-campaign-bar label>span,.management-block label>span,.provenance-block label>span{color:var(--paper-dim);font-size:.72rem;font-weight:600}.character-campaign-bar select,.management-block input,.management-block select,.management-block textarea,.provenance-block textarea{width:100%;min-width:0;color:var(--paper);background:#171b18;border:1px solid #4b524a;border-radius:0;outline:0;padding:10px 12px;font:400 .82rem/1.5 inherit}.character-campaign-bar select:focus-visible,.management-block input:focus-visible,.management-block select:focus-visible,.management-block textarea:focus-visible,.provenance-block textarea:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.character-campaign-actions{flex:none;align-items:center;gap:10px;display:flex}.view-stamp{min-height:27px;color:var(--paper-dim);letter-spacing:.1em;white-space:nowrap;border:1px solid #586057;align-items:center;padding:5px 8px;font:700 .58rem/1 ui-monospace,Cascadia Code,monospace;display:inline-flex}.view-stamp.gm{color:var(--signal);border-color:#7b6741}.view-stamp.caution{color:var(--danger);border-color:#79534e}.character-empty-ledger{color:var(--paper-dim);border:1px dashed #41483f;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:18px;padding:24px;display:grid}.character-empty-ledger.compact{margin:18px 0}.character-empty-ledger>span{color:#656c64;font:500 1.8rem/1 ui-monospace,Cascadia Code,monospace}.character-empty-ledger p{margin:0;font-size:.8rem;line-height:1.65}.character-boundary>span{letter-spacing:-.04em;font-size:1.35rem}.import-workbench{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr);display:grid;box-shadow:14px 14px #0000001c}.character-import-form{border-right:1px solid var(--line)}.source-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.source-tab{min-height:38px;color:var(--paper-dim);cursor:pointer;background:0 0;border:1px solid #4b524a;border-radius:0;padding:8px 10px;font:700 .66rem/1.25 ui-monospace,Cascadia Code,monospace}.source-tab+.source-tab{border-left:0}.source-tab.active,.source-tab:focus-visible{border-color:var(--signal);color:var(--signal);background:#d9a84e14;outline:0;position:relative}.source-tab:disabled{color:#666c65;cursor:wait}.file-control input[type=file]{padding:8px;font-size:.72rem}.file-control input[type=file]::file-selector-button{color:var(--paper);font:inherit;cursor:pointer;background:0 0;border:1px solid #5a6259;border-radius:0;margin-right:12px;padding:7px 10px}.import-source-input{min-height:174px}.import-preview{min-width:0;padding:clamp(22px,4vw,34px)}.preview-empty{color:var(--paper-dim);gap:10px;padding:28px 0;display:grid}.preview-empty strong,.preview-meta,.preview-columns strong,.tool-heading,.atomic-commit strong{color:var(--signal);letter-spacing:.1em;font:700 .62rem/1.2 ui-monospace,Cascadia Code,monospace}.preview-empty p{margin:0;font-size:.8rem;line-height:1.7}.preview-register{gap:16px;display:grid}.preview-meta{color:var(--safe);justify-content:space-between;display:flex}.preview-meta code{color:#767d75;letter-spacing:0;font-weight:500}.preview-card{border-top:1px solid #495048;border-bottom:1px solid #343a34}.preview-card header{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:14px 0;display:grid}.preview-card header>span{color:var(--signal);font:700 .68rem/1 ui-monospace,Cascadia Code,monospace}.preview-card h4{margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500}.preview-card header p{color:var(--paper-dim);margin:4px 0 0;font-size:.68rem}.preview-columns{border-top:1px dashed #343a34;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:14px 0 18px;display:grid}.preview-columns ul{gap:7px;margin:0;padding:9px 0 0;list-style:none;display:grid}.preview-columns li{color:var(--paper-dim);gap:3px;font-size:.68rem;display:grid}.preview-columns code,.controller-register code{color:#747b73;text-overflow:ellipsis;white-space:nowrap;font:500 .6rem/1.4 ui-monospace,Cascadia Code,monospace;overflow:hidden}.preview-none{color:#757b74;margin:9px 0 0;font-size:.68rem}.preview-none.safe{color:var(--safe)}.atomic-commit{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(170px,.45fr);align-items:center;gap:18px;padding-top:18px;display:grid}.atomic-commit p{color:var(--paper-dim);margin:0;font-size:.7rem;line-height:1.6}.character-archive,.character-detail{border-top:1px solid var(--line)}.character-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;padding:12px 0;display:grid}.character-record{min-width:0;color:var(--paper);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #363c36;border-radius:0;outline:0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 2px;display:grid}.character-record:hover,.character-record:focus-visible,.character-record.selected{background:linear-gradient(90deg,#8db29b14,#0000)}.character-record:focus-visible{box-shadow:inset 2px 0 var(--signal)}.character-record:disabled{cursor:wait;opacity:.58}.character-record-copy{gap:5px;min-width:0;display:grid}.character-record-copy strong,.summary-only-document h4,.full-sheet-document h4{text-overflow:ellipsis;white-space:nowrap;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500;overflow:hidden}.character-record-copy small{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.summary-only-document,.full-sheet-document{border:1px solid var(--line);background:var(--panel);margin:20px 0 0}.summary-only-document{grid-template-columns:74px minmax(180px,.55fr) minmax(260px,1fr);align-items:center;gap:20px;padding:22px;display:grid}.portrait-placeholder{color:#6f776e;background:linear-gradient(135deg,#0000 48%,#383e37 49% 51%,#0000 52%),#1a1e1b;border:1px solid #5a604f;place-items:center;width:68px;height:78px;font:500 1.35rem/1 Noto Serif KR,serif;display:grid}.summary-only-document h4,.full-sheet-document h4{margin:10px 0 4px;font-size:1.35rem}.summary-only-document p,.full-sheet-document header p{color:var(--paper-dim);margin:0;font-size:.76rem}.summary-only-document small{color:#747a72;font-size:.65rem}.payload-boundary{border-left:1px solid #495048;padding-left:20px;line-height:1.7}.full-sheet-document{padding:24px}.full-sheet-document>header{border-bottom:1px solid var(--line);grid-template-columns:74px minmax(0,1fr);align-items:center;gap:20px;padding-bottom:20px;display:grid}.sheet-summary-grid{border-top:1px solid #3b423b;border-left:1px solid #3b423b;grid-template-columns:repeat(5,minmax(70px,1fr));margin:18px 0 0;display:grid}.sheet-summary-grid div{border-bottom:1px solid #3b423b;border-right:1px solid #3b423b;padding:12px}.sheet-summary-grid div.resource{background:#8db29b0a}.sheet-summary-grid dt{color:var(--signal);letter-spacing:.09em;margin-bottom:6px;font:700 .59rem/1 ui-monospace,Cascadia Code,monospace}.sheet-summary-grid dd{margin:0;font:600 .88rem/1.2 ui-monospace,Cascadia Code,monospace}.sheet-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:20px;display:grid}.sheet-notes strong{color:var(--paper-dim);font-size:.67rem}.sheet-notes p{color:#bbb7a8;white-space:pre-wrap;margin:8px 0 0;font-size:.75rem;line-height:1.7}.gm-character-tools{background:#202420e6;border:1px solid #62583e;margin-top:24px}.gm-tools-heading{margin:0;padding:20px 22px}.gm-tools-grid{border-top:1px solid var(--line);grid-template-columns:minmax(340px,1.08fr) minmax(300px,.92fr);display:grid}.sheet-editor-form{border-right:1px solid var(--line)}.tool-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.tool-heading span{color:#747a72;letter-spacing:.05em;font-size:.58rem;font-weight:500}.sheet-editor{min-height:420px}.management-column{align-content:start;display:grid}.management-block{gap:13px;padding:20px;display:grid}.management-block+.management-block{border-top:1px solid var(--line)}.management-block label,.provenance-block label{gap:7px;display:grid}.management-block .check-line{padding:0;display:flex}.management-block .check-line input{width:auto}.controller-register ul{margin:3px 0 0;padding:0;list-style:none}.controller-register li{border-top:1px dashed #414740;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 0;display:flex}.controller-register li>div{gap:4px;min-width:0;display:grid}.controller-register small{color:var(--safe);letter-spacing:.06em;font:600 .56rem/1 ui-monospace,Cascadia Code,monospace}.provenance-block p{color:var(--paper-dim);margin:0;font-size:.72rem;line-height:1.6}.export-output{resize:vertical;min-height:170px}.play-desk{border-top:1px solid var(--line);gap:24px;min-width:0;margin-top:34px;padding-top:34px;display:grid}.play-desk-heading{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);align-items:end;gap:34px;display:grid}.play-section-heading{margin:0}.play-desk-heading>p{color:var(--paper-dim);word-break:keep-all;margin:0 0 4px;font-size:.8rem;line-height:1.75}.play-notice-slot{min-height:0}.play-notice{border-left:2px solid var(--safe);color:#b8cfbf;background:#8db29b12;margin:0;padding:11px 14px;font-size:.78rem;line-height:1.55}.play-notice.error{border-left-color:var(--danger);color:#dab0aa;background:#c9827814}.play-campaign-bar{border:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:end;gap:20px;padding:18px 20px;display:flex}.play-campaign-bar>label{flex:420px;gap:8px;min-width:0;max-width:620px;display:grid}.play-campaign-bar label>span,.play-form label>span{color:var(--paper-dim);font-size:.72rem;font-weight:600}.play-campaign-bar select,.play-form input,.play-form select,.play-form textarea{width:100%;min-width:0;color:var(--paper);background:#171b18;border:1px solid #4b524a;border-radius:0;outline:0;padding:10px 12px;font:400 .82rem/1.5 inherit;transition:border-color .14s,box-shadow .14s}.play-form textarea{resize:vertical;min-height:106px}.play-form input::placeholder,.play-form textarea::placeholder{color:#6e746c}.play-campaign-bar select:focus-visible,.play-form input:focus-visible,.play-form select:focus-visible,.play-form textarea:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.play-form select:disabled{color:#767c74;opacity:1}.play-campaign-actions{flex:none;align-items:center;gap:10px;display:flex}.realtime-control-bar{background:#121714db;border:1px solid #3d453e;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.realtime-state{grid-template-columns:10px minmax(0,auto);align-items:center;gap:3px 10px;min-width:0;display:grid}.realtime-state-dot{background:0 0;border:1px solid #777c75;border-radius:50%;grid-row:1/span 2;width:8px;height:8px}.realtime-state-dot.connected{border-color:var(--safe);background:var(--safe);box-shadow:0 0 0 4px #8db29b14}.realtime-state-dot.caution{border-color:var(--danger);background:var(--danger)}.realtime-state strong{color:var(--paper);font-size:.72rem;font-weight:600}.realtime-state small{color:#747b73;text-overflow:ellipsis;white-space:nowrap;font:500 .58rem/1.3 ui-monospace,Cascadia Code,monospace;overflow:hidden}.realtime-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.play-empty-ledger{min-width:0;color:var(--paper-dim);border:1px dashed #41483f;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:18px;padding:24px;display:grid}.play-empty-ledger>span{width:54px;height:54px;color:var(--signal);border:1px solid #50574f;place-items:center;font:700 .68rem/1 ui-monospace,Cascadia Code,monospace;display:grid}.play-empty-ledger p{word-break:keep-all;margin:0;font-size:.78rem;line-height:1.7}.play-grid{border:1px solid var(--line);background:#181c19b3;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.play-column{grid-template-rows:auto auto minmax(260px,1fr);align-content:start;min-width:0;display:grid}.play-column+.play-column{border-left:1px solid var(--line)}.play-column-heading{border-bottom:1px solid var(--line);background:#262b278a;justify-content:space-between;align-items:end;gap:18px;min-width:0;padding:20px 22px;display:flex}.play-column-heading .kicker{margin-bottom:6px}.play-column-heading h4{letter-spacing:-.035em;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.2rem;font-weight:500}.play-column-heading>span{color:#747b73;letter-spacing:.09em;white-space:nowrap;font:700 .56rem/1 ui-monospace,Cascadia Code,monospace}.play-form{border-bottom:1px solid var(--line);gap:14px;min-width:0;padding:22px;display:grid}.play-form label{gap:7px;min-width:0;display:grid}.play-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.dice-expression-input{letter-spacing:.03em;font-family:ui-monospace,Cascadia Code,monospace!important}.play-form small{color:#777d75;word-break:keep-all;font-size:.66rem;line-height:1.6}.play-submit{justify-self:stretch}.play-history{min-width:0;padding:0 22px 22px}.play-history-heading{border-bottom:1px solid #3d433d;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:18px 0 12px;display:flex}.play-history-heading h5{color:var(--paper);margin:0;font-family:Noto Serif KR,Batang,serif;font-size:.9rem;font-weight:500}.play-history-heading span{color:#727970;letter-spacing:.06em;white-space:nowrap;font:600 .54rem/1 ui-monospace,Cascadia Code,monospace}.play-state{color:var(--paper-dim);margin:0;padding:28px 0;font-size:.75rem;line-height:1.7}.play-state.error{color:#dab0aa}.roll-register,.chat-register,.dice-terms{margin:0;padding:0;list-style:none}.roll-register,.chat-register{scrollbar-color:#596057 #202521;max-height:540px;overflow-y:auto}.roll-entry,.chat-entry{border-bottom:1px solid #353b35;min-width:0;padding:16px 0}.roll-entry-heading,.chat-entry-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.roll-entry-heading>div,.chat-entry-heading>div{align-items:center;gap:8px;min-width:0;display:flex}.roll-entry-heading strong,.chat-entry-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:600;overflow:hidden}.roll-entry-heading time,.chat-entry-heading time{color:#6f766e;white-space:nowrap;flex:none;font:500 .55rem/1 ui-monospace,Cascadia Code,monospace}.visibility-mark,.chat-entry-heading span{min-height:22px;color:var(--paper-dim);letter-spacing:.07em;border:1px solid #596057;flex:none;align-items:center;padding:4px 6px;font:700 .5rem/1 ui-monospace,Cascadia Code,monospace;display:inline-flex}.visibility-mark.public{color:var(--safe);border-color:#587160}.visibility-mark.secret,.visibility-mark.blind,.visibility-mark.gm_only,.chat-entry.whisper .chat-entry-heading span{color:var(--signal);border-color:#7b6741}.dice-result{grid-template-columns:86px minmax(0,1fr);gap:12px;min-width:0;padding-top:14px;display:grid}.dice-total{text-align:center;border:1px solid #62583e;align-content:center;min-height:76px;padding:10px;display:grid}.dice-total span{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;font:600 .55rem/1.3 ui-monospace,Cascadia Code,monospace;overflow:hidden}.dice-total strong{color:var(--signal);margin-top:5px;font:500 1.8rem/1 Noto Serif KR,Batang,serif}.dice-terms{align-content:start;min-width:0;display:grid}.dice-terms li{border-bottom:1px dashed #3b413b;grid-template-columns:50px minmax(0,1fr);gap:8px;min-width:0;padding:6px 0;display:grid}.dice-terms span{color:#7d847b;font:600 .58rem/1.4 ui-monospace,Cascadia Code,monospace}.dice-terms strong{overflow-wrap:anywhere;color:#bbb7a8;font:500 .64rem/1.4 ui-monospace,Cascadia Code,monospace}.coc-outcome{border-left:2px solid var(--safe);background:#8db29b0f;grid-column:1/-1;justify-content:space-between;align-items:center;margin:0;padding:9px 10px;font-size:.67rem;display:flex}.coc-outcome span{color:var(--paper-dim)}.coc-outcome strong{color:var(--safe)}.receipt-copy{color:#c9b98f;border:1px dashed #62583e;margin:12px 0 0;padding:11px 12px;font-size:.7rem;line-height:1.55}.chat-body{color:#c7c2b2;overflow-wrap:anywhere;white-space:pre-wrap;margin:12px 0 0;font-size:.75rem;line-height:1.75}.gm-policy-mark{color:#81775b;letter-spacing:.04em;padding-top:9px;font:600 .52rem/1.3 ui-monospace,Cascadia Code,monospace;display:inline-block}.current-scene-stage{border:1px solid var(--line);background:#141815d1;min-width:0;display:grid}.scene-stage-frame{background-color:#111411;background-image:linear-gradient(#d9a84e09 1px,#0000 1px),linear-gradient(90deg,#d9a84e09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:260px;max-height:560px;display:grid;overflow:hidden}.scene-stage-shell{width:100%;min-width:0;position:relative;overflow:hidden}.scene-canvas{isolation:isolate;touch-action:none;width:100%;height:auto;min-height:0;max-height:none;display:block}.scene-stage-background{pointer-events:none;user-select:none}.scene-canvas .scene-stage-placeholder{pointer-events:none}.scene-stage-placeholder rect{fill:#111411}.scene-stage-placeholder text{fill:var(--signal);letter-spacing:.16em;font:700 18px/1 ui-monospace,Cascadia Code,monospace}.scene-item-frame{transform-box:fill-box;transform-origin:50%;transition:x .16s ease-out,y .16s ease-out;overflow:visible}.scene-item-frame.dragging{transition:none}.scene-item{width:100%;min-width:0;height:100%;min-height:0;color:var(--paper);cursor:default;touch-action:none;background:#232823e6;border:1px solid #d6ccabb8;border-radius:8%;outline:1px solid #0c0f0dd1;place-items:center;padding:0;transition:box-shadow .12s ease-out,outline-color .12s ease-out;display:grid;position:relative;overflow:visible;box-shadow:0 4px 12px #00000057}.scene-item.movable{cursor:grab}.scene-item.dragging{cursor:grabbing;transition:none;box-shadow:0 8px 22px #0000007a}.scene-item.pending{outline-color:var(--signal);cursor:progress;box-shadow:0 0 0 2px #d9a84e33,0 6px 18px #0006}.scene-item.locked{opacity:.86;border-style:dashed}.scene-item:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.scene-item>img{border-radius:inherit;object-fit:cover;pointer-events:none;user-select:none;width:100%;height:100%;display:block}.scene-item-fallback{border-radius:inherit;width:100%;height:100%;color:var(--signal);pointer-events:none;background:radial-gradient(circle at 36% 28%,#d9a84e3d,#0000 52%),#252b25;place-items:center;font:700 clamp(.55rem,1.7vw,1rem)/1 ui-monospace,Cascadia Code,monospace;display:grid;overflow:hidden}.scene-item-label{color:#e5ddc8;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#0c0f0de6;border:1px solid #d6ccab3d;max-width:140px;padding:3px 6px;font:600 .56rem/1.2 ui-monospace,Cascadia Code,monospace;display:block;position:absolute;top:calc(100% + 4px);left:50%;overflow:hidden;transform:translate(-50%)}.scene-item-state{z-index:1001;color:#9ea399;text-align:center;pointer-events:none;background:#0c0f0ddb;border:1px solid #d6ccab38;margin:0;padding:9px 12px;font-size:.68rem;position:absolute;bottom:16px;left:18px;right:18px}.scene-item-state.error{color:#e4a18f;border-color:#d46e586b}.scene-keyboard-help{color:#777d75;border-top:1px solid #d6ccab1f;margin:0;padding:10px 20px 12px;font-size:.66rem}.scene-empty{color:#6f756d;text-align:center;place-items:center;gap:10px;display:grid}.scene-empty>span{color:var(--signal);letter-spacing:.16em;font:700 .68rem/1 ui-monospace,Cascadia Code,monospace}.scene-empty{min-height:170px;padding:28px}.scene-empty p{margin:0;font-size:.78rem}.scene-stage-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:15px 20px;display:flex}.scene-stage-meta strong{text-overflow:ellipsis;white-space:nowrap;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500;overflow:hidden}.scene-stage-meta span{color:#777d75;text-align:right;font:600 .58rem/1.4 ui-monospace,Cascadia Code,monospace}.asset-scene-studio,.element-studio{border-top:1px solid var(--line);gap:24px;min-width:0;margin-top:34px;padding-top:34px;display:grid}.asset-scene-heading{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);align-items:end;gap:34px;display:grid}.asset-scene-heading .section-heading{margin:0}.asset-scene-heading>p{color:var(--paper-dim);word-break:keep-all;margin:0 0 4px;font-size:.8rem;line-height:1.75}.asset-scene-notice:empty{display:none}.asset-scene-notice p{border-left:2px solid var(--safe);color:#b8cfbf;background:#8db29b12;margin:0;padding:11px 14px;font-size:.78rem;line-height:1.55}.asset-scene-notice p.error{border-left-color:var(--danger);color:#dab0aa;background:#c9827814}.asset-library,.template-scene-desk,.campaign-scene-desk{border:1px solid var(--line);background:#181c19b8;min-width:0;padding:22px}.subdesk-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;display:flex}.subdesk-heading h4{letter-spacing:-.035em;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.15rem;font-weight:500}.compact-filter{gap:6px;min-width:min(280px,48%);display:grid}.compact-filter span,.asset-upload label,.scene-fields label>span{color:var(--paper-dim);font-size:.7rem;font-weight:600}.compact-filter select,.asset-upload input,.scene-fields input,.scene-fields select{width:100%;min-width:0;color:var(--paper);background:#171b18;border:1px solid #4b524a;border-radius:0;outline:0;padding:10px 11px;font:400 .78rem/1.5 inherit}.compact-filter select:focus-visible,.asset-upload input:focus-visible,.scene-fields input:focus-visible,.scene-fields select:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.scene-fields select:disabled{color:#8a8f87;opacity:1}.asset-usage{grid-template-columns:minmax(130px,auto) minmax(180px,1fr);align-items:center;gap:20px;padding:18px 0;display:grid}.asset-usage>div{gap:5px;display:grid}.asset-usage span,.campaign-revision-stamp{color:#737a72;letter-spacing:.1em;font:700 .56rem/1 ui-monospace,Cascadia Code,monospace}.asset-usage strong{color:var(--paper-dim);font:600 .7rem/1.3 ui-monospace,Cascadia Code,monospace}.asset-usage progress{background:#2d332e;border:0;width:100%;height:6px}.asset-usage progress::-webkit-progress-bar{background:#2d332e}.asset-usage progress::-webkit-progress-value{background:var(--signal)}.asset-usage progress::-moz-progress-bar{background:var(--signal)}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;display:grid}.asset-card{background:#171b18;border:1px solid #3d443e;grid-template-rows:150px auto auto;min-width:0;display:grid}.asset-preview{background:#111411;border-bottom:1px solid #3d443e;place-items:center;min-width:0;display:grid;overflow:hidden}.asset-preview img,.asset-preview video{object-fit:contain;width:100%;height:150px;display:block}.asset-preview audio{width:calc(100% - 20px)}.document-mark{color:var(--signal);letter-spacing:.14em;font:700 1rem/1 ui-monospace,Cascadia Code,monospace}.asset-copy{gap:5px;min-width:0;padding:13px;display:grid}.asset-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.asset-copy span,.asset-copy small{color:#777d75;font:500 .58rem/1.4 ui-monospace,Cascadia Code,monospace}.asset-card>.button{margin:0 13px 13px}.asset-upload,.scene-create-form,.scene-editor{background:#121613b3;border:1px solid #3d443e;gap:15px;min-width:0;margin-top:18px;padding:20px;display:grid}.asset-upload>div,.scene-fields,.scene-fields label{gap:8px;min-width:0;display:grid}.upload-feedback,.field-note{color:#7e847c;margin:0;font-size:.68rem;line-height:1.6}.scene-fields{border:0;padding:0}.scene-fields legend{color:var(--signal);letter-spacing:.1em;padding:0 0 12px;font:700 .62rem/1 ui-monospace,Cascadia Code,monospace}.scene-dimension-row,.scene-grid-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;display:grid}.scene-grid-row{background:#d9a84e09;border-left:2px solid #5b523a;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.scene-editor-list{gap:12px;margin-top:16px;display:grid}.scene-editor{margin-top:0}.scene-editor-heading{border-bottom:1px solid #394039;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-bottom:12px;display:flex}.scene-editor-heading>span,.scene-editor-heading>em{color:#777d75;letter-spacing:.08em;font:700 .55rem/1 ui-monospace,Cascadia Code,monospace}.scene-editor-heading>strong{margin-right:auto;font-family:Noto Serif KR,Batang,serif;font-size:.95rem;font-weight:500}.scene-editor-heading>em{border:1px solid #4b524a;padding:5px 7px;font-style:normal}.scene-editor-heading>em.public{color:var(--safe);border-color:#587162}.scene-editor-heading>em.gm-only{color:var(--signal);border-color:#675b3d}.gm-only-check{color:var(--paper-dim);padding:2px 0;font-size:.72rem}.scene-editor-actions{flex-wrap:wrap;gap:9px;display:flex}.campaign-revision-stamp{text-align:right;padding-top:18px}.element-desk{gap:18px;display:grid}.element-scope-selectors{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:12px;display:flex}.element-scope-selectors .compact-filter{width:min(260px,100%);min-width:190px}.element-create-form,.element-record{background:#0e120f9e;border:1px solid #3a413a;gap:16px;min-width:0;padding:18px;display:grid}.element-create-form{border-left:2px solid #d9a84e9e}.element-form-heading,.scene-record-heading{border-bottom:1px solid #343b35;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;min-width:0;padding-bottom:12px;display:flex}.element-form-heading>div,.scene-record-heading>div:first-child{gap:5px;min-width:0;display:grid}.element-form-heading strong,.scene-record-heading strong{font-family:Noto Serif KR,Batang,serif;font-size:.94rem;font-weight:500}.element-form-heading span,.scene-record-heading code{color:#737a72;text-overflow:ellipsis;white-space:nowrap;font:600 .56rem/1.35 ui-monospace,Cascadia Code,monospace;overflow:hidden}.scene-record-actions{flex-wrap:wrap;gap:8px;display:flex}.element-record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.element-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;display:grid}.element-editor-grid>label,.element-controller-editor label{min-width:0;color:var(--paper-dim);gap:6px;font-size:.68rem;font-weight:600;display:grid}.element-editor-grid input,.element-editor-grid select,.element-controller-editor select{width:100%;min-width:0;color:var(--paper);background:#171b18;border:1px solid #4b524a;border-radius:0;outline:0;padding:9px 10px;font:400 .76rem/1.45 inherit}.element-editor-grid input:focus-visible,.element-editor-grid select:focus-visible,.element-controller-editor select:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.element-editor-grid .check-line{align-self:end;align-items:center;min-height:38px;padding:0;display:flex}.element-editor-grid .check-line input{width:auto}.element-name-field,.element-reference-field{grid-column:span 2}.element-controller-editor{border:1px solid #343b35;gap:12px;min-width:0;padding:14px;display:grid}.element-controller-editor legend{color:var(--signal);letter-spacing:.08em;padding:0 8px;font:700 .6rem/1 ui-monospace,Cascadia Code,monospace}.controller-assignment-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.controller-chip-list{flex-wrap:wrap;gap:8px;display:flex}.controller-chip{color:#c8c5b7;background:#232a24c2;border:1px solid #465047;align-items:center;gap:8px;min-width:0;padding:5px 5px 5px 10px;font-size:.68rem;display:inline-flex}.controller-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handout-media-grid{border:1px solid var(--line);background:#181c19b3;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-width:0;display:grid}.handout-desk,.media-desk{min-width:0}.media-desk{border-left:1px solid var(--line)}.handout-desk>.play-state,.media-desk>.play-state{padding:28px 22px}.handout-list,.handout-management-list{gap:10px;margin:0;padding:18px 22px 22px;list-style:none;display:grid}.handout-entry,.handout-management-entry,.media-state-card{background:#111512c2;border:1px solid #3d453e;gap:12px;min-width:0;padding:16px;display:grid}.handout-entry-heading,.media-state-heading,.handout-register-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.handout-entry-heading strong,.media-state-heading strong,.handout-register-heading strong{min-width:0;color:var(--paper);overflow-wrap:anywhere;font-family:Noto Serif KR,Batang,serif;font-size:.88rem;font-weight:500}.handout-entry-heading span,.media-state-heading span,.handout-register-heading span{color:#777e76;letter-spacing:.06em;text-align:right;flex:none;font:700 .53rem/1.4 ui-monospace,Cascadia Code,monospace}.handout-body{color:#b9b8ad;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.74rem;line-height:1.72}.handout-asset-link{color:#d1ad66;text-underline-offset:3px;justify-self:start;font-size:.68rem}.handout-manager{border-top:1px solid var(--line);background:#0e120f85;gap:0;min-width:0;margin-top:4px;display:grid}.handout-manager-heading{border-bottom:1px solid #353c36;justify-content:space-between;align-items:end;gap:18px;min-width:0;padding:20px 22px;display:flex}.handout-manager-heading .kicker{margin-bottom:6px}.handout-manager-heading h5{color:var(--paper);letter-spacing:-.03em;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500}.handout-manage-form{border-bottom:1px solid #353c36;min-width:0;padding:20px 22px}.handout-manage-form fieldset,.media-gm-controls fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.handout-manage-form legend,.media-gm-controls legend{color:var(--signal);letter-spacing:.09em;padding:0 0 12px;font:700 .6rem/1 ui-monospace,Cascadia Code,monospace}.handout-manage-form label,.media-gm-controls label,.personal-media-controls label{gap:7px;min-width:0;display:grid}.handout-manage-form label>span,.media-gm-controls label>span,.personal-media-controls label>span{color:var(--paper-dim);font-size:.69rem;font-weight:600}.handout-manage-form input,.handout-manage-form select,.handout-manage-form textarea,.media-gm-controls input,.media-gm-controls select{width:100%;min-width:0;color:var(--paper);background:#151916;border:1px solid #485048;border-radius:0;outline:0;padding:9px 11px;font:400 .76rem/1.5 inherit}.handout-manage-form textarea{resize:vertical;min-height:92px}.handout-manage-form input:focus-visible,.handout-manage-form select:focus-visible,.handout-manage-form textarea:focus-visible,.media-gm-controls input:focus-visible,.media-gm-controls select:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e21}.handout-manage-form fieldset:disabled,.media-gm-controls fieldset:disabled{opacity:.62}.handout-manage-form small{color:#777e76;font-size:.64rem;line-height:1.6}.handout-register-heading{padding:18px 22px 0}.handout-manager-actions,.media-command-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.handout-edit-form{background:#d9a84e09;border-top:1px solid #353c36;border-bottom:0}.personal-media-controls{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.personal-media-controls input[type=range]{width:100%;accent-color:var(--signal)}.personal-media-controls .inline-check,.media-gm-controls .inline-check{align-items:center;gap:8px;display:flex}.personal-media-controls .inline-check input,.media-gm-controls .inline-check input{width:auto;accent-color:var(--signal)}.media-state-card{margin:18px 22px}.media-state-card>p{color:#8e948c;margin:0;font-size:.68rem;line-height:1.65}.shared-media-player{background:#080b09;width:100%;max-height:420px;display:block}.media-gm-only{border-top:1px solid var(--line);background:#0d110e8f;padding:20px 22px 22px}.media-gm-controls{min-width:0}@media (width<=1080px){.handout-media-grid{grid-template-columns:1fr}.media-desk{border-top:1px solid var(--line);border-left:0}.element-record-list{grid-template-columns:1fr}}@media (width<=900px){.play-grid{grid-template-columns:1fr}.play-column+.play-column{border-top:1px solid var(--line);border-left:0}.asset-grid,.element-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.play-desk-heading,.asset-scene-heading{grid-template-columns:1fr;gap:18px}.subdesk-heading,.scene-stage-meta{flex-direction:column;align-items:stretch}.compact-filter{width:100%;min-width:0}.element-scope-selectors{justify-content:stretch;width:100%;display:grid}.element-scope-selectors .compact-filter,.element-name-field,.element-reference-field{grid-column:auto;width:100%;min-width:0}.element-editor-grid,.controller-assignment-row{grid-template-columns:1fr}.element-form-heading,.scene-record-heading{flex-direction:column;align-items:stretch}.scene-record-actions .button{flex:1}.asset-grid,.scene-dimension-row,.scene-grid-row,.asset-usage{grid-template-columns:1fr}.play-campaign-bar{flex-direction:column;align-items:stretch}.play-campaign-actions{justify-content:space-between}.realtime-control-bar{flex-direction:column;align-items:stretch}.realtime-actions{justify-content:flex-start}.handout-manager-heading{flex-direction:column;align-items:stretch}}@media (width<=430px){.play-campaign-bar,.play-column-heading,.play-form{padding-left:16px;padding-right:16px}.play-campaign-actions{flex-direction:column;align-items:stretch}.realtime-actions{grid-template-columns:1fr;display:grid}.play-form-row{grid-template-columns:1fr}.play-history,.handout-list,.handout-management-list,.handout-manage-form,.handout-manager-heading,.media-gm-only,.personal-media-controls{padding-left:16px;padding-right:16px}.personal-media-controls{grid-template-columns:1fr}.media-state-card{margin-left:16px;margin-right:16px}.handout-entry-heading,.media-state-heading,.handout-register-heading{flex-direction:column;align-items:flex-start}.handout-manager-actions,.media-command-actions{grid-template-columns:1fr;display:grid}.play-history-heading,.roll-entry-heading,.chat-entry-heading{flex-direction:column;align-items:flex-start}.roll-entry-heading>div,.chat-entry-heading>div{width:100%}.dice-result{grid-template-columns:72px minmax(0,1fr)}.play-empty-ledger{grid-template-columns:1fr}.asset-library,.template-scene-desk,.campaign-scene-desk,.asset-upload,.scene-create-form,.scene-editor{padding-left:16px;padding-right:16px}.scene-stage-frame{min-height:180px}.scene-editor-actions{grid-template-columns:1fr;display:grid}}@media (width<=720px){.app-shell{width:min(100% - 28px,680px)}.masthead{align-items:flex-start;gap:20px}.status-chip{white-space:nowrap}.workspace{grid-template-columns:1fr;gap:36px;padding:52px 0}.signed-workspace .rail{min-height:0;position:static}.auth-layout{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px}.rail ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.rail li{font-size:.72rem}.checks{grid-template-columns:1fr}.checks div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.auth-card{min-height:0;padding:22px;box-shadow:10px 10px #00000021}.session-strip,.workspace-heading{grid-template-columns:1fr}.session-strip{gap:18px;margin-bottom:38px;display:grid}.session-actions{flex-wrap:wrap;justify-content:space-between}.workspace-heading{gap:20px;display:grid}.workspace-heading h2{max-width:15ch}.gm-studio,.moderation-grid,.gm-moderation-tools,.admin-ban-form,.character-desk-heading,.import-workbench,.gm-tools-grid{grid-template-columns:1fr}.character-import-form,.sheet-editor-form{border-right:0;border-bottom:1px solid var(--line)}.character-campaign-bar{flex-direction:column;align-items:stretch}.character-campaign-actions{justify-content:space-between}.character-records{grid-template-columns:1fr}.summary-only-document{grid-template-columns:74px minmax(0,1fr)}.payload-boundary{border-top:1px solid #495048;border-left:0;grid-column:1/-1;padding:16px 0 0}.sheet-summary-grid{grid-template-columns:repeat(2,minmax(80px,1fr))}.sheet-notes{grid-template-columns:1fr}.gm-moderation-tools>:nth-child(n+2),.work-form+.work-form{border-top:1px solid var(--line);border-left:0}.form-intro{min-height:0}.record-card{grid-template-columns:34px minmax(0,1fr);gap:12px}.record-card>.button,.record-card>.safe-payload{grid-column:2;justify-self:start}}@media (width<=430px){.fixture-grid{grid-template-columns:1fr}.rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}.masthead{display:grid}.status-chip{justify-self:start}.form-row{grid-template-columns:1fr}.work-form{padding:20px 17px}.player-boundary{grid-template-columns:1fr;gap:12px}.record-title-line{gap:7px;display:grid}.record-title-line h4{white-space:normal}.mini-record{flex-wrap:wrap;align-items:flex-start}.inline-actions{justify-content:flex-start;width:100%}.source-tabs,.preview-columns,.atomic-commit{grid-template-columns:1fr}.source-tab+.source-tab{border-top:0;border-left:1px solid #4b524a}.character-desk-heading{gap:18px}.character-campaign-actions{flex-direction:column;align-items:stretch}.character-record{grid-template-columns:32px minmax(0,1fr)}.character-record .view-stamp{grid-column:2;justify-self:start}.summary-only-document,.full-sheet-document>header{grid-template-columns:1fr}.sheet-summary-grid{grid-template-columns:1fr 1fr}.controller-register li{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.operations-desk{border:1px solid var(--line);background:#131714c7;min-width:0;margin-top:42px}.operations-heading{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#d9a84e0b,#0000 42%),#1d221ead;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);align-items:end;gap:28px;padding:24px;display:grid}.operations-heading>p{color:#979b91;max-width:48ch;margin:0;font-size:.72rem;line-height:1.7}.operations-notice{min-height:0}.operations-notice p{color:#b8c8bd;background:#8db29b14;border-bottom:1px solid #3b433c;margin:0;padding:11px 24px;font-size:.72rem;line-height:1.5}.operations-notice p.error{color:#d7a49d;background:#c9827817}.operations-campaign-bar{border-bottom:1px solid var(--line);background:#0c100d85;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;padding:16px 24px;display:grid}.operations-campaign-bar label{color:var(--paper-dim);font-size:.68rem;font-weight:700}.operations-campaign-bar select,.session-start-form input{width:100%;min-width:0;color:var(--paper);background:#151916;border:1px solid #4b534b;border-radius:0;outline:0;padding:9px 11px;font:400 .76rem/1.5 inherit}.operations-campaign-bar select:focus-visible,.session-start-form input:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px #d9a84e26}.operations-authority{color:#858b83;letter-spacing:.07em;white-space:nowrap;border:1px solid #495049;padding:6px 8px;font:700 .56rem/1 ui-monospace,Cascadia Code,monospace}.operations-authority.gm{color:var(--signal);border-color:#6c5d3b}.operations-grid{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);min-width:0;display:grid}.session-ledger,.trash-ledger{min-width:0;padding:22px 24px 24px}.campaign-trash-ledger{border-left:1px solid var(--line)}.asset-trash-ledger{border-top:1px solid var(--line)}.operations-subheading,.current-session-heading,.session-history-heading{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.operations-subheading{border-bottom:1px solid #3a413a;padding-bottom:14px}.operations-subheading .kicker{margin-bottom:5px}.operations-subheading h4{letter-spacing:-.03em;margin:0;font-family:Noto Serif KR,Batang,serif;font-size:1.02rem;font-weight:500}.operations-subheading>span{color:#807f70;letter-spacing:.07em;font:700 .57rem/1 ui-monospace,Cascadia Code,monospace}.operations-state{color:#848a82;margin:0;padding:24px 0;font-size:.72rem;line-height:1.65}.operations-state.error{color:#d09a92}.current-session-card{background:#0e120fad;border:1px solid #3d453e;gap:14px;min-height:106px;margin-top:16px;padding:17px;display:grid}.current-session-card.active{border-left:2px solid var(--signal);background:#d9a84e0b}.current-session-heading{flex-direction:column;align-items:flex-start;gap:7px}.current-session-heading span{color:var(--signal);letter-spacing:.1em;font:700 .58rem/1 ui-monospace,Cascadia Code,monospace}.current-session-heading strong{overflow-wrap:anywhere;max-width:100%;font-family:Noto Serif KR,Batang,serif;font-size:1rem;font-weight:500}.session-empty{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px;display:grid}.session-empty>span{color:#657068;font-size:.92rem}.session-empty strong{color:#c3c2b7;font-size:.78rem}.session-empty p,.authority-note{color:#838981;margin:6px 0 0;font-size:.68rem;line-height:1.65}.session-facts{border-top:1px solid #394039;border-bottom:1px solid #394039;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.session-facts>div{min-width:0;padding:10px 9px 11px 0}.session-facts>div+div{border-left:1px solid #394039;padding-left:9px}.session-facts dt{color:#777e76;letter-spacing:.05em;margin-bottom:5px;font:700 .53rem/1 ui-monospace,Cascadia Code,monospace}.session-facts dd{color:#b8b7ac;overflow-wrap:anywhere;margin:0;font-size:.64rem;line-height:1.45}.session-start-form{gap:8px;padding-top:14px;display:grid}.session-start-form>label{color:var(--paper-dim);font-size:.68rem;font-weight:700}.session-start-form>div{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.session-history-heading{color:#7f857d;letter-spacing:.08em;padding:20px 0 9px;font:700 .58rem/1 ui-monospace,Cascadia Code,monospace}.session-history-list,.trash-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.session-history-list li{background:#0f13108c;border:1px solid #373e38;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.session-history-list li.active{border-color:#655a3d}.session-history-list li>span{color:#777e76;font:700 .58rem/1 ui-monospace,Cascadia Code,monospace}.session-history-list li>div{gap:4px;min-width:0;display:grid}.session-history-list strong,.trash-list strong{color:#c7c5b9;overflow-wrap:anywhere;min-width:0;font-size:.72rem;font-weight:600}.session-history-list small,.trash-list small{color:#767d75;font-size:.58rem;line-height:1.45}.session-history-list em{color:#858b83;white-space:nowrap;font:700 .54rem/1 ui-monospace,Cascadia Code,monospace}.session-history-list li.active em{color:var(--signal)}.safe-boundary-note{border:1px solid #425047;border-left:2px solid var(--safe);background:#8db29b0b;margin-top:16px;padding:18px}.safe-boundary-note strong{color:var(--safe);letter-spacing:.08em;font:700 .58rem/1 ui-monospace,Cascadia Code,monospace}.safe-boundary-note p{color:#8e978f;margin:8px 0 0;font-size:.68rem;line-height:1.65}.trash-empty{color:#80877f;align-items:center;gap:10px;min-height:92px;display:flex}.trash-empty span{color:var(--safe)}.trash-empty p{margin:0;font-size:.7rem}.trash-list{margin-top:16px}.asset-trash-list{grid-template-columns:repeat(2,minmax(0,1fr))}.trash-list li{background:#0d110e9e;border:1px solid #3a413b;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px;display:grid}.trash-list li>div{gap:4px;min-width:0;display:grid}.trash-kind{color:#9b967e;white-space:nowrap;border:1px solid #50554a;padding:5px 6px;font:700 .52rem/1 ui-monospace,Cascadia Code,monospace}@media (width<=900px){.operations-heading,.operations-grid{grid-template-columns:1fr}.campaign-trash-ledger{border-top:1px solid var(--line);border-left:0}.asset-trash-list{grid-template-columns:1fr}}@media (width<=620px){.operations-heading,.session-ledger,.trash-ledger{padding-left:16px;padding-right:16px}.operations-campaign-bar{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.operations-authority{justify-self:start}.session-facts{grid-template-columns:1fr}.session-facts>div,.session-facts>div+div{border-left:0;padding:9px 0}.session-facts>div+div{border-top:1px solid #394039}.session-start-form>div{grid-template-columns:1fr}.session-start-form .button{width:100%}.trash-list li{grid-template-columns:auto minmax(0,1fr)}.trash-list li .button{grid-column:2;justify-self:start}}@media (width<=430px){.operations-subheading{flex-direction:column;align-items:flex-start}.operations-subheading .button{width:100%}.session-history-list li{grid-template-columns:26px minmax(0,1fr)}.session-history-list em{grid-column:2}}