@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cinzel-latin-500-normal-B-2dbOfA.woff2)format("woff2"),url(/assets/cinzel-latin-500-normal-DMNTwV-V.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(/assets/spectral-latin-400-normal-D34IWA1h.woff)format("woff")}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-italic-CDO25mTW.woff2)format("woff2"),url(/assets/spectral-latin-400-italic-Ds-NcNVC.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(/assets/spectral-latin-600-normal-DXnQJnYb.woff)format("woff")}:root{--paper:#e9e5da;--surface:#f6f4ee;--surface-2:#dfdacb;--ink:#1f1b17;--ink-2:#5e574c;--rule:#c9c1af;--accent:#2c6b59;--blood:#94291f;--shadow:0 1px 0 #1f1b170f;--r:3px;--font-display:"Cinzel", Georgia, serif;--font-body:"Spectral", Georgia, "Times New Roman", serif;--font-data:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--accent);--roll-str:#9a4a1e;--roll-dex:#1f7a6b;--roll-con:#7a5a1e;--roll-int:#1e5fa8;--roll-wis:#6a3fa0;--roll-cha:#a8306f;--roll-attack:#8c5a00;--accent-ink:color-mix(in srgb, var(--accent) 68%, var(--ink) 32%);--accent-soft:color-mix(in srgb, var(--accent) 11%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#131519;--surface:#1a1d23;--surface-2:#22262e;--ink:#e9e4d8;--ink-2:#9aa1ab;--rule:#2e343d;--accent:#5fc4a3;--blood:#de7a6e;--shadow:0 1px 0 #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--roll-str:#e08a4e;--roll-dex:#4fc7b5;--roll-con:#d9b35c;--roll-int:#6fa8e0;--roll-wis:#b48ce0;--roll-cha:#e070a8;--roll-attack:#e0b84a}}:root[data-theme=dark]{--paper:#131519;--surface:#1a1d23;--surface-2:#22262e;--ink:#e9e4d8;--ink-2:#9aa1ab;--rule:#2e343d;--accent:#5fc4a3;--blood:#de7a6e;--shadow:0 1px 0 #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--roll-str:#e08a4e;--roll-dex:#4fc7b5;--roll-con:#d9b35c;--roll-int:#6fa8e0;--roll-wis:#b48ce0;--roll-cha:#e070a8;--roll-attack:#e0b84a}body{background:var(--paper);color:var(--ink);font-family:var(--font-body)}button{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-size:12px;font-weight:500}:is(button,input,select,textarea){border-radius:var(--r)}::placeholder{color:var(--ink-2);opacity:1;font-style:italic}:is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){:is(button,input,select,textarea,summary){transition:color .15s,background-color .15s,border-color .15s}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.app{background:var(--paper);flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.app-content{flex:1;min-height:0;position:relative;overflow:hidden}.resize-handle{z-index:5;touch-action:none;position:absolute}.chat-header,.scene-panel-header,.token-property-header{cursor:grab;touch-action:none}.chat-header:active,.scene-panel-header:active,.token-property-header:active{cursor:grabbing}.resize-n,.resize-s{height:8px;left:10px;right:10px}.resize-n{cursor:ns-resize;top:0}.resize-s{cursor:ns-resize;bottom:0}.resize-e,.resize-w{width:8px;top:10px;bottom:10px}.resize-e{cursor:ew-resize;right:0}.resize-w{cursor:ew-resize;left:0}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:10px;height:10px}.resize-ne{cursor:nesw-resize;top:0;right:0}.resize-nw{cursor:nwse-resize;top:0;left:0}.resize-se{cursor:nwse-resize;bottom:0;right:0}.resize-sw{cursor:nesw-resize;bottom:0;left:0}.join-screen{background:var(--paper);width:100vw;height:100vh;color:var(--ink);font-family:var(--font-body);justify-content:center;align-items:center;display:flex;position:relative}.join-screen .theme-toggle-btn{position:absolute;top:16px;right:16px}.join-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:360px;max-width:90vw;box-shadow:var(--shadow);text-align:center;padding:28px}.join-card h1{font-family:var(--font-display);margin:0 0 8px;font-size:24px}.join-card p{color:var(--ink-2);margin:0 0 18px;font-size:15px;line-height:1.5}.join-card form{flex-direction:column;gap:10px;display:flex}.join-card input{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);padding:10px 12px;font-size:15px}.join-card button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);padding:10px 12px}.join-card button:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.join-card button:disabled{opacity:.6;cursor:default}.campaign-list{text-align:left;margin:0 0 18px;padding:0;list-style:none}.campaign-list li+li{margin-top:6px}.campaign-list a{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);color:var(--ink);padding:8px 10px;font-size:15px;text-decoration:none;display:block}.campaign-list a:hover{border-color:var(--accent)}.campaign-role{color:var(--ink-2);font-size:12.5px}.join-error{color:var(--blood);margin-top:12px;font-size:13.5px}.pending-signup-row{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r);align-items:center;gap:6px;padding:6px 10px;font-size:13.5px;display:flex}.pending-signup-row span{text-align:left;flex:1}.pending-signup-row button{background:var(--paper);color:var(--ink-2);border:1px solid var(--rule);padding:4px 8px;font-size:11px}.pending-signup-row button:hover{border-color:var(--accent);color:var(--accent-ink)}.join-card .link-button{color:var(--accent-ink);font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;display:inline}.dice-overlay-3d{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.dice-reveal{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:10px;animation:.25s ease-out dice-reveal-in;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}@keyframes dice-reveal-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dice-reveal-cards{flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(90vw,480px);display:flex}.dice-reveal-card{background:var(--surface);border:2px solid var(--accent);border-radius:var(--r);width:52px;height:52px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;display:flex}.dice-reveal-sides{font-family:var(--font-data);color:var(--ink-2);font-size:10px}.dice-reveal-value{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-size:22px;font-weight:600}.dice-reveal-total{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink);padding:6px 14px;font-size:14px}.theme-toggle-btn{z-index:15;position:fixed;top:12px;right:12px}.toolbar{z-index:10;background:var(--surface-2);border-bottom:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.toolbar button{color:var(--accent-ink);border:1px solid var(--rule);background:0 0;padding:7px 10px;font-size:11.5px}.toolbar button:hover:not(:disabled){border-color:var(--accent);background:0 0}.toolbar button:disabled{opacity:.5;cursor:default}.toolbar-field{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.toolbar-field input[type=number]{background-color:var(--paper);border:1px solid var(--rule);width:56px;color:var(--ink);font-family:var(--font-data);padding:5px 7px}.toolbar-checkbox{cursor:pointer}.toolbar-group{display:flex;position:relative}.toolbar-flyout{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);max-width:280px;box-shadow:var(--shadow), 0 8px 20px #0003;z-index:20;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;left:0}.toolbar-flyout-controls{border-left:1px solid var(--rule);align-items:center;gap:6px;padding-left:6px;display:flex}.toolbar-flyout-controls input[type=color]{border:1px solid var(--rule);background:0 0;width:24px;height:24px;padding:0}.toolbar-flyout-controls input[type=number]{background-color:var(--paper);border:1px solid var(--rule);width:48px;color:var(--ink);font-family:var(--font-data)}.toolbar-status{border:none;border-right:1px solid var(--rule);cursor:pointer;font:inherit;text-transform:none;letter-spacing:normal;color:var(--ink);background:0 0;align-items:center;gap:6px;padding:0 10px 0 0;font-size:13px;display:flex}.toolbar-status:hover{color:var(--accent-ink)}.dot{border-radius:50%;width:8px;height:8px}.dot-on{background:var(--accent)}.dot-off{background:var(--blood)}.chat-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:300px;min-width:240px;max-width:90vw;min-height:160px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:15px;display:flex;position:absolute;bottom:12px;right:12px;overflow:auto}.chat-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:11.5px;display:flex;position:absolute;bottom:12px;right:12px}.chat-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.chat-collapsed-whisper{background:var(--blood);color:var(--surface);border-color:var(--blood)}.chat-collapsed-whisper:hover{color:var(--surface)}.chat-whisper-badge{font-family:var(--font-data);text-transform:none;letter-spacing:normal;background:#0003;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.chat-header{background:var(--surface-2);border-bottom:1px solid var(--rule);align-items:center;gap:8px;padding:7px 12px;display:flex}.chat-name{color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;border-radius:var(--r);background:0 0;border:1px solid #0000;flex:1;padding:4px 6px;font-size:14px;font-weight:500}.chat-name:hover,.chat-name:focus{border-color:var(--rule);outline:none}.chat-collapse-btn{background:var(--paper);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;display:inline-flex}.chat-collapse-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.chat-dice-row{border-bottom:1px solid var(--rule);gap:4px;padding:8px 10px;display:flex}.chat-dice-row button{color:var(--accent-ink);border:1px solid var(--rule);background:0 0;flex:1;padding:4px 0;font-size:11px}.chat-dice-row button:hover{border-color:var(--accent)}.chat-log{flex-direction:column;flex:1;gap:6px;min-height:100px;padding:8px 10px;font-size:14px;display:flex;overflow-y:auto}.chat-empty{color:var(--ink-2);font-style:italic}.chat-entry{line-height:1.45}.chat-entry-private{background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:0 2px 2px 0;padding-left:6px}.chat-author{color:var(--ink);margin-right:6px;font-weight:600}.chat-entry-roll .chat-author{color:var(--accent-ink)}.chat-breakdown{color:var(--ink-2);font-family:var(--font-data);font-size:12px}.chat-error{background:var(--surface-2);color:var(--ink);border-top:1px solid var(--rule);border-left:3px solid var(--blood);padding:8px 12px;font-size:13px}.chat-input-row{border-top:1px solid var(--rule);gap:6px;padding:8px 10px;display:flex}.chat-input{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);flex:1;padding:6px 9px;font-size:14px}.chat-input-row button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);padding:6px 12px}.chat-input-row button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.toolbar-toggle-active{background:var(--accent)!important;color:var(--surface)!important;border-color:var(--accent)!important}.scene-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;min-width:180px;max-width:90vw;min-height:160px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;bottom:12px;left:12px;overflow:auto}.scene-panel-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;bottom:12px;left:12px}.scene-panel-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.scene-panel-header{background:var(--surface-2);border-bottom:1px solid var(--rule);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;padding:7px 12px;font-size:12px;font-weight:500;display:flex}.scene-panel-header-actions{align-items:center;gap:4px;display:flex}.scene-active-select-row{flex-direction:column;gap:4px;padding:8px 10px 0;display:flex}.scene-active-select{background-color:var(--paper);border:1px solid var(--accent);color:var(--ink);font-family:var(--font-body);padding:6px 8px;font-size:13px}.scene-list{flex-direction:column;gap:4px;padding:6px;display:flex;overflow-y:auto}.scene-row{border-radius:var(--r);align-items:center;gap:4px;padding:2px;display:flex}.scene-row-active{background:var(--accent-soft)}.scene-name-btn{text-align:left;color:var(--ink);font-family:var(--font-body);text-transform:none;letter-spacing:normal;cursor:pointer;border-radius:var(--r);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:6px 8px;font-size:13.5px;font-weight:400;overflow:hidden}.scene-name-btn:hover{background:var(--accent-soft)}.scene-rename-input{background-color:var(--paper);border:1px solid var(--accent);color:var(--ink);font-family:var(--font-body);flex:1;padding:5px 7px;font-size:13px}.scene-icon-btn{color:var(--ink-2);border-radius:var(--r);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:inline-flex}.scene-icon-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink)}.scene-icon-btn:disabled{opacity:.35;cursor:default}.scene-delete-btn:hover:not(:disabled){background:color-mix(in srgb, var(--blood) 15%, transparent);color:var(--blood)}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.drag-handle:active{cursor:grabbing}.scene-create-row{border-top:1px solid var(--rule);gap:6px;padding:8px;display:flex}.scene-create-row input{background-color:var(--paper);border:1px solid var(--rule);min-width:0;color:var(--ink);font-family:var(--font-body);flex:1;padding:6px 8px;font-size:13px}.scene-create-row button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);padding:6px 10px}.scene-create-row button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.token-property-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;min-width:180px;max-width:90vw;min-height:200px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);padding:10px;font-size:14px;position:absolute;top:12px;right:12px;overflow:auto}.token-property-header{background:var(--surface-2);border-bottom:1px solid var(--rule);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;margin:-10px -10px 8px;padding:7px 10px;font-size:12px;font-weight:500;display:flex}.token-property-panel select{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);flex:1;padding:5px 7px;font-size:13px}.character-list-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;min-width:180px;max-width:90vw;min-height:160px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;top:12px;left:12px;overflow:auto}.character-list-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;top:12px;left:12px}.character-list-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.initiative-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;min-width:180px;max-width:90vw;min-height:160px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;top:50%;left:12px;overflow:auto;transform:translateY(-50%)}.initiative-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.initiative-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.initiative-collapsed-myturn{background:var(--blood);color:var(--surface);border-color:var(--blood)}.initiative-collapsed-myturn:hover{color:var(--surface)}.initiative-your-turn-banner{background:var(--surface-2);border:0;border-left:3px solid var(--blood);color:var(--ink);border-radius:0 var(--r) var(--r) 0;font-family:var(--font-data);letter-spacing:.04em;text-align:center;margin:8px 8px 0;padding:8px 10px;font-size:12px;font-weight:600}.initiative-list{flex-direction:column;gap:3px;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.initiative-list li{border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;font-size:13.5px;display:flex}.initiative-active{background:var(--accent-soft);outline:1px solid var(--accent)}.initiative-value-input{background-color:var(--paper);border:1px solid var(--rule);width:42px;color:var(--ink);text-align:center;font-family:var(--font-data);padding:3px}.initiative-value-readonly{background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-data);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px;font-weight:400}.initiative-list button{color:var(--ink-2);cursor:pointer;background:0 0;border:none;font-size:12px}.initiative-controls{border-top:1px solid var(--rule);gap:6px;padding:8px;display:flex}.initiative-panel .cs-add-row{padding:8px}.initiative-controls button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);flex:1;padding:6px 8px;font-size:11px}.initiative-controls button:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.initiative-controls button:disabled{opacity:.5;cursor:default}.token-status-grid{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.token-status-chip{border:1px solid var(--rule);color:var(--ink-2);font-family:var(--font-data);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:11px}.token-status-chip:hover{border-color:var(--accent)}.token-status-chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.chat-visibility-tag{color:var(--accent-ink);font-family:var(--font-data);margin-right:6px;font-size:11px}.chat-template{flex-direction:column;gap:2px;margin-top:2px;display:flex}.chat-template-title{color:var(--ink);font-weight:600}.chat-template-part{align-items:baseline;gap:6px;display:flex}.macro-bar-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:260px;min-width:180px;max-width:90vw;min-height:120px;max-height:40vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%)}.macro-bar-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.macro-bar-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.macro-bar-buttons{flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex;overflow-y:auto}.macro-bar-item{align-items:center;gap:2px;display:flex}.macro-bar-btn{color:var(--accent-ink);border:1px solid var(--rule);background:0 0;padding:5px 10px;font-size:11px}.macro-bar-btn:hover{border-color:var(--accent)}.macro-bar-form{border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.macro-bar-form input,.macro-bar-form select{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);padding:6px 8px;font-size:13.5px}.macro-bar-shared{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:flex}.macro-bar-form-actions{gap:6px;display:flex}.macro-bar-form-actions button,.macro-bar-add-btn{background:var(--accent);color:var(--surface);border:1px solid var(--accent);padding:6px 10px}.macro-bar-form-actions button:hover,.macro-bar-add-btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.macro-bar-add-btn{margin:8px 10px}.journal-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;max-width:90vw;max-height:40vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;top:50%;left:12px;overflow:hidden;transform:translateY(-50%)}.journal-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.journal-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.journal-hidden-tag{color:var(--ink-2);font-family:var(--font-data);font-size:11px}.journal-visible-tag{color:var(--accent-ink);font-family:var(--font-data);font-size:11px}.handout-detail{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:min(560px,90vw);max-height:85vh;box-shadow:var(--shadow), 0 8px 24px #0003;color:var(--ink);font-family:var(--font-body);flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.handout-title-input{color:var(--ink);font-family:var(--font-display);border-radius:var(--r);background:0 0;border:1px solid #0000;flex:1;padding:4px 6px;font-size:17px;font-weight:500}.handout-title-input:hover,.handout-title-input:focus{border-color:var(--rule);outline:none}.handout-image{object-fit:contain;border-radius:var(--r);align-self:center;max-width:100%;max-height:40vh}.handout-image-upload{border:1px solid var(--rule);color:var(--accent-ink);cursor:pointer;background:0 0;align-self:flex-start;padding:5px 10px;font-size:11px}.handout-image-upload:hover{border-color:var(--accent)}.handout-body-input{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);resize:vertical;padding:9px;font-size:15px}.handout-body{white-space:pre-wrap;font-size:15px;line-height:1.55}.handout-actions{border-top:1px solid var(--rule);align-items:center;gap:8px;padding-top:10px;display:flex}.handout-actions button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);padding:6px 12px}.handout-actions button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.audio-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:240px;min-width:220px;max-width:90vw;min-height:200px;max-height:85vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;gap:6px;padding-bottom:8px;font-size:14px;display:flex;position:absolute;top:12px;left:50%;overflow:auto;transform:translate(-50%)}.audio-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.audio-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.library-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:220px;min-width:180px;max-width:90vw;min-height:160px;max-height:60vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;top:140px;right:12px;overflow:auto}.library-collapsed{z-index:10;background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;padding:8px 14px;font-size:11.5px;position:absolute;top:140px;right:12px}.library-collapsed:hover{border-color:var(--accent);color:var(--accent-ink)}.library-tabs{border-bottom:1px solid var(--rule);gap:4px;padding:8px;display:flex}.library-tabs button{border:1px solid var(--rule);color:var(--accent-ink);background:0 0;flex:1;padding:5px 8px;font-size:11px}.library-tabs button:hover{border-color:var(--accent)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:8px;display:grid;overflow-y:auto}.library-thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--r);border:1px solid var(--rule);cursor:grab;width:100%}.audio-now-playing{color:var(--ink-2);padding:0 10px;font-size:12.5px}.audio-transport{gap:6px;padding:0 10px;display:flex}.audio-transport button{border:1px solid var(--rule);color:var(--accent-ink);background:0 0;flex:1;padding:5px 0;font-size:11px}.audio-transport button:hover:not(:disabled){border-color:var(--accent)}.audio-transport button:disabled{opacity:.5;cursor:default}.audio-panel .toolbar-field{padding:0 10px}.audio-panel .scene-list{max-height:20vh;padding:0 10px;overflow-y:auto}.audio-seek{align-items:center;gap:6px;padding:0 10px;display:flex}.audio-seek input[type=range]{flex:1}.mono-time{font-family:var(--font-data);color:var(--ink-2);min-width:30px;font-size:11px}.audio-track-row{align-items:center;gap:6px;display:flex}.audio-track-row .scene-name-btn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.audio-track-row button{border:1px solid var(--rule);color:var(--ink-2);background:0 0;flex:none;padding:3px 6px;font-size:10.5px}.audio-track-row button:hover{border-color:var(--accent);color:var(--accent-ink)}.audio-loop-toggle{color:var(--ink-2);white-space:nowrap;flex:none;align-items:center;gap:3px;font-size:11px;display:flex}.audio-queue{flex-direction:column;gap:4px;padding:0 10px;display:flex}.audio-queue-label{font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:4px;font-size:10.5px}.audio-queue-row{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r);align-items:center;gap:4px;padding:4px 6px;display:flex}.audio-queue-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.audio-queue-row button{border:1px solid var(--rule);color:var(--ink-2);background:0 0;flex:none;padding:2px 6px;font-size:10.5px}.audio-queue-row button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.audio-queue-row button:disabled{opacity:.4;cursor:default}.ui-hidden-hint{z-index:20;color:var(--ink);opacity:.4;font-family:var(--font-data);letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.context-menu{z-index:100;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);min-width:160px;box-shadow:var(--shadow), 0 8px 24px #0003;flex-direction:column;padding:4px;display:flex;position:fixed}.context-menu button{color:var(--ink);text-align:left;font-family:var(--font-body);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:7px 10px;font-size:13.5px;font-weight:400}.context-menu button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink)}.context-menu button:disabled{color:var(--ink-2);opacity:.5;cursor:default}@media (width<=640px){.chat-panel,.scene-panel,.character-list-panel,.initiative-panel,.journal-panel,.audio-panel,.library-panel,.macro-bar-panel,.token-property-panel{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.toolbar{gap:8px;padding:8px 10px}.scene-icon-btn,.initiative-list button,.cs-list button,.cs-add-row button,.chat-collapse-btn{min-width:32px;min-height:32px}}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cinzel-latin-500-normal-B-2dbOfA.woff2)format("woff2"),url(/assets/cinzel-latin-500-normal-DMNTwV-V.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(/assets/spectral-latin-400-normal-D34IWA1h.woff)format("woff")}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-italic-CDO25mTW.woff2)format("woff2"),url(/assets/spectral-latin-400-italic-Ds-NcNVC.woff)format("woff")}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(/assets/spectral-latin-600-normal-DXnQJnYb.woff)format("woff")}.cs-overlay{z-index:50;pointer-events:none;position:fixed;inset:0}.cs-sheet{resize:both;pointer-events:auto;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:720px;min-width:360px;max-width:calc(100vw - 16px);min-height:240px;max-height:calc(100vh - 16px);color:var(--ink);font-family:var(--font-body);box-shadow:var(--shadow), 0 8px 24px #00000059;flex-direction:column;gap:18px;padding:20px 22px;font-size:15px;line-height:1.55;display:flex;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.cs-sheet-standalone{resize:none;width:auto;max-width:720px;min-height:0;max-height:none;box-shadow:var(--shadow);margin:24px auto;position:static;overflow:visible;transform:none}.cs-sheet-titlebar{background:var(--surface-2);border-bottom:1px solid var(--rule);cursor:grab;-webkit-user-select:none;user-select:none;font-family:var(--font-data);color:var(--ink-2);text-transform:uppercase;letter-spacing:.16em;border-radius:2px 2px 0 0;justify-content:space-between;align-items:center;gap:8px;margin:-20px -22px 0;padding:7px 12px;font-size:11px;display:flex}.cs-sheet-titlebar-actions{gap:4px;display:flex}.cs-sheet-titlebar-actions button{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:13px}.cs-sheet-titlebar-actions button:hover{color:var(--accent-ink)}.cs-sheet-header{border-bottom:2px solid var(--ink);align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.cs-collapse-all-row{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-bottom:12px;display:flex}.cs-roll-mode{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cs-roll-mode-active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--surface)!important}.cs-rest-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.cs-death-status{font-family:var(--font-data);letter-spacing:.08em;color:var(--ink);text-transform:uppercase;align-self:center;font-size:15px;font-weight:600}.cs-rest-row button:disabled{color:var(--ink-2);opacity:.55}.cs-sheet-tools{align-items:center;gap:6px;display:flex}.cs-sheet-search{background-color:var(--paper);border:1px solid var(--rule);width:170px;color:var(--ink);font-family:var(--font-body);padding:5px 8px;font-size:13px}:is(.cs-sheet-tools,.cs-roll-mode,.cs-rest-row,.cs-core-stats) button,.cs-collapse-all-row button{color:var(--accent-ink);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:7px 10px;font-size:12px;font-weight:500;line-height:1.2}.cs-collapse-all-row button{letter-spacing:.06em;padding:5px 9px;font-size:11px}:is(.cs-sheet-tools,.cs-roll-mode,.cs-rest-row,.cs-core-stats) button:hover:not(:disabled),.cs-collapse-all-row button:hover{border-color:var(--accent);background:0 0}.theme-toggle-btn,.cs-sheet-tools .theme-toggle-btn{background:var(--paper);width:26px;height:26px;color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--r);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.cs-sheet-body{align-items:flex-start;gap:16px;min-width:0;display:flex}.cs-sheet-sections{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex;container-type:inline-size}.cs-sheet-nav{border-right:1px solid var(--rule);flex-direction:column;flex:none;gap:1px;width:92px;padding-right:8px;display:flex;position:sticky;top:0}.cs-sheet-nav button{border-radius:var(--r);color:var(--ink-2);cursor:pointer;font-family:var(--font-data);letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:4px;font-size:10px;overflow:hidden}.cs-sheet-nav button:hover{color:var(--accent-ink);background:0 0}.cs-portrait{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--rule);flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}.cs-portrait img{object-fit:cover;width:100%;height:100%}.cs-portrait-placeholder{width:100%;height:100%;font-size:28px;font-family:var(--font-display);color:var(--ink-2);justify-content:center;align-items:center;display:flex}.cs-portrait-upload{background:color-mix(in srgb, var(--ink) 78%, transparent);color:var(--surface);font-family:var(--font-data);letter-spacing:.08em;text-align:center;text-transform:uppercase;cursor:pointer;padding:2px 0;font-size:10px;position:absolute;bottom:0;left:0;right:0}.cs-header-fields{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.cs-header-fields>.cs-field:first-child input{font-family:var(--font-display);padding:5px 9px;font-size:clamp(22px,4vw,30px);font-weight:700;line-height:1.1}.cs-row{flex-wrap:wrap;gap:10px;display:flex}.cs-field{flex-direction:column;flex:1;gap:4px;min-width:80px;display:flex}.cs-field :is(input:not([type=checkbox]),textarea,select){width:100%;min-width:0}.cs-field input,.cs-field textarea,.cs-field select{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);border-radius:var(--r);font-family:var(--font-body);padding:7px 9px;font-size:15px;line-height:1.3}.cs-field textarea{resize:vertical;min-height:50px}.cs-field-label{color:var(--ink-2);font-family:var(--font-data);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px}.cs-field-narrow{max-width:90px}.cs-field-narrow input{align-items:center;gap:6px;display:flex}.cs-field-checkbox{flex-direction:row;align-items:center;gap:8px}.cs-modifier{background:var(--accent-soft);min-width:0;font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--accent-ink);text-align:center;border:0;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:400;display:inline-block}.cs-classes{flex-direction:column;gap:6px;display:flex}.cs-core-stats{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));align-items:stretch;gap:1px;padding:0;display:grid;overflow:hidden}.cs-core-stats>.cs-field{background:var(--surface-2);justify-content:flex-start;min-width:0;max-width:none;padding:9px 10px}.cs-core-stats :is(input:not([type=checkbox]),select){border:0;border-bottom:1px dotted var(--ink-2);width:100%;font-family:var(--font-data);font-variant-numeric:tabular-nums;background-color:#0000;border-radius:0;padding:2px 0;font-size:19px;font-weight:600}.cs-core-stats input:not([type=number]){font-size:16px}.cs-core-stats select{font-size:14px}.cs-core-stats :is(input,select):focus{border-bottom-color:var(--accent)}.cs-core-stats .cs-modifier{align-self:flex-start}.cs-core-stats>.cs-field-checkbox{justify-content:center}.cs-abilities{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}@container (width<=520px){.cs-abilities{grid-template-columns:repeat(3,1fr)}}.cs-ability{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);flex-direction:column;align-items:center;gap:2px;min-width:0;padding:9px 4px 8px;display:flex}.cs-ability-label{max-width:100%;font:inherit;font-family:var(--font-data);letter-spacing:.04em;color:var(--ink-2);cursor:pointer;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;padding:0;font-size:10px;overflow:hidden}.cs-ability-label:hover{color:var(--accent-ink);background:0 0}.cs-ability input.cs-ability-score{text-align:center;width:100%;color:var(--ink);font-family:var(--font-data);background:0 0;border:0;border-radius:0;padding:0;font-size:26px;font-weight:600;line-height:1.2}.cs-two-col{grid-template-columns:1fr 1fr;gap:22px;display:grid}.cs-section-title{border-bottom:1px solid var(--rule);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2);margin:0 0 6px;padding-bottom:5px;font-size:12.5px;font-weight:500}.cs-section{flex-direction:column;gap:10px;display:flex}.cs-section-toggle{border:none;border-bottom:1px solid var(--rule);width:100%;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:6px;margin:0;padding:0 0 5px;font-size:12.5px;font-weight:500;display:flex}.cs-section-toggle:hover{color:var(--ink)}.cs-section-arrow{color:var(--accent);font-size:10px;display:inline-block}.cs-section-arrow-open{transform:rotate(90deg)}.cs-section-body{flex-direction:column;gap:12px;display:flex}.cs-checklist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cs-checklist li{align-items:center;gap:8px;padding:3px 0;display:flex}.cs-checklist li+li{border-top:1px dotted var(--rule)}.cs-checklist .cs-checklist-label{font:inherit;font-family:var(--font-body);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #0000;border-radius:0;flex:1;padding:0;font-size:15px}.cs-checklist .cs-checklist-label:hover{border-bottom-color:var(--accent);color:var(--accent-ink);background:0 0}.cs-skill-ability{color:var(--ink-2);font-family:var(--font-data);font-size:10.5px}.cs-prof-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;width:20px;font-size:14px}.cs-spells,.cs-inventory,.cs-notes{flex-direction:column;gap:12px;display:flex}.cs-inventory{gap:20px}.cs-slot-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cs-slot-row{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-data);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:5px 8px;font-size:13px;display:flex}.cs-slot-row input:not([type=checkbox]){text-align:center;width:40px;padding:2px}.cs-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cs-list li{flex-wrap:wrap;align-items:center;gap:8px;padding:3px 0;display:flex}.cs-list li+li{border-top:1px dotted var(--rule)}.cs-search-match{background:var(--accent-soft);border-radius:var(--r)}.cs-list :is(input:not([type=checkbox]),select,textarea){background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);border-radius:var(--r);font-family:var(--font-body);padding:4px 7px;font-size:13.5px}.cs-feat-list li{background:0 0;border-radius:0;flex-direction:column;align-items:stretch;gap:4px;padding:6px 0}.cs-feat-row{align-items:center;gap:6px;display:flex}.cs-feat-list textarea{resize:vertical;width:100%;min-height:40px}.cs-list input[type=number]{width:52px}.cs-flex-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cs-narrow-input{width:70px}.cs-list :is(input,select).cs-narrow-input{padding-inline:5px}.cs-attack-list li{flex-wrap:wrap}.cs-attack-header{font-family:var(--font-data);color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 5px;font-size:10.5px;display:flex}.cs-attack-header .cs-flex-name{padding-left:8px}.cs-attack-header .cs-narrow-input{padding-left:5px}.cs-attack-prof-col{text-align:center;width:20px}.cs-attack-mod-col{text-align:center;min-width:32px}.cs-list button,.cs-add-row button{color:var(--ink-2);cursor:pointer;background:0 0;border:none;font-size:14px}.cs-list button:not(.cs-checklist-label):not(.cs-prof-toggle){background:var(--paper);width:26px;height:26px;color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--r);justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.cs-list button:not(.cs-checklist-label):not(.cs-prof-toggle):hover{border-color:var(--accent);color:var(--accent-ink)}.cs-list button.cs-checklist-label{color:var(--ink);font-family:var(--font-body);background:0 0;border:0;border-radius:0;font-size:15px}.cs-list button.cs-checklist-label.cs-flex-name{text-align:left;border-bottom:1px dotted #0000;padding:0}.cs-list button.cs-checklist-label.cs-flex-name:hover{border-bottom-color:var(--accent);color:var(--accent-ink);background:0 0}.cs-list button.cs-checklist-label:not(.cs-flex-name),.cs-row button.cs-checklist-label{color:var(--accent-ink);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:0 0;flex:none;padding:4px 9px;font-size:11.5px;font-weight:500}.cs-list button.cs-checklist-label:not(.cs-flex-name):hover,.cs-row button.cs-checklist-label:hover{border-color:var(--accent);background:0 0}.cs-add-row{gap:6px;display:flex}.cs-add-row input{background-color:var(--paper);border:1px solid var(--rule);min-width:0;color:var(--ink);border-radius:var(--r);font-family:var(--font-body);flex:1;padding:5px 9px}.cs-add-row button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--r);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;font-size:12px;font-weight:500}.cs-add-row button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.cs-currency-row{flex-wrap:wrap;gap:8px;display:flex}.cs-roster-hp{color:var(--ink-2);font-family:var(--font-data);font-size:11px}.cs-spell-details{flex:1;min-width:0}.cs-spell-details summary{cursor:pointer;color:var(--ink)}.cs-spell-details summary::marker{color:var(--accent)}.cs-spell-meta{color:var(--ink-2);margin:6px 0 0;font-size:13.5px;font-style:italic}.cs-spell-description{white-space:pre-line;margin:4px 0 0;font-size:15px;line-height:1.55}@media (width<=640px){.cs-sheet{width:calc(100vw - 16px);padding:16px 14px}.cs-sheet .cs-sheet-titlebar{margin:-16px -14px 0}.cs-two-col{grid-template-columns:1fr;gap:12px}.cs-slot-grid{grid-template-columns:1fr}.cs-sheet-nav{display:none}}.cs-page{background:var(--paper);min-height:100%;color:var(--ink);padding-inline:16px;display:flow-root}.cs-sheet{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);font-family:var(--font-body);gap:18px;padding:20px 22px;font-size:15px;line-height:1.55}.cs-overlay .cs-sheet{box-shadow:var(--shadow), 0 8px 24px #00000059}.cs-sheet .cs-sheet-titlebar{background:var(--surface-2);border-bottom:1px solid var(--rule);color:var(--ink-2);font-family:var(--font-data);letter-spacing:.16em;border-radius:2px 2px 0 0;margin:-20px -22px 0;padding:7px 12px;font-size:11px}.cs-sheet .cs-sheet-titlebar-actions button{color:var(--ink-2);font-family:var(--font-body)}.cs-sheet .cs-sheet-titlebar-actions button:hover{color:var(--accent-ink)}.cs-sheet .cs-sheet-header{border-bottom:2px solid var(--ink);gap:16px;padding-bottom:16px}.cs-sheet .cs-portrait{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface-2)}.cs-sheet .cs-portrait-placeholder{color:var(--ink-2);font-family:var(--font-display)}.cs-sheet .cs-portrait-upload{background:color-mix(in srgb, var(--ink) 78%, transparent);color:var(--surface);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase}.cs-sheet .cs-header-fields{gap:12px}.cs-sheet .cs-header-fields>.cs-field:first-child input{font-family:var(--font-display);padding:5px 9px;font-size:clamp(22px,4vw,30px);font-weight:700;line-height:1.1}.cs-sheet .cs-sheet-body{gap:16px}.cs-sheet .cs-field-label,.cs-sheet .cs-attack-header{color:var(--ink-2);font-family:var(--font-data);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}.cs-sheet .cs-section-toggle,.cs-sheet .cs-section-title{color:var(--ink-2);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding-bottom:5px;font-size:12.5px;font-weight:500}.cs-sheet .cs-section-toggle{width:100%}.cs-sheet .cs-section-toggle:hover{color:var(--ink)}.cs-sheet .cs-section-title{margin:0 0 6px}.cs-sheet .cs-section-arrow{color:var(--accent);transition:none}.cs-sheet .cs-section{gap:10px}.cs-sheet .cs-section-body{gap:12px}.cs-sheet .cs-skill-ability{color:var(--ink-2);font-family:var(--font-data);font-size:10.5px}.cs-sheet .cs-spell-meta{color:var(--ink-2);font-size:13.5px;font-style:italic}.cs-sheet .cs-spell-description{font-size:15px;line-height:1.55}.cs-sheet .cs-spell-details summary{color:var(--ink)}.cs-sheet .cs-spell-details summary::marker{color:var(--accent)}.cs-sheet .cs-inventory{gap:20px}.cs-sheet :is(.cs-spells,.cs-notes){gap:12px}.cs-sheet :is(input:not([type=checkbox]):not([type=file]),textarea,select){background-color:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-body);padding:7px 9px;font-size:15px;line-height:1.3}.cs-sheet input[type=number]{font-family:var(--font-data);font-variant-numeric:tabular-nums}.cs-sheet ::placeholder{color:var(--ink-2);opacity:1;font-style:italic}.cs-sheet .cs-field{gap:4px}.cs-sheet .cs-header-fields{min-width:0}.cs-sheet .cs-field :is(input:not([type=checkbox]),textarea,select){width:100%;min-width:0}.cs-sheet .cs-field-checkbox{gap:8px}.cs-sheet :is(.cs-list,.cs-slot-row) :is(input:not([type=checkbox]),select,textarea){padding:4px 7px;font-size:13.5px}.cs-sheet .cs-list :is(input,select).cs-narrow-input{padding-inline:5px}.cs-sheet select:not([multiple]):not([size]){appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.cs-sheet .cs-list select:not([multiple]):not([size]){background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;padding-right:22px}.cs-sheet .cs-list li,.cs-sheet .cs-attack-header{gap:8px}.cs-sheet .cs-attack-header .cs-narrow-input{padding-left:5px}.cs-sheet .cs-list input[type=number]{width:52px}.cs-sheet :is(.cs-sheet-tools,.cs-roll-mode,.cs-rest-row,.cs-core-stats) button,.cs-sheet .cs-list button.cs-checklist-label:not(.cs-flex-name),.cs-sheet .cs-row button.cs-checklist-label{color:var(--accent-ink);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:7px 10px;font-size:12px;font-weight:500;line-height:1.2}.cs-sheet .cs-list button.cs-checklist-label:not(.cs-flex-name),.cs-sheet .cs-row button.cs-checklist-label{flex:none;padding:4px 9px;font-size:11.5px}.cs-sheet :is(.cs-sheet-tools,.cs-roll-mode,.cs-rest-row,.cs-core-stats) button:hover:not(:disabled),.cs-sheet .cs-list button.cs-checklist-label:not(.cs-flex-name):hover,.cs-sheet .cs-row button.cs-checklist-label:hover{border-color:var(--accent);background:0 0}.cs-sheet .cs-rest-row button:disabled{color:var(--ink-2);opacity:.55}.cs-sheet .cs-roll-mode button.cs-roll-mode-active{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--surface)!important}.cs-sheet .cs-roll-mode button.cs-roll-mode-active:hover{background:var(--accent-ink)!important}.cs-sheet .cs-add-row button{background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--r);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;font-size:12px;font-weight:500}.cs-sheet .cs-add-row button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.cs-sheet .cs-list button:not(.cs-checklist-label):not(.cs-prof-toggle){background:var(--paper);width:26px;height:26px;color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--r);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.cs-sheet .cs-list button:not(.cs-checklist-label):not(.cs-prof-toggle):hover{border-color:var(--accent);color:var(--accent-ink)}.cs-sheet .cs-sheet-tools{align-items:center;gap:6px;display:flex}.cs-sheet :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-sheet .cs-checklist .cs-checklist-label,.cs-sheet .cs-list .cs-checklist-label.cs-flex-name{color:var(--ink);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #0000;border-radius:0;padding:0;font-size:15px}.cs-sheet .cs-checklist .cs-checklist-label:hover,.cs-sheet .cs-list .cs-checklist-label.cs-flex-name:hover{border-bottom-color:var(--accent);color:var(--accent-ink);background:0 0}.cs-sheet .cs-prof-toggle{color:var(--accent)}.cs-sheet .cs-collapse-all-row{border-bottom:1px solid var(--rule);gap:8px 12px;padding-bottom:12px}.cs-sheet .cs-roll-mode{gap:6px}.cs-sheet .cs-collapse-all-row button{letter-spacing:.06em;padding:5px 9px;font-size:11px}.cs-sheet .cs-sheet-nav{border-right:1px solid var(--rule);width:92px;padding-right:8px}.cs-sheet .cs-sheet-nav button{border-radius:var(--r);color:var(--ink-2);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;padding:4px;font-size:10px}.cs-sheet .cs-sheet-nav button:hover{color:var(--accent-ink);background:0 0}.cs-sheet .cs-sheet-sections{gap:20px;container-type:inline-size}.cs-sheet .cs-modifier{background:var(--accent-soft);min-width:0;color:var(--accent-ink);font-family:var(--font-data);font-variant-numeric:tabular-nums;border:0;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:400}.cs-sheet .cs-abilities{grid-template-columns:repeat(6,1fr);gap:8px}@container (width<=520px){.cs-sheet .cs-abilities{grid-template-columns:repeat(3,1fr)}}.cs-sheet .cs-ability{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);gap:2px;min-width:0;padding:9px 4px 8px}.cs-sheet .cs-ability-label{max-width:100%;color:var(--ink-2);font-family:var(--font-data);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font-size:10px;overflow:hidden}.cs-sheet .cs-ability-label:hover{color:var(--accent-ink);background:0 0}.cs-sheet .cs-ability input.cs-ability-score{width:100%;font-family:var(--font-data);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:0;font-size:26px;font-weight:600;line-height:1.2}.cs-sheet .cs-core-stats{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));align-items:stretch;gap:1px;padding:0;display:grid;overflow:hidden}.cs-sheet .cs-core-stats>.cs-field{background:var(--surface-2);justify-content:flex-start;min-width:0;max-width:none;padding:9px 10px}.cs-sheet .cs-core-stats :is(input:not([type=checkbox]),select){border:0;border-bottom:1px dotted var(--ink-2);width:100%;font-family:var(--font-data);font-variant-numeric:tabular-nums;background-color:#0000;border-radius:0;padding:2px 0;font-size:19px;font-weight:600}.cs-sheet .cs-core-stats input:not([type=number]){font-size:16px}.cs-sheet .cs-core-stats select{font-size:14px}.cs-sheet .cs-core-stats :is(input,select):focus{border-bottom-color:var(--accent)}.cs-sheet .cs-core-stats .cs-modifier{align-self:flex-start}.cs-sheet .cs-core-stats>.cs-field-checkbox{justify-content:center}.cs-sheet .cs-list,.cs-sheet .cs-checklist{gap:0}.cs-sheet :is(.cs-list,.cs-checklist)>li{padding:3px 0}.cs-sheet :is(.cs-list,.cs-checklist)>li+li{border-top:1px dotted var(--rule)}.cs-sheet .cs-feat-list li{background:0 0;border-radius:0;padding:6px 0}.cs-sheet .cs-two-col{gap:22px}.cs-sheet .cs-slot-row{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);font-family:var(--font-data);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:13px}.cs-sheet .cs-slot-row input:not([type=checkbox]){text-align:center;width:40px;padding:2px}.cs-sheet .token-status-grid{gap:6px}.cs-sheet .token-status-chip{color:var(--ink-2);border:1px solid var(--rule);font-family:var(--font-data);letter-spacing:.04em;background:0 0;border-radius:999px;padding:2px 10px;font-size:11px}.cs-sheet .token-status-chip:hover{border-color:var(--accent)}.cs-sheet .token-status-chip.token-status-chip-active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.cs-sheet .cs-death-status,.cs-sheet .chat-error{background:var(--surface-2);color:var(--ink);border:0;border-left:3px solid var(--blood);border-radius:0 var(--r) var(--r) 0;padding:8px 14px}.cs-sheet .cs-death-status{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;align-self:center;font-size:15px;font-weight:600}.cs-sheet .chat-error{font-size:13.5px}@media (prefers-reduced-motion:no-preference){.cs-sheet :is(button,input,select,textarea,summary){transition:color .15s,background-color .15s,border-color .15s}}@media (width<=640px){.cs-sheet{padding:16px 14px}.cs-sheet .cs-sheet-titlebar{margin:-16px -14px 0}}.cb-wizard{width:560px}.cb-title{font-family:var(--font-display);flex:1;font-weight:500}.cb-step{flex-direction:column;gap:12px;display:flex}.cb-info{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;display:flex}.cb-abilities{flex-direction:column;gap:6px;display:flex}.cb-ability-row{align-items:center;gap:8px;display:flex}.cb-ability-key{width:32px;font-weight:600}.cb-ability-score{text-align:center;width:24px}.cb-ability-final{font-family:var(--font-data);color:var(--ink-2);margin-left:auto;font-size:12px}.cb-spell-list{flex-direction:column;gap:4px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cb-spell-list label{align-items:center;gap:6px;display:flex}.cb-spell-school{color:var(--ink-2);font-size:11px}.cb-nav{justify-content:space-between;gap:8px;display:flex}
