.theme-cyberpunk{--font-body: "Bahnschrift", "Segoe UI", system-ui, sans-serif;--font-display: "Bahnschrift SemiBold", "Bahnschrift", "Segoe UI", sans-serif;--font-label: "Cascadia Mono", "Consolas", monospace;--page-bg: #0b0710;--panel-bg: #140d1e;--surface-sunken: #1c1329;--field: #100a18;--folder: #170f22;--folder-active: #21172f;--rule: #3a2b52;--ink: #e6e0f0;--muted: #8a7fa8;--folder-accent: #ff2fb0;--shadow: rgba(0, 0, 0, .65);--highlight: #16e0e0;--highlight-bright: #7ffcff;--highlight-dim: #0f8f9a;--weak-hit: #16e0e0;--accent: #ff2f8e;--on-accent-text: #ffffff;--on-highlight-text: #06121a;--strong-hit: #39e58a;--miss: #ff3b5c;--danger: #ff2f4d;--scrim-weak: rgba(0, 0, 0, .25);--scrim: rgba(0, 0, 0, .5);--scrim-strong: rgba(0, 0, 0, .78);--highlight-tint: color-mix(in srgb, var(--highlight) 10%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 22%, transparent);--veil: rgba(255, 255, 255, .4);--veil-strong: rgba(255, 255, 255, .8);--ink-tint: rgba(255, 47, 142, .12);--chip-neutral: #241a33;--pill-attr: #0f8f9a;--token-npc-hi: #d8d0ee;--token-npc-lo: #8a7fb0;--token-threat-hi: #ff6f9c;--token-item-hi: #b8f8ee;--token-item-lo: #16c0b0;--cond-minor: #f0e050;--cond-major: #ff9f2f;--cond-critical: #ff3b5c;--cond-on: #16c090;--cond-on-text: #d6fff2;--cond-off: #5a6a70;--mod-momentum: #eafcff;--mod-forward: #dbe4ff;--mod-ongoing: #d8ffe8;--mod-conditions: #ffdce6;--stamp-move: #1f2b52;--stamp-remove: #5e1836;--stamp-mod: #1f3a44;--stamp-shadow: #33203f;--paper-bg: #eef0f6;--paper-ink: #14121c;--paper-muted: #55526a;--paper-border: #b9b6cc}:root,.theme-dark-leather{--font-body: Georgia, "Times New Roman", serif;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-label: "Special Elite", "Courier New", monospace;--page-bg: #15100b;--panel-bg: #221c16;--surface-sunken: #2a2118;--field: #2a231b;--folder: #261f17;--folder-active: #2f2619;--rule: #4a3c2a;--ink: #e8dfc8;--muted: #8a7a62;--folder-accent: #b5895a;--shadow: rgba(0, 0, 0, .55);--highlight: #c9a84c;--highlight-bright: #f0d488;--highlight-dim: #8a6e30;--weak-hit: #c9a84c;--accent: #8f2230;--on-accent-text: #ffffff;--on-highlight-text: #15100b;--strong-hit: #5a9c6a;--miss: #b5384b;--danger: #c0392b;--scrim-weak: rgba(0, 0, 0, .2);--scrim: rgba(0, 0, 0, .45);--scrim-strong: rgba(0, 0, 0, .7);--highlight-tint: color-mix(in srgb, var(--highlight) 8%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 18%, transparent);--veil: rgba(255, 255, 255, .45);--veil-strong: rgba(255, 255, 255, .85);--ink-tint: rgba(47, 42, 33, .12);--chip-neutral: #3a3530;--pill-attr: #7a5c1e;--token-npc-hi: #f2ead4;--token-npc-lo: #c8bb9a;--token-threat-hi: #d56b6b;--token-item-hi: #cfe0d8;--token-item-lo: #7fa895;--cond-minor: #e0b84a;--cond-major: #df8a35;--cond-critical: #c23a48;--cond-on: #3a5840;--cond-on-text: #dff0e4;--cond-off: #78927e;--mod-momentum: #fff3cc;--mod-forward: #ddeeff;--mod-ongoing: #d8f0dc;--mod-conditions: #fde8e4;--stamp-move: #2f3a4a;--stamp-remove: #6b1825;--stamp-mod: #3a4a3a;--stamp-shadow: #3a1622;--paper-bg: #fffdf7;--paper-ink: #241d14;--paper-muted: #6a5f49;--paper-border: #cdbf9e}.theme-high-fantasy{--font-body: "Book Antiqua", "Palatino Linotype", Palatino, serif;--font-display: Gabriola, "Luminari", "Papyrus", "Palatino Linotype", serif;--font-label: "Papyrus", "Luminari", "Palatino Linotype", serif;--page-bg: #12190f;--panel-bg: #1b2416;--surface-sunken: #232e1b;--field: #1a2213;--folder: #202a17;--folder-active: #2a3620;--rule: #4a5a38;--ink: #ece3c8;--muted: #9a9a78;--folder-accent: #c9a24c;--shadow: rgba(0, 0, 0, .55);--highlight: #e2b53c;--highlight-bright: #f8de7e;--highlight-dim: #96701c;--weak-hit: #d8b24a;--accent: #6a3f9c;--on-accent-text: #ffffff;--on-highlight-text: #1a1005;--strong-hit: #5aa663;--miss: #b5384b;--danger: #c0392b;--scrim-weak: rgba(0, 0, 0, .2);--scrim: rgba(0, 0, 0, .45);--scrim-strong: rgba(5, 10, 4, .72);--highlight-tint: color-mix(in srgb, var(--highlight) 9%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 20%, transparent);--veil: rgba(255, 252, 235, .4);--veil-strong: rgba(255, 252, 235, .82);--ink-tint: rgba(106, 63, 156, .12);--chip-neutral: #33402a;--pill-attr: #6e5a1e;--token-npc-hi: #efe6c8;--token-npc-lo: #c2b48a;--token-threat-hi: #cf6b6b;--token-item-hi: #cfe0c0;--token-item-lo: #7fa060;--cond-minor: #e0c34a;--cond-major: #df9a35;--cond-critical: #c23a48;--cond-on: #3f7a48;--cond-on-text: #dff0d8;--cond-off: #7a8a70;--mod-momentum: #fff2cc;--mod-forward: #e2ddff;--mod-ongoing: #dcf0d4;--mod-conditions: #fde0dc;--stamp-move: #2f3a4a;--stamp-remove: #6b1825;--stamp-mod: #3a4a2f;--stamp-shadow: #3a2236;--paper-bg: #f4ebd2;--paper-ink: #3a2c15;--paper-muted: #7a6742;--paper-border: #ccb686}.theme-horror{--font-body: Cambria, "Bookman Old Style", Georgia, serif;--font-display: "Bodoni MT", "Rockwell", "Bookman Old Style", serif;--font-label: "Lucida Console", "Courier New", monospace;--page-bg: #0e0e10;--panel-bg: #17171a;--surface-sunken: #1e1e22;--field: #121214;--folder: #191919;--folder-active: #232326;--rule: #3a3a40;--ink: #cdc9c2;--muted: #7a7770;--folder-accent: #6e2b2b;--shadow: rgba(0, 0, 0, .7);--highlight: #93a634;--highlight-bright: #c4d268;--highlight-dim: #54611c;--weak-hit: #8a9a3b;--accent: #8a1c1c;--on-accent-text: #f0e8e8;--on-highlight-text: #10120a;--strong-hit: #6a8f4a;--miss: #a02020;--danger: #b52a2a;--scrim-weak: rgba(0, 0, 0, .25);--scrim: rgba(0, 0, 0, .5);--scrim-strong: rgba(0, 0, 0, .78);--highlight-tint: color-mix(in srgb, var(--highlight) 8%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 18%, transparent);--veil: rgba(200, 196, 188, .14);--veil-strong: rgba(200, 196, 188, .5);--ink-tint: rgba(138, 28, 28, .12);--chip-neutral: #2c2c2f;--pill-attr: #5a4a2a;--token-npc-hi: #d8d2c6;--token-npc-lo: #9a9488;--token-threat-hi: #b05050;--token-item-hi: #b8c4b0;--token-item-lo: #6a7a62;--cond-minor: #b0a03a;--cond-major: #b06a2a;--cond-critical: #a02020;--cond-on: #4a6a3a;--cond-on-text: #d8e4c8;--cond-off: #5a5a50;--mod-momentum: #e8e2c0;--mod-forward: #cdd4dc;--mod-ongoing: #d0dcc4;--mod-conditions: #e6cccc;--stamp-move: #2a3038;--stamp-remove: #5a1818;--stamp-mod: #303a2a;--stamp-shadow: #302028;--paper-bg: #d9d5cb;--paper-ink: #17140f;--paper-muted: #57534b;--paper-border: #9a958a}.theme-sci-fi{--font-body: "Segoe UI", system-ui, Roboto, sans-serif;--font-display: "Segoe UI Semibold", "Segoe UI", system-ui, sans-serif;--font-label: Consolas, "Courier New", monospace;--page-bg: #0a0f16;--panel-bg: #111a24;--surface-sunken: #172230;--field: #0e1620;--folder: #13202c;--folder-active: #1b2c3a;--rule: #2c485c;--ink: #d7e7f4;--muted: #7d95a8;--folder-accent: #3fa7c4;--shadow: rgba(0, 0, 0, .6);--highlight: #31cfe6;--highlight-bright: #8bf5ff;--highlight-dim: #25849c;--weak-hit: #38c6e0;--accent: #1f6feb;--on-accent-text: #ffffff;--on-highlight-text: #04121a;--strong-hit: #2fd18a;--miss: #ff5470;--danger: #ff4d4d;--scrim-weak: rgba(0, 0, 0, .2);--scrim: rgba(0, 0, 0, .45);--scrim-strong: rgba(2, 8, 14, .72);--highlight-tint: color-mix(in srgb, var(--highlight) 8%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 18%, transparent);--veil: rgba(255, 255, 255, .45);--veil-strong: rgba(255, 255, 255, .85);--ink-tint: rgba(31, 111, 235, .12);--chip-neutral: #26323f;--pill-attr: #2a7d92;--token-npc-hi: #cfe0ee;--token-npc-lo: #8aa2b5;--token-threat-hi: #ff8a9c;--token-item-hi: #b8f0e6;--token-item-lo: #3fae9a;--cond-minor: #e6c94a;--cond-major: #e8902f;--cond-critical: #ff5470;--cond-on: #2b9f8c;--cond-on-text: #d6fff5;--cond-off: #5a7a80;--mod-momentum: #eafaff;--mod-forward: #dbe7ff;--mod-ongoing: #d8ffe8;--mod-conditions: #ffe0e6;--stamp-move: #23415e;--stamp-remove: #5e1a2c;--stamp-mod: #234a46;--stamp-shadow: #2b2340;--paper-bg: #eef4f8;--paper-ink: #16202b;--paper-muted: #55677a;--paper-border: #b9c9d6}.theme-superhero{--font-body: "Franklin Gothic Book", "Segoe UI", Arial, sans-serif;--font-display: "Impact", "Franklin Gothic Heavy", "Arial Black", sans-serif;--font-label: "Arial Black", "Franklin Gothic Heavy", sans-serif;--page-bg: #0a1428;--panel-bg: #10203f;--surface-sunken: #16294d;--field: #0c1a34;--folder: #12233f;--folder-active: #1b3054;--rule: #2f4a78;--ink: #f2f4fb;--muted: #8a9bc0;--folder-accent: #c8102e;--shadow: rgba(0, 0, 0, .6);--highlight: #337ff0;--highlight-bright: #6fabff;--highlight-dim: #20579a;--weak-hit: #e0a52a;--accent: #d21f3c;--on-accent-text: #ffffff;--on-highlight-text: #061426;--strong-hit: #2f9e57;--miss: #d21f3c;--danger: #e03a3a;--scrim-weak: rgba(0, 0, 0, .2);--scrim: rgba(0, 0, 0, .45);--scrim-strong: rgba(0, 0, 0, .72);--highlight-tint: color-mix(in srgb, var(--highlight) 10%, transparent);--highlight-tint-strong: color-mix(in srgb, var(--highlight) 22%, transparent);--veil: rgba(255, 255, 255, .45);--veil-strong: rgba(255, 255, 255, .85);--ink-tint: rgba(200, 16, 46, .12);--chip-neutral: #22304d;--pill-attr: #24548f;--token-npc-hi: #eef2fb;--token-npc-lo: #b8c4de;--token-threat-hi: #ff6b6b;--token-item-hi: #cfe0ff;--token-item-lo: #6a9be0;--cond-minor: #e0c34a;--cond-major: #e08a35;--cond-critical: #d21f3c;--cond-on: #2f9e57;--cond-on-text: #dff5e6;--cond-off: #6a7a80;--mod-momentum: #fff3cc;--mod-forward: #dbe7ff;--mod-ongoing: #d8f0dc;--mod-conditions: #ffdce0;--stamp-move: #22345e;--stamp-remove: #6b1825;--stamp-mod: #2f4a3a;--stamp-shadow: #33223f;--paper-bg: #f7f5ee;--paper-ink: #14213a;--paper-muted: #5a6480;--paper-border: #c4cadb}:root{--radius: 12px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--ink);font-family:var(--font-body);line-height:1.35}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;min-height:36px;padding:7px 9px;background:var(--field);border:1px solid var(--ink);border-radius:8px;color:var(--ink)}textarea{resize:vertical}.field{display:grid;gap:5px}.field label,.mini-label,.section-title,.subhead,.chat-title{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.primary-button,.secondary-button,.small-pill{border:1px solid var(--rule);border-radius:6px;font-weight:700;transition:background-color .1s ease,border-color .1s ease,color .1s ease}.primary-button{border-color:var(--highlight-dim);background:var(--highlight-tint);color:var(--ink)}.primary-button:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.secondary-button{background:var(--ink-tint);color:var(--muted)}.secondary-button:hover{border-color:var(--highlight-dim);color:var(--ink);background:var(--ink-tint)}.small-pill{background:var(--ink-tint);color:var(--muted)}.small-pill:hover{border-color:var(--highlight-dim);color:var(--ink)}.primary-button,.secondary-button{min-height:38px;padding:8px 14px;white-space:nowrap}.small-pill{min-height:28px;padding:4px 9px;font-size:.72rem;white-space:nowrap}.primary-button:disabled,.secondary-button:disabled{opacity:.38;cursor:not-allowed}.secondary-button.modal-actions__delete{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger)}.secondary-button.modal-actions__delete:hover{background:var(--danger);color:var(--panel-bg)}.tag-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.tag-filter-bar__label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.tag-filter-bar__mode{display:flex;align-items:center;gap:10px;padding:3px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--ink-tint)}.tag-filter-bar__mode-option{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.72rem;cursor:pointer;-webkit-user-select:none;user-select:none}.tag-filter-bar__mode-option input[type=radio]{width:auto;accent-color:var(--highlight);margin:0}.tag-filter-bar__mode-option:has(input:checked){color:var(--ink);font-weight:700}.tag-filter-bar__pills{display:contents}.tag-filter-bar__pill.is-active{background:var(--highlight-tint-strong);border-color:var(--highlight);color:var(--ink)}.tag-filter-bar__clear{border:none;background:transparent;color:var(--muted);font-size:.7rem;text-decoration:underline;padding:0}.tag-filter-bar__clear:hover{color:var(--ink)}.verdigris-button{background:var(--cond-on);color:var(--cond-on-text);border-color:color-mix(in srgb,var(--cond-on) 55%,black)}.verdigris-button:disabled{background:var(--cond-off);color:color-mix(in srgb,var(--cond-off) 55%,white);border-color:color-mix(in srgb,var(--cond-off) 60%,black);cursor:not-allowed;transform:none;outline:none}.roll-button{width:42px;height:42px;display:inline-grid;place-items:center;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--accent);color:var(--on-accent-text);font-size:1.1rem;line-height:1}.roll-button:hover,.roll-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}.section{padding:14px;background:var(--veil);border:1px solid var(--rule);border-radius:var(--radius)}.section-title{margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-size:1.15rem;text-transform:uppercase;letter-spacing:.12em}.folder-tabs{position:relative;margin-top:4px}.tab-list{display:flex;align-items:flex-end;gap:4px;padding:6px 8px 0;overflow-x:auto;overflow-y:hidden}.folder-tab{position:relative;min-width:0;padding:7px 14px;background:var(--folder);border:1px solid var(--rule);border-bottom:0;border-radius:10px 10px 0 0;color:var(--ink);font-size:.82rem;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;transform:translateY(1px);cursor:pointer}.folder-tab:hover{background:var(--folder-active)}.folder-tab.active{background:var(--folder-active);color:var(--highlight);transform:none;box-shadow:inset 0 2px 0 var(--highlight-dim)}.folder-panel{position:relative;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--folder-active);box-shadow:inset 0 1px var(--veil);z-index:2}.tab-panel{display:none;padding:14px;border:1px solid var(--ink-tint);border-radius:10px;background:var(--veil-strong)}.tab-panel.active{display:block}.main-layout{display:grid;grid-template-columns:minmax(640px,1fr) 342px;gap:16px;align-items:stretch;padding:14px;flex:1;min-height:0}.chat-rail{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.character-stage{min-height:680px;overflow-y:auto}.character-tabs .folder-tab{min-width:156px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;text-align:left;text-transform:none;letter-spacing:normal;font-size:.75rem}.tab-hero-name{font-weight:700;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em}.tab-playbook{font-size:.75rem;color:var(--muted)}.tab-player{font-size:.7rem;color:var(--muted);font-style:italic;display:flex;align-items:center;gap:4px}.tab-player-icon{width:16px;height:16px;border-radius:50%;border:1px solid var(--ink);object-fit:cover;flex-shrink:0}.folder-tab--owned{background:var(--strong-hit);color:var(--on-accent-text)}.folder-tab.active.folder-tab--owned{background:var(--strong-hit)}.folder-tab--owned .tab-hero-name,.folder-tab--owned .tab-playbook,.folder-tab--owned .tab-player{color:var(--on-accent-text)}.embedded-frame{max-height:calc(100vh - 300px);min-height:600px;overflow-y:auto}.embedded-sheet{width:min(1110px,100%);margin:0 auto;padding:18px;background:var(--panel-bg);border:2px solid var(--ink);border-radius:18px;box-shadow:0 6px 16px var(--shadow)}.sheet-header{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:3px double var(--ink);margin-bottom:20px}.sheet-header__left{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0}.sheet-header-portrait{width:55px;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;flex-shrink:0;border:1px solid var(--rule)}.sheet-header__titles{display:flex;flex-direction:column;gap:6px;min-width:0}.sheet-title{margin:0;font-size:clamp(1.45rem,3vw,2.6rem);line-height:1;letter-spacing:.03em}.sheet-subtitle{margin:0;color:var(--muted);font-size:clamp(.95rem,2.2vw,1.7rem);line-height:1;letter-spacing:.04em;white-space:nowrap}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.vitals-grid{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.side-column-stack{display:grid;gap:20px;align-content:start;align-self:start}.character-details,.all-tabs-section{grid-column:1 / -1}.embedded-sheet .section{padding:18px}.front-matter{display:grid;grid-template-columns:1fr 220px;gap:18px}.field-grid{display:grid;grid-template-columns:1fr;gap:14px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1 / -1}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.front-action-button{width:auto;min-height:24px;padding:2px 7px;border:1px solid var(--highlight-dim);border-radius:5px;background:var(--highlight-tint);color:var(--ink);font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap;transition:background-color .1s ease,border-color .1s ease}.front-action-button:hover,.front-action-button:focus-visible{background:var(--highlight-tint-strong);border-color:var(--highlight)}.front-action-row{display:flex;justify-content:flex-start;align-items:center;margin-top:2px}textarea.two-line{min-height:76px}.portrait-card{display:grid;gap:8px}.portrait-frame{aspect-ratio:3 / 4;display:grid;place-items:center;padding:16px;border:2px dashed var(--muted);border-radius:12px;background:var(--paper-bg);color:var(--muted);text-align:center;font-size:.9rem;overflow:hidden}.portrait-frame:has(img){padding:0;border-style:solid}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}.token-sheet-visual{justify-self:center;position:relative}.stats-list{display:grid;gap:12px}.stat-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:12px;padding:10px;border:1px solid var(--rule);border-radius:18px;background:var(--veil)}.stat-row{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:8px}.stat-name{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;justify-self:start}.stat-value{display:flex;align-items:center;justify-content:center;width:58px;height:58px;min-height:unset;padding:0;border:2px solid var(--ink);border-radius:50%;text-align:center;font-size:1.2rem;font-weight:700;-webkit-user-select:none;user-select:none}.stat-spinner{width:28px;height:28px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--ink-tint);color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.stat-spinner:hover:not(:disabled){background:var(--ink-tint)}.stat-spinner:disabled{opacity:.3;cursor:default}.stat-spinners{display:flex;flex-direction:column;gap:2px}.stat-move-buttons{display:grid;grid-template-columns:1fr;gap:5px}.stat-move-button{min-height:28px;padding:4px 8px;border:1px solid var(--ink);border-radius:999px;background:var(--ink-tint);color:var(--ink);font-size:.74rem;font-weight:700;line-height:1.1;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.stat-move-button:hover,.stat-move-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}.attribute-allocation{margin-top:16px;padding:12px;border:1px solid var(--rule);border-radius:12px;background:var(--veil)}.attribute-allocation p{margin:0 0 10px;font-size:.95rem}.allocation-options{display:grid;grid-template-columns:1fr;gap:6px;margin:0;padding:0;list-style:none}.allocation-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:2px 0;background:transparent;text-transform:none;letter-spacing:0;font-weight:400}.allocation-option input[type=radio]{width:18px;min-height:18px;accent-color:var(--accent)}.conditions-list{display:grid;gap:10px}.condition-row{display:grid;grid-template-columns:48px auto 105px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.condition-row input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent)}.condition-modifier{display:inline-grid;place-items:center;min-height:34px;padding:4px 8px;border:1px solid var(--ink);border-radius:999px;background:var(--ink-tint);font-weight:700;text-align:center}.condition-name{font-weight:700;text-transform:uppercase;letter-spacing:.06em}.modifier-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.modifier-name{flex:1;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.modifier-row .rating-spinner{width:64px;flex-shrink:0;min-height:30px}.modifier-row input[type=text]{flex:2}.experience-rule{margin:0 0 12px;font-size:.95rem}.experience-track{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.experience-track-title{margin-right:4px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.experience-box{width:20px;min-height:20px;padding:0;accent-color:var(--accent)}.moves-grid{display:grid;gap:18px;align-items:start}.attribute-move-section{display:block}.attribute-move-section+.attribute-move-section{margin-top:16px}.attribute-move-title{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:0;padding:8px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--ink-tint);cursor:pointer;font-size:1rem;text-transform:uppercase;letter-spacing:.12em;-webkit-user-select:none;user-select:none}.attribute-move-title::marker,.attribute-move-title::-webkit-details-marker{display:none;content:""}.attribute-move-title:before{content:"▶";width:34px;height:34px;display:inline-grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--veil);font-size:1.15rem;line-height:1;transition:transform .12s ease}.attribute-move-section[open]>.attribute-move-title:before{content:"▼"}.attribute-move-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-top:12px}.attribute-move-grid .move-stat{display:none}.move-card,.playbook-move-card{display:grid;gap:10px;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--veil)}.move-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.move-card-title-row{display:flex;align-items:center;gap:.4em}.move-checkbox{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent)}.move-card-title,.playbook-move-title{margin:0;font-size:1.05rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.move-stat{display:inline-block;margin-top:4px;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.move-roll-button{width:36px;height:36px;flex:0 0 auto;display:inline-grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--accent);color:var(--on-accent-text);line-height:1}.move-roll-button:hover,.move-roll-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}.move-description{margin:0;font-size:.9rem}.move-results{display:grid;gap:4px;margin:0;padding-left:18px;font-size:.88rem}.move-results li{padding:0}.move-results strong{font-weight:700;white-space:nowrap}.move-hold{display:grid;gap:6px;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil);font-size:.9rem}.move-hold ul{margin:4px 0 0 18px;padding:0}.playbook-moves-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-items:start}.playbook-move-card label{text-transform:none;letter-spacing:0;font-weight:400}.playbook-move-card textarea{min-height:72px}.special-moves-list{display:grid;gap:16px}.special-move-section{display:block}.special-move-title{margin:0;padding:8px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--ink-tint);cursor:pointer;font-size:1rem;text-transform:uppercase;letter-spacing:.12em;-webkit-user-select:none;user-select:none}.special-move-title::marker{content:"▸  "}.special-move-section[open]>.special-move-title::marker{content:"▾  "}.special-move-body{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--veil)}.special-roll-buttons{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.special-roll-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 11px;border:2px solid var(--ink);border-radius:999px;background:var(--accent);color:var(--on-accent-text);font-size:.84rem;line-height:1;white-space:nowrap}.special-roll-button:hover,.special-roll-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}.special-move-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.special-move-block{display:grid;gap:8px;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil);font-size:.9rem}.special-move-block.full-width{grid-column:1 / -1}.special-block-title{margin:0;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.special-move-block p{margin:0}.special-move-block ul{margin:0 0 0 18px;padding:0}.approach-list{display:grid;gap:6px}.approach-row{display:grid;grid-template-columns:74px 1fr;gap:8px}.occult-hold-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.occult-hold-row{display:grid;gap:6px;padding:8px;border:1px solid var(--rule);border-radius:8px;background:var(--veil)}.occult-hold-row strong{text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.occult-hold-row ul{margin:0 0 0 18px;padding:0}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.equipment-column{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--veil)}.equipment-subtitle{margin:0 0 10px;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.equipment-list{display:grid;gap:8px}.equipment-option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:8px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil);text-transform:none;letter-spacing:0;font-weight:400}.equipment-option input[type=checkbox]{width:20px;min-height:20px;padding:0;margin-top:2px;accent-color:var(--accent)}.equipment-option-content{display:flex;flex-direction:column;gap:4px}.equipment-option-name{line-height:1.3}.equipment-tags{display:flex;flex-wrap:wrap;gap:4px}.equipment-empty{color:var(--muted);font-style:italic}.equipment-card-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.equipment-card-toggle{display:flex;align-items:center;gap:6px;flex:0 0 auto;text-transform:none;letter-spacing:0;font-weight:400}.equipment-card-toggle input[type=checkbox],.equipment-card-toggle input[type=radio]{width:16px;min-height:16px;padding:0;margin:0;accent-color:var(--accent);flex-shrink:0}.equipment-field-description{min-height:52px;max-height:120px;padding:4px 6px;font-size:.85rem;flex:1 1 auto;min-width:200px;resize:vertical;line-height:1.4}.contacts-table-wrap{overflow-x:auto}.contacts-table{width:100%;border-collapse:collapse;table-layout:fixed}.contacts-table th,.contacts-table td{padding:8px;border:1px solid var(--rule);vertical-align:top}.contacts-table th{background:var(--ink-tint);text-align:left;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.contacts-table input{min-height:36px}.contacts-table .col-rating{width:8%}.contacts-table .col-flex{width:23%}.rating-spinner{display:flex;align-items:center;width:100%;min-height:36px;padding-left:9px;background:var(--field);border:1px solid var(--ink);border-radius:8px;color:var(--ink);overflow:hidden}.contact-rating{flex:1;font-weight:700;font-size:.9rem;margin-right:8px}.rating-spinner-buttons{display:flex;flex-direction:column;align-self:stretch;border-left:1px solid var(--ink)}.rating-spinner-buttons button{flex:1;width:22px;padding:0;font-size:.6rem;border:none;border-radius:0;background:transparent;cursor:pointer;color:var(--ink);line-height:1}.rating-spinner-buttons button:first-child{border-bottom:1px solid var(--ink)}.rating-spinner-buttons button:disabled{opacity:.35;cursor:default}.shadows-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.shadow-subtitle{margin:16px 0 8px;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.shadow-list{display:grid;gap:10px}.shadow-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.shadow-row input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent)}.shadow-label{text-transform:none;letter-spacing:0;font-weight:400}.shadow-label strong{font-weight:700}.history-intro,.leveling-intro{margin:0 0 14px}.history-list,.improvements-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.history-prompt{display:grid;grid-template-columns:auto minmax(240px,1.2fr) minmax(140px,220px) minmax(220px,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil)}.history-checkbox{width:20px;min-height:20px;padding:0;accent-color:var(--accent)}.history-descriptor{font-weight:400;text-transform:none;letter-spacing:0}.history-hero-line,.history-description-line{min-height:30px;padding:4px 8px}.history-description-line{min-height:64px;resize:vertical}.improvements-title{margin:16px 0 10px;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.improvement-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--veil);text-transform:none;letter-spacing:0;font-weight:400}.improvement-option input[type=checkbox]{width:20px;min-height:20px;padding:0;accent-color:var(--accent)}.field-notes-intro{margin:0 0 14px}.field-notes-toolbar{display:flex;justify-content:flex-start;margin-bottom:14px}.new-session-button{min-height:38px;padding:8px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--accent);color:var(--on-accent-text);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.new-session-button:hover,.new-session-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}.session-notes-list{display:grid;gap:12px}.session-note{border:1px solid var(--rule);border-radius:12px;background:var(--veil);overflow:hidden}.session-summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;background:var(--ink-tint);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.session-fields{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px}.session-field{display:grid;gap:6px}.session-field.full{grid-column:1 / -1}.session-field textarea{min-height:160px;resize:vertical}.delete-session-button{min-height:34px;justify-self:start;padding:6px 12px;border:1px solid var(--ink);border-radius:999px;background:var(--veil-strong);color:var(--ink);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.delete-session-button:hover,.delete-session-button:focus-visible{transform:translateY(-1px);outline:3px solid var(--ink-tint)}@media(max-width:860px){.sheet-grid,.vitals-grid,.front-matter,.field-grid,.two-column,.shadows-columns,.attribute-move-grid,.special-move-content,.occult-hold-list,.playbook-moves-grid,.equipment-grid,.allocation-options{grid-template-columns:1fr}.sheet-header{display:block}.sheet-subtitle{margin-top:8px;white-space:normal}.stat-card,.stat-move-buttons{grid-template-columns:1fr}.condition-row{grid-template-columns:48px auto 1fr}.history-prompt{grid-template-columns:auto 1fr}.history-hero-line,.history-description-line,.condition-row input[type=text]{grid-column:1 / -1}.session-fields{grid-template-columns:1fr}}.muted{color:var(--muted);font-size:.85rem}.shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.shell__topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--panel-bg);border-bottom:3px double var(--ink)}.shell__back{color:var(--ink);text-decoration:none;font-size:.85rem;opacity:.65}.shell__back:hover{opacity:1;text-decoration:underline}.shell__session{color:var(--muted);font-size:.85rem}.shell__spacer{flex:1}.shell__status{font-size:.8rem;padding:.15rem .5rem;border-radius:999px}.shell__status--on{background:color-mix(in srgb,var(--strong-hit) 12%,transparent);color:var(--strong-hit)}.shell__status--off{background:color-mix(in srgb,var(--weak-hit) 12%,transparent);color:var(--weak-hit)}.shell__player-info{display:flex;align-items:center;gap:.5rem}.shell__player-name{font-size:.85rem;color:var(--muted)}.shell__player-avatar{width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);object-fit:cover;display:block;flex-shrink:0}.shell__logout-btn{padding:7px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--folder);color:var(--ink);font-size:.82rem;cursor:pointer}.shell__logout-btn:hover{background:var(--folder-active)}.shell__groupings{display:flex;align-items:center;gap:.4rem}.shell__groupings .tab-grouping-filter__select{color:var(--ink);max-width:180px}.shell__grouping-manage{padding:6px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--folder);color:var(--ink);font-size:.78rem;white-space:nowrap;cursor:pointer}.shell__grouping-manage:hover{background:var(--folder-active)}.shell__error{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);padding:.5rem 1rem;font-size:.85rem}.shell__grid{flex:1;display:grid;grid-template-columns:280px 1fr 320px;gap:.75rem;padding:.75rem;min-height:0;background:var(--page-bg)}.region{min-height:0;display:flex}.panel{flex:1;display:flex;flex-direction:column;background:var(--panel-bg);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 12px var(--shadow)}.panel__header{padding:.5rem .75rem;background:var(--veil);border-bottom:1px solid var(--rule);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.panel__body{flex:1;overflow:auto;padding:.75rem}.characters{display:flex;flex-direction:column;gap:.5rem}.character{text-align:left;background:var(--veil);border:1px solid var(--rule);border-radius:var(--radius);padding:.6rem;color:var(--ink);cursor:pointer}.character--selected{border-color:var(--rule);box-shadow:0 0 0 1px var(--rule)}.character__name{font-weight:600}.stats{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0}.stat{background:var(--veil-strong);border:1px solid var(--rule);border-radius:6px;padding:.2rem .45rem;min-width:56px}.stat dt{font-size:.7rem;color:var(--muted)}.stat dd{margin:0;font-weight:600}.moves{display:flex;flex-direction:column;gap:.5rem}.move{text-align:left;background:var(--veil);border:1px solid var(--rule);border-radius:var(--radius);padding:.6rem .75rem;color:var(--ink);cursor:pointer}.move:disabled{opacity:.5;cursor:not-allowed}.move:not(:disabled):hover{border-color:var(--rule)}.move__name{font-weight:600}.move__stat{color:var(--muted);font-weight:500}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:4px 2px 4px 0}.chat-entry{margin-bottom:8px;padding:10px;border:1px solid var(--rule);border-radius:12px;background:var(--veil-strong);position:relative}.chat-entry .meta{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.chat-entry .roll-name{margin:6px 0 4px;font-weight:700;letter-spacing:.03em}.chat-entry .roll-line{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:0 0 5px}.chat-entry .total{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--on-accent-text);font-weight:700;font-size:1.05rem}.chat-entry .outcome{margin:0;font-size:.86rem}.chat-entry.strong .total{background:var(--surface-sunken)}.chat-entry.mixed .total{background:var(--muted)}.chat-entry.miss .total{background:var(--danger)}.chat-entry-player-icon{position:absolute;bottom:8px;right:8px;width:22px;height:22px;border-radius:50%;border:1px solid var(--ink);object-fit:cover}.roll-breakdown{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.88rem}.roll-sep{color:var(--muted);font-weight:600}.roll-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;color:var(--on-accent-text);font-weight:700;font-size:.82rem;line-height:1.6}.roll-dice-pill{background:var(--chip-neutral)}.roll-attr-pill{background:var(--pill-attr)}.roll-stat-label{font-size:.8rem;color:var(--ink)}.roll-mod{font-weight:600;font-size:.85rem}.roll-mod-selection{font-weight:600;border:1px solid currentColor;background:transparent}.roll-mod-momentum{color:color-mix(in srgb,var(--mod-momentum) 45%,black);background:var(--mod-momentum);border-color:color-mix(in srgb,var(--mod-momentum) 55%,black)}.roll-mod-forward{color:color-mix(in srgb,var(--mod-forward) 45%,black);background:var(--mod-forward);border-color:color-mix(in srgb,var(--mod-forward) 55%,black)}.roll-mod-ongoing{color:color-mix(in srgb,var(--mod-ongoing) 45%,black);background:var(--mod-ongoing);border-color:color-mix(in srgb,var(--mod-ongoing) 55%,black)}.roll-mod-conditions,.roll-mod-in-jeopardy,.roll-mod-minor,.roll-mod-major,.roll-mod-critical{color:color-mix(in srgb,var(--mod-conditions) 45%,black);background:var(--mod-conditions);border-color:color-mix(in srgb,var(--mod-conditions) 55%,black)}details.move-hold{margin-top:6px;border-left:2px solid var(--rule);font-size:.82rem}.hold-summary{padding:2px 8px;cursor:pointer;font-weight:700;-webkit-user-select:none;user-select:none}.hold-summary::marker{content:"▸  "}details.move-hold[open]>.hold-summary::marker{content:"▾  "}details.move-hold>.hold-desc,details.move-hold>.move-options{padding:0 8px 6px}.hold-desc{margin:0 0 4px;color:var(--muted)}.move-options{margin:4px 0 0;padding-left:1.2em;font-size:.82rem;color:var(--muted)}.move-options li{margin-bottom:2px}.sheet-delete-section{display:flex;justify-content:center;margin-top:30px;padding-top:20px;border-top:2px solid var(--rule)}.delete-confirmation-dialog{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--scrim)}.dialog-content{position:relative;background:var(--panel-bg);border:2px solid var(--ink);border-radius:12px;padding:28px;max-width:400px;box-shadow:0 8px 24px var(--scrim)}.dialog-content h3{margin:0 0 12px;font-size:1.3rem;color:var(--danger)}.dialog-content p{margin:0 0 16px;color:var(--ink);line-height:1.5}.dialog-content input{margin-bottom:20px}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.dialog-buttons button{flex:1;white-space:nowrap}.alert-dialog{padding:28px;max-width:380px;background:var(--panel-bg);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-family:inherit}.alert-dialog::backdrop{background:var(--scrim)}.alert-dialog-title{margin:0 0 16px;font-size:1.25rem;font-weight:600;color:var(--ink)}.alert-dialog p{margin:0 0 20px;line-height:1.5}.alert-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.contact-roll-dialog{max-width:440px}.contact-roll-options{display:flex;flex-direction:column;gap:6px;margin:0 0 20px}.contact-roll-option{display:grid;grid-template-columns:12px 1fr;align-items:center;gap:8px;cursor:pointer;font-size:.95rem}.contact-roll-option input[type=radio]{width:12px;height:12px;min-height:unset;padding:0;margin:0;cursor:pointer;justify-self:start}.contact-roll-option span{text-align:left}.manage-images-dialog{padding:24px;width:560px;max-width:90vw;background:var(--panel-bg);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-family:inherit}.manage-images-dialog::backdrop{background:var(--scrim)}.manage-images-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.manage-images-dialog-title{font-size:1.1rem;font-weight:600;color:var(--ink)}.manage-images-dialog-close{padding:4px;border:1px solid var(--rule);border-radius:8px;background:var(--folder);color:var(--ink);font-size:.82rem;cursor:pointer}.manage-images-dialog-close:hover{background:var(--folder-active)}.manage-images-url-dialog{padding:24px;width:440px;max-width:90vw;background:var(--panel-bg);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-family:inherit}.manage-images-url-dialog::backdrop{background:var(--scrim)}.manage-images-url-body{display:flex;flex-direction:column;gap:16px}.manage-images-url-actions{display:flex;justify-content:flex-end;gap:12px}.manage-images-empty{font-size:.85rem;color:var(--muted);text-align:center;margin:12px 0}.manage-images-body{display:flex;gap:16px;align-items:flex-start}.manage-images-portrait-col{display:flex;flex-direction:column;gap:10px;flex:0 0 150px}.manage-images-portrait-preview{width:150px;aspect-ratio:3 / 4;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--page-bg);display:flex;align-items:center;justify-content:center}.manage-images-portrait-preview img{width:100%;height:100%;object-fit:contain;display:block}.manage-images-portrait-empty{font-size:.75rem;color:var(--muted);text-align:center;padding:8px}.manage-images-gallery-col{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.manage-images-gallery-col .portrait-gallery{max-height:240px;overflow-y:auto;margin-bottom:0}.manage-images-body--panel .manage-images-portrait-col{flex-basis:220px}.manage-images-body--panel .manage-images-portrait-preview{width:220px;aspect-ratio:1 / 1}.manage-images-body--panel .manage-images-gallery-col .portrait-gallery{max-height:none;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.manage-images-gallery-actions{display:flex;justify-content:flex-end;gap:8px}.manage-images-tag-editor{display:flex;flex-direction:column;gap:6px}.manage-images-tag-editor .field{margin:0}.portrait-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.portrait-gallery-tile{position:relative;aspect-ratio:1 / 1;cursor:pointer;border-radius:6px;overflow:hidden;border:2px solid transparent;background:var(--rule)}.portrait-gallery-tile img{width:100%;height:100%;object-fit:contain;display:block}.portrait-gallery-tile--active{border-color:var(--ink)}.portrait-gallery-tile__delete{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:8px;background:var(--folder);color:var(--ink);border:1px solid var(--rule);font-size:.68rem;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .15s}.portrait-gallery-tile__delete:hover{background:var(--folder-active)}.portrait-gallery-tile:hover .portrait-gallery-tile__delete{opacity:1}.mark-xp-row{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.mark-xp-row input[type=checkbox]{width:14px;min-height:14px;padding:0;accent-color:var(--accent)}.lock-toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;align-self:center;padding:4px 8px;border:1px solid var(--rule);border-radius:999px;background:var(--veil);cursor:pointer;transition:background .15s ease}.lock-toggle:hover{background:var(--veil-strong);outline:2px solid var(--rule)}.lock-toggle__track{position:relative;width:36px;height:20px;border-radius:10px;background:var(--rule);border:1px solid var(--muted);transition:background .18s ease,border-color .18s ease}.lock-toggle__thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .18s ease,background .18s ease}.lock-toggle--locked .lock-toggle__track{background:var(--accent);border-color:var(--ink)}.lock-toggle--locked .lock-toggle__thumb{transform:translate(16px);background:var(--panel-bg)}.lock-toggle__icon{font-size:.95rem;line-height:1}.section--locked input:not([type=submit]):not([type=button]):not([type=reset]):not([type=radio]):not([type=checkbox]),.section--locked select,.section--locked textarea{background:var(--surface-sunken);color:var(--highlight-bright);border-color:var(--accent);cursor:not-allowed}.section--locked input[type=checkbox],.section--locked input[type=radio]{opacity:.45;cursor:not-allowed;pointer-events:none}.section--locked select:disabled{opacity:1;-webkit-text-fill-color:var(--highlight-bright)}.section--locked .stat-spinner{opacity:.35;cursor:not-allowed;pointer-events:none}.moves-grid--locked .move-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;min-height:15px;padding:0;background:var(--surface-sunken);border:1px solid var(--accent);border-radius:3px;cursor:not-allowed;pointer-events:none;position:relative;flex-shrink:0}.moves-grid--locked .move-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--highlight-bright);font-size:11px;line-height:1}.lobby-main{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-width:1100px}.lobby-empty{color:var(--muted);font-style:italic;margin:0 0 12px}.lobby-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:.9rem}.lobby-table th,.lobby-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--rule)}.lobby-table th{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.lobby-play-link{display:inline-flex;align-items:center;text-decoration:none}.lobby-form{display:flex;flex-direction:column;gap:14px}.lobby-slug{font-size:.78rem;color:var(--muted);font-family:monospace}.lobby-players{display:flex;flex-direction:column;gap:8px}.lobby-player-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.lobby-player-row--queued{grid-template-columns:1fr 1fr auto;font-size:.9rem;color:var(--ink);background:color-mix(in srgb,var(--panel-bg) 70%,var(--rule) 30%);border-radius:4px;padding:4px 6px}.lobby-player-name{font-weight:600;display:inline-flex;align-items:center;gap:6px}.lobby-player-color-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px var(--scrim-weak)}.lobby-player-email{color:var(--muted);font-size:.85rem}.lobby-selected-players{display:flex;flex-wrap:wrap;gap:6px}.lobby-player-pill{display:inline-flex;align-items:center;gap:4px;background:var(--folder-accent);color:var(--on-accent-text);border-radius:999px;padding:2px 10px 2px 12px;font-size:.85rem}.lobby-pill-remove{padding:4px;border:1px solid var(--rule);border-radius:8px;background:var(--folder);color:var(--ink);font-size:.68rem;cursor:pointer}.lobby-pill-remove:hover{background:var(--folder-active)}.lobby-new-player-header{font-weight:600;font-size:.85rem;color:var(--muted);margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.lobby-new-player-header .lobby-edit-remove-btn{padding:3px 10px;font-size:.72rem}.lobby-layout{display:flex;gap:20px;align-items:flex-start;flex:1}.lobby-left{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.lobby-table-row{cursor:pointer}.lobby-table-row:hover td{background:color-mix(in srgb,var(--rule) 20%,transparent)}.lobby-row--selected td{background:color-mix(in srgb,var(--folder-active) 50%,transparent)}.lobby-row-actions{display:flex;gap:6px}.lobby-game-edit-panel{flex:0 0 320px;background:var(--panel-bg);border:1px solid var(--rule);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 8px var(--shadow)}.lobby-edit-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.lobby-edit-title{margin:0;font-size:1rem;font-weight:700}.lobby-edit-title--editable{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;margin:-3px -8px;border-radius:6px;border:1px dashed transparent;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-color:var(--muted);transition:background .1s ease,border-color .1s ease}.lobby-edit-title--editable:hover,.lobby-edit-title--editable:focus-visible{background:var(--folder);border-color:var(--rule);outline:none}.lobby-edit-title-pencil{font-size:.8rem;color:var(--muted);opacity:.75;transition:opacity .1s ease}.lobby-edit-title--editable:hover .lobby-edit-title-pencil,.lobby-edit-title--editable:focus-visible .lobby-edit-title-pencil{opacity:1}.lobby-rename-field{flex:1}.lobby-edit-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--muted);line-height:1;padding:2px 4px;border-radius:4px;flex-shrink:0}.lobby-edit-close:hover{color:var(--ink)}.lobby-edit-section{display:flex;flex-direction:column;gap:8px}.lobby-edit-player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lobby-edit-player-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:2px 0}.lobby-edit-remove-btn{padding:7px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--folder);color:var(--ink);font-size:.82rem;cursor:pointer}.lobby-edit-remove-btn:hover{background:var(--folder-active)}.lobby-player-list{margin:0;padding:0 0 0 16px;font-size:.9rem;list-style:disc}.lobby-form-actions{display:flex;justify-content:flex-end;gap:10px}.lobby-error{color:var(--danger);font-size:.85rem;margin:0}.lobby-cancel{display:flex;justify-content:flex-start}.lobby-banner-thumb{display:block;width:60px;height:20px;object-fit:cover;border-radius:3px;margin-bottom:4px}.lobby-game-image-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.lobby-detail-sub{display:flex;flex-direction:column;gap:8px}.lobby-game-image-preview{width:100%;border-radius:6px;object-fit:cover;display:block}.lobby-banner-preview{aspect-ratio:3/1}.lobby-background-preview{aspect-ratio:16/9}.image-upload-button{display:flex;flex-direction:column;gap:4px}.lobby-player-cards{display:flex;flex-direction:column;gap:10px}.lobby-player-card{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--panel-bg);border:1px solid var(--rule);border-radius:var(--radius)}.lobby-player-avatar-cell{flex-shrink:0}.lobby-player-avatar-btn{display:block;width:53px;height:53px;padding:0;border:2px solid var(--rule);border-radius:50%;background:var(--folder);cursor:pointer;overflow:hidden}.lobby-player-avatar-btn:hover{background:var(--folder-active)}.lobby-player-avatar{width:100%;height:100%;object-fit:cover;display:block}.lobby-player-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.85rem;font-weight:700;color:var(--accent)}.lobby-player-info{flex:1;min-width:0}.lobby-player-display{display:flex;flex-direction:column;gap:2px;cursor:pointer;border-radius:4px;padding:2px 4px}.lobby-player-display:hover{background:color-mix(in srgb,var(--rule) 30%,transparent)}.lobby-player-edit-row{display:flex;flex-direction:column;gap:8px}.lobby-player-edit-actions{display:flex;gap:8px}.shell__banner{width:728px;height:90px;object-fit:contain;border-radius:4px}.muted{color:var(--muted);font-style:italic;font-size:.9rem;margin:0}.lobby-create-player-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-top:8px}.lobby-create-player-form input{flex:1 1 160px}.lobby-player-avatar-empty{flex-direction:column;gap:3px;border:2px dashed var(--rule);border-radius:50%;background:transparent;width:100%;height:100%;color:var(--muted)}.lobby-player-avatar-empty svg{width:19px;height:19px}.lobby-player-avatar-label{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.lobby-image-pick-wrapper{display:flex;flex-direction:column;gap:6px}.lobby-image-pick-zone{width:100%;border:2px dashed var(--rule);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:color-mix(in srgb,var(--panel-bg) 80%,var(--rule) 20%);position:relative;overflow:hidden;transition:border-color .15s,background .15s}.lobby-image-pick-zone:hover{border-color:var(--rule);background:color-mix(in srgb,var(--panel-bg) 60%,var(--rule) 40%)}.lobby-image-pick-zone img{width:100%;height:100%;object-fit:cover;display:block}.lobby-image-pick-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:.82rem;padding:12px}.lobby-image-pick-prompt svg{width:28px;height:28px;opacity:.5}.lobby-image-pick-remove{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:8px;border:1px solid var(--rule);background:var(--folder);color:var(--ink);font-size:.68rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.lobby-image-pick-remove:hover{background:var(--folder-active)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--panel-bg);border:1px solid var(--rule);border-radius:var(--radius);padding:40px;width:100%;max-width:400px;box-shadow:0 4px 24px var(--shadow);display:flex;flex-direction:column;gap:16px}.login-title{margin:0;font-size:1.8rem;text-align:center;letter-spacing:.05em}.login-prompt{margin:0;color:var(--muted);font-size:.95rem}.login-error{margin:0;color:var(--danger);font-size:.88rem}.theme-scheme-field{display:grid;gap:6px}.theme-scheme-field__current{display:flex;align-items:center;gap:10px}.theme-scheme-modal{width:min(680px,94vw);display:grid;gap:14px}.theme-scheme-modal__controls{display:flex;align-items:center;gap:10px}.theme-scheme-modal__controls select{flex:1}.theme-preview{background:var(--page-bg);color:var(--ink);font-family:var(--font-body);border:1px solid var(--rule);border-radius:var(--radius);padding:14px;display:grid;gap:12px}.theme-preview__topbar{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-bg);border:1px solid var(--rule);border-radius:8px}.theme-preview__brand{color:var(--highlight);font-family:var(--font-display);letter-spacing:.04em}.theme-preview__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.theme-preview__discs{display:flex;gap:8px}.theme-preview__disc{width:30px;height:30px;border-radius:50%;border:2px solid;background-position:center}.theme-preview__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-preview .stat-value{width:40px;height:40px;font-size:.95rem}body{background:var(--page-bg);color:var(--ink)}.sheet-title,.section-title,.brand__title{font-family:var(--font-display)}.panel__header,.mini-label,.eyebrow{font-family:var(--font-label)}.section,.move-card,.stat-card,.condition-row,.experience-track,.attribute-allocation,.equipment-column,.chat-entry,.character{background:var(--highlight-tint)}.panel__header{background:var(--scrim-weak);color:var(--highlight);letter-spacing:.12em}.region,.panel{min-width:0}.shell__topbar{background:linear-gradient(180deg,var(--surface-sunken),var(--page-bg));border-bottom:1px solid var(--highlight-dim);box-shadow:0 2px 10px var(--scrim)}.brand__title{font-size:1.15rem;font-weight:900;color:var(--highlight);letter-spacing:.06em;line-height:1}.brand__sub{font-family:var(--font-label);font-size:.68rem;color:var(--muted);letter-spacing:.2em;text-transform:uppercase}.panel{background:var(--panel-bg);border:1px solid var(--rule);box-shadow:0 6px 18px var(--shadow)}:root{--rail-w: 400px;--dice-w: 360px}.shell__grid.table{grid-template-columns:var(--rail-w, 320px) minmax(0,1fr) var(--dice-w, 360px)}.play-rail{display:flex;flex-direction:column;gap:.75rem}.rail-sections{display:flex;flex-direction:column;gap:.4rem}.rail-collapsible{border:1px solid var(--rule);border-radius:9px;background:var(--scrim-weak);overflow:hidden}.rail-collapsible__head{width:100%;display:flex;align-items:center;gap:.4rem;padding:.45rem .6rem;background:var(--highlight-tint);border:none;cursor:pointer;color:var(--ink);font-family:var(--font-label);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;text-align:left}.rail-collapsible__head:hover{color:var(--highlight)}.rail-collapsible__caret{color:var(--highlight);font-size:.7rem;width:.8rem}.rail-collapsible__title{flex:1}.rail-collapsible__body{padding:.55rem .6rem;border-top:1px solid var(--rule)}.rail-collapsible__body{zoom:.75}.rail-sections .move-card details>summary{cursor:pointer;font-weight:700;color:var(--highlight);list-style-position:inside}.rail-sections .move-outcome-opts{margin-top:2px}.party-strip{display:flex;gap:.4rem}.party-avatar{flex:1;display:grid;place-items:center;gap:2px;padding:.4rem .2rem;background:var(--scrim-weak);border:1px solid var(--rule);border-radius:8px;color:var(--muted);cursor:pointer;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.party-avatar .pip{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--page-bg);background:var(--highlight);font-family:var(--font-display)}.party-avatar.active{border-color:var(--highlight);color:var(--highlight);background:var(--highlight-tint)}.active-hero{display:grid;grid-template-columns:56px 1fr;gap:.6rem;align-items:center;padding:.6rem;border:1px solid var(--rule);border-radius:10px;background:var(--highlight-tint)}.active-hero__portrait{width:56px;height:72px;border-radius:6px;border:1px solid var(--highlight-dim);background:linear-gradient(160deg,var(--surface-sunken),var(--page-bg));display:grid;place-items:center;color:var(--muted);font-size:.6rem;text-align:center}.active-hero__name{font-family:var(--font-display);font-size:1.15rem;color:var(--ink);line-height:1.05}.active-hero__playbook{color:var(--highlight);font-size:.8rem;letter-spacing:.04em}.active-hero__player{color:var(--muted);font-size:.72rem;font-style:italic}.eyebrow{font-family:var(--font-label);font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;margin:.25rem 0 .35rem}.roller{display:grid;gap:.5rem}.roller-group{border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--scrim-weak)}.roller-head{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;background:var(--highlight-tint);cursor:pointer}.roller-head .attr{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:.82rem}.roller-head .val{margin-left:auto;min-width:34px;height:34px;display:grid;place-items:center;border:2px solid var(--highlight);border-radius:50%;color:var(--highlight);font-weight:700;font-family:var(--font-display)}.roller-head .roll-die{width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;background:var(--accent);color:var(--on-accent-text);display:grid;place-items:center;font-size:1rem}.roller-head .roll-die:hover{transform:translateY(-1px)}.roller-moves{display:flex;flex-wrap:wrap;gap:.3rem;padding:.45rem .55rem}.move-pill{padding:.3rem .55rem;border:1px solid var(--highlight-dim);border-radius:999px;background:var(--highlight-tint);color:var(--ink);font-size:.74rem;letter-spacing:.02em;cursor:pointer;white-space:nowrap}.move-pill:hover{border-color:var(--highlight);color:var(--highlight);text-shadow:0 0 8px var(--highlight-tint-strong)}.glance{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.glance .box{border:1px solid var(--rule);border-radius:10px;padding:.5rem;background:var(--scrim-weak)}.glance .box .eyebrow{margin:0 0 .3rem}.cond-chip{display:inline-block;padding:.1rem .4rem;margin:0 .2rem .2rem 0;border:1px solid color-mix(in srgb,var(--cond-on) 55%,black);border-radius:999px;font-size:.68rem;background:var(--cond-on);color:var(--cond-on-text)}.cond-chip.off{background:var(--cond-off);border-color:color-mix(in srgb,var(--cond-off) 60%,black);color:color-mix(in srgb,var(--cond-off) 55%,white)}.xp-dots{display:flex;gap:4px;flex-wrap:wrap}.xp-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--highlight-dim)}.xp-dot.on{background:var(--highlight)}.full-sheet-btn{width:100%;min-height:40px;border:1px solid var(--highlight);border-radius:8px;background:linear-gradient(180deg,var(--surface-sunken),var(--surface-sunken));color:var(--highlight);font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;cursor:pointer}.full-sheet-btn:hover{background:var(--highlight-tint-strong)}.scene-region .panel{padding:0}.scene-toolbar{display:flex;align-items:center;gap:0;padding:0;background:var(--scrim);border-bottom:1px solid var(--rule);flex-shrink:0}.scene-name-tab__del{position:absolute;top:-4px;right:-3px;width:14px;height:14px;border-radius:50%;border:none;background:var(--miss);color:var(--on-accent-text);font-size:.55rem;display:none;place-items:center;cursor:pointer;z-index:2;line-height:1}.scene-name-tab__edit{position:absolute;top:-4px;left:-3px;width:14px;height:14px;border-radius:50%;border:none;background:var(--highlight-dim);color:var(--page-bg);font-size:.55rem;display:none;place-items:center;cursor:pointer;z-index:2;line-height:1}.scene-toolbar .folder-tab:hover .scene-name-tab__del,.scene-toolbar .folder-tab:hover .scene-name-tab__edit{display:grid}.scene-toolbar .tab-list{flex:1;overflow-x:auto}.folder-tab--notebook{border-right:1px solid var(--rule);margin-right:2px}.scene-empty-label{color:var(--muted);font-size:.72rem;font-style:italic;padding:.3rem .5rem}.scene-tool{padding:.3rem .6rem;border:1px solid var(--highlight-dim);border-radius:6px;background:var(--highlight-tint);color:var(--ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.scene-tool:hover{border-color:var(--highlight);color:var(--highlight)}.scene-tool--add{margin:.3rem .4rem;font-size:1rem;padding:.1rem .55rem;flex-shrink:0}.scene-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.scene-card{border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--scrim-weak);display:flex;flex-direction:column;cursor:pointer}.scene-card:hover{border-color:var(--highlight-dim)}.entity-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(131px,1fr));gap:10px;align-content:start}.entity-cards--props{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.entity-card{position:relative;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--scrim-weak);display:flex;flex-direction:column;cursor:pointer;text-align:left}.entity-card:hover{border-color:var(--highlight-dim)}.entity-card--add{align-items:center;justify-content:center;color:var(--highlight);border-style:dashed;min-height:120px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;gap:6px}.entity-card--add:hover{background:var(--highlight-tint)}.entity-card--add .plus{font-size:1.6rem;line-height:1}.entity-card__thumb{position:relative;aspect-ratio:16 / 10;background:var(--page-bg);display:grid;place-items:center;overflow:hidden}.entity-card__thumb--disc{aspect-ratio:auto;background:transparent;padding:8px 0 2px}.entity-card__thumb-token{position:relative;display:inline-flex;line-height:0}.entity-card__thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat}.entity-card__thumb-empty{color:var(--muted);font-size:.7rem;text-align:center;padding:0 .4rem}.entity-card__thumb-clock{display:grid;place-items:center;padding:6px 0 2px}.entity-card__body{padding:5px 8px;display:grid;gap:3px}.entity-card--no-thumb .entity-card__body{padding:10px 10px 6px}.entity-card__title{font-family:var(--font-display);color:var(--ink);font-size:.74rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-card__meta{color:var(--muted);font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-card__tags{font-size:.56rem;color:var(--muted);font-style:italic;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-card__foot{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;padding:5px 8px;border-top:1px solid var(--rule);margin-top:auto}.entity-card__foot .toggle-switch{font-size:.56rem;gap:5px;line-height:1}.entity-card__corner{position:absolute;top:4px;right:4px;z-index:1}.entity-card__del{width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid var(--rule);border-radius:999px;background:var(--scrim);color:var(--ink);font-size:.7rem;line-height:1;cursor:pointer}.entity-card__del:hover{border-color:var(--highlight-dim);color:var(--on-accent-text)}.scene-tab,.npc-tab,.clock-tab,.chase-tab{display:flex;flex-direction:column;gap:4px;min-height:0}.npc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shape-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.shape-card{align-items:center;justify-content:center;gap:4px;padding:8px 6px;cursor:grab;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;color:var(--ink)}.shape-card__preview{width:46px;height:46px;pointer-events:none}.npc-card__pips{display:flex;gap:3px;min-height:12px}.hp-pip{width:14px;height:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--strong-hit) 55%,black);background:var(--strong-hit);cursor:pointer;padding:0;position:relative}.hp-pip.on{background:var(--accent);border-color:var(--accent)}.hp-pip.on:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--on-accent-text);font-size:10px;line-height:1}:root{--taken-out-overlay-opacity: 50%}.taken-out-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 6px var(--scrim-strong));opacity:var(--taken-out-overlay-opacity)}.lethality-picker{display:flex;gap:6px;margin-top:4px}.lethality-btn{display:grid;place-items:center;width:26px;height:26px;padding:2px;border:1px solid var(--rule);border-radius:999px;background:var(--scrim-weak);cursor:pointer}.lethality-btn:hover{border-color:var(--highlight-dim)}.lethality-btn.is-on{background:var(--highlight-tint-strong);border-color:var(--highlight)}.lethality-btn__icon{width:20px;height:20px;object-fit:contain}.lethality-btn--labeled{grid-auto-flow:row;gap:6px;width:auto;height:auto;padding:10px 16px;border-radius:var(--radius)}.lethality-btn__label{font-size:.85rem;font-weight:600;color:var(--ink)}.taken-out-prompt__picker{justify-content:center;gap:14px;margin:12px 0}.taken-out-prompt__picker .lethality-btn{width:64px;height:64px}.taken-out-prompt__picker .lethality-btn__icon{width:52px;height:52px}.taken-out-prompt__picker .lethality-btn--labeled{width:auto;height:auto}.hp-pip:hover{border-color:var(--highlight-dim)}.scene-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 8%,var(--highlight-tint-strong),transparent 45%),radial-gradient(80% 60% at 50% 110%,var(--scrim-strong),transparent),repeating-linear-gradient(45deg,var(--page-bg) 0 14px,var(--surface-sunken) 14px 28px);background-color:var(--page-bg);cursor:default}.scene-stage__table{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat}.scene-stage.panning,.scene-stage.panning *{cursor:grabbing!important}.scene-empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;color:var(--muted);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}.token{position:absolute;transform:translate(-50%,-50%);width:48px;z-index:2;display:grid;grid-template-columns:48px;justify-items:center;gap:3px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.token:not(.token--clock){transform:translate(-50%,-18px)}.token.dragging{cursor:grabbing;z-index:30}.token__avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--page-bg);box-shadow:0 4px 10px var(--scrim-strong),inset 0 0 0 2px var(--scrim-weak);border:2px solid var(--page-bg)}.token--pc .token__avatar{background:radial-gradient(circle at 35% 30%,var(--highlight-bright),var(--highlight));border-color:var(--highlight-dim)}.token--npc .token__avatar{background:radial-gradient(circle at 35% 30%,var(--token-npc-hi),var(--token-npc-lo));border-color:color-mix(in srgb,var(--token-npc-lo) 60%,black)}.token--threat .token__avatar{background:radial-gradient(circle at 35% 30%,var(--token-threat-hi),var(--accent));color:var(--on-accent-text);border-color:var(--accent)}.token--item .token__avatar{background:radial-gradient(circle at 35% 30%,var(--token-item-hi),var(--token-item-lo));border-color:color-mix(in srgb,var(--token-item-lo) 60%,black)}.token--hidden{opacity:.45}.token--hidden .token__avatar{outline:1px dashed var(--muted);outline-offset:2px}.token__label{font-size:.6rem;color:var(--ink);background:var(--scrim-strong);padding:1px 6px;border-radius:999px;white-space:nowrap;max-width:72px;overflow:hidden;text-overflow:ellipsis;text-align:center}.token__del{position:absolute;top:-6px;right:2px;width:16px;height:16px;border-radius:50%;border:none;background:var(--miss);color:var(--on-accent-text);font-size:.6rem;line-height:1;display:none;place-items:center;cursor:pointer}.token:hover .token__del{display:grid}.token__avatar-wrap{position:relative;width:36px;height:36px}.token-collar{position:absolute;pointer-events:none;display:flex}.token-collar--pc{top:50%;left:100%;flex-direction:column;gap:2px;transform:translate(3px,-50%)}.token-collar__cond-icon{width:16px;height:16px;object-fit:contain;padding:2px;border-radius:50%;background:var(--scrim-strong);border:1px solid var(--rule);box-shadow:0 1px 3px var(--scrim-strong)}.token-collar--npc{top:0;left:50%;gap:2px;pointer-events:auto;transform:translate(-50%,calc(-100% - 3px))}.token-collar__harm-pip{width:8px;height:8px;border-radius:2px;padding:0;border:1px solid color-mix(in srgb,var(--strong-hit) 55%,black);background:var(--strong-hit);cursor:pointer}.token-collar__harm-pip:hover{border-color:var(--highlight-dim)}.token-collar__harm-pip.on{background:var(--accent);border-color:var(--accent)}.dice-region .panel__body{display:flex;flex-direction:column}.roll-card{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.65rem;margin-bottom:.6rem;border:1px solid var(--rule);border-radius:10px;background:var(--scrim-weak);border-left-width:4px}.roll-card.strong{border-left-color:var(--strong-hit)}.roll-card.mixed{border-left-color:var(--weak-hit)}.roll-card.miss{border-left-color:var(--miss)}.roll-card .big{width:50px;height:50px;border-radius:8px;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:1.5rem;color:var(--page-bg)}.roll-card.strong .big{background:var(--strong-hit);color:var(--on-accent-text)}.roll-card.mixed .big{background:var(--weak-hit)}.roll-card.miss .big{background:var(--miss);color:var(--on-accent-text)}.roll-card .who{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:flex;justify-content:space-between}.roll-card .what{font-family:var(--font-display);font-size:1rem;color:var(--ink);margin:1px 0 3px}.roll-card .outcome{font-size:.82rem;margin:6px 0 0;padding:5px 8px;border:1px solid var(--rule);border-radius:6px}.roll-card.strong .outcome b{color:var(--strong-hit)}.roll-card.mixed .outcome b{color:var(--weak-hit)}.roll-card.miss .outcome b{color:var(--miss)}.roll-card .move-description{margin:6px 0 0;padding:5px 8px;border:1px solid var(--rule);border-radius:6px;font-size:.82rem}.roll-card .bd{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0;font-size:.74rem}.roll-card .bd .bd-total{font-weight:700;color:var(--ink);font-size:.85rem}.roll-card .bd .die{background:var(--chip-neutral);color:var(--on-accent-text);border-radius:4px;padding:0 6px;font-weight:700}.roll-card .bd .attr{background:var(--highlight-dim);color:var(--page-bg);border-radius:4px;padding:0 6px;font-weight:700}.roll-card__left{display:flex;flex-direction:column;align-items:center;gap:.4rem}.roll-card__player-icon{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--highlight-dim);flex-shrink:0}.roll-card__player-icon--placeholder{display:flex;align-items:center;justify-content:center;background:var(--highlight-dim);color:var(--page-bg);font-size:.7rem;font-weight:700;font-family:var(--font-display);-webkit-user-select:none;user-select:none}.sheet-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}.sheet-modal-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim-strong)}.sheet-modal{position:relative;z-index:1;width:min(1060px,100%);max-height:100%;background:var(--panel-bg);border:2px solid var(--highlight-dim);border-radius:14px;box-shadow:0 24px 60px var(--scrim-strong);overflow-y:auto;padding:1rem 1.25rem}.sheet-modal__close{position:sticky;top:0;float:right;width:34px;height:34px;border-radius:50%;border:1px solid var(--highlight-dim);background:var(--panel-bg);color:var(--highlight);font-size:1rem;cursor:pointer;z-index:2}.app-banner{position:relative;flex:0 0 auto;height:150px;overflow:hidden;background-color:var(--page-bg);background-image:url(images/TitleBanner.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-bottom:1px solid var(--highlight-dim)}.app-banner.repositioning{cursor:move;outline:2px dashed var(--highlight);outline-offset:-3px}.app-banner.repositioning:before{content:"Drag to reposition · click Reposition again to lock";position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:2;pointer-events:none;background:var(--scrim-strong);color:var(--highlight);font-family:var(--font-label);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.banner-btn.active{border-color:var(--highlight);color:var(--highlight);background:var(--highlight-tint-strong)}.app-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 55%,var(--scrim-strong))}.app-banner__content{position:relative;z-index:1;height:100%;display:flex;align-items:flex-start;justify-content:flex-end;padding:.8rem 1.4rem}.app-banner__meta{background:var(--scrim);padding:8px 12px;border-radius:10px}.app-banner__title{font-family:var(--font-display);font-weight:900;font-size:2.2rem;line-height:1;color:var(--highlight);letter-spacing:.02em;text-shadow:0 2px 12px var(--scrim-strong)}.app-banner__tag{font-family:var(--font-label);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);opacity:.8;margin-top:6px}.app-banner__meta{text-align:right;display:grid;gap:6px;justify-items:end}.app-banner__session{color:var(--ink);font-size:.85rem}.app-banner__session .eyebrow{display:inline;margin:0 .4rem 0 0}.token-library{margin-top:.35rem;border-top:1px solid var(--rule);padding-top:.65rem}.hint-sub{color:var(--muted);text-transform:none;letter-spacing:0;font-style:italic}.token-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.token-stamp{display:flex;flex-direction:column;align-items:center;gap:5px;padding:.45rem .2rem;border:1px solid var(--rule);border-radius:9px;background:var(--scrim-weak);cursor:grab;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.token-stamp:hover{border-color:var(--highlight);color:var(--highlight);background:var(--highlight-tint)}.token-stamp.dragging{opacity:.45}.stamp-disc{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.95rem;border:2px solid var(--page-bg);box-shadow:0 2px 5px var(--scrim)}.stamp-disc--pc{background:radial-gradient(circle at 35% 30%,var(--highlight-bright),var(--highlight));color:var(--page-bg)}.stamp-disc--npc{background:radial-gradient(circle at 35% 30%,var(--token-npc-hi),var(--token-npc-lo));color:var(--surface-sunken)}.scene-stage.drop-target{outline:2px dashed var(--highlight);outline-offset:-8px}.token.selected .token__avatar{box-shadow:0 0 0 3px var(--highlight),0 4px 12px var(--scrim-strong)}.scene-tray{flex-shrink:0}.scene-tray .folder-tabs{margin-top:0}.scene-tray .tab-list{align-items:flex-start}.scene-tray .folder-panel{background:transparent;border:none;box-shadow:none;border-radius:0;padding:8px 10px;height:var(--tray-content-h, 220px);overflow-y:auto}.scene-tray.is-collapsed .folder-panel{height:0;padding:0;border:none;overflow:hidden}.tray-grouping-bar{display:flex;align-items:center;gap:6px;padding:2px 8px;min-height:0;background:var(--scrim-weak);border-bottom:1px solid var(--rule);line-height:1}.tray-grouping-manage-btn{padding:1px 7px;border:1px solid var(--highlight-dim);border-radius:4px;background:var(--highlight-tint);color:var(--ink);font-size:.66rem;line-height:1.4;cursor:pointer}.tab-grouping-filter__select{padding:1px 5px;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:4px;font-size:.68rem;font-family:inherit;max-width:160px;line-height:1.4}.tray-grouping-manage-btn:hover{border-color:var(--highlight);color:var(--highlight)}.scene-panel.scene-collapsed .scene-stage{flex:0 0 auto;height:0;min-height:0;overflow:hidden}.scene-panel.scene-collapsed .tray-resizer{display:none}.scene-panel.scene-collapsed .scene-tray,.scene-panel.scene-collapsed .scene-tray .folder-tabs{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.scene-panel.scene-collapsed .scene-tray .folder-panel{flex:1 1 auto;height:auto;min-height:0}.tray-collapse-toggle,.scene-collapse-toggle{margin-left:auto;align-self:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--highlight-dim);background:var(--highlight-tint);color:var(--highlight);font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center}.tray-collapse-toggle:hover,.scene-collapse-toggle:hover{border-color:var(--highlight);background:var(--highlight-tint-strong)}.tray-resizer{flex:0 0 auto;height:14px;position:relative;cursor:row-resize;touch-action:none;z-index:5}.tray-resizer:before{content:"";position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:var(--rule);transition:background .15s ease}.tray-resizer:hover:before{background:var(--highlight-dim)}body.tray-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}body.tray-resizing .tray-resizer:before{background:var(--highlight)}.scene-picker-wrap{position:relative}.scene-picker{position:absolute;top:116%;left:0;z-index:50;min-width:210px;background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:9px;box-shadow:0 10px 26px var(--scrim-strong);padding:.3rem;display:grid;gap:2px}.scene-picker[hidden]{display:none}.scene-pick{text-align:left;padding:.45rem .6rem;border:none;background:transparent;color:var(--ink);border-radius:6px;font-size:.8rem;cursor:pointer}.scene-pick:hover{background:var(--highlight-tint);color:var(--highlight)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--rule);border:2px solid var(--panel-bg);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--highlight-dim)}body{scrollbar-color:var(--rule) transparent;scrollbar-width:thin}.panel__header{border-bottom:1px solid var(--highlight-dim);background:linear-gradient(180deg,var(--highlight-tint),var(--scrim-weak))}.shell__status--on{background:color-mix(in srgb,var(--strong-hit) 16%,transparent);color:var(--strong-hit)}.attr-icon{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--highlight-dim);background:var(--page-bg)}.token__avatar--img{background-size:cover;background-position:center;color:transparent}.lib-cat{border:1px solid var(--rule);border-radius:9px;margin-bottom:.4rem;background:var(--scrim-weak);overflow:hidden}.lib-cat__title{list-style:none;cursor:pointer;padding:.4rem .55rem;font-family:var(--font-label);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--highlight);background:var(--highlight-tint)}.lib-cat__title::-webkit-details-marker{display:none}.lib-cat__title:before{content:"▸ ";color:var(--highlight-dim)}.lib-cat[open] .lib-cat__title:before{content:"▾ "}.lib-cat .token-stamps{padding:.5rem}.stamp-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.stamp-disc--attr{background:radial-gradient(circle at 35% 30%,var(--highlight-bright),var(--highlight));color:var(--page-bg)}.stamp-disc--move{background:var(--stamp-move);color:var(--ink)}.stamp-disc--threat{background:radial-gradient(circle at 35% 30%,var(--token-threat-hi),var(--accent));color:var(--on-accent-text)}.stamp-disc--remove{background:var(--stamp-remove);color:var(--ink)}.stamp-disc--mod{background:var(--stamp-mod);color:var(--mod-ongoing)}.stamp-disc--shadow{background:var(--stamp-shadow);color:var(--ink)}.stamp-disc--equip{background:var(--chip-neutral);color:var(--ink)}.token-stamp.is-missing{opacity:.7}.token-stamp.is-missing .stamp-disc{background:transparent;border:1px dashed var(--highlight-dim);color:var(--highlight-dim);font-size:1rem;font-weight:700}.cast{margin-bottom:.5rem;border:1px solid var(--rule);border-radius:9px;background:var(--scrim-weak);overflow:hidden}.cast__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mini-add{border:1px solid var(--highlight-dim);border-radius:999px;background:var(--highlight-tint);color:var(--highlight);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;cursor:pointer}.mini-add:hover{background:var(--highlight-tint-strong)}#npcRoster{padding:.5rem}#npcRoster:empty:after{content:"No NPCs yet — add one.";color:var(--muted);font-style:italic;font-size:.72rem;display:block;padding:.1rem .1rem .3rem}.token-stamp{position:relative}.token-stamp__del{position:absolute;top:-5px;right:2px;width:15px;height:15px;border-radius:50%;border:none;background:var(--miss);color:var(--on-accent-text);font-size:.55rem;line-height:1;display:none;place-items:center;cursor:pointer;z-index:2}.token-stamp:hover .token-stamp__del{display:grid}.campaign-io{display:flex;gap:.4rem;margin-top:.6rem}.campaign-io button{flex:1;min-height:32px;border:1px solid var(--highlight-dim);border-radius:8px;background:var(--scrim-weak);color:var(--ink);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.campaign-io button:hover{border-color:var(--highlight);color:var(--highlight)}.scene-picker{min-width:260px}.scene-gallery{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.scene-thumb{position:relative;aspect-ratio:16/10;border:1px solid var(--rule);border-radius:7px;overflow:hidden;cursor:pointer;background:var(--page-bg);padding:0}.scene-thumb img{width:100%;height:100%;object-fit:cover;display:block}.scene-thumb__name{position:absolute;left:0;right:0;bottom:0;padding:3px 5px;font-size:.64rem;color:var(--ink);background:linear-gradient(transparent,var(--scrim-strong));text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-thumb.active{border-color:var(--highlight);box-shadow:0 0 0 1px var(--highlight)}.scene-thumb__del{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;border:none;background:var(--scrim-strong);color:var(--on-accent-text);font-size:.6rem;line-height:1;display:none;place-items:center;cursor:pointer}.scene-thumb:hover .scene-thumb__del{display:grid}.scene-pick--add{width:100%;text-align:center;border:1px dashed var(--highlight-dim)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:var(--scrim-strong)}.modal-overlay[hidden]{display:none}.modal-card{width:min(420px,92vw);background:var(--panel-bg);border:2px solid var(--highlight-dim);border-radius:12px;box-shadow:0 16px 40px var(--scrim-strong);padding:1.2rem 1.3rem;display:grid;gap:.7rem;max-height:calc(100vh - 3rem);overflow-y:auto}.modal-card--clock{width:min(780px,92vw)}.modal-card--chase{width:min(520px,92vw)}.modal-card--npc{width:min(680px,94vw)}.npc-editor-body{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem;align-items:start}.npc-editor-col{display:grid;gap:.7rem;align-content:start}.rate-row{display:flex;gap:5px}.rate-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--rule);background:var(--field);color:var(--ink);font-weight:700;cursor:pointer}.rate-btn:hover{border-color:var(--highlight-dim)}.rate-btn.active{background:var(--highlight);border-color:var(--highlight);color:var(--page-bg)}.clock-form-body{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}.clock-form-fields{display:flex;flex-direction:column;gap:.65rem}.clock-form-preview{display:flex;flex-direction:column;gap:.75rem;border-left:1px solid var(--rule);padding-left:1.1rem}.modal-title{font-family:var(--font-display);color:var(--highlight);font-size:1.25rem;margin:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.modal-close{background:none;border:none;color:var(--ink);font-size:1rem;cursor:pointer;padding:2px 4px}.modal-close:hover{color:var(--highlight)}.modal-row{display:flex;gap:.6rem}.modal-row .modal-field{flex:1;min-width:0}.modal-imgrow{display:flex;align-items:center;gap:.6rem}.modal-imgrow .modal-preview{width:120px;height:74px;min-height:0;flex:0 0 auto}.modal-imgrow select{flex:1}.modal-field--gm{border-left:2px solid var(--highlight-dim);padding-left:10px}.modal-field--gm>span:after{content:" · GM only";color:var(--highlight-dim)}.modal-field{display:grid;gap:4px;font-size:.78rem}.modal-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.modal-field input[type=text],.modal-field select{background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:7px;min-height:36px;padding:6px 9px}.modal-preview{min-height:88px;border:1px dashed var(--rule);border-radius:8px;display:grid;place-items:center;overflow:hidden;background:var(--scrim-weak)}.modal-preview img{max-width:100%;max-height:140px;object-fit:contain;display:block}.harm-track{display:flex;align-items:center;gap:8px}.modal-preview--wide{min-height:120px}.modal-preview:empty:after{content:"Preview";color:var(--muted);font-size:.72rem}.scene-portrait{position:absolute;z-index:12;width:300px;overflow:hidden;background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:10px;box-shadow:0 14px 34px var(--scrim-strong)}.scene-portrait.chase-runner{width:620px}.scene-portrait__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;background:var(--scrim);border-bottom:1px solid var(--rule);cursor:move}.scene-portrait__name{font-family:var(--font-display);color:var(--highlight);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-portrait__btns{display:flex;align-items:center;gap:6px;flex:0 0 auto}.scene-portrait__x,.scene-portrait__min,.scene-portrait__reset{background:none;border:0;color:var(--ink);cursor:pointer;font-size:.9rem;line-height:1}.scene-portrait__x:hover,.scene-portrait__min:hover,.scene-portrait__reset:hover{color:var(--on-accent-text)}.scene-portrait__img{position:relative;width:300px;height:300px;background:var(--page-bg) center / contain no-repeat}.scene-portrait__nav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1px solid var(--highlight-dim);background:var(--scrim);color:var(--ink);font-size:1rem;line-height:1;cursor:pointer}.scene-portrait__nav:hover{background:var(--scrim-strong);color:var(--on-accent-text);border-color:var(--highlight)}.scene-portrait__nav--prev{left:8px}.scene-portrait__nav--next{right:8px}.scene-portrait__img-count{position:absolute;bottom:8px;right:8px;padding:2px 7px;border-radius:10px;background:var(--scrim-strong);color:var(--ink);font-size:.64rem}.scene-portrait__desc{padding:8px 11px 10px;color:var(--ink);font-size:.82rem;line-height:1.35;border-top:1px solid var(--rule);background:var(--scrim);white-space:pre-wrap}.scene-portrait__notes--gm{padding:8px 11px 10px 13px;color:var(--ink);font-size:.82rem;line-height:1.35;border-top:1px solid var(--rule);border-left:2px solid var(--highlight-dim);background:var(--scrim);white-space:pre-wrap}.scene-portrait__notes--gm:before{content:"GM Notes";display:block;color:var(--highlight-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;margin-bottom:3px}.scene-portrait-mini{position:absolute;z-index:12;max-width:160px;padding:6px 10px;background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:8px;box-shadow:0 6px 18px var(--scrim);color:var(--highlight);font-family:var(--font-display);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.scene-portrait-mini:hover{border-color:var(--highlight)}.chase-runner{width:620px}.chase-runner__body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.chase-runner__desc{color:var(--ink);font-size:.82rem;line-height:1.35;margin:0}.chase-runner__section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.chase-ground-track{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.chase-ground-cell{border:1px solid var(--rule);border-radius:6px;padding:4px 2px;text-align:center;background:var(--scrim-weak);min-height:44px;display:grid;align-content:start;gap:2px}.chase-ground-cell.good{border-color:color-mix(in srgb,var(--strong-hit) 50%,transparent)}.chase-ground-cell.bad{border-color:color-mix(in srgb,var(--miss) 50%,transparent)}.chase-ground-cell.here{background:var(--highlight);border-color:var(--highlight)}.chase-ground-cell.here .chase-ground-cell__num,.chase-ground-cell.here .chase-ground-cell__label{color:var(--page-bg)}.chase-ground-cell__num{display:block;font-weight:700;color:var(--ink);font-size:.78rem}.chase-ground-cell__label{display:block;color:var(--muted);font-size:.56rem;line-height:1.15}.chase-runner__lead-row{display:flex;align-items:stretch;gap:6px;flex-wrap:nowrap;min-height:46px}.chase-runner__lead{flex:0 0 auto;margin:0;display:flex;flex-direction:column;gap:3px;min-width:140px}.chase-runner__lead span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;line-height:1}.chase-runner__lead select{padding:4px 6px;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:3px;font-size:.75rem;font-family:inherit}.chase-runner__roll-buttons{display:flex;gap:3px;align-items:center;flex:1;flex-wrap:wrap}.chase-runner__roll-buttons .special-roll-button{padding:4px 6px;font-size:.65rem;flex:1;min-width:60px;white-space:nowrap}.chase-runner__roll-buttons .special-roll-button:disabled{opacity:.38;cursor:not-allowed}.chase-runner__clock-table{display:flex;flex-direction:column;gap:0}.chase-runner__clock-header{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--rule)}.chase-runner__clock-title{grid-column:1 / -1;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.chase-runner__clock-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;margin-bottom:6px}.chase-clock-seg{width:22px;height:22px;border-radius:50%;border:2px solid var(--highlight-dim);background:var(--scrim)}.chase-clock-seg.filled{background:var(--highlight);border-color:var(--highlight);box-shadow:0 0 8px var(--highlight-tint-strong)}.chase-runner__pending-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:var(--scrim-strong);border-radius:10px;padding:16px}.chase-runner__pending-card{width:min(360px,100%);background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:8px;box-shadow:0 14px 34px var(--scrim-strong);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.chase-runner__choice-title{color:var(--highlight);font-weight:700;font-size:.82rem;text-align:center}.chase-runner__choice-actions{display:flex;flex-direction:column;gap:6px}.chase-runner__choice-actions button{padding:6px 10px;font-size:.75rem;min-height:auto;white-space:normal;line-height:1.25;text-align:center}.chase-result{flex:1;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:1px solid var(--rule);border-left-width:4px;color:var(--ink);font-size:.82rem}.chase-result strong{color:var(--highlight)}.chase-result--win{border-left-color:var(--strong-hit)}.chase-result--lose{border-left-color:var(--accent)}.chase-result--draw{border-left-color:var(--highlight)}.chase-runner__log-entry{display:flex;align-items:center;padding:4px 6px;border:1px solid var(--rule);border-left-width:3px;border-radius:3px;background:var(--scrim-weak);font-size:.7rem;height:auto;overflow:hidden;width:100%;cursor:help}.chase-runner__log-entry--crit,.chase-runner__log-entry--strong{border-left-color:var(--strong-hit)}.chase-runner__log-entry--mixed{border-left-color:var(--highlight)}.chase-runner__log-entry--miss{border-left-color:var(--miss)}.chase-runner__log-entry:hover{background:var(--scrim);border-color:var(--highlight)}.chase-runner__log-summary{display:flex;align-items:baseline;gap:6px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chase-runner__log-roll{font-weight:700;color:var(--highlight);flex:0 0 auto}.chase-runner__log-name{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chase-runner__log-attr{color:var(--muted);font-size:.66rem;flex:0 0 auto}.chase-runner__log-choice{color:var(--highlight);font-style:italic;font-size:.66rem;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chase-log-popover{position:fixed;z-index:1000;background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:8px;padding:10px 12px;box-shadow:0 14px 34px var(--scrim-strong);font-size:.8rem;max-width:280px}.chase-log-popover__header{display:flex;gap:8px;margin-bottom:6px;align-items:baseline}.chase-log-popover__total{font-weight:700;font-size:1rem;color:var(--highlight)}.chase-log-popover__character{color:var(--ink);flex:1}.chase-log-popover__outcome{color:var(--ink);margin-bottom:4px;line-height:1.35}.chase-log-popover__choice{color:var(--ink);font-size:.75rem;margin-bottom:4px}.chase-log-popover__choice b{color:var(--highlight)}.chase-log-popover__stat,.chase-log-popover__modifiers{color:var(--muted);font-size:.75rem;margin-bottom:4px}.chase-log-popover__modifiers ul{margin:2px 0 0 16px;padding:0;list-style:none}.chase-log-popover__modifiers li{color:var(--ink)}.chase-log-popover__dice{color:var(--muted);font-size:.7rem;margin-top:4px;padding-top:4px;border-top:1px solid var(--rule)}.chase-runner__reset-btn{margin-top:8px;align-self:center}.chase-runner__reset-confirm-text{color:var(--ink);font-size:.75rem;line-height:1.35;text-align:center}.trap-runner{width:580px}.trap-runner__body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.trap-runner__desc{color:var(--ink);font-size:.82rem;line-height:1.35;margin:0;padding:8px 10px;border-left:2px solid var(--highlight-dim);background:var(--highlight-tint)}.trap-runner__roll-all-btn{align-self:center;padding:8px 14px;font-size:.75rem}.trap-runner__obstacles{display:flex;flex-direction:column;gap:8px}.trap-obstacle-card{border:1px solid var(--rule);border-radius:8px;padding:10px 12px;background:var(--scrim-weak);display:flex;flex-direction:column;gap:8px}.trap-obstacle-card.is-active{border-color:var(--highlight);background:var(--highlight-tint);box-shadow:0 0 12px var(--highlight-tint-strong)}.trap-obstacle-card.is-upcoming{opacity:.65}.trap-obstacle-card.is-cleared{opacity:.55;background:var(--scrim-weak);border-color:color-mix(in srgb,var(--strong-hit) 40%,transparent)}.trap-obstacle-header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.trap-obstacle-num{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.trap-obstacle-type{color:var(--ink);font-size:.8rem;font-weight:600;font-family:var(--font-display)}.trap-obstacle-dice{color:var(--highlight);font-size:.7rem;background:var(--highlight-tint-strong);padding:2px 5px;border-radius:3px;font-weight:500}.trap-obstacle-badge{margin-left:auto;padding:2px 6px;border-radius:4px;background:var(--scrim);color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em}.trap-obstacle-badge.is-active{background:var(--highlight);color:var(--page-bg);font-weight:700}.trap-obstacle-flavor{font-size:.75rem;color:var(--muted);line-height:1.3;font-style:italic}.trap-obstacle-flavor p{margin:0}.trap-obstacle-lead{margin:0;display:flex;flex-direction:column;gap:3px}.trap-obstacle-lead span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}.trap-obstacle-lead select{padding:5px 6px;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:3px;font-size:.75rem;font-family:inherit}.trap-obstacle-roll-buttons{display:flex;gap:4px;flex-wrap:wrap}.trap-obstacle-roll-buttons .special-roll-button{padding:5px 6px;font-size:.7rem;flex:1;min-width:70px;white-space:normal;line-height:1.1}.trap-obstacle-roll-buttons .special-roll-button:disabled{opacity:.35;cursor:not-allowed}.trap-obstacle-resolve{padding:10px;border-radius:6px;background:var(--highlight-tint);border:1px solid var(--highlight-tint-strong);display:flex;flex-direction:column;gap:8px}.trap-obstacle-resolve-label{color:var(--highlight);font-weight:700;font-size:.75rem;text-align:center}.trap-obstacle-resolve-actions{display:flex;flex-direction:column;gap:5px}.trap-obstacle-resolve-actions button{padding:6px 8px;font-size:.72rem;white-space:normal;line-height:1.2;border-radius:4px}.trap-obstacle-note{padding:6px 8px;color:var(--highlight);font-size:.7rem;text-align:center;background:var(--highlight-tint);border-radius:4px;font-style:italic}.trap-obstacle-complete-btn{align-self:center;padding:4px 8px;font-size:.66rem;opacity:.75}.trap-obstacle-complete-btn:hover{opacity:1}.trap-runner__victory-banner{padding:12px;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--strong-hit) 20%,transparent),var(--highlight-tint-strong));border:1px solid color-mix(in srgb,var(--strong-hit) 50%,transparent);color:var(--strong-hit);font-weight:700;font-size:.88rem;text-align:center;letter-spacing:.04em}.trap-runner__reset-btn{margin-top:8px;align-self:center}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:.2rem}.modal-actions__delete{margin-right:auto}.modal-card--scene-planner{width:min(760px,94vw)}.modal-hint{color:var(--muted);font-size:.72rem;font-style:italic;text-transform:none;letter-spacing:0;margin:0}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.assign-section{display:grid;gap:.4rem;margin-top:.2rem}.assign-list{display:grid;gap:4px}.assign-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border:1px solid var(--rule);border-radius:7px;background:var(--scrim-weak)}.assign-row__name{flex:1;color:var(--ink);font-size:.78rem}.assign-row__eye{border:none;background:transparent;color:var(--highlight);cursor:pointer;font-size:.85rem;padding:2px}.assign-row__eye.is-off{color:var(--muted)}.assign-row__del{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;padding:2px}.assign-row__del:hover{color:var(--miss)}.assign-add-row{display:flex;gap:.4rem;margin-top:2px}.assign-add-row select{flex:1}.toggle-switch{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{width:auto;accent-color:var(--highlight);margin:0}.modal-card--groupings{width:min(720px,94vw);max-height:88vh}.grouping-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid var(--scrim);flex:0 0 auto}.grouping-dots{display:flex;gap:4px;margin:2px 0}.grouping-list{display:grid;gap:4px;margin-top:.2rem}.grouping-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border:1px solid var(--rule);border-radius:7px;background:var(--scrim-weak)}.grouping-row.is-selected{border-color:var(--highlight);background:var(--highlight-tint)}.grouping-row--create{border-style:dashed}.grouping-row__swatch-btn{border:none;background:transparent;cursor:pointer;padding:2px;display:grid;place-items:center}.grouping-row__color-input{width:26px;height:26px;padding:0;border:1px solid var(--rule);border-radius:5px;background:none;cursor:pointer}.grouping-row__name-input{flex:1;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:4px 6px;font-size:.78rem;font-family:inherit}.grouping-row__tally{color:var(--muted);font-size:.68rem;white-space:nowrap}.grouping-row__del{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;padding:2px}.grouping-row__del:hover{color:var(--miss)}.grouping-row__confirm{display:flex;gap:4px}.grouping-row__confirm button{padding:3px 7px;font-size:.68rem}.grouping-membership{margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--rule);display:grid;gap:.5rem;max-height:40vh;overflow-y:auto}.grouping-membership__controls{display:flex;align-items:center;gap:.6rem}.grouping-membership__filter{flex:1;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:4px 8px;font-size:.76rem;font-family:inherit}.ui-icon{width:16px;height:16px;object-fit:contain;vertical-align:-3px;margin-right:5px;border-radius:3px;flex:0 0 auto}.move-pill{display:inline-flex;align-items:center}.move-card-title .ui-icon{width:20px;height:20px;vertical-align:-4px}.roll-card .what .ui-icon{width:36px;height:36px;vertical-align:-10px}.cond-chip{display:inline-flex;align-items:center}.cond-chip .ui-icon{width:13px;height:13px;margin-right:3px}.cond-ico .ui-icon{margin-right:6px;vertical-align:-3px}.clear-method .ui-icon,.mod-chip .ui-icon{width:32px;height:32px}.active-hero__portrait,.sheet-header-portrait{background-size:cover;background-position:center}.party-avatar .pip{background-size:cover;background-position:center;overflow:hidden}.scene-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-color:var(--page-bg);background-image:url(images/Background_Table.png);background-repeat:no-repeat;background-position:center;background-size:cover}.scene-map-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transform-origin:center;will-change:transform;transition:transform .1s ease}.scene-table-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.scene-table-layer>*{pointer-events:auto}.scene-map-rect{position:absolute}.scene-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-repeat:no-repeat;background-position:center}.scene-prop{position:absolute;z-index:1;cursor:grab;-webkit-user-select:none;user-select:none}.scene-prop:before{content:"";position:absolute;top:-26px;left:-10px;right:-10px;bottom:-10px}.scene-prop.scene-prop--hidden{opacity:.4}.scene-prop.scene-prop--locked{cursor:default}.scene-prop img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.scene-prop__del{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:none;background:var(--miss);color:var(--on-accent-text);font-size:.6rem;line-height:1;padding:0;display:none;place-items:center;cursor:pointer}.scene-prop:hover .scene-prop__del,.scene-prop--dragging .scene-prop__del{display:grid}.scene-prop__rotate{position:absolute;top:-22px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:grab}.scene-prop:hover .scene-prop__rotate,.scene-prop--dragging .scene-prop__rotate{display:grid}.scene-prop__scale{position:absolute;bottom:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:nwse-resize}.scene-prop:hover .scene-prop__scale,.scene-prop--dragging .scene-prop__scale{display:grid}.scene-shape{position:absolute;z-index:1;cursor:grab;-webkit-user-select:none;user-select:none}.scene-shape:before{content:"";position:absolute;top:-26px;left:-16px;right:-16px;bottom:-16px}.scene-shape.scene-shape--hidden{opacity:.4}.scene-shape.scene-shape--locked{cursor:default}.scene-shape__svg{display:block;width:100%;height:100%;overflow:visible}.scene-shape__del{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:none;background:var(--miss);color:var(--on-accent-text);font-size:.6rem;line-height:1;padding:0;display:none;place-items:center;cursor:pointer}.scene-shape:hover .scene-shape__del,.scene-shape--dragging .scene-shape__del{display:grid}.scene-shape__rotate{position:absolute;top:-22px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:grab}.scene-shape:hover .scene-shape__rotate,.scene-shape--dragging .scene-shape__rotate{display:grid}.scene-shape__scale-x{position:absolute;top:50%;right:-8px;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:ew-resize}.scene-shape:hover .scene-shape__scale-x,.scene-shape--dragging .scene-shape__scale-x{display:grid}.scene-shape__scale-y{position:absolute;left:50%;bottom:-8px;transform:translate(-50%);width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:ns-resize}.scene-shape:hover .scene-shape__scale-y,.scene-shape--dragging .scene-shape__scale-y{display:grid}.scene-shape__scale{position:absolute;bottom:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;line-height:1;padding:0;display:none;place-items:center;cursor:nwse-resize}.scene-shape:hover .scene-shape__scale,.scene-shape--dragging .scene-shape__scale{display:grid}.scene-shape__palette{position:absolute;top:-6px;left:-6px;width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);font-size:.6rem;line-height:1;padding:0;display:none;place-items:center;cursor:pointer}.scene-shape:hover .scene-shape__palette,.scene-shape--dragging .scene-shape__palette{display:grid}.scene-shape-palette{position:absolute;top:14px;left:-6px;z-index:5;display:grid;gap:5px;padding:22px 8px 8px;min-width:132px;border:1px solid var(--rule);border-radius:8px;background:var(--panel-bg);box-shadow:0 4px 14px var(--scrim);cursor:default}.scene-shape-palette__close{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.6rem;line-height:1;padding:0;display:grid;place-items:center;cursor:pointer}.scene-shape-palette__close:hover{color:var(--ink);border-color:var(--highlight-dim)}.scene-shape-palette__row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.62rem;color:var(--muted)}.scene-shape-palette__row input[type=color]{width:34px;height:20px;padding:0;border:1px solid var(--rule);background:none;cursor:pointer}.scene-shape-palette__row input[type=range]{width:78px}.color-picker-field--compact{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.62rem;color:var(--muted)}.color-picker-field--compact .color-picker-row{margin-top:0;gap:6px}.color-picker-field--compact .clock-color-swatch{flex-direction:row;gap:0}.color-picker-field--compact .clock-color-input{width:34px;height:20px}.color-picker-field--compact .clock-style-btn{padding:2px 6px;font-size:.58rem}.stage-controls{position:absolute;top:.5rem;right:.5rem;z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.stage-controls-toggle{width:32px;height:32px;border-radius:50%;background:var(--scrim-strong);border:1px solid var(--highlight-dim);color:var(--highlight);font-size:1rem;line-height:1;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.stage-controls-toggle:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.stage-controls-toggle--off{opacity:.6}.zoom-bar{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.45rem .35rem;border-radius:999px;background:var(--scrim-strong);border:1px solid var(--highlight-dim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.zoom-icon{font-size:.95rem;line-height:1}.zoom-slider{writing-mode:vertical-lr;direction:rtl;height:80px;width:auto;accent-color:var(--highlight);cursor:pointer}.zoom-label{color:var(--ink);font-family:var(--font-label);font-size:.62rem;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-align:center}.zoom-reset{width:18px;height:18px;border-radius:50%;border:1px solid var(--highlight-dim);background:var(--highlight-tint);color:var(--highlight);font-size:.82rem;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}.zoom-reset:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.token-scale-bar{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.45rem .35rem;border-radius:999px;background:var(--scrim-strong);border:1px solid var(--highlight-dim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.props-lock-toggle{width:32px;height:32px;border-radius:50%;background:var(--scrim-strong);border:1px solid var(--highlight-dim);color:var(--highlight);font-size:1rem;line-height:1;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.props-lock-toggle:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.scene-add-npc{align-self:flex-end;padding:.3rem .7rem;border-radius:999px;background:var(--scrim-strong);border:1px solid var(--highlight-dim);color:var(--highlight);font-size:.85rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.scene-add-npc:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.nameplate-toggle{width:32px;height:32px;border-radius:50%;background:var(--scrim-strong);border:1px solid var(--highlight-dim);color:var(--highlight);font-size:1rem;line-height:1;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.nameplate-toggle:hover{background:var(--highlight-tint-strong);border-color:var(--highlight)}.nameplate-toggle--off{opacity:.6}@keyframes look-here-ripple{0%{transform:translate(-50%,-50%) scale(.15);opacity:1}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.look-here-marker{position:absolute;z-index:5;width:48px;height:48px;border-radius:50%;border:3px solid var(--highlight);pointer-events:none;animation:look-here-ripple .9s ease-out both}.clearance-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}.clearance-row .mini-label{color:var(--muted);margin-right:2px}.mod-chips{display:flex;flex-wrap:wrap;gap:.35rem}.clear-method,.mod-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--highlight-dim);border-radius:999px;background:var(--highlight-tint);color:var(--ink);font-size:.74rem;letter-spacing:.02em;cursor:pointer}.clear-method:hover,.mod-chip:hover{border-color:var(--highlight);color:var(--highlight)}.clear-method.active,.mod-chip.active{background:var(--accent);color:var(--on-accent-text);border-color:var(--ink)}.mod-chip{gap:.35rem;cursor:default}.mod-chip__val{font-weight:700;font-variant-numeric:tabular-nums}.mod-chip__steps{display:inline-flex;flex-direction:column;gap:1px}.mod-chip__steps button{width:18px;height:13px;padding:0;min-height:0;line-height:1;display:grid;place-items:center;font-size:.55rem;border:1px solid var(--highlight-dim);border-radius:4px;background:var(--scrim-weak);color:var(--ink);cursor:pointer}.mod-chip__steps button:hover:not(:disabled){border-color:var(--highlight);color:var(--highlight)}.mod-chip__steps button:disabled{opacity:.4;cursor:default}.party-avatar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.momentum-track{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.momentum-ico{width:30px;height:30px;object-fit:contain;flex:0 0 auto}.momentum-track .muted{font-size:.8rem}.left-region,.dice-region{position:relative}.rail-resizer,.dice-resizer{position:absolute;top:0;bottom:0;width:14px;z-index:25;cursor:col-resize;touch-action:none}.rail-resizer{right:-8px}.dice-resizer{left:-8px}.rail-resizer:before,.dice-resizer:before{content:"";position:absolute;top:12px;bottom:12px;left:50%;width:2px;transform:translate(-50%);border-radius:2px;background:var(--rule);transition:background .15s ease}.rail-resizer:hover:before,.dice-resizer:hover:before{background:var(--highlight-dim)}body.rail-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.rail-resizing .rail-resizer:before,body.rail-resizing .dice-resizer:before{background:var(--highlight)}.roller{display:grid;gap:14px;container-type:inline-size}.attr-block{border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:var(--scrim-weak)}.attr-head{display:flex;align-items:center;gap:10px;padding:.5rem .65rem;background:var(--highlight-tint);border-bottom:1px solid var(--rule)}.attr-head .attr-icon{width:34px;height:34px}.attr-name{font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);font-size:.95rem}.attr-mod{margin-left:auto;min-width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--highlight);border-radius:50%;color:var(--highlight);font-weight:700;font-family:var(--font-display);font-size:1.05rem}.attr-head .roll-die{width:38px;height:38px}.move-rows{display:grid}.move-row{display:flex;align-items:center;gap:12px;padding:.55rem .7rem;border-top:1px solid color-mix(in srgb,var(--rule) 45%,transparent);color:var(--ink);cursor:pointer;transition:background .12s ease}.move-row:first-child{border-top:none}.move-row:hover{background:var(--highlight-tint)}.move-row:active{background:var(--highlight-tint-strong)}.move-row:after{content:"";margin-left:auto;flex:0 0 auto;width:22px;height:22px;background:url(images/DiceImage.png) center/contain no-repeat;opacity:.5;transition:opacity .12s ease}.move-row:hover:after{opacity:1}.roll-die,.move-roll-button{display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent-text);border:2px solid var(--ink)}.move-row .ui-icon{width:28px;height:28px;margin-right:0;border-radius:5px}.move-name{font-size:1.02rem;letter-spacing:.01em}.banner-actions{display:flex;align-items:center;gap:.5rem}.banner-btn{border:1px solid var(--highlight-dim);border-radius:7px;background:var(--scrim);color:var(--ink);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .55rem;cursor:pointer}.banner-btn:hover{border-color:var(--highlight);color:var(--highlight)}.glance .box--wide{grid-column:1 / -1}.glance-mom{display:flex;align-items:center;gap:8px}.glance-mom .cond-chip .ui-icon{width:26px;height:26px;margin-right:3px}.roll-card.crit{border-left-color:var(--highlight)}.roll-card.crit .big{background:var(--highlight);color:var(--page-bg)}.roll-card.crit .outcome b{color:var(--highlight)}.roll-card .move-hold{margin-top:8px;background:var(--paper-bg);color:var(--page-bg);border:1px solid var(--paper-border);border-left:3px solid var(--highlight-dim);border-radius:8px}.roll-card .hold-summary{color:var(--page-bg)}.roll-card .hold-desc{color:var(--paper-muted);margin:4px 0}.roll-card .move-options,.roll-card .move-options li{color:var(--paper-ink)}.roll-card .outcome .move-options,.roll-card .outcome .move-options li{color:inherit;margin-top:4px}.sheet-modal .embedded-sheet{width:100%;padding:18px 22px}.sheet-modal .vitals-grid{gap:24px}.sheet-modal .section{padding:16px 18px}.sheet-modal .stat-card{grid-template-columns:1fr}.sheet-modal .stat-row{gap:14px;align-items:center}.sheet-modal .stat-name{font-size:1.15rem}.sheet-modal .stat-row .muted{font-size:.92rem;line-height:1.4}.sheet-modal .condition-row{grid-template-columns:28px auto 96px 1fr;gap:12px}.sheet-modal .condition-row .muted{line-height:1.4}.sheet-modal .moves-grid{gap:14px}.sheet-modal .move-card{padding:16px}.sheet-modal .folder-panel,.sheet-modal .folder-panel .move-card-title,.sheet-modal .folder-panel .move-description,.sheet-modal .folder-panel .move-results,.sheet-modal .folder-panel .move-results strong,.sheet-modal .folder-panel .equipment-option-name,.sheet-modal .folder-panel .shadow-label,.sheet-modal .folder-panel .shadow-label strong{color:var(--paper-ink)}.sheet-modal .folder-panel .muted,.sheet-modal .folder-panel .move-stat,.sheet-modal .folder-panel .equipment-subtitle,.sheet-modal .folder-panel .shadow-subtitle{color:var(--paper-muted)}.contacts-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.contacts-head .muted{color:var(--paper-muted);font-size:.85rem}.contacts-empty{color:var(--paper-muted);font-style:italic;margin-top:8px}.mini-add[disabled]{opacity:.5;cursor:default}.sheet-modal .contacts-table{width:100%;border-collapse:collapse;table-layout:fixed}.sheet-modal .contacts-table th{background:var(--paper-bg);color:var(--paper-ink);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:6px 8px;border:1px solid var(--paper-border);text-align:left;font-weight:700}.sheet-modal .contacts-table td{border:1px solid var(--paper-border);padding:3px;vertical-align:middle}.sheet-modal .contacts-table input{width:100%;min-height:32px;background:var(--paper-bg);color:var(--paper-ink);border:1px solid var(--paper-border);border-radius:4px;padding:5px 7px;font:inherit}.sheet-modal .contacts-table input:focus{outline:2px solid var(--highlight-dim);border-color:var(--highlight-dim)}.sheet-modal .contacts-table .col-rating{width:64px}.sheet-modal .contacts-table .col-x{width:34px;text-align:center}.contact-remove{width:22px;height:22px;border-radius:50%;border:1px solid color-mix(in srgb,var(--mod-conditions) 55%,black);background:var(--paper-bg);color:var(--accent);cursor:pointer;font-size:.7rem;line-height:1}.contact-remove:hover{background:var(--paper-border)}.sheet-form{display:grid;gap:14px}.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:grid;gap:5px}.form-row label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-muted);font-weight:700}.sheet-modal #detailsPanel input,.sheet-modal #detailsPanel textarea{width:100%;min-height:36px;background:var(--paper-bg);color:var(--paper-ink);border:1px solid var(--paper-border);border-radius:6px;padding:7px 9px;font:inherit}.sheet-modal #detailsPanel textarea{min-height:70px;resize:vertical;line-height:1.4}.sheet-modal #detailsPanel input:focus,.sheet-modal #detailsPanel textarea:focus{outline:2px solid var(--highlight-dim);border-color:var(--highlight-dim)}.section-note{margin:0 0 12px;font-size:.85rem;color:var(--paper-muted)}.pb-move__head{display:flex;align-items:center;gap:10px}.pb-move__head input[type=checkbox]{width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--accent);flex:0 0 auto}.pb-move .move-card-title{margin:0}.pb-tag{margin-left:auto;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-muted);border:1px solid var(--paper-border);border-radius:999px;padding:1px 7px}.pb-move:not(.is-on){opacity:.8}.eq-instr{margin:0 0 8px;font-size:.78rem}.eq-tag{display:inline-block;font-size:.6rem;padding:1px 6px;margin:2px 3px 0 0;border:1px solid var(--paper-border);border-radius:999px;color:var(--paper-muted)}.hist-list{display:grid;gap:8px}.hist-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center}.hist-label{margin:0;font-size:.9rem}.sheet-modal #historyPanel .hist-hero,.sheet-modal #equipPanel input[data-sig]{background:var(--paper-bg);color:var(--paper-ink);border:1px solid var(--paper-border);border-radius:6px;padding:6px 8px;min-height:34px;width:100%}.party-add{color:var(--muted)}.party-add:hover{color:var(--highlight)}.party-add .pip--add{background:var(--highlight-tint);color:var(--highlight);border:1px dashed var(--highlight-dim);font-size:1.15rem;font-weight:700}.nh-hint{margin:2px 0 8px;font-size:.75rem;color:var(--muted)}.nh-hint--error{color:var(--miss)}.nh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nh-stats label{display:grid;gap:4px;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center}.nh-stats input{width:100%;text-align:center;min-height:36px}.hero-panel{border:1px solid var(--rule);border-radius:12px;background:var(--highlight-tint);padding:.7rem;display:grid;gap:.6rem;container-type:inline-size}.hero-top{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:stretch}.hero-portrait-col{display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-portrait-wrap{position:relative;width:132px;aspect-ratio:3 / 4;border-radius:10px;overflow:hidden;border:1px solid var(--highlight-dim);cursor:pointer;background:linear-gradient(160deg,var(--surface-sunken),var(--page-bg))}.hero-portrait-wrap:hover{outline:2px solid var(--highlight);outline-offset:2px}.hero-token-disc{flex-shrink:0;cursor:grab}.hero-portrait{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;display:grid;place-items:center;color:var(--muted);font-family:var(--font-display);font-size:2.4rem}.hero-portrait__label{position:absolute;left:0;right:0;bottom:0;pointer-events:none;text-align:center;padding:12px 4px 5px;font-family:var(--font-label);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--highlight);background:linear-gradient(transparent,var(--scrim-strong))}.hero-main{display:flex;flex-direction:column;gap:.6rem;min-width:0}.hero-id{display:grid;grid-template-columns:1fr auto;column-gap:.5rem;row-gap:2px;align-items:start;min-width:0}.hero-id .active-hero__name,.hero-id .active-hero__playbook,.hero-id .active-hero__player{grid-column:1}.hero-id .hero-token-disc{grid-column:2;grid-row:1 / span 3;align-self:center}.hero-id .active-hero__name{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);line-height:1.05}.hero-box--cond{flex:1}.hero-xp-mom{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@container (max-width: 250px){.hero-portrait-wrap{width:64px}.hero-portrait__label{display:none}.hero-id .active-hero__name{font-size:1.1rem}}.hero-box{border:1px solid var(--rule);border-radius:9px;background:var(--scrim-weak);padding:.45rem .55rem}.hero-box--wide{grid-column:1 / -1}.hero-box--cond{display:flex;flex-direction:column}.hero-box .eyebrow{margin:0 0 .35rem}.hero-box__body{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.move-rows{display:flex;flex-wrap:wrap;gap:6px}.move-row{flex:1 1 150px;min-width:150px;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--rule);border-top:1px solid var(--rule);border-radius:8px;background:var(--scrim-weak)}.move-row:after{display:none}.move-row:hover{border-color:var(--highlight);background:var(--highlight-tint)}.move-row .ui-icon{width:36px;height:36px;flex:0 0 auto;border-radius:6px;margin-right:0}.move-text{display:flex;flex-direction:column;min-width:0}.move-name{font-size:.92rem;line-height:1.15}.move-desc{font-size:.68rem;color:var(--muted);line-height:1.25;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@container (max-width: 310px){.move-name{display:none}.move-rows{justify-content:space-evenly}.move-row{flex:0 0 auto;min-width:unset;padding:7px;justify-content:center}}.hero-panel .xp-dot{cursor:pointer}.hero-panel .xp-dot:hover{box-shadow:0 0 0 2px var(--highlight-dim)}.hero-panel .cond-chip{cursor:pointer;font:inherit}.move-tip{position:fixed;z-index:300;max-width:320px;pointer-events:none;background:var(--panel-bg);border:1px solid var(--highlight-dim);border-radius:10px;box-shadow:0 10px 28px var(--scrim-strong);padding:12px 14px;color:var(--ink);font-size:.82rem}.move-tip[hidden]{display:none}.move-tip__title{font-family:var(--font-display);color:var(--highlight);font-size:1.02rem;margin-bottom:4px}.move-tip__title span{color:var(--muted);font-size:.8rem}.move-tip__desc{margin:0 0 6px;line-height:1.35}.move-tip__out{margin:0 0 6px;padding-left:16px;display:grid;gap:2px}.move-tip__out b{color:var(--highlight);white-space:nowrap}.move-tip__out-opts{margin:2px 0;padding-left:16px;list-style:disc;color:var(--ink)}.move-tip__hold{border-top:1px solid var(--rule);padding-top:6px;font-size:.78rem;color:var(--ink)}.move-tip__hold ul{margin:4px 0 0 16px;padding:0}.hero-box--cond .cond-chip,.glance-mom .cond-chip{font-size:.58rem}.cond-chip__mod{opacity:.7;margin-right:2px}.cond-chip[data-cond=Minor]{background:var(--cond-minor);color:var(--on-highlight-text);border-color:color-mix(in srgb,var(--cond-minor) 60%,black)}.cond-chip[data-cond=Major]{background:var(--cond-major);color:var(--on-highlight-text);border-color:color-mix(in srgb,var(--cond-major) 60%,black)}.cond-chip[data-cond=Critical]{background:var(--cond-critical);color:var(--on-accent-text);border-color:var(--accent)}.cond-chip.off{opacity:1}.cond-chip.off[data-cond=Minor]{background:transparent;color:var(--highlight);border-color:var(--highlight-dim)}.cond-chip.off[data-cond=Major]{background:transparent;color:color-mix(in srgb,var(--cond-major) 65%,var(--muted));border-color:color-mix(in srgb,var(--cond-major) 40%,black)}.cond-chip.off[data-cond=Critical]{background:transparent;color:color-mix(in srgb,var(--cond-critical) 65%,var(--muted));border-color:color-mix(in srgb,var(--cond-critical) 40%,black)}.cond-chip.off[data-cond="In Jeopardy"],.glance-mom .cond-chip.off{background:transparent;color:color-mix(in srgb,var(--cond-on) 65%,var(--muted));border-color:color-mix(in srgb,var(--cond-on) 65%,var(--muted))}.cast-hint{font-size:.58rem;color:var(--muted);text-transform:none;letter-spacing:0;font-style:italic}@media(max-width:1024px){.shell__grid.table{grid-template-columns:1fr;grid-auto-rows:minmax(220px,auto)}.app-banner__title{font-size:1.7rem}}.clock-display{display:flex;flex-direction:column;align-items:center;gap:4px}.clock-display--horizontal{width:max-content}.clock-display__name{font-family:var(--font-label);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.clock-display--horizontal .clock-display__name{max-width:none}.clock-segments{display:flex;gap:3px}.clock-segments--horizontal{flex-wrap:nowrap;align-items:center}.clock-segment{flex:0 0 auto;width:16px;height:16px;border-radius:3px;border:1px solid var(--highlight-dim);background:var(--highlight-tint);transition:background .12s ease}.clock-segment--filled{background:var(--highlight);border-color:var(--highlight)}.clock-display--compact .clock-segment{width:10px;height:10px;border-radius:2px}.clock-display--compact.clock-display--horizontal{width:max-content}.clock-round-svg{display:block}.clock-bg{fill:var(--panel-bg)}.clock-wedge{fill:var(--highlight-tint);stroke:none}.clock-wedge--filled{fill:var(--highlight);stroke:none}.token--clock{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);cursor:grab;-webkit-user-select:none;user-select:none;z-index:2;background:var(--scrim-strong);border:1px solid var(--highlight-dim);border-radius:10px;padding:.4rem .5rem;width:max-content;box-shadow:0 2px 6px var(--scrim)}.token--clock:active{cursor:grabbing}.token--clock .token__del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1px solid var(--rule);background:var(--panel-bg);color:var(--muted);font-size:.65rem;cursor:pointer;display:grid;place-items:center;padding:0}.token--clock .token__del:hover{background:var(--danger);color:var(--on-accent-text);border-color:var(--danger)}.token--clock .token__label{font-size:.62rem;color:var(--muted);letter-spacing:.03em;text-align:center;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.clock-token-body{display:flex;flex-direction:column;align-items:center;gap:4px;width:max-content}.clock-token-controls{display:flex;align-items:center;gap:6px;margin-top:2px}.clock-tick-btn{width:22px;height:22px;border-radius:50%;border:1px solid var(--highlight-dim);background:var(--highlight-tint);color:var(--highlight);font-size:.95rem;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .1s ease}.clock-tick-btn:hover:not(:disabled){background:var(--highlight-tint-strong);border-color:var(--highlight)}.clock-tick-btn:disabled{opacity:.35;cursor:default}.clock-token-count{font-family:var(--font-label);font-size:.7rem;color:var(--ink);font-variant-numeric:tabular-nums;min-width:28px;text-align:center}.modal-dialog{border:none;padding:0;background:transparent;max-width:92vw;width:max-content}.modal-dialog::backdrop{background:var(--scrim-strong)}.clock-segment-row{display:flex;align-items:center;gap:6px}.clock-segment-label{font-size:.68rem;color:var(--ink);white-space:nowrap}.clock-segment-label--edge{font-size:.62rem;color:var(--muted);flex-shrink:0}.clock-display--compact .clock-segment-label{display:none}.clock-segment-slider{width:100%;accent-color:var(--highlight);margin-top:4px}.clock-style-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.clock-style-btn{padding:.28rem .6rem;border-radius:6px;font-size:.8rem;border:1px solid var(--rule);background:var(--scrim-weak);color:var(--muted);cursor:pointer;transition:border-color .1s ease,color .1s ease,background .1s ease}.clock-style-btn:hover{border-color:var(--highlight-dim);color:var(--ink)}.clock-style-btn.active{border-color:var(--highlight);background:var(--highlight-tint-strong);color:var(--highlight)}.clock-color-row{display:flex;align-items:flex-start;gap:16px;margin-top:4px}.clock-color-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;color:var(--muted)}.clock-color-input{width:40px;height:32px;border:1px solid var(--rule);border-radius:5px;padding:1px 3px;cursor:pointer;background:none}.modal-field--inline{display:flex;flex-direction:row;align-items:center;gap:8px}.modal-field--inline input[type=checkbox]{width:auto}.clock-preview{display:flex;justify-content:center;align-items:flex-start;padding:.5rem 0;max-height:320px;overflow-y:auto}.token-visual{position:relative;flex-shrink:0;filter:drop-shadow(0 4px 10px var(--scrim-strong))}.token-visual__inner{position:absolute;display:grid;place-items:center;overflow:hidden}.token-visual__img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:center;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.token-visual__fallback{font-family:var(--font-display);font-weight:700;color:var(--page-bg)}.modal-card--token{width:min(600px,92vw)}.token-editor-body{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:start}.token-editor-fields{display:flex;flex-direction:column;gap:.65rem}.token-editor-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;border-left:1px solid var(--rule);padding-left:1.1rem}.token-editor-preview__frame{cursor:grab;touch-action:none}.token-editor-preview__frame.is-dragging{cursor:grabbing}.token-editor-preview__hint{font-size:.68rem;color:var(--muted);text-align:center;max-width:150px}.color-picker-row{display:flex;align-items:center;gap:8px;margin-top:4px}.color-picker-popover-anchor{position:relative}.token-swatch-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--panel-bg);border:1px solid var(--rule);border-radius:8px;padding:8px;box-shadow:0 8px 24px var(--scrim)}.token-swatch-grid{display:grid;grid-template-columns:repeat(8,20px);gap:4px}.token-swatch{width:20px;height:20px;border-radius:3px;border:1px solid var(--rule);cursor:pointer;padding:0}.token-swatch.active{border-color:var(--highlight);box-shadow:0 0 0 2px var(--highlight-tint-strong)}.token-editor-zoom-row{display:flex;align-items:center;gap:6px;width:100%}.token-zoom-slider{flex:1;accent-color:var(--highlight);cursor:pointer}.clock-segment-names{margin-top:.25rem}.clock-segment-names summary{font-size:.75rem;color:var(--muted);cursor:pointer;padding:.2rem 0;list-style:none}.clock-segment-names summary::-webkit-details-marker{display:none}.clock-segment-names summary:before{content:"▶ ";font-size:.6rem}details[open].clock-segment-names summary:before{content:"▼ "}.clock-segment-name-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:.5rem}.clock-segment-name-field{display:flex;align-items:center;gap:6px;font-size:.78rem}.clock-segment-name-field span{font-family:var(--font-label);color:var(--muted);min-width:14px;text-align:right}.clock-segment-name-field input{flex:1;min-width:0;font-size:.78rem;padding:.2rem .4rem}.notebook-view{position:relative;flex:1;min-height:420px;display:flex;overflow:hidden;background:radial-gradient(130% 80% at 50% -10%,var(--highlight-tint-strong),transparent 55%),var(--page-bg);color:var(--ink)}.notebook-rail{flex:0 0 190px;display:flex;flex-direction:column;gap:8px;padding:12px 10px;background:var(--ink-tint);border-right:1px solid var(--rule);overflow-y:auto}.notebook-rail__head{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--muted);padding:0 2px}.notebook-rail__list{display:flex;flex-direction:column;gap:5px;flex:1}.notebook-rail__item{text-align:left;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--panel-bg);color:var(--ink);font-family:var(--font-display);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-rail__item:hover{border-color:var(--highlight-dim)}.notebook-rail__item.active{border-color:var(--highlight);box-shadow:inset 0 0 0 1px var(--highlight-dim);background:var(--muted)}.notebook-rail__empty{color:var(--muted);font-size:.78rem;padding:4px 2px}.notebook-rail__add{width:100%}.notebook-main{flex:1;min-width:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.notebook-empty{margin:auto;max-width:420px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:14px;align-items:center}.notebook-page{display:flex}.notebook-page__sheet{flex:1;max-width:780px;margin:0 auto;padding:26px 30px 32px;background:var(--panel-bg);border:1px solid var(--rule);border-radius:4px;box-shadow:0 2px 0 var(--scrim-weak),0 10px 26px -14px var(--shadow);background-image:linear-gradient(var(--page-bg) 0 0) left / 4px 100% no-repeat,repeating-linear-gradient(transparent 0 30px,var(--ink-tint) 30px 31px)}.notebook-page__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.notebook-page__title{flex:1;border:none;background:transparent;padding:2px 0;font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:var(--ink);border-bottom:2px solid transparent}.notebook-page__title:focus{outline:none;border-bottom-color:var(--highlight-dim)}.notebook-page__grouping{flex:0 0 auto;width:auto;min-height:30px;padding:4px 8px;font-size:.78rem;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:6px}.notebook-page__delete{flex:0 0 auto;width:34px;height:34px;border:1px solid var(--rule);border-radius:6px;background:var(--ink-tint);color:var(--muted);font-size:1rem}.notebook-page__delete:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,transparent)}.notebook-section{margin-top:18px}.notebook-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.notebook-section__title{margin:0;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--accent);border-bottom:1px solid var(--rule);padding-bottom:3px;flex:1}.notebook-section__head .secondary-button{min-height:30px;padding:4px 10px;font-size:.74rem;margin-left:10px}.notebook-hint{color:var(--muted);font-size:.82rem;font-style:italic;margin:6px 0}.notebook-note{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-bottom:10px;background:var(--veil);border:1px solid var(--rule);border-radius:8px}.notebook-note__row{display:flex;align-items:center;gap:6px}.notebook-note__title{flex:1;min-height:30px;padding:4px 8px;background:transparent;border:none;border-bottom:1px dashed var(--rule);font-family:var(--font-display);font-size:1rem;font-weight:700;border-radius:0}.notebook-note__title:focus{outline:none;border-bottom-style:solid;border-bottom-color:var(--highlight-dim)}.notebook-note__remove{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--muted);font-size:.82rem}.notebook-note__remove:hover{border-color:var(--danger);color:var(--danger)}.notebook-note__body{font-size:.9rem;line-height:1.5}.notebook-note__tags{min-height:30px;font-size:.78rem;color:var(--muted)}.notebook-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:620px){.notebook-entries{grid-template-columns:1fr}}.notebook-entry{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--ink-tint);border-radius:8px;background:var(--muted);box-shadow:0 6px 16px -12px var(--shadow)}.notebook-entry.is-missing{opacity:.6}.notebook-entry__head{display:flex;align-items:center;gap:9px}.notebook-entry__thumb,.notebook-browse-card__thumb{flex:0 0 auto;width:44px;height:44px;border-radius:6px;border:1px solid var(--rule);background-size:cover;background-position:center;background-color:var(--folder);display:grid;place-items:center;color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:1.1rem}.notebook-entry__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.notebook-entry__kind{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;color:var(--ink)}.notebook-entry__name{font-family:var(--font-display);font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-browse-card__tags{font-size:.7rem;color:var(--muted)}.notebook-entry__tags{font-size:.7rem;color:var(--ink)}.notebook-entry__view{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--ink-tint);border-radius:6px;background:transparent;color:var(--ink);font-size:.82rem}.notebook-entry__view:hover{border-color:var(--highlight)}.notebook-entry__remove{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--ink);font-size:.78rem}.notebook-entry__remove:hover{border-color:var(--danger);color:var(--danger)}.notebook-entry__desc{margin:0;font-size:.8rem;color:var(--ink);line-height:1.4}.notebook-entry__note{font-size:.82rem;min-height:44px}.notebook-browser{max-width:780px;width:100%;margin:0 auto}.notebook-browse-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}@media(max-width:620px){.notebook-browse-cards{grid-template-columns:1fr}}.notebook-browse-card{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--rule);border-radius:8px;background:var(--panel-bg)}.notebook-browse-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.notebook-browse-card__name{font-family:var(--font-display);font-size:.84rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-browse-card__add{flex:0 0 auto;min-height:30px;padding:4px 10px;font-size:.74rem}.notebook-browse-card__view{flex:0 0 auto;min-height:30px;width:34px;padding:4px 0;font-size:.82rem}.card-playervis-btn.is-on{border-color:var(--strong-hit);color:var(--strong-hit);background:color-mix(in srgb,var(--strong-hit) 10%,transparent)}
