@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")}@font-face{font-family:Rye;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rye-latin-400-normal-CnIDrDaJ.woff2)format("woff2"),url(/assets/rye-latin-400-normal-CPBiwIfN.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.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)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){background:var(--paper);color:var(--ink);border:1px solid var(--rule)}::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}.icon{vertical-align:-.2em;flex-shrink:0;width:1.15em;height:1.15em}:where(button,label,.cs-field-label):has(>.icon){justify-content:center;align-items:center;gap:.45em;display:inline-flex}.app{background:var(--paper);flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.app-content{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.app-left-dock{background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;flex:none;width:33%;min-width:340px;max-width:60vw;height:100%;display:flex;position:relative}.cs-dock{border-bottom:1px solid var(--rule);flex:0 0 66.6667%;min-height:0;overflow:hidden}.cs-dock-picker{height:100%;padding:12px;overflow-y:auto}.cs-dock-picker-group+.cs-dock-picker-group{border-top:1px solid var(--rule);margin-top:12px;padding-top:10px}.cs-dock-picker-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.cs-dock-picker-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cs-dock-picker-list button{text-align:left;text-transform:none;letter-spacing:normal;width:100%;font-family:var(--font-body);color:var(--ink);border:1px solid var(--rule);background:0 0;align-items:center;gap:10px;padding:6px 8px;font-size:15px;display:flex}.cs-dock-picker-list button:hover{border-color:var(--accent);background:var(--accent-soft)}.cs-dock-picker-list img,.cs-dock-picker-initial{border-radius:var(--r);object-fit:cover;flex:none;width:32px;height:32px}.cs-dock-picker-initial{background:var(--surface-2);font-family:var(--font-display);color:var(--ink-2);place-items:center;display:grid}.cs-dock-picker-name{flex:1}.cs-dock-picker-list li{align-items:center;gap:4px;display:flex}.cs-dock-picker-folder-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:0}.cs-dock-picker-folder-btn:hover{color:var(--accent-ink)}.cs-dock-picker .scene-folder+.scene-folder,.cs-dock-picker .scene-folder+.scene-unfiled-label{margin-top:4px}.cs-dock-picker-list li>button:first-child{flex:1;min-width:0}.cs-dock-picker-list button[draggable=true]{cursor:grab}.cs-dock-picker-drag{color:var(--ink-2);font-size:16px}.cs-dock-picker-list .cs-dock-picker-delete{width:auto;color:var(--ink-2);flex:none;padding:6px 10px}.cs-dock-picker-list .cs-dock-picker-delete:hover{color:var(--blood);border-color:var(--blood);background:0 0}.cs-dock-picker-create{gap:4px;margin-top:10px;display:flex}.cs-dock-picker-create input{flex:1;min-width:0}.cs-dock-picker-you{color:var(--ink-2);font-style:italic}.app-left-dock-resize{cursor:ew-resize;touch-action:none;z-index:1;width:6px;position:absolute;top:0;bottom:0;right:-3px}.app-left-dock-resize:hover,.app-left-dock-resize:active{background:var(--accent);opacity:.5}.app-board-area{--dock-space:64px;flex:auto;min-width:0;height:100%;position:relative;overflow:hidden}.resize-handle{z-index:5;touch-action:none;position:absolute}.scene-panel-header,.token-property-header{cursor:grab;touch-action:none}.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{--lp-rust:#bc4a2c;--lp-rust-dark:#8f3520;--lp-ink:#2c1712;--lp-paper:#fbf3ea;--lp-card:#fffaf4;--lp-muted:#6b5148;--lp-line:#e6d4c6;box-sizing:border-box;background:radial-gradient(circle at 50% 30%, #fff 0, transparent 55%), repeating-linear-gradient(45deg, transparent 0 22px, #bc4a2c0a 22px 23px), var(--lp-paper);width:100vw;height:100vh;color:var(--lp-ink);padding:48px 16px;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow-y:auto}.join-screen .theme-toggle-btn{position:absolute;top:16px;right:16px}.join-card{box-sizing:border-box;background:var(--lp-card);border:2px solid var(--lp-ink);width:400px;max-width:100%;box-shadow:5px 5px 0 var(--lp-line);text-align:center;border-radius:12px;margin:auto;padding:28px 28px 24px}.join-card:before{content:"";background:url(/dicelogo.png) 50%/contain no-repeat;width:84px;height:84px;margin:0 auto 10px;display:block}.join-card h1{color:var(--lp-rust);margin:0 0 10px;font-family:Rye,serif;font-size:30px;font-weight:400;line-height:1.2}.join-card p{color:var(--lp-muted);margin:0 0 18px;font-size:15px;line-height:1.5}.join-card a{color:var(--lp-rust);font-weight:600}.join-card form{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.join-card input,.join-card textarea{border:2px solid var(--lp-line);color:var(--lp-ink);background-color:#fff;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px}.join-card textarea{font-family:var(--font-data);resize:vertical;font-size:12px}.join-card input:focus,.join-card textarea:focus{border-color:var(--lp-rust);outline:none}.join-card p.settings-hint{margin-bottom:10px;font-size:13px}.join-card button{background:var(--lp-rust);color:#fff;border:2px solid var(--lp-ink);letter-spacing:normal;text-transform:none;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;font-weight:800;transition:transform .15s,box-shadow .15s}.join-card button:hover:not(:disabled){box-shadow:4px 4px 0 var(--lp-ink);transform:translate(-2px,-2px)}.join-card button:disabled{opacity:.55;cursor:default}@media (prefers-reduced-motion:reduce){.join-card button{transition:none}}.campaign-list{text-align:left;margin:0 0 18px;padding:0;list-style:none}.campaign-list li+li{margin-top:8px}.campaign-list a{border:2px solid var(--lp-line);color:var(--lp-ink);background:#fff;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:600;text-decoration:none;display:block}.campaign-list a:hover{border-color:var(--lp-rust)}.campaign-role{color:var(--lp-muted);font-size:12.5px;font-weight:400}.join-error{color:var(--lp-rust-dark);margin-top:12px;font-size:13.5px}.pending-signup-row{border:2px solid var(--lp-line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13.5px;display:flex}.pending-signup-row span{text-align:left;flex:1}.join-card .pending-signup-row button{padding:4px 8px;font-size:12px}.join-card .link-button{color:var(--lp-rust);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline;display:inline}.join-card .link-button:hover:not(:disabled){box-shadow:none;transform:none}.ambience{z-index:4;pointer-events:none;transition:opacity .6s;position:absolute;inset:0;overflow:hidden}.amb-group{position:absolute;inset:0}.amb-layer{inset:calc(-1 * var(--tile));background-size:var(--tile) var(--tile);will-change:transform;animation-name:amb-move;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}@keyframes amb-move{0%{transform:translate(0,0)}to{transform:translate3d(var(--dx), var(--dy), 0)}}.amb-sway{animation:6s ease-in-out infinite alternate amb-sway}@keyframes amb-sway{0%{transform:translate(-24px)}to{transform:translate(24px)}}.amb-fire-glow{transform-origin:50% 100%;background:radial-gradient(at 50% 100%,#ff6e1e80,#ff3c002e 45%,#0000 72%);height:55%;animation:2.3s ease-in-out infinite amb-flicker;position:absolute;bottom:-5%;left:-10%;right:-10%}.amb-fire-flames{transform-origin:50% 100%;background-position:bottom;background-repeat:repeat-x;background-size:auto 100%;height:18%;animation:1.1s ease-in-out infinite amb-flicker;position:absolute;bottom:0;left:0;right:0}@keyframes amb-flicker{0%,to{opacity:.85;transform:scaleY(1)}20%{opacity:1;transform:scaleY(1.08)}45%{opacity:.75;transform:scaleY(.95)}70%{opacity:.95;transform:scaleY(1.04)}}.amb-tint{position:absolute;inset:0}.amb-flash{opacity:0;background:#e6ebff;animation:7s infinite amb-flash;position:absolute;inset:0}.amb-flash-late{animation-duration:11.3s;animation-delay:3.2s}.amb-bolt{opacity:0;background-repeat:no-repeat;background-size:100% 100%;width:180px;height:70%;animation:7s infinite amb-bolt;position:absolute;top:0;left:62%}@keyframes amb-flash{0%,90%,to{opacity:0}91%{opacity:.6}92%{opacity:.1}93.5%{opacity:.5}96%{opacity:0}}@keyframes amb-bolt{0%,90%,97%,to{opacity:0}91%,93.5%{opacity:1}92%{opacity:.3}}:root[data-reduce-effects] .ambience{display:none}@media (prefers-reduced-motion:reduce){.ambience *{animation:none!important}}.dice-overlay-3d{z-index:5;pointer-events:none;transition:opacity .4s;position:absolute;inset:0;overflow:hidden}.clash-stack{z-index:7;pointer-events:none;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.clash{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow), 0 8px 24px #00000059;padding:14px;animation:1.8s both clash-fade}.clash-arena{justify-content:space-between;align-items:center;width:220px;height:110px;display:flex}.clash-token{object-fit:contain;width:80px;height:80px}.clash-source{animation:.9s ease-in-out .2s both clash-lunge}.clash-target{animation:.5s ease-out .55s both clash-hit}.clash-label{text-align:center;font-family:var(--font-display);color:var(--ink);margin-top:8px;font-size:12px}@keyframes clash-fade{0%{opacity:0;transform:scale(.9)}12%,85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes clash-lunge{0%,to{transform:translate(0)}45%{transform:translate(60px)scale(1.1)}}@keyframes clash-hit{0%,to{filter:none;transform:translate(0)}20%{filter:brightness(1.8) drop-shadow(0 0 10px var(--blood));transform:translate(8px)}40%{transform:translate(-6px)}60%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.clash-source,.clash-target{animation:none}}.dice-reveal-stack{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:18px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.dice-reveal{flex-direction:column;align-items:center;gap:10px;animation:.25s ease-out dice-reveal-in;display:flex}@keyframes dice-reveal-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform: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-wide{width:max-content;max-width:min(440px,100vw - 32px);padding:8px}.toolbar-flyout-wide .pin-picker-hint{flex-basis:100%;max-width:none}.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{background:var(--surface);min-height:0;color:var(--ink);font-family:var(--font-body);flex-direction:column;flex:auto;font-size:15px;display:flex;overflow:hidden}.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-clear-all-btn{width:auto;padding:0 7px;font-size:11px}.chat-clear-all-btn:hover{border-color:var(--blood);color:var(--blood)}.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-dice-row .chat-hide-rolls{flex:none;align-items:center;gap:3px;padding:4px 6px;display:inline-flex}.chat-dice-row .chat-hide-rolls-on{background:var(--accent);border-color:var(--accent);color:var(--paper)}.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{right:12px;bottom:calc(12px + var(--dock-space));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: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;overflow:auto}.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-bring-party{padding:4px 10px 0;font-size:12px}.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-preview-note{color:var(--ink-2);padding:0 10px 6px;font-size:12px;font-style:italic}.scene-players-tag{border:1px solid var(--accent);border-radius:var(--r);color:var(--accent-ink);margin-left:6px;padding:0 5px;font-size:10px}.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)}.scene-folder{flex-direction:column;gap:4px;display:flex}.scene-folder-name-btn{justify-content:flex-start;align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.scene-folder-name{text-overflow:ellipsis;overflow:hidden}.scene-folder-count{color:var(--ink-2);font-size:11px;font-weight:400}.scene-folder-body{border-left:1px solid var(--rule);flex-direction:column;gap:4px;margin-left:12px;padding-left:4px;display:flex}.scene-folder-empty,.scene-unfiled-label{color:var(--ink-2);padding:4px 8px;font-size:12px}.scene-folder-empty{font-style:italic}.scene-unfiled-label{border-radius:var(--r);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.scene-drop-target{outline:1px dashed var(--accent);outline-offset:-1px;background:var(--accent-soft)}.scene-move-btn{flex:none;position:relative}.scene-move-btn select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.scene-move-btn:focus-within{outline:1px solid var(--accent)}.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:260px;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}.initiative-panel{left:12px;bottom:calc(12px + var(--dock-space));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: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;overflow:auto}.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{left:50%;bottom:calc(12px + var(--dock-space));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;overflow:hidden;transform:translate(-50%)}.codex-panel{z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:560px;min-width:300px;max-width:95vw;height:70vh;min-height:200px;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);flex-direction:column;font-size:14px;display:flex;position:absolute;top:70px;right:16px;overflow:hidden}.codex-panel-body{flex:1;min-height:0;padding:10px 12px;overflow-y:auto}.codex-panel .codex-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.codex-panel .codex-filters{margin:10px 0}.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%)}.library-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: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-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-search{background-color:var(--paper);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);margin:6px 8px 0;padding:4px 7px;font-size:13px}.library-panel>.chat-empty{padding:6px 10px 0}.library-scroll{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px;display:flex;overflow-y:auto}.library-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.pin-picker{flex-direction:column;gap:4px;display:flex}.pin-picker-grid{grid-template-columns:repeat(6,32px);gap:4px;display:grid}.pin-picker-grid button{text-transform:none;width:32px;height:32px;padding:0;font-size:18px;line-height:1}.pin-picker-hint{max-width:220px;color:var(--ink-2);font-size:11.5px;font-style:italic}.library-item{position:relative}.library-item-actions{opacity:0;gap:2px;display:flex;position:absolute;top:3px;right:3px}.library-item-actions .scene-icon-btn{background:var(--surface);border:1px solid var(--rule);padding:2px;line-height:0}.library-delete{background:var(--surface);border:1px solid var(--rule);color:var(--blood);padding:2px;line-height:0}.library-item:hover .library-item-actions,.library-item-actions:focus-within{opacity:1}@media (hover:none){.library-item-actions{opacity:1}}.library-name,.library-name-input{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:2px;padding:1px 2px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.library-name{color:var(--ink);font-family:var(--font-body);letter-spacing:normal;text-transform:none;cursor:text;background:0 0;border:none}.library-name-empty{color:var(--ink-2);opacity:0}.library-item:hover .library-name-empty,.library-name-empty:focus-visible{opacity:1}.library-name-input{background:var(--paper);border:1px solid var(--accent);color:var(--ink)}.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){.scene-panel,.initiative-panel,.journal-panel,.audio-panel,.library-panel,.macro-bar-panel,.codex-panel,.token-property-panel{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.toolbar{gap:8px;padding:8px 10px}.toolbar>button .btn-label,.toolbar>.toolbar-group>button .btn-label{display:none}.scene-icon-btn,.initiative-list button,.cs-list button,.cs-add-row button,.chat-collapse-btn{min-width:32px;min-height:32px}}.toolbar-caret{opacity:.6;margin-left:-.2em;font-size:.85em;display:inline-flex}.panel-dock{z-index:10;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--rule);box-shadow:var(--shadow), 0 8px 24px #0000004d;border-radius:14px;gap:4px;padding:5px 6px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.panel-dock-item{width:42px;height:42px;color:var(--ink-2);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;font-size:19px;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.panel-dock-item{transition:transform .15s,background-color .15s,color .15s}.panel-dock-item:hover{transform:translateY(-4px)scale(1.12)}}.panel-dock-item:hover,.panel-dock-item-open{color:var(--ink);background:var(--accent-soft)}.panel-dock-divider{background:var(--rule);align-self:stretch;width:1px;margin:6px 3px}.chat-dock-slot{flex-direction:column;flex:auto;min-height:0;display:flex}.panel-dock-item-open:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:2px;left:50%}.panel-dock-item-attention{color:var(--blood)}@media (prefers-reduced-motion:no-preference){.panel-dock-item-attention{animation:1.4s ease-in-out infinite panel-dock-pulse}}@keyframes panel-dock-pulse{50%{background:color-mix(in srgb, var(--blood) 22%, transparent)}}.panel-dock-label{white-space:nowrap;font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);pointer-events:none;opacity:0;padding:3px 8px;font-size:11px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.panel-dock-item:hover .panel-dock-label,.panel-dock-item:focus-visible .panel-dock-label{opacity:1}.codex-screen{max-width:1100px;min-height:100vh;color:var(--ink);font-family:var(--font-body);margin:0 auto;padding:24px 16px 48px}.codex-header,.codex-filters,.codex-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.codex-header h1{font-family:var(--font-display);margin:0 8px;font-size:24px}.codex-header input[type=search]{flex:1;min-width:200px}.codex-screen input,.codex-screen select,.codex-screen textarea,.codex-panel input,.codex-panel select,.codex-dialog input,.codex-dialog select,.codex-dialog textarea{background-color:var(--surface);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-body);padding:8px 10px;font-size:15px}.codex-upload{border:1px solid var(--rule);border-radius:var(--r);cursor:pointer;padding:8px 12px}.codex-primary,.codex-filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--surface)}.codex-status{white-space:pre-wrap;color:var(--ink-2)}.codex-filters{margin:16px 0 12px}.codex-count{color:var(--ink-2);margin-left:auto}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.codex-grid li{content-visibility:auto;contain-intrinsic-size:auto 132px}.codex-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:100%;height:132px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:12px;display:flex;overflow:hidden}.codex-card:hover,.codex-card:focus-visible{border-color:var(--accent)}.codex-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.codex-tags{flex-wrap:wrap;gap:4px;max-height:46px;display:flex;overflow:hidden}.codex-tag{border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:0 7px;font-size:12px;line-height:19px}.codex-tag-custom{border-color:var(--accent);color:var(--accent)}.codex-peek{-webkit-line-clamp:2;line-clamp:2;color:var(--ink-2);-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.codex-dialog{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);width:560px;max-width:92vw;max-height:86vh;box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);padding:22px;overflow-y:auto}.codex-dialog-wide{width:920px}.codex-dialog h3{font-family:var(--font-display);margin:20px 0 4px;font-size:16px}.codex-list{margin:6px 0 0;padding-left:20px;line-height:1.5}.codex-table-wrap{overflow-x:auto}.codex-table{border-collapse:collapse;font-size:13px}.codex-table th,.codex-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:4px 6px}.codex-table th{color:var(--ink-2);text-transform:capitalize;white-space:nowrap}.codex-feature{border-bottom:1px solid var(--rule);padding:6px 0}.codex-feature summary{cursor:pointer}.codex-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.cs-level-up-abilities{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.cs-level-up-ability{border:1px solid var(--rule);border-radius:var(--r);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.cs-level-up-ability button{min-width:28px}.codex-dialog::backdrop{background:#00000080}.codex-dialog h2{font-family:var(--font-display);margin:0 0 8px;font-size:20px}.codex-meta{color:var(--ink-2);margin:10px 0 0;font-size:14px}.codex-description{white-space:pre-wrap;margin:12px 0 0;line-height:1.5}.codex-actions{justify-content:flex-end;margin-top:18px}.codex-form label{min-width:120px;color:var(--ink-2);flex-direction:column;flex:1;gap:4px;margin-top:10px;font-size:13px;display:flex}.codex-form-row{flex-wrap:wrap;gap:10px;display:flex}.upload-progress{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.upload-progress progress{appearance:none;width:100%;height:4px;accent-color:var(--accent);background:0 0;border:0}.upload-progress progress::-webkit-progress-bar{background:0 0}.upload-progress progress::-webkit-progress-value{background:var(--accent);transition:width .15s linear}.upload-progress progress::-moz-progress-bar{background:var(--accent)}.upload-progress span{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);color:var(--ink);font-family:var(--font-body);border-radius:999px;margin-top:6px;padding:3px 10px;font-size:13px}.cinema-stage{--cin-glow:0;--cin-flash:0;--cin-dark:0;z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cinema-stage>*{position:absolute}.cinema-dark,.cinema-glow,.cinema-flash,.cinema-black,.cinema-particles{width:100%;height:100%;inset:0}.cinema-dark,.cinema-glow,.cinema-flash{will-change:opacity, transform}.cinema-dark{opacity:var(--cin-dark);background:radial-gradient(#0000008c 30%,#000000f5 100%)}.cinema-glow{box-shadow:inset 0 0 90px 10px var(--cin-glow-color,#fff);opacity:var(--cin-glow)}.cinema-flash{background:var(--cin-flash-color,#fff);opacity:var(--cin-flash)}.cinema-black{opacity:0;background:#000;transition:opacity 1.5s}.cinema-stage[data-blackout] .cinema-black{opacity:1}.cinema-stage[data-solo] .cinema-black{opacity:.88;transition-duration:.25s}.cinema-bar{background:#000;height:11%;transition:transform 1s;left:0;right:0}.cinema-bar-top{top:0;transform:translateY(-101%)}.cinema-bar-bottom{bottom:0;transform:translateY(101%)}.cinema-stage[data-letterbox] .cinema-bar{transform:none}.cinema-controls{flex-direction:column;gap:6px;padding:0 10px;font-size:13px;display:flex}.cinema-controls[open]>:not(summary){margin-top:6px}.cinema-controls summary{cursor:pointer;color:var(--accent-ink)}.cinema-controls .toolbar-field{white-space:normal;padding:0}.cinema-controls input[type=range],.cinema-controls select{flex:1;min-width:0}.cinema-toggles{grid-template-columns:1fr 1fr;gap:2px 8px;font-size:12px;display:grid}.cinema-buttons{flex-wrap:wrap;gap:4px;display:flex}.cinema-buttons button{border:1px solid var(--rule);color:var(--accent-ink);white-space:nowrap;background:0 0;flex:1;padding:4px 6px;font-size:11px}.cinema-buttons button:hover:not(:disabled){border-color:var(--accent)}.cinema-buttons button:disabled{opacity:.5;cursor:default}.cinema-note{color:var(--ink-2);font-size:12px}.cinema-track,.cinema-editor,.cinema-meters{border-top:1px solid var(--rule);flex-direction:column;gap:5px;padding-top:6px;display:flex}.cinema-events{max-height:22vh;overflow-y:auto}.cinema-wave{border:1px solid var(--rule);background:var(--paper);position:relative;overflow-x:auto}.cinema-wave canvas{cursor:crosshair;display:block}.cinema-wave-head{background:var(--ink);pointer-events:none;width:1px;height:100%;position:absolute;top:0;left:0}.cinema-time{align-items:center;display:inline-flex}.cinema-time input{background-color:var(--paper);border:1px solid var(--rule);width:6.5ch;color:var(--ink);font-family:var(--font-data);padding:1px 3px;font-size:12px}.cinema-time button,.cinema-event-type{color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:10px}.cinema-event-type{text-align:left;font-size:12px}.cinema-meter{font-family:var(--font-data);color:var(--ink-2);grid-template-columns:62px 1fr;align-items:center;gap:6px;font-size:11px;display:grid}.cinema-meter-track{background:var(--paper);border:1px solid var(--rule);height:6px;overflow:hidden}.cinema-meter-bar{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}.cinema-meter-events{min-height:5.4em;font-family:var(--font-data);color:var(--ink-2);font-size:11px}@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-docked{width:100%;min-width:0;max-width:none;height:100%;min-height:0;max-height:none;box-shadow:none;border:none;border-radius:0;margin:0;position:static;top:auto;left:auto;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-sheet-tools label.cs-icon-btn,.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-sheet-tools label.cs-icon-btn:hover,.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{flex-direction:column;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-tabs{z-index:2;background:var(--surface);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:2px;display:flex;position:sticky;top:0}.cs-sheet-tab{color:var(--ink-2);cursor:pointer;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:7px 10px;font-size:12px;font-weight:500}.cs-sheet-tab:hover{color:var(--accent-ink);background:0 0}.cs-sheet-tab-active{border-bottom-color:var(--accent);color:var(--ink)}.cs-section[hidden]{display:none}.cs-hp-adjust input{background-color:var(--paper);border:1px solid var(--rule);border-radius:var(--r);width:84px;color:var(--ink);font-family:var(--font-data);padding:6px 8px;font-size:14px}.cs-hp-adjust .cs-hp-damage:hover:not(:disabled){border-color:var(--blood);color:var(--blood)}.cs-portrait-draggable{cursor:grab}.cs-portrait-draggable:active{cursor:grabbing}.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{color:#fff;font-family:var(--font-data);letter-spacing:.08em;text-align:center;text-transform:uppercase;cursor:pointer;background:#0000009e;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;justify-content:flex-start;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-sheet .cs-section-title button.cs-subsection-toggle{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0;display:flex}.cs-slot-summary{color:var(--ink-2);font-family:var(--font-data);letter-spacing:.04em;text-transform:none;font-size:11px}.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-class-info{white-space:nowrap;opacity:.8;font-size:12px}.cs-feat-effect-toggle{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}.cs-feat-effect{flex-wrap:wrap}.cs-feat-body{flex-direction:column;gap:4px;padding-left:26px;display:flex}.cs-list button.cs-checklist-label.cs-feat-toggle{text-align:left;align-items:center;gap:6px;display:flex}.cs-reorder-handle{width:18px;color:var(--ink-2);text-align:center;border-radius:var(--r);flex:0 0 18px;font-size:14px;line-height:1}.cs-reorder-handle:focus-visible{outline:1px solid var(--accent)}.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-dmg{width:96px}.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 .cs-sheet-tools .cs-icon-btn{padding:6px;font-size:14px;line-height:1}.cs-sheet .cs-ability-label{display:block}.cs-sheet .cs-ability-label .icon{margin-right:.35em}.cs-sheet :is(.cs-field-label,.cs-ability-label,.cs-section-toggle) .icon{color:var(--accent)}.cs-prof-summary,.cs-prof-defaults{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13.5px;display:flex}.cs-prof-dcs{font-family:var(--font-data);flex-wrap:wrap;gap:4px 10px;font-size:11px;display:inline-flex}.cs-prof-chip{cursor:default;align-items:center;gap:4px;display:inline-flex}.cs-prof-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.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{color:#fff;font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;background:#0000009e}.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{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{gap:8px}.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-sheet-tools label.cs-icon-btn,.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-sheet-tools label.cs-icon-btn:hover,.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-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(84px,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 .cs-core-value{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.cs-sheet .cs-core-stats .cs-core-breakdown{color:var(--ink-2);white-space:nowrap;font-size:11px}.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}}.cs-sheet .cs-core-stats>.cs-field>.cs-field-label,.cs-sheet .cs-ability .cs-ability-label{color:var(--ink);letter-spacing:.08em;font-size:12.5px}.cs-sheet .cs-core-stats>.cs-field :is(input:not([type=checkbox]),select){font-size:15px}.cs-sheet .cs-ability input.cs-ability-score{font-size:18px}.cs-sheet .cs-list button.cs-attack-name{min-width:0;font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);flex:1 1 0;justify-content:flex-start;font-size:14px}.cs-sheet .cs-attack-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cs-sheet .cs-list button.cs-attack-dmg{flex:none;justify-content:center}.cs-sheet .cs-ability input.cs-ability-score{text-align:center;appearance:textfield}.cs-sheet .cs-ability input.cs-ability-score::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cs-sheet .cs-ability input.cs-ability-score::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cs-sheet .cs-attack-list li{gap:10px}.cs-sheet .cs-attack-list li>:is(button,input,select){min-height:36px;font-size:14px}.cs-sheet .cs-attack-list li>button.cs-checklist-label{padding:6px 12px}.cs-sheet .cs-attack-list button.cs-attack-name{font-size:15px}.cs-sheet .cs-attack-list .cs-narrow-input{width:84px}.cs-sheet .cs-attack-list .cs-attack-dmg{width:110px}.cs-sheet :is(.cs-attack-list,.cs-spell-list){grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.cs-sheet :is(.cs-attack-list,.cs-spell-list) li.cs-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);align-items:stretch;gap:8px;min-width:0;padding:8px 10px}.cs-sheet :is(.cs-attack-list,.cs-spell-list) li.cs-card.cs-search-match{background:var(--accent-soft)}:is(.cs-sheet .cs-attack-list li.cs-card-open,.cs-sheet .cs-spell-list li.cs-card:has(details[open])){border-color:var(--accent);grid-column:1/-1}.cs-sheet .cs-card-head,.cs-sheet .cs-spell-list li.cs-card summary{cursor:pointer;flex-direction:column;gap:2px;width:100%;min-width:0;list-style:none;display:flex}.cs-sheet .cs-spell-list li.cs-card summary::-webkit-details-marker{display:none}.cs-sheet .cs-card-head:focus-visible,.cs-sheet .cs-spell-list li.cs-card summary:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.cs-sheet .cs-card-title{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:600;overflow:hidden}.cs-sheet .cs-card-sub{color:var(--ink-2);font-family:var(--font-data);font-size:11px;line-height:1.35}.cs-sheet .cs-card-extra{display:inline}.cs-sheet .cs-attack-list li.cs-card:not(.cs-card-open)>:not(.cs-card-head):not(.cs-reorder-handle){display:none!important}.cs-sheet .cs-attack-list li.cs-card>.cs-reorder-handle+.cs-card-head{flex:1 0 calc(100% - 30px);width:auto}.cs-sheet .cs-attack-list li.cs-card-open>:is(button,input,select){flex:110px;width:auto;min-width:0}.cs-sheet .cs-attack-list li.cs-card-open>button:not(.cs-checklist-label){flex:none}.cs-sheet .cs-spell-list li.cs-card:not(:has(details[open]))>button{display:none!important}.cs-sheet .cs-spell-list li.cs-card .cs-row{flex-wrap:wrap}.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}
