@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-weight-semibold:600;--ease-out:cubic-bezier(0, 0, .2, 1);--color-bg:var(--color-bg);--color-surface-1:var(--color-surface-1);--color-surface-2:var(--color-surface-2);--color-surface-3:var(--color-surface-3);--color-surface-sunken:var(--color-surface-sunken);--color-glass:var(--color-glass);--color-glass-strong:var(--color-glass-strong);--color-border:var(--color-border);--color-border-strong:var(--color-border-strong);--color-text:var(--color-text);--color-text-dim:var(--color-text-dim);--color-on-accent:var(--color-on-accent);--color-on-data:var(--color-on-data);--color-backdrop:var(--color-backdrop);--color-accent:var(--color-accent);--color-accent-strong:var(--color-accent-strong);--color-accent-soft:var(--color-accent-soft);--color-accent-line:var(--color-accent-line);--color-gold:var(--color-gold);--color-success:var(--color-success);--color-warning:var(--color-warning);--color-danger:var(--color-danger);--color-danger-soft:var(--color-danger-soft);--color-link:var(--color-link);--color-focus:var(--color-focus);--color-online:var(--color-online);--color-crit:var(--color-crit);--color-fumble:var(--color-fumble);--color-crit-fumble:var(--color-crit-fumble);--color-dropped:var(--color-dropped);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-round:var(--radius-round);--shadow-1:var(--shadow-1);--shadow-2:var(--shadow-2);--font-sans:var(--font-sans);--font-serif:var(--font-serif);--font-display:var(--font-display);--font-title:var(--font-title);--font-mono:var(--font-mono)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.z-0{z-index:0}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mt-3{margin-top:var(--space-3)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.max-h-\[70vh\]{max-height:70vh}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.grow{flex-grow:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-t-border{border-top-color:var(--color-border)}.border-b-border{border-bottom-color:var(--color-border)}.bg-\(--table-bg\){background-color:var(--table-bg)}.p-3{padding:var(--space-3)}.p-5{padding:var(--space-5)}.px-5{padding-inline:var(--space-5)}.py-4{padding-block:var(--space-4)}.pl-5{padding-left:var(--space-5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-md{font-size:var(--font-size-md)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-text-dim{color:var(--color-text-dim)}.text-warning{color:var(--color-warning)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--palette-ink-950: #15100c;--palette-ink-900: #1c1611;--palette-ink-850: #241c16;--palette-ink-800: #2c231b;--palette-ink-750: #362b21;--palette-ink-700: #4b3c2e;--palette-ink-600: #65513f;--palette-ink-400: #ab9a82;--palette-ink-100: #eee4d1;--palette-white: #ffffff;--palette-black: #000000;--palette-red-700: #a8322b;--palette-red-600: #c0392b;--palette-red-500: #e2574c;--palette-red-300: #ff7b72;--palette-green-600: #27ae60;--palette-green-400: #3fb950;--palette-brass-600: #a87c32;--palette-brass-500: #c99a4b;--palette-brass-400: #e0b968;--palette-brass-200: #f3e0b0;--palette-accent-600: var(--palette-brass-600);--palette-accent-500: var(--palette-brass-500);--palette-accent-400: var(--palette-brass-400);--palette-accent-200: var(--palette-brass-200);--palette-blue-500: #3fa9f5;--palette-blue-300: #6ea8fe;--palette-orange-500: #e67e22;--palette-gold-500: #d4a64a;--palette-gold-300: #e8c987;--palette-gold-400: #f1c40f;--palette-purple-600: #8e44ad;--palette-purple-300: #c9a7e8;--palette-parchment-100: #fbf7ec;--palette-parchment-200: #f1e6c8;--palette-parchment-300: #d8cba5;--palette-sepia-900: #241d18;--palette-sepia-600: #6b5a48;--palette-oxblood-700: #7a1e1e;--palette-bronze-600: #8a6a2f;--palette-bronze-300: #c9a24a;--palette-forest-600: #2f7d4a;--palette-sky-700: #2c5d8f;--palette-slate-600: #3d5a80;--palette-violet-600: #5b4b8a;--palette-copper-600: #a0522d;--palette-silver-500: #7d8590;--palette-electrum-600: #5f8a73;--palette-platinum-600: #6b7a99;--palette-vermilion-800: #922610;--palette-ember-400: #d9694a;--palette-ember-300: #e89a7a;--palette-umber-500: #5a4636;--palette-umber-700: #372b21;--palette-umber-800: #2c231b;--palette-umber-900: #1b1510;--palette-paper-50: #fdfdfb;--color-bg: var(--palette-ink-900);--color-surface-1: var(--palette-ink-850);--color-surface-2: var(--palette-ink-800);--color-surface-3: var(--palette-ink-750);--color-surface-sunken: var(--palette-ink-950);--color-glass: color-mix(in srgb, var(--palette-ink-850) 72%, transparent);--color-glass-strong: color-mix(in srgb, var(--palette-ink-850) 88%, transparent);--color-border: var(--palette-ink-700);--color-border-strong: var(--palette-ink-600);--color-text: var(--palette-ink-100);--color-text-dim: var(--palette-ink-400);--color-on-accent: var(--palette-ink-950);--color-on-data: var(--palette-white);--color-backdrop: rgb(10 6 2 / .7);--color-accent: var(--palette-accent-500);--color-accent-strong: var(--palette-accent-400);--color-accent-soft: color-mix(in srgb, var(--palette-accent-500) 14%, transparent);--color-accent-line: color-mix(in srgb, var(--palette-accent-500) 45%, transparent);--color-gold: var(--palette-gold-500);--color-success: var(--palette-green-600);--color-warning: var(--palette-orange-500);--color-danger: var(--palette-red-300);--color-danger-soft: color-mix(in srgb, var(--palette-red-500) 14%, transparent);--color-link: var(--palette-accent-400);--color-focus: var(--palette-accent-400);--color-online: var(--palette-green-400);--glow-accent: 0 0 0 1px var(--color-accent-line), 0 0 18px color-mix(in srgb, var(--palette-accent-500) 28%, transparent);--edge-highlight: inset 0 1px 0 color-mix(in srgb, var(--palette-white) 6%, transparent);--fx-ink: var(--palette-accent-200);--fx-accent: var(--palette-accent-500);--fx-gold: var(--palette-gold-300);--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, var(--palette-ink-950) 85%, transparent) 100%);--table-bg: #2a231d;--table-ink: #e6dccb;--table-dice: #d9b46a;--table-fumble: #f27b78;--table-water: #5b8fae;--table-forest: #5f9468;--table-hills: #a59a62;--table-mountain: #93857a;--color-crit: var(--palette-green-400);--color-fumble: var(--palette-red-300);--color-crit-fumble: var(--palette-blue-500);--color-dropped: var(--palette-ink-400);--chat-whisper-hue: oklch(from var(--palette-accent-500) .62 .13 calc(h + 150) );--chat-whisper-bg: color-mix(in srgb, var(--chat-whisper-hue) 20%, transparent);--chat-whisper-border: var(--chat-whisper-hue);--chat-desc-bg: color-mix(in srgb, var(--palette-gold-500) 14%, transparent);--chat-desc-text: var(--palette-parchment-200);--chat-emote-text: var(--palette-gold-400);--chat-system-bg: var(--palette-ink-950);--chat-template-header-bg: transparent;--chat-template-header-text: var(--tpl-edge);--chat-template-row-alt: color-mix(in srgb, var(--palette-ink-750) 50%, transparent);--chat-external-badge: var(--palette-orange-500);--chat-inline-roll-bg: var(--palette-ink-750);--chat-whisper-text: oklch(from var(--chat-whisper-hue) .84 .09 h);--chat-inline-roll-border: var(--palette-gold-500);--tpl-paper-1: var(--palette-umber-700);--tpl-paper-2: var(--palette-umber-800);--tpl-ink: var(--palette-parchment-200);--tpl-ink-dim: var(--palette-parchment-300);--tpl-label: var(--palette-bronze-300);--tpl-edge: var(--palette-ember-400);--tpl-link: var(--palette-ember-300);--tpl-border: var(--palette-umber-500);--tpl-frame: color-mix(in srgb, var(--palette-bronze-300) 35%, transparent);--tpl-stripe: color-mix(in srgb, var(--palette-parchment-100) 5%, transparent);--tpl-roll-bg: var(--palette-umber-900);--tpl-roll-accent: var(--palette-gold-500);--tpl-shadow: 0 2px 12px rgb(0 0 0 / .45);--chat-template-bg: linear-gradient(170deg, var(--tpl-paper-1), var(--tpl-paper-2));--chat-template-text: var(--tpl-ink);--chat-template-dim: var(--tpl-ink-dim);--chat-template-label: var(--tpl-label);--chat-template-border: var(--tpl-border);--chat-template-edge: var(--tpl-edge);--chat-template-frame: var(--tpl-frame);--chat-template-frame-gap: var(--tpl-paper-1);--chat-template-bar: color-mix(in srgb, var(--tpl-edge) 50%, var(--tpl-paper-1));--chat-template-rule: linear-gradient(90deg, var(--tpl-edge), transparent);--chat-template-sub-bg: transparent;--chat-template-sub-text: var(--tpl-ink-dim);--chat-template-stripe: var(--tpl-stripe);--chat-template-link: var(--tpl-link);--chat-template-roll-bg: var(--tpl-roll-bg);--chat-template-roll-border: var(--tpl-border);--chat-template-roll-accent: var(--tpl-roll-accent);--chat-template-shadow: var(--tpl-shadow);--chat-tooltip-w: 260px;--chat-input-max-h: 160px;--chat-table-img: 48px;--roll-card-bg: var(--color-surface-2);--roll-card-border: var(--color-border);--roll-card-edge: var(--color-gold);--roll-die-bg: var(--color-surface-3);--roll-die-border: var(--color-border-strong);--roll-die-text: var(--color-text);--roll-die-size: 22px;--roll-total-bg: var(--color-surface-sunken);--roll-total-w: 48px;--roll-total-font: 22px;--roll-crit-soft: color-mix(in srgb, var(--color-crit) 16%, transparent);--roll-fumble-soft: color-mix(in srgb, var(--color-fumble) 16%, transparent);--roll-both-soft: color-mix(in srgb, var(--color-crit-fumble) 16%, transparent);--turn-tracker-w: 270px;--turn-active-bg: color-mix(in srgb, var(--palette-gold-500) 18%, transparent);--turn-active-border: var(--palette-gold-500);--audio-banner-bg: var(--palette-orange-500);--audio-banner-text: var(--palette-ink-900);--card-face-bg: var(--palette-paper-50);--card-face-text: var(--palette-sepia-900);--card-face-dim: var(--palette-sepia-600);--card-red: var(--palette-red-600);--card-border: var(--palette-parchment-300);--card-back-1: var(--palette-oxblood-700);--card-back-2: var(--palette-red-700);--card-w: 72px;--card-h: 100px;--card-w-sm: 54px;--card-h-sm: 76px;--card-w-lg: 180px;--card-h-lg: 250px;--macrobar-bg: color-mix(in srgb, var(--palette-ink-850) 92%, transparent);--quickbar-bg: color-mix(in srgb, var(--color-surface-1) 80%, transparent);--quickbar-text: var(--color-text);--quickbar-text-dim: var(--color-text-dim);--quickbar-border: color-mix(in srgb, var(--color-text) 12%, transparent);--quickbar-hover: color-mix(in srgb, var(--color-text) 10%, transparent);--quickbar-rule: color-mix(in srgb, var(--color-text) 15%, transparent);--quickbar-shadow: var(--shadow-1);--map-trigger-max-w: 240px;--map-list-w: 340px;--map-list-max-h: 60vh;--map-thumb-w: 64px;--map-thumb-h: 40px;--input-narrow: 54px;--handout-img-max-h: 320px;--panel-row-h: 36px;--turn-list-max-h: 60vh;--lobby-max-w: 1000px;--auth-card-w: 360px;--auth-card-top: 8vh;--campaign-card-min-w: 240px;--campaign-desc-max-h: 60px;--campaign-section-min-w: 320px;--sheet-paper: var(--palette-parchment-100);--sheet-paper-2: var(--palette-parchment-200);--sheet-rule: var(--palette-parchment-300);--sheet-ink: var(--palette-sepia-900);--sheet-ink-dim: var(--palette-sepia-600);--sheet-accent: var(--palette-oxblood-700);--sheet-accent-text: var(--palette-white);--sheet-gold: var(--palette-bronze-600);--sheet-input-bg: color-mix(in srgb, var(--palette-white) 55%, transparent);--sheet-input-border: var(--palette-parchment-300);--sheet-focus: var(--palette-oxblood-700);--sheet-box-bg: color-mix(in srgb, var(--palette-white) 35%, transparent);--sheet-header-tint: color-mix(in srgb, var(--palette-oxblood-700) 14%, transparent);--sheet-roll-hover: color-mix(in srgb, var(--palette-oxblood-700) 12%, transparent);--sheet-good: var(--palette-forest-600);--sheet-warn: var(--palette-orange-500);--sheet-bad: var(--palette-red-700);--sheet-slot: var(--palette-sky-700);--sheet-badge-conc: var(--palette-slate-600);--sheet-badge-ritual: var(--palette-violet-600);--sheet-coin-cp: var(--palette-copper-600);--sheet-coin-sp: var(--palette-silver-500);--sheet-coin-ep: var(--palette-electrum-600);--sheet-coin-gp: var(--palette-bronze-600);--sheet-coin-pp: var(--palette-platinum-600);--sheet-drop-outline: var(--palette-blue-500);--sheet-shadow: 0 1px 2px rgb(0 0 0 / .18);--sheet-tabbar-bg: var(--palette-parchment-200);--statblock-bg: var(--palette-parchment-100);--statblock-text: var(--palette-sepia-900);--statblock-heading: var(--palette-vermilion-800);--statblock-rule: var(--palette-vermilion-800);--statblock-label: var(--palette-vermilion-800);--statblock-shadow: var(--shadow-1);--statblock-token-size: 80px;--compendium-cr-bg: color-mix(in srgb, var(--palette-red-600) 30%, transparent);--compendium-cr-text: var(--palette-red-300);--compendium-level-bg: color-mix(in srgb, var(--palette-purple-600) 28%, transparent);--compendium-level-text: var(--palette-purple-300);--map-void: var(--palette-ink-850);--map-page: #c4cad3;--map-grid-default: var(--palette-black);--map-selection: var(--palette-blue-500);--map-selection-fill: color-mix(in srgb, var(--palette-blue-500) 12%, transparent);--map-turn-ring: var(--palette-gold-400);--map-token-fallback: var(--palette-red-600);--map-token-initials: var(--palette-white);--map-name-bg: rgb(0 0 0 / .65);--map-name-text: var(--palette-white);--map-bar-bg: rgb(0 0 0 / .55);--map-bar-1: var(--palette-green-600);--map-bar-2: var(--palette-blue-500);--map-bar-3: var(--palette-red-600);--map-darkness: var(--palette-black);--map-explored: rgb(0 0 0 / .6);--map-fog-player: var(--palette-black);--map-fog-gm: rgb(0 0 0 / .5);--map-wall: var(--palette-blue-500);--map-door-closed: var(--palette-orange-500);--map-door-open: var(--palette-green-400);--map-light-default: #ffeeaa;--map-ruler-label-bg: rgb(0 0 0 / .75);--map-ruler-label-text: var(--palette-white);--map-ghost-opacity: .45;--map-template-opacity: .15;--map-gm-layer-opacity: .5;--map-aura-opacity: .25;--map-token-outline: rgb(0 0 0 / .6);--map-selection-dash: var(--palette-blue-500);--map-transformer-anchor: var(--palette-white);--map-turn-ring-glow: 12;--map-ghost-outline: var(--palette-white);--map-image-placeholder: var(--palette-ink-400);--map-label-outline: var(--palette-black);--map-ruler-parchment: #f1e3c2;--map-ruler-ink: #3a2414;--map-ruler-fantasy-font: var(--font-sans);--map-wall-selected: var(--palette-white);--map-wall-shadow: var(--palette-black);--map-wall-vertex: var(--palette-white);--map-door-handle-bg: rgb(20 20 26 / .9);--map-fog-reveal-draft: color-mix(in srgb, var(--palette-blue-300) 25%, transparent);--map-fog-reveal-draft-stroke: var(--palette-blue-300);--map-fog-hide-draft: rgb(0 0 0 / .5);--map-fog-hide-draft-stroke: var(--palette-ink-400);--map-marker-bg: rgb(0 0 0 / .6);--map-marker-icon: var(--palette-white);--map-marker-red: var(--palette-red-600);--map-marker-blue: var(--palette-blue-500);--map-marker-green: var(--palette-green-600);--map-marker-yellow: var(--palette-gold-400);--map-marker-purple: var(--palette-purple-600);--map-explored-darkness: .55;--map-dim-darkness: .4;--map-gm-darkness-opacity: .55;--map-gm-fog-opacity: .5;--map-gm-layer-active-opacity: .85;--map-gm-foreground-opacity: .6;--map-ruler-width: 4;--map-wall-width: 3;--map-layer-gm-accent: var(--palette-purple-600);--map-layer-foreground-accent: var(--palette-gold-400);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: var(--font-sans);--font-display: var(--font-sans);--font-title: "Cinzel", Georgia, serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 17px;--font-size-xl: 22px;--font-size-display: 34px;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 24px;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-round: 999px;--topbar-h: 48px;--dice-fab-clear: 64px;--sheet-jump-h: 56px;--page-max-w: 1280px;--auth-card-w: 380px;--sheet-col-w: 300px;--sheet-skills-w: 260px;--sidebar-w: 260px;--card-min-w: 260px;--builder-max-w: 1080px;--builder-col-min: 300px;--builder-field-min: 160px;--builder-option-min: 220px;--builder-stepper-min: 150px;--builder-ability-min: 120px;--builder-stat-min: 96px;--builder-name-min: 160px;--builder-list-h: 340px;--builder-num-w: 28px;--builder-num-input: 64px;--builder-dot: 8px;--lib-list-w: 500px;--lib-row-h: 34px;--lib-col-badge: 36px;--lib-col-sm: 64px;--lib-col-md: 96px;--lib-col-lg: 140px;--lib-src-w: 280px;--cu-feature-col-min: 170px;--char-portrait: 56px;--char-search-w: 220px;--char-empty-text-w: 560px;--campaign-aside-w: 320px;--campaign-title-min-w: 280px;--campaign-chat-min-w: 200px;--campaign-log-h: 420px;--campaign-speaker-w: 160px;--campaign-dice-input-w: 120px;--encounter-list-w: 240px;--encounter-side-w: 380px;--encounter-xp-w: 72px;--encounter-name-min-w: 120px;--encounter-hp-bar-w: 96px;--shadow-1: 0 2px 10px rgb(0 0 0 / .45);--shadow-2: 0 12px 40px rgb(0 0 0 / .6);--hb-page-max-w: 1600px;--hb-kinds-w: 200px;--hb-preview-w: 380px;--hb-scale-cell-w: 46px;--hb-scale-name-w: 150px;--hb-json-h: 60vh;--hb-md-h: 120px;--hb-list-max-h: 50vh;--hb-indent: 12px;--sheet-avatar: 72px;--sheet-ability-w: 80px;--sheet-ability-col: 84px;--sheet-label-col: 96px;--sheet-num-w: 56px;--sheet-num-sm: 44px;--sheet-pip: 14px;--sheet-prof-dot: 12px;--wizard-list-h: 320px;--cmp-row-h: 30px;--cmp-checked-max-h: 180px;--picker-list-h: 55vh;--topbar-h: 44px;--toolbar-w: 48px;--sidebar-w-default: 360px;--icon-button: 28px;--control-h: 26px;--control-h-sm: 24px;--avatar-sm: 20px;--avatar-md: 28px;--z-map-overlay: 10;--z-macrobar: 20;--z-window: 100;--z-topbar: 50;--z-tracker: 900;--z-menu: 15000;--z-modal: 10000;--z-toast: 20000;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--duration-press: .14s;--duration-hover: .15s;--duration-tooltip: 125ms;--duration-menu: .16s;--duration-modal: .22s;--duration-exit: .12s;color-scheme:dark}@media(pointer:coarse){:root{--control-h: 36px;--control-h-sm: 32px;--icon-button: 36px;--sheet-pip: 20px}}:root[data-theme=light]{--tpl-paper-1: var(--palette-parchment-100);--tpl-paper-2: color-mix(in srgb, var(--palette-parchment-200) 70%, var(--palette-parchment-100));--tpl-ink: var(--palette-sepia-900);--tpl-ink-dim: var(--palette-sepia-600);--tpl-label: var(--palette-vermilion-800);--tpl-edge: var(--palette-vermilion-800);--tpl-link: var(--palette-vermilion-800);--tpl-border: var(--palette-parchment-300);--tpl-frame: color-mix(in srgb, var(--palette-bronze-300) 55%, transparent);--tpl-stripe: color-mix(in srgb, var(--palette-parchment-200) 55%, transparent);--tpl-roll-bg: var(--palette-paper-50);--tpl-roll-accent: var(--palette-bronze-300);--tpl-shadow: 0 2px 10px rgb(40 25 10 / .25);--color-bg: #f1e9d6;--color-surface-1: var(--palette-parchment-100);--color-surface-2: #ece2ca;--color-surface-3: #e2d5b8;--color-surface-sunken: #d9cbab;--color-glass: color-mix(in srgb, var(--palette-parchment-100) 78%, transparent);--color-glass-strong: color-mix(in srgb, var(--palette-parchment-100) 92%, transparent);--color-border: #cbb994;--color-border-strong: #a99572;--color-text: #2a1f16;--color-text-dim: #6b5a48;--color-on-accent: var(--palette-white);--color-backdrop: rgb(30 18 8 / .35);--palette-accent-600: #a87a3a;--palette-accent-500: #8a5a1c;--palette-accent-400: #6f4714;--palette-accent-200: #5a4632;--color-accent-soft: color-mix(in srgb, var(--palette-accent-500) 12%, transparent);--color-link: var(--palette-accent-400);--color-focus: var(--palette-accent-500);--color-danger: var(--palette-red-700);--glow-accent: 0 0 0 1px var(--color-accent-line), 0 0 14px color-mix(in srgb, var(--palette-accent-500) 18%, transparent);--edge-highlight: inset 0 1px 0 color-mix(in srgb, var(--palette-white) 80%, transparent);--fx-ink: var(--palette-accent-200);--fx-accent: var(--palette-accent-500);--fx-gold: #a87a1c;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #e6dbc3 80%, transparent) 100%);--table-bg: #ece3cf;--table-ink: #3a2b1d;--table-dice: #946512;--table-fumble: #b3311c;--table-water: #4f86b3;--table-forest: #4f8a57;--table-hills: #a08a3e;--table-mountain: #85776b;--chat-system-bg: #ece2ca;--chat-desc-text: var(--palette-sepia-900);--chat-emote-text: #8a6d00;--chat-inline-roll-bg: #e2d5b8;--chat-whisper-text: oklch(from var(--chat-whisper-hue) .45 .13 h);--chat-whisper-bg: color-mix(in srgb, var(--chat-whisper-hue) 14%, transparent);--color-crit: var(--palette-green-600);--color-fumble: var(--palette-red-600);--roll-card-bg: var(--palette-parchment-100);--roll-die-bg: var(--color-surface-2);--roll-total-bg: var(--color-surface-2);--macrobar-bg: color-mix(in srgb, var(--palette-parchment-100) 92%, transparent);--map-void: #d6c9ad;--map-page: #ffffff;--shadow-1: 0 2px 8px rgb(40 25 10 / .14);--shadow-2: 0 10px 34px rgb(40 25 10 / .2);--compendium-cr-text: var(--palette-red-700);--compendium-level-text: var(--palette-violet-600);--statblock-shadow: var(--shadow-1);color-scheme:light}:root[data-palette=sage]{--palette-ink-950: #0d120f;--palette-ink-900: #131915;--palette-ink-850: #19211c;--palette-ink-800: #202a23;--palette-ink-750: #28342c;--palette-ink-700: #394a3f;--palette-ink-600: #4f6455;--palette-ink-400: #9aad9f;--palette-ink-100: #e3eadf;--palette-accent-600: #6f9369;--palette-accent-500: #8fb389;--palette-accent-400: #b0cfa7;--palette-accent-200: #dbe9d3;--color-backdrop: rgb(4 10 6 / .7);--fx-gold: #d8c98a;--table-bg: #1d241f;--table-ink: #dfe7d8;--table-dice: #c9b26a;--table-fumble: #e47c6e;--table-water: #5f93a6;--table-forest: #6a9a68;--table-hills: #a5a06a;--table-mountain: #8a8f84;--tpl-paper-1: #27322b;--tpl-paper-2: #1f2822;--tpl-ink: #e3eadf;--tpl-ink-dim: #a9b8aa;--tpl-label: #cdbd7e;--tpl-edge: #9cc28f;--tpl-link: #b0cfa7;--tpl-border: #3f5145;--tpl-frame: color-mix(in srgb, #cdbd7e 30%, transparent);--tpl-stripe: color-mix(in srgb, #e3eadf 5%, transparent);--tpl-roll-bg: #161d18;--tpl-roll-accent: #cdbd7e}:root[data-palette=sage][data-theme=light]{--palette-accent-600: #6b8f65;--palette-accent-500: #4c7150;--palette-accent-400: #3a5a3e;--palette-accent-200: #3f5a45;--color-bg: #ecf0e7;--color-surface-1: #f8faf5;--color-surface-2: #e5eadf;--color-surface-3: #d8e0d0;--color-surface-sunken: #ccd6c3;--color-glass: color-mix(in srgb, #f8faf5 78%, transparent);--color-glass-strong: color-mix(in srgb, #f8faf5 92%, transparent);--color-border: #bccab4;--color-border-strong: #97a98f;--color-text: #1d2920;--color-text-dim: #5a6a5d;--color-backdrop: rgb(10 24 14 / .35);--fx-gold: #9a8a3a;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #dfe7d8 80%, transparent) 100%);--table-bg: #e7ede1;--table-ink: #26352a;--table-dice: #8a7420;--table-fumble: #b0402c;--table-water: #4a7f9a;--table-forest: #4a7f4c;--table-hills: #8f8a45;--table-mountain: #7a8075;--chat-system-bg: #e5eadf;--chat-inline-roll-bg: #d8e0d0;--roll-card-bg: #f8faf5;--macrobar-bg: color-mix(in srgb, #f8faf5 92%, transparent);--map-void: #cbd5c2;--shadow-1: 0 2px 8px rgb(15 30 18 / .14);--shadow-2: 0 10px 34px rgb(15 30 18 / .2);--tpl-paper-1: #f7f9f2;--tpl-paper-2: #e8eedf;--tpl-ink: #1d2920;--tpl-ink-dim: #5a6a5d;--tpl-label: #3d6b45;--tpl-edge: #3d6b45;--tpl-link: #3d6b45;--tpl-border: #c3cfba;--tpl-frame: color-mix(in srgb, #8fb389 60%, transparent);--tpl-stripe: color-mix(in srgb, #dce6d2 60%, transparent);--tpl-roll-bg: #fdfefb;--tpl-roll-accent: #8fb389;--tpl-shadow: 0 2px 10px rgb(15 30 18 / .2)}:root[data-palette=tech]{--palette-ink-950: #0b0c10;--palette-ink-900: #16171d;--palette-ink-850: #1e2028;--palette-ink-800: #272a35;--palette-ink-750: #323644;--palette-ink-700: #3a3f4f;--palette-ink-600: #4c5266;--palette-ink-400: #9aa0b4;--palette-ink-100: #e8e9ee;--palette-accent-600: #2b8fd6;--palette-accent-500: #3fa9f5;--palette-accent-400: #6ec3ff;--palette-accent-200: #a6d8f5;--color-backdrop: rgb(0 0 0 / .6);--fx-accent: #5ad2e1;--fx-gold: #d9b46a;--table-bg: #1a1d26;--table-ink: #dde2ec;--table-dice: #6ec3ff;--table-fumble: #ff7b72;--table-water: #4f8fd0;--table-forest: #4f9a7a;--table-hills: #8f95a8;--table-mountain: #7d8598;--tpl-paper-1: #222632;--tpl-paper-2: #1a1d27;--tpl-ink: #e8e9ee;--tpl-ink-dim: #9aa0b4;--tpl-label: #6ec3ff;--tpl-edge: #3fa9f5;--tpl-link: #6ec3ff;--tpl-border: #3a3f4f;--tpl-frame: color-mix(in srgb, #3fa9f5 30%, transparent);--tpl-stripe: color-mix(in srgb, #e8e9ee 4%, transparent);--tpl-roll-bg: #13151b;--tpl-roll-accent: #3fa9f5}:root[data-palette=tech][data-theme=light]{--palette-accent-600: #3f8fd0;--palette-accent-500: #1f6fb8;--palette-accent-400: #175a96;--palette-accent-200: #3b4a63;--color-bg: #eff2f6;--color-surface-1: #ffffff;--color-surface-2: #e7ebf1;--color-surface-3: #dbe1ea;--color-surface-sunken: #d0d7e1;--color-glass: color-mix(in srgb, #ffffff 78%, transparent);--color-glass-strong: color-mix(in srgb, #ffffff 92%, transparent);--color-border: #c3cad6;--color-border-strong: #9ea7b6;--color-text: #1a1d24;--color-text-dim: #5c6475;--color-backdrop: rgb(0 0 0 / .35);--fx-accent: var(--palette-accent-500);--fx-gold: #9a7a2a;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #dfe5ee 80%, transparent) 100%);--table-bg: #e8ecf2;--table-ink: #222838;--table-dice: #1f6fb8;--table-fumble: #b3311c;--table-water: #3f7fbf;--table-forest: #3f8a6a;--table-hills: #7f8698;--table-mountain: #6f7788;--chat-system-bg: #e7ebf1;--chat-inline-roll-bg: #dbe1ea;--roll-card-bg: #ffffff;--macrobar-bg: color-mix(in srgb, #ffffff 92%, transparent);--map-void: #cfd5de;--shadow-1: 0 2px 8px rgb(10 20 40 / .14);--shadow-2: 0 10px 34px rgb(10 20 40 / .2);--tpl-paper-1: #ffffff;--tpl-paper-2: #eef2f8;--tpl-ink: #1a1d24;--tpl-ink-dim: #5c6475;--tpl-label: #1f6fb8;--tpl-edge: #1f6fb8;--tpl-link: #1f6fb8;--tpl-border: #cdd4df;--tpl-frame: color-mix(in srgb, #3fa9f5 45%, transparent);--tpl-stripe: color-mix(in srgb, #e3e9f2 70%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #3fa9f5;--tpl-shadow: 0 2px 10px rgb(10 20 40 / .18)}:root[data-palette=ember]{--palette-ink-950: #0f0d0c;--palette-ink-900: #161312;--palette-ink-850: #1d1918;--palette-ink-800: #25201e;--palette-ink-750: #2e2725;--palette-ink-700: #433834;--palette-ink-600: #5c4c46;--palette-ink-400: #a8968e;--palette-ink-100: #efe4de;--palette-accent-600: #d0592a;--palette-accent-500: #f07a3a;--palette-accent-400: #ff9d5c;--palette-accent-200: #ffd2b0;--color-backdrop: rgb(10 4 2 / .7);--fx-gold: #ffc46b;--table-bg: #221b19;--table-ink: #ecdcd2;--table-dice: #ff9d5c;--table-fumble: #ff6a5c;--table-water: #5b86a8;--table-forest: #6a8a5a;--table-hills: #a88a5a;--table-mountain: #8a7d78;--tpl-paper-1: #2a2220;--tpl-paper-2: #211b19;--tpl-ink: #efe4de;--tpl-ink-dim: #b3a39b;--tpl-label: #ffb36b;--tpl-edge: #f07a3a;--tpl-link: #ff9d5c;--tpl-border: #4a3c37;--tpl-frame: color-mix(in srgb, #f07a3a 30%, transparent);--tpl-stripe: color-mix(in srgb, #efe4de 4%, transparent);--tpl-roll-bg: #171211;--tpl-roll-accent: #f07a3a}:root[data-palette=ember][data-theme=light]{--palette-accent-600: #e0703a;--palette-accent-500: #c2491a;--palette-accent-400: #9c3812;--palette-accent-200: #5a3a2c;--color-bg: #f4eeea;--color-surface-1: #fffaf7;--color-surface-2: #efe6e0;--color-surface-3: #e5d9d1;--color-surface-sunken: #dacbc1;--color-glass: color-mix(in srgb, #fffaf7 78%, transparent);--color-glass-strong: color-mix(in srgb, #fffaf7 92%, transparent);--color-border: #d2c0b5;--color-border-strong: #ad978a;--color-text: #261a16;--color-text-dim: #6e5a51;--color-backdrop: rgb(40 15 5 / .35);--fx-gold: #b8741c;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #ece2dc 80%, transparent) 100%);--table-bg: #f0e8e2;--table-ink: #3a2620;--table-dice: #b8501c;--table-fumble: #b3311c;--table-water: #4a7aa0;--table-forest: #5a7a4a;--table-hills: #9a7a3e;--table-mountain: #85776f;--chat-system-bg: #efe6e0;--chat-inline-roll-bg: #e5d9d1;--roll-card-bg: #fffaf7;--macrobar-bg: color-mix(in srgb, #fffaf7 92%, transparent);--map-void: #d9cbc2;--shadow-1: 0 2px 8px rgb(40 15 5 / .14);--shadow-2: 0 10px 34px rgb(40 15 5 / .2);--tpl-paper-1: #fffaf6;--tpl-paper-2: #f6ebe3;--tpl-ink: #261a16;--tpl-ink-dim: #6e5a51;--tpl-label: #b0401a;--tpl-edge: #c2491a;--tpl-link: #b0401a;--tpl-border: #e2d0c4;--tpl-frame: color-mix(in srgb, #f07a3a 45%, transparent);--tpl-stripe: color-mix(in srgb, #f3e4da 60%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #f07a3a;--tpl-shadow: 0 2px 10px rgb(40 15 5 / .18)}:root[data-palette=abyss]{--palette-ink-950: #050d10;--palette-ink-900: #0a1418;--palette-ink-850: #0f1b20;--palette-ink-800: #142329;--palette-ink-750: #1a2c33;--palette-ink-700: #26404a;--palette-ink-600: #365863;--palette-ink-400: #8fb0b8;--palette-ink-100: #dcecef;--palette-accent-600: #1fa8a0;--palette-accent-500: #3fd0c4;--palette-accent-400: #7ae8de;--palette-accent-200: #c4f5ef;--color-backdrop: rgb(0 6 10 / .7);--fx-gold: #b9a7ff;--table-bg: #0f1d22;--table-ink: #d6eaee;--table-dice: #7ae8de;--table-fumble: #ff7b8a;--table-water: #3f8fb8;--table-forest: #3f8f7a;--table-hills: #7f9a90;--table-mountain: #6f8790;--tpl-paper-1: #132830;--tpl-paper-2: #0e1f25;--tpl-ink: #dcecef;--tpl-ink-dim: #8fb0b8;--tpl-label: #7ae8de;--tpl-edge: #3fd0c4;--tpl-link: #7ae8de;--tpl-border: #26404a;--tpl-frame: color-mix(in srgb, #3fd0c4 30%, transparent);--tpl-stripe: color-mix(in srgb, #dcecef 4%, transparent);--tpl-roll-bg: #08151a;--tpl-roll-accent: #3fd0c4}:root[data-palette=abyss][data-theme=light]{--palette-accent-600: #2ab0a6;--palette-accent-500: #0f7f78;--palette-accent-400: #0b645e;--palette-accent-200: #2c4f56;--color-bg: #ebf3f4;--color-surface-1: #f8fcfc;--color-surface-2: #e1ecee;--color-surface-3: #d3e2e5;--color-surface-sunken: #c6d8dc;--color-glass: color-mix(in srgb, #f8fcfc 78%, transparent);--color-glass-strong: color-mix(in srgb, #f8fcfc 92%, transparent);--color-border: #b6ccd1;--color-border-strong: #8eaab1;--color-text: #102229;--color-text-dim: #4f6870;--color-backdrop: rgb(0 20 30 / .35);--fx-gold: #6a5ac0;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #dbe8eb 80%, transparent) 100%);--table-bg: #e4eef0;--table-ink: #173038;--table-dice: #0f7f78;--table-fumble: #b3314a;--table-water: #2f7fa8;--table-forest: #2f7f6a;--table-hills: #6f8a80;--table-mountain: #637a82;--chat-system-bg: #e1ecee;--chat-inline-roll-bg: #d3e2e5;--roll-card-bg: #f8fcfc;--macrobar-bg: color-mix(in srgb, #f8fcfc 92%, transparent);--map-void: #c6d6da;--shadow-1: 0 2px 8px rgb(0 25 35 / .14);--shadow-2: 0 10px 34px rgb(0 25 35 / .2);--tpl-paper-1: #f9fdfd;--tpl-paper-2: #e8f3f4;--tpl-ink: #102229;--tpl-ink-dim: #4f6870;--tpl-label: #0f6f69;--tpl-edge: #0f7f78;--tpl-link: #0f6f69;--tpl-border: #c3d8dc;--tpl-frame: color-mix(in srgb, #3fd0c4 45%, transparent);--tpl-stripe: color-mix(in srgb, #dcecef 70%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #3fd0c4;--tpl-shadow: 0 2px 10px rgb(0 25 35 / .18)}:root[data-palette=crimson]{--palette-ink-950: #100a0b;--palette-ink-900: #170f10;--palette-ink-850: #1f1415;--palette-ink-800: #281a1c;--palette-ink-750: #312023;--palette-ink-700: #4a2f33;--palette-ink-600: #654147;--palette-ink-400: #b0959a;--palette-ink-100: #f0e2e4;--palette-accent-600: #b0414b;--palette-accent-500: #d4606a;--palette-accent-400: #e48d95;--palette-accent-200: #f3cdd0;--color-backdrop: rgb(12 2 4 / .7);--fx-gold: #e8b86a;--table-bg: #221416;--table-ink: #eedcdf;--table-dice: #e48d95;--table-fumble: #e8916a;--table-water: #5b7fa8;--table-forest: #6a8a5a;--table-hills: #a88a6a;--table-mountain: #8a7a7d;--tpl-paper-1: #2b1c1f;--tpl-paper-2: #22171a;--tpl-ink: #f0e2e4;--tpl-ink-dim: #b8a0a4;--tpl-label: #e48d95;--tpl-edge: #d4606a;--tpl-link: #e48d95;--tpl-border: #4a2f33;--tpl-frame: color-mix(in srgb, #d4606a 30%, transparent);--tpl-stripe: color-mix(in srgb, #f0e2e4 4%, transparent);--tpl-roll-bg: #160e10;--tpl-roll-accent: #d4606a}:root[data-palette=crimson][data-theme=light]{--palette-accent-600: #d0505c;--palette-accent-500: #b3202f;--palette-accent-400: #8f1824;--palette-accent-200: #5a2c33;--color-bg: #f5eced;--color-surface-1: #fffafa;--color-surface-2: #f1e5e7;--color-surface-3: #e7d8db;--color-surface-sunken: #dccbce;--color-glass: color-mix(in srgb, #fffafa 78%, transparent);--color-glass-strong: color-mix(in srgb, #fffafa 92%, transparent);--color-border: #d4bcc0;--color-border-strong: #ae9398;--color-text: #2a1518;--color-text-dim: #725a5e;--color-backdrop: rgb(40 5 10 / .35);--fx-gold: #a8741c;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #eee0e2 80%, transparent) 100%);--table-bg: #f2e8ea;--table-ink: #3a1f23;--table-dice: #b3202f;--table-fumble: #c25a1c;--table-water: #4a70a0;--table-forest: #5a7a4a;--table-hills: #9a7a4e;--table-mountain: #85767a;--chat-system-bg: #f1e5e7;--chat-inline-roll-bg: #e7d8db;--roll-card-bg: #fffafa;--macrobar-bg: color-mix(in srgb, #fffafa 92%, transparent);--map-void: #dccbce;--shadow-1: 0 2px 8px rgb(40 5 10 / .14);--shadow-2: 0 10px 34px rgb(40 5 10 / .2);--tpl-paper-1: #fffafa;--tpl-paper-2: #f8eced;--tpl-ink: #2a1518;--tpl-ink-dim: #725a5e;--tpl-label: #a01c2a;--tpl-edge: #b3202f;--tpl-link: #a01c2a;--tpl-border: #e6d0d3;--tpl-frame: color-mix(in srgb, #e04b59 45%, transparent);--tpl-stripe: color-mix(in srgb, #f5e3e6 60%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #e04b59;--tpl-shadow: 0 2px 10px rgb(40 5 10 / .18)}:root[data-palette=amethyst]{--palette-ink-950: #0f0e13;--palette-ink-900: #16141b;--palette-ink-850: #1c1923;--palette-ink-800: #24202c;--palette-ink-750: #2c2735;--palette-ink-700: #3e3749;--palette-ink-600: #554c63;--palette-ink-400: #a49cb2;--palette-ink-100: #e6e2ec;--palette-accent-600: #8a6cc0;--palette-accent-500: #a68ad8;--palette-accent-400: #c0a9e6;--palette-accent-200: #e2d8f2;--color-backdrop: rgb(8 4 14 / .7);--fx-gold: #e8c46a;--table-bg: #1d1a23;--table-ink: #e4e0ea;--table-dice: #c0a9e6;--table-fumble: #e8838f;--table-water: #5b86c8;--table-forest: #5f9a7a;--table-hills: #9a8aa8;--table-mountain: #807890;--tpl-paper-1: #25212d;--tpl-paper-2: #1e1b25;--tpl-ink: #e6e2ec;--tpl-ink-dim: #a8a0b5;--tpl-label: #c0a9e6;--tpl-edge: #a68ad8;--tpl-link: #c0a9e6;--tpl-border: #3e3749;--tpl-frame: color-mix(in srgb, #a68ad8 30%, transparent);--tpl-stripe: color-mix(in srgb, #e6e2ec 4%, transparent);--tpl-roll-bg: #121016;--tpl-roll-accent: #a68ad8}:root[data-palette=amethyst][data-theme=light]{--palette-accent-600: #8f78bf;--palette-accent-500: #6a4fa3;--palette-accent-400: #563f88;--palette-accent-200: #3f3358;--color-bg: #f2f0f5;--color-surface-1: #fcfbfd;--color-surface-2: #ebe8f0;--color-surface-3: #e0dce7;--color-surface-sunken: #d6d1de;--color-glass: color-mix(in srgb, #fcfbfd 78%, transparent);--color-glass-strong: color-mix(in srgb, #fcfbfd 92%, transparent);--color-border: #cbc4d6;--color-border-strong: #a39bb2;--color-text: #1f1a2a;--color-text-dim: #625a72;--color-backdrop: rgb(20 5 40 / .35);--fx-gold: #9a7a2a;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #e8e5ed 80%, transparent) 100%);--table-bg: #edeaf1;--table-ink: #2a2238;--table-dice: #6a4fa3;--table-fumble: #b3314a;--table-water: #3f6fb8;--table-forest: #3f8a6a;--table-hills: #7f7398;--table-mountain: #6f6880;--chat-system-bg: #ebe8f0;--chat-inline-roll-bg: #e0dce7;--roll-card-bg: #fcfbfd;--macrobar-bg: color-mix(in srgb, #fcfbfd 92%, transparent);--map-void: #d6d1de;--shadow-1: 0 2px 8px rgb(20 5 40 / .14);--shadow-2: 0 10px 34px rgb(20 5 40 / .2);--tpl-paper-1: #fdfbff;--tpl-paper-2: #f1eef5;--tpl-ink: #1f1a2a;--tpl-ink-dim: #625a72;--tpl-label: #5b4594;--tpl-edge: #6a4fa3;--tpl-link: #5b4594;--tpl-border: #dcd7e4;--tpl-frame: color-mix(in srgb, #a68ad8 45%, transparent);--tpl-stripe: color-mix(in srgb, #ebe7f0 70%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #a68ad8;--tpl-shadow: 0 2px 10px rgb(20 5 40 / .18)}:root[data-palette=slate]{--palette-ink-950: #0c0d0f;--palette-ink-900: #131518;--palette-ink-850: #191c20;--palette-ink-800: #212429;--palette-ink-750: #292d33;--palette-ink-700: #3a3f47;--palette-ink-600: #50565f;--palette-ink-400: #9ba1aa;--palette-ink-100: #e6e8eb;--palette-accent-600: #7c8ba1;--palette-accent-500: #a3b1c4;--palette-accent-400: #c5d0de;--palette-accent-200: #e3e9f0;--color-backdrop: rgb(0 0 0 / .65);--fx-gold: #c9b27a;--table-bg: #1b1e22;--table-ink: #dfe2e6;--table-dice: #c5d0de;--table-fumble: #e0796f;--table-water: #5f86a8;--table-forest: #66896f;--table-hills: #8f8f80;--table-mountain: #7d828a;--tpl-paper-1: #23272c;--tpl-paper-2: #1c1f23;--tpl-ink: #e6e8eb;--tpl-ink-dim: #9ba1aa;--tpl-label: #c5d0de;--tpl-edge: #a3b1c4;--tpl-link: #c5d0de;--tpl-border: #3a3f47;--tpl-frame: color-mix(in srgb, #a3b1c4 30%, transparent);--tpl-stripe: color-mix(in srgb, #e6e8eb 4%, transparent);--tpl-roll-bg: #111316;--tpl-roll-accent: #a3b1c4}:root[data-palette=slate][data-theme=light]{--palette-accent-600: #6b7b92;--palette-accent-500: #475569;--palette-accent-400: #334155;--palette-accent-200: #334155;--color-bg: #eef0f2;--color-surface-1: #fcfcfd;--color-surface-2: #e9ecef;--color-surface-3: #dee2e6;--color-surface-sunken: #d3d8dd;--color-glass: color-mix(in srgb, #fcfcfd 78%, transparent);--color-glass-strong: color-mix(in srgb, #fcfcfd 92%, transparent);--color-border: #c6ccd3;--color-border-strong: #9aa3ad;--color-text: #1b1f24;--color-text-dim: #5b636d;--color-backdrop: rgb(10 15 20 / .35);--fx-gold: #8a7a3a;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #e2e6ea 80%, transparent) 100%);--table-bg: #e9ecef;--table-ink: #252a31;--table-dice: #475569;--table-fumble: #b3311c;--table-water: #3f6f9a;--table-forest: #4a7a5a;--table-hills: #7a7a6a;--table-mountain: #6b727b;--chat-system-bg: #e9ecef;--chat-inline-roll-bg: #dee2e6;--roll-card-bg: #fcfcfd;--macrobar-bg: color-mix(in srgb, #fcfcfd 92%, transparent);--map-void: #d3d8dd;--shadow-1: 0 2px 8px rgb(10 15 20 / .14);--shadow-2: 0 10px 34px rgb(10 15 20 / .2);--tpl-paper-1: #ffffff;--tpl-paper-2: #eef1f4;--tpl-ink: #1b1f24;--tpl-ink-dim: #5b636d;--tpl-label: #334155;--tpl-edge: #475569;--tpl-link: #334155;--tpl-border: #d3d9df;--tpl-frame: color-mix(in srgb, #a3b1c4 50%, transparent);--tpl-stripe: color-mix(in srgb, #e6eaee 70%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #94a3b8;--tpl-shadow: 0 2px 10px rgb(10 15 20 / .18)}:root[data-palette=code]{--palette-ink-950: #1b1d23;--palette-ink-900: #21252b;--palette-ink-850: #282c34;--palette-ink-800: #2f343e;--palette-ink-750: #353b45;--palette-ink-700: #3e4451;--palette-ink-600: #4b5263;--palette-ink-400: #7f848e;--palette-ink-100: #abb2bf;--palette-accent-600: #3f9aa6;--palette-accent-500: #56b6c2;--palette-accent-400: #7fcbd4;--palette-accent-200: #c2e6eb;--color-backdrop: rgb(0 0 0 / .6);--fx-accent: #c678dd;--fx-gold: #e5c07b;--table-bg: #252930;--table-ink: #abb2bf;--table-dice: #e5c07b;--table-fumble: #e06c75;--table-water: #61afef;--table-forest: #98c379;--table-hills: #d19a66;--table-mountain: #7f848e;--tpl-paper-1: #2f343e;--tpl-paper-2: #262a32;--tpl-ink: #abb2bf;--tpl-ink-dim: #7f848e;--tpl-label: #e06c75;--tpl-edge: #56b6c2;--tpl-link: #61afef;--tpl-border: #3e4451;--tpl-frame: color-mix(in srgb, #56b6c2 30%, transparent);--tpl-stripe: color-mix(in srgb, #abb2bf 4%, transparent);--tpl-roll-bg: #1e2227;--tpl-roll-accent: #98c379}:root[data-palette=code][data-theme=light]{--palette-accent-600: #4fb3b9;--palette-accent-500: #179299;--palette-accent-400: #117a80;--palette-accent-200: #2c5a5e;--color-bg: #e6e9ef;--color-surface-1: #eff1f5;--color-surface-2: #e6e9ef;--color-surface-3: #dce0e8;--color-surface-sunken: #ccd0da;--color-glass: color-mix(in srgb, #eff1f5 78%, transparent);--color-glass-strong: color-mix(in srgb, #eff1f5 92%, transparent);--color-border: #bcc0cc;--color-border-strong: #9ca0b0;--color-text: #4c4f69;--color-text-dim: #6c6f85;--color-backdrop: rgb(76 79 105 / .3);--fx-accent: #8839ef;--fx-gold: #df8e1d;--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #dce0e8 80%, transparent) 100%);--table-bg: #e6e9ef;--table-ink: #4c4f69;--table-dice: #8839ef;--table-fumble: #d20f39;--table-water: #1e66f5;--table-forest: #40a02b;--table-hills: #df8e1d;--table-mountain: #8c8fa1;--chat-system-bg: #e6e9ef;--chat-inline-roll-bg: #dce0e8;--roll-card-bg: #eff1f5;--macrobar-bg: color-mix(in srgb, #eff1f5 92%, transparent);--map-void: #dce0e8;--map-page: #eff1f5;--shadow-1: 0 2px 8px rgb(76 79 105 / .14);--shadow-2: 0 10px 34px rgb(76 79 105 / .2);--tpl-paper-1: #eff1f5;--tpl-paper-2: #e6e9ef;--tpl-ink: #4c4f69;--tpl-ink-dim: #6c6f85;--tpl-label: #d20f39;--tpl-edge: #179299;--tpl-link: #1e66f5;--tpl-border: #ccd0da;--tpl-frame: color-mix(in srgb, #179299 40%, transparent);--tpl-stripe: color-mix(in srgb, #dce0e8 70%, transparent);--tpl-roll-bg: #eff1f5;--tpl-roll-accent: #40a02b;--tpl-shadow: 0 2px 10px rgb(76 79 105 / .16)}:root[data-palette=cyberpunk]{--palette-ink-950: #08080f;--palette-ink-900: #0e0d17;--palette-ink-850: #14131f;--palette-ink-800: #1b1928;--palette-ink-750: #221f31;--palette-ink-700: #332e4a;--palette-ink-600: #463f62;--palette-ink-400: #9c97b8;--palette-ink-100: #e4e2ef;--palette-accent-600: #8a55d0;--palette-accent-500: #a370ec;--palette-accent-400: #c19df3;--palette-accent-200: #e4d7f8;--color-backdrop: rgb(4 2 14 / .72);--fx-accent: #5cd0e2;--fx-gold: #e8d67e;--glow-accent: 0 0 0 1px var(--color-accent-line), 0 0 16px color-mix(in srgb, #a370ec 28%, transparent), 0 0 6px color-mix(in srgb, #5cd0e2 14%, transparent);--table-bg: #12111c;--table-ink: #e4e2ef;--table-dice: #5cd0e2;--table-fumble: #ec6c90;--table-water: #4a86e0;--table-forest: #4fc4a0;--table-hills: #8f7fd0;--table-mountain: #6b6890;--tpl-paper-1: #1b1928;--tpl-paper-2: #14131f;--tpl-ink: #e4e2ef;--tpl-ink-dim: #a29dbd;--tpl-label: #5cd0e2;--tpl-edge: #a370ec;--tpl-link: #5cd0e2;--tpl-border: #332e4a;--tpl-frame: color-mix(in srgb, #a370ec 30%, transparent);--tpl-stripe: color-mix(in srgb, #e4e2ef 4%, transparent);--tpl-roll-bg: #0b0a13;--tpl-roll-accent: #5cd0e2}:root[data-palette=cyberpunk][data-theme=light]{--palette-accent-600: #9a6ad8;--palette-accent-500: #6d3fb8;--palette-accent-400: #5a3299;--palette-accent-200: #3b2a5e;--color-bg: #f1f0f6;--color-surface-1: #fcfcfe;--color-surface-2: #ebe9f2;--color-surface-3: #e0deeb;--color-surface-sunken: #d6d3e4;--color-glass: color-mix(in srgb, #fcfcfe 78%, transparent);--color-glass-strong: color-mix(in srgb, #fcfcfe 92%, transparent);--color-border: #c9c5dc;--color-border-strong: #9e99bd;--color-text: #1a1433;--color-text-dim: #5d5585;--color-backdrop: rgb(20 10 50 / .35);--fx-accent: #0891b2;--fx-gold: #a16207;--glow-accent: 0 0 0 1px var(--color-accent-line), 0 0 14px color-mix(in srgb, var(--palette-accent-500) 18%, transparent);--fx-vignette: radial-gradient(ellipse 120% 90% at 50% 20%, transparent 0%, color-mix(in srgb, #e7e5f0 80%, transparent) 100%);--table-bg: #ebe9f2;--table-ink: #241c45;--table-dice: #0891b2;--table-fumble: #c2416b;--table-water: #2563eb;--table-forest: #0f9f78;--table-hills: #7a6fb0;--table-mountain: #6b6890;--chat-system-bg: #ebe9f2;--chat-inline-roll-bg: #e0deeb;--roll-card-bg: #fcfcfe;--macrobar-bg: color-mix(in srgb, #fcfcfe 92%, transparent);--map-void: #d6d3e4;--shadow-1: 0 2px 8px rgb(20 10 50 / .14);--shadow-2: 0 10px 34px rgb(20 10 50 / .2);--tpl-paper-1: #fdfcff;--tpl-paper-2: #f2f0f8;--tpl-ink: #1a1433;--tpl-ink-dim: #5d5585;--tpl-label: #0e7490;--tpl-edge: #6d3fb8;--tpl-link: #0e7490;--tpl-border: #dedbea;--tpl-frame: color-mix(in srgb, #a370ec 45%, transparent);--tpl-stripe: color-mix(in srgb, #ecebf4 70%, transparent);--tpl-roll-bg: #ffffff;--tpl-roll-accent: #a370ec;--tpl-shadow: 0 2px 10px rgb(20 10 50 / .18)}@layer components{*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}a{color:var(--color-link)}button,input,select,textarea{font:inherit;color:inherit}input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file]),select,textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-width:0;transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease}@media(pointer:coarse){input:where(:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file])),select{min-height:var(--control-h);font-size:max(16px,1em)}input:where([type=checkbox],[type=radio]){width:20px;height:20px}}input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file]):hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-focus);box-shadow:var(--glow-accent)}:focus-visible{outline:1px solid var(--color-focus);outline-offset:1px}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--color-accent)}::selection{background:var(--color-accent-line)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}textarea{resize:vertical}input[type=number]{width:70px}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-3) 0}.row{display:flex;align-items:center;gap:var(--space-3)}.col{display:flex;flex-direction:column;gap:var(--space-3)}.grow{flex:1;min-width:0}.spacer{flex:1}.wrap{flex-wrap:wrap}.scroll{overflow:auto}.centered{align-items:center}.dim{color:var(--color-text-dim)}.small{font-size:var(--font-size-sm)}.danger-text{color:var(--color-danger)}.card{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--edge-highlight);padding:var(--space-5)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2);box-shadow:var(--edge-highlight);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-hover) ease,border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease,color var(--duration-hover) ease,transform var(--duration-press) var(--ease-out);-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:scale(.97)}.btn>.avatar{margin-block:calc(-1 * var(--space-2))}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-strong)}}.btn:disabled{cursor:default;box-shadow:none;background:var(--color-surface-1);color:var(--color-text-dim)}.btn.primary:disabled{background:color-mix(in srgb,var(--color-accent) 30%,var(--color-surface-2));border-color:color-mix(in srgb,var(--color-accent) 30%,var(--color-surface-2));color:var(--color-text-dim)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}@media(hover:hover)and (pointer:fine){.btn.primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong);box-shadow:var(--glow-accent)}}.btn.danger{color:var(--color-danger)}@media(hover:hover)and (pointer:fine){.btn.danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}@media(hover:hover)and (pointer:fine){.btn.ghost:hover:not(:disabled){background:var(--color-accent-soft)}}.btn.small{min-height:var(--control-h-sm);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.btn.icon{padding:var(--space-2);min-width:var(--icon-button)}.btn.active{background:var(--color-accent-soft);border-color:var(--color-accent-line);color:var(--color-accent-strong);box-shadow:inset 0 0 12px var(--color-accent-soft)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field>label,.label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--color-text-dim)}.color-input{width:var(--icon-button);height:var(--icon-button);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0}.color-input:disabled{opacity:.5;cursor:default}.color-picker{display:flex;flex-direction:column;gap:var(--space-3)}.color-picker-grid{display:grid;grid-template-columns:repeat(12,18px);gap:3px}.color-chip{width:18px;height:18px;padding:0;border:1px solid rgb(0 0 0 / .25);border-radius:3px;cursor:pointer}@media(hover:hover)and (pointer:fine){.color-chip{transition:transform var(--duration-press) var(--ease-out)}.color-chip:hover{transform:scale(1.15)}}.color-chip.is-selected{outline:2px solid var(--color-accent);outline-offset:1px}.color-picker-hex{display:flex;align-items:center;gap:var(--space-2)}.color-picker-hex .color-chip{width:24px;height:24px;cursor:default;transform:none}.color-picker-hex input{flex:1;min-width:0;font-family:var(--font-mono)}.toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm)}.modal-backdrop{position:fixed;inset:0;background:var(--color-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-modal)}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);background:var(--color-surface-1);border:1px solid var(--color-border-strong);border-top-color:var(--color-accent-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2),var(--edge-highlight);min-width:340px;max-width:min(92vw,720px);max-height:90vh;display:flex;flex-direction:column}.modal.wide{width:min(92vw,960px);max-width:min(92vw,960px)}.menu-anchor{position:fixed;width:0;height:0}.menu,.popover{background:var(--color-glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-2);z-index:var(--z-menu)}.menu{padding:var(--space-2);min-width:180px}.popover{padding:var(--space-4);max-width:calc(100vw - 2 * var(--space-2))}.menu-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);white-space:nowrap;outline:none}@media(pointer:coarse){.menu-item{min-height:var(--control-h)}}.menu-item[data-highlighted]{background:var(--color-accent-soft);color:var(--color-accent-strong)}.menu-item[data-disabled]{opacity:.5;cursor:default}.menu-item.danger{color:var(--color-danger)}.menu-item.danger[data-highlighted]{background:var(--color-danger-soft);color:var(--color-danger)}.menu-item-chevron{color:var(--color-text-dim);font-size:var(--font-size-sm)}.menu-sep{border-top:1px solid var(--color-border);margin:var(--space-2) 0}.tooltip{background:var(--color-surface-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);box-shadow:var(--shadow-1);z-index:var(--z-menu);max-width:320px}.tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);flex-shrink:0;overflow-x:auto;scrollbar-width:none;container-type:inline-size}.tabs::-webkit-scrollbar{display:none}.tab{transition:color var(--duration-hover) ease,border-color var(--duration-hover) ease;padding:var(--space-3) var(--space-4);cursor:pointer;color:var(--color-text-dim);border:none;border-bottom:2px solid transparent;background:none;white-space:nowrap;-webkit-user-select:none;user-select:none}@container (max-width: 380px){.tab{padding-inline:var(--space-3)}}@media(hover:hover)and (pointer:fine){.tab:hover{color:var(--color-text)}}.tab.active,.tab[data-state=active]{color:var(--color-accent-strong);border-bottom-color:var(--color-accent-strong);background:linear-gradient(to top,var(--color-accent-soft),transparent 70%)}.tab.unread{color:var(--color-accent-strong)}.tab.unread svg{filter:drop-shadow(0 0 4px var(--color-accent));animation:tab-unread-pulse 1.6s ease-in-out infinite}@keyframes tab-unread-pulse{50%{filter:drop-shadow(0 0 1px var(--color-accent));opacity:.7}}@media(prefers-reduced-motion:reduce){.tab.unread svg{animation:none}}.tab-content{min-height:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600;border:1px solid var(--color-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-3);color:var(--color-text-dim)}.badge.accent,.badge.gm{background:linear-gradient(var(--color-accent-soft),var(--color-accent-soft)),var(--color-surface-2);border-color:var(--color-accent-line);color:var(--color-accent-strong)}.badge.warning{border-color:var(--color-warning);background:var(--color-warning);color:var(--color-on-accent)}.badge.success{border-color:var(--color-success);background:var(--color-success);color:var(--color-on-accent)}.offline-banner{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-warning);background:linear-gradient(color-mix(in srgb,var(--color-warning) 16%,transparent),color-mix(in srgb,var(--color-warning) 16%,transparent)),var(--color-surface-2);color:var(--color-text);font-size:var(--font-size-sm);text-align:center}.empty{color:var(--color-text-dim);text-align:center;padding:var(--space-6) var(--space-4)}.toasts{position:fixed;bottom:var(--space-5);left:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:var(--z-toast);pointer-events:none}.toast{max-width:min(36rem,100%);background:var(--color-glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-strong);border-left:2px solid var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-2);transition:opacity .3s ease,transform .3s var(--ease-out)}@starting-style{.toast{opacity:0;transform:translateY(100%)}}@media(max-width:760px){.toasts{bottom:calc(var(--space-5) + var(--dice-fab-clear))}}.toast.error{border-left-color:var(--color-danger)}.avatar{width:var(--avatar-md);height:var(--avatar-md);border-radius:var(--radius-round);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);color:var(--color-on-data);flex-shrink:0;background-size:cover;background-position:center;border:2px solid transparent}.avatar.sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:var(--font-size-xs)}.avatar.offline{opacity:.4}.list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.list-item:hover{background:var(--color-accent-soft)}}.virtual-list{overflow:auto;min-height:0;flex:1}.markdown p{margin:0 0 var(--space-3)}.markdown p:last-child{margin-bottom:0}.markdown table{border-collapse:collapse}.markdown th,.markdown td{border:1px solid var(--color-border);padding:var(--space-1) var(--space-3)}.icon{flex-shrink:0;vertical-align:-.15em}.tab{display:inline-flex;align-items:center;gap:var(--space-2)}.tab .icon{font-size:var(--font-size-lg)}}@layer components{.modal-backdrop[data-state=open]{animation:hk-fade-in var(--duration-modal) var(--ease-out)}.modal-backdrop[data-state=closed]{animation:hk-fade-out var(--duration-exit) ease-in}.modal[data-state=open]{animation:hk-modal-in var(--duration-modal) var(--ease-out)}.modal[data-state=closed]{animation:hk-modal-out var(--duration-exit) ease-in}.menu{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.popover{transform-origin:var(--radix-popover-content-transform-origin)}.tooltip{transform-origin:var(--radix-tooltip-content-transform-origin)}.menu[data-state=open],.popover[data-state=open]{animation:hk-pop-in var(--duration-menu) var(--ease-out)}.menu[data-state=closed],.popover[data-state=closed]{animation:hk-pop-out var(--duration-exit) ease-in}.tooltip[data-state=delayed-open]{animation:hk-tooltip-in var(--duration-tooltip) var(--ease-out)}.tooltip[data-state=closed]{animation:hk-fade-out var(--duration-exit) ease-in}@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled){transform:none}.modal[data-state=open],.menu[data-state=open],.popover[data-state=open],.tooltip[data-state=delayed-open]{animation-name:hk-fade-in}.modal[data-state=closed],.menu[data-state=closed],.popover[data-state=closed]{animation-name:hk-fade-out}@starting-style{.toast{transform:none}}}}@keyframes hk-fade-in{0%{opacity:0}}@keyframes hk-fade-out{to{opacity:0}}@keyframes hk-modal-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}}@keyframes hk-modal-out{to{opacity:0;transform:translate(-50%,-50%) scale(.98)}}@keyframes hk-pop-in{0%{opacity:0;transform:scale(.96)}}@keyframes hk-pop-out{to{opacity:0;transform:scale(.98)}}@keyframes hk-tooltip-in{0%{opacity:0;transform:scale(.97)}}@layer components{.app{height:100%;display:grid;grid-template-rows:var(--topbar-h) minmax(0,1fr)}.topbar{display:flex;align-items:center;gap:var(--space-5);padding:0 var(--space-5);background:var(--color-surface-1);border-bottom:1px solid var(--color-border);box-shadow:var(--edge-highlight);z-index:2}.brand{font-family:var(--font-title);font-size:var(--font-size-xl);color:var(--color-accent-strong);text-decoration:none;white-space:nowrap}.topnav{display:flex;align-self:stretch;gap:var(--space-2)}.topnav-item{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);color:var(--color-text-dim);text-decoration:none;font-weight:500;box-shadow:inset 0 -2px 0 transparent;transition:color var(--duration-hover) ease,box-shadow var(--duration-hover) ease,background-color var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.topnav-item:hover{color:var(--color-text);background:var(--color-accent-soft)}}.topnav-item.is-active{color:var(--color-accent-strong);box-shadow:inset 0 -2px 0 var(--color-accent)}.demo-pill{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-1) var(--space-3);border:1px dashed var(--color-accent-line);border-radius:var(--radius-round);color:var(--color-accent-strong)}.topbar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:none;cursor:pointer;transition:background-color var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.topbar-user:hover{background:var(--color-accent-soft)}}.user-avatar{width:26px;height:26px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-round);font-size:var(--font-size-xs);font-weight:700;color:var(--color-on-data);text-shadow:0 1px 1px rgb(0 0 0 / .3)}.app-main{min-height:0}.app-main.is-scroll{overflow:auto}.app-main.is-fixed{overflow:hidden}.page{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6) 64px;display:flex;flex-direction:column;gap:var(--space-6)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.page-title{margin:0;flex:1;font-family:var(--font-title);font-weight:400;font-size:var(--font-size-display);line-height:1.1}.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.join-form{display:flex;gap:var(--space-2)}.join-form input{width:180px}.demo-callout{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-accent-line);border-radius:var(--radius-lg);background:linear-gradient(var(--color-accent-soft),var(--color-accent-soft)),var(--color-surface-1)}.demo-callout>svg{color:var(--color-accent-strong);font-size:var(--font-size-lg)}.demo-callout code{font-family:var(--font-mono);font-weight:600;color:var(--color-accent-strong)}.section-head{display:flex;align-items:center;gap:var(--space-4)}.section-title{margin:0;font-size:var(--font-size-lg);font-weight:600}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;color:var(--color-text-dim);text-decoration:none;font-size:var(--font-size-sm)}@media(hover:hover)and (pointer:fine){.back-link:hover{color:var(--color-text)}}.flip{transform:rotate(180deg)}.stretched-link{color:inherit;text-decoration:none}.stretched-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.stretched-link:focus-visible{outline:none}.stretched-link:focus-visible:after{outline:2px solid var(--color-focus);outline-offset:2px}.above-link{position:relative;z-index:1}.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.camp-card{display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight);transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease,transform var(--duration-press) var(--ease-out)}@media(hover:hover)and (pointer:fine){.camp-card:hover{border-color:var(--color-accent-line);box-shadow:var(--edge-highlight),var(--shadow-1)}}.camp-card:active{transform:scale(.99)}.camp-card-banner{position:relative;height:92px;padding:var(--space-4);display:flex;justify-content:flex-end;align-items:flex-start;background:radial-gradient(120% 140% at 15% 110%,oklch(.55 .13 var(--banner-h) / .85),transparent 60%),radial-gradient(90% 120% at 95% 0%,oklch(.62 .12 calc(var(--banner-h) + 40) / .6),transparent 65%),linear-gradient(135deg,oklch(.3 .05 var(--banner-h)),oklch(.22 .03 calc(var(--banner-h) + 60)));border-bottom:1px solid var(--color-border)}.camp-card-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);flex:1}.camp-card-name{margin:0;font-size:var(--font-size-lg);font-weight:600}.camp-card-desc{margin:0;color:var(--color-text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.camp-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-dim)}.camp-card-faces{display:flex;align-items:center;margin-top:auto;padding-top:var(--space-2)}.camp-card-faces .portrait+.portrait{margin-left:-6px}.camp-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:48px var(--space-6)}.camp-empty h2{margin:0}.camp-empty p{max-width:440px;margin:0}.portrait{--portrait-size: 48px;width:var(--portrait-size);height:var(--portrait-size);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-weight:700;letter-spacing:.02em;font-size:calc(var(--portrait-size) * .36);color:oklch(.95 .03 var(--portrait-h));text-shadow:0 1px 2px rgb(0 0 0 / .4);background:radial-gradient(circle at 30% 25%,oklch(.68 .12 var(--portrait-h)),transparent 70%),linear-gradient(160deg,oklch(.48 .1 var(--portrait-h)),oklch(.3 .07 calc(var(--portrait-h) + 30)));border:2px solid var(--color-surface-1);box-shadow:0 0 0 1px var(--color-border-strong)}.portrait.sm{--portrait-size: 28px;border-radius:var(--radius-round)}.portrait.lg{--portrait-size: 72px}.stat-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-round);background:var(--color-surface-2);border:1px solid var(--color-border);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.stat-pill.warning{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 50%,transparent)}.stat-pill.danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 50%,transparent)}.hp-bar{display:block;height:4px;border-radius:var(--radius-round);background:var(--color-surface-3);overflow:hidden}.hp-bar>span{display:block;height:100%;background:var(--color-success);transform-origin:left;transition:transform .3s var(--ease-out)}.hp-bar.warning>span{background:var(--color-warning)}.hp-bar.danger>span{background:var(--color-danger)}.camp-header{display:flex;flex-direction:column;gap:var(--space-4)}.camp-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.camp-title{margin:0;font-family:var(--font-title);font-weight:400;font-size:var(--font-size-display);line-height:1.15}input.camp-title-input{flex:1 1 320px;min-width:0;padding:0 var(--space-3);margin-left:calc(-1 * var(--space-3) - 1px);background:transparent;border-color:transparent}input.camp-title-input:hover{border-color:var(--color-border)}.camp-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6);color:var(--color-text-dim)}.camp-sub strong{color:var(--color-text);font-weight:600}input.camp-inline-input{width:170px;padding:var(--space-1) var(--space-3);background:transparent;font-weight:600}.camp-desc{margin:0;max-width:760px;color:var(--color-text-dim);line-height:1.6}textarea.camp-desc-input{max-width:760px;line-height:1.6;background:var(--color-surface-1)}.camp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start}.camp-main{gap:var(--space-6)}.camp-section{gap:var(--space-4)}.camp-aside{gap:var(--space-5);position:sticky;top:var(--space-5)}.camp-aside .card{padding:var(--space-5)}.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--space-4)}.party-card{position:relative;display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight);transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.party-card:hover{border-color:var(--color-accent-line);box-shadow:var(--edge-highlight),var(--shadow-1)}.party-card:hover .party-card-name{color:var(--color-accent-strong)}}.party-card-body{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.party-card-name{margin:0;font-size:var(--font-size-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--duration-hover) ease}.party-stats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.log-card{padding:0;overflow:hidden}.log-list{list-style:none;margin:0;padding:var(--space-4) var(--space-5);max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:var(--space-4)}.log-empty{text-align:center;padding:var(--space-6)}.log-entry{display:flex;gap:var(--space-4);transition:opacity .2s ease,transform .2s var(--ease-out)}@starting-style{.log-entry{opacity:0;transform:translateY(6px)}}.log-body{flex:1;min-width:0}.log-head{display:flex;align-items:baseline;gap:var(--space-3)}.log-head time{margin-left:auto;white-space:nowrap}.log-speaker{font-weight:600}.log-text{margin:var(--space-1) 0 0;line-height:1.5}.log-roll{display:inline-flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border:1px solid var(--color-border);border-left:2px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface-2);max-width:100%}.log-roll-total{min-width:2ch;text-align:center;font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-accent-strong)}.log-roll-total.crit{color:var(--color-crit)}.log-roll-total.fumble{color:var(--color-fumble)}.log-roll-text{display:flex;flex-direction:column;min-width:0}.log-roll-label{font-weight:600;font-size:var(--font-size-sm)}.log-roll-detail{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-compose{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-sunken)}.dice-tray{display:flex;flex-wrap:wrap;gap:var(--space-2)}.die-btn{min-width:44px;padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-accent-strong);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-hover) ease,background-color var(--duration-hover) ease,transform var(--duration-press) var(--ease-out);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.die-btn:hover{border-color:var(--color-accent-line);background:var(--color-accent-soft)}}.die-btn:active{transform:scale(.94)}.log-form{display:flex;gap:var(--space-3)}.log-form input{flex:1}.invite-code{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--color-accent-line);border-radius:var(--radius-md);background:var(--color-bg)}.invite-code code{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.08em;color:var(--color-accent-strong)}.member-list,.homebrew-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.member-list li{display:flex;align-items:center;gap:var(--space-3);min-height:28px}.homebrew-list li{display:flex;flex-direction:column;padding-left:var(--space-4);border-left:2px solid var(--color-accent-line)}.sheet-page{gap:var(--space-5)}.sheet-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding:var(--space-5);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight)}.sheet-head-text{gap:var(--space-1);min-width:0}.sheet-name{margin:0;font-family:var(--font-title);font-weight:400;font-size:var(--font-size-display);line-height:1.05;overflow-wrap:anywhere}.sheet-line{font-size:var(--font-size-lg);font-weight:500}.sheet-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.sheet-campaign-select{max-width:260px}.sheet-stat,.sheet-ability{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);text-align:center;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0}.sheet-stat strong,.sheet-ability strong{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;line-height:1.2}.sheet-stat strong small{font-size:var(--font-size-sm);font-weight:500}.sheet-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(280px,3.4fr);gap:var(--space-4);align-items:stretch}.sheet-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3)}.sheet-ability .label{font-size:var(--font-size-sm)}.sheet-ability strong{font-size:28px;color:var(--color-accent-strong)}.sheet-score{min-width:36px;padding:0 var(--space-3);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-surface-1)}.sheet-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.sheet-inspiration{font:inherit;cursor:pointer;color:var(--color-text-dim);transition:border-color var(--duration-hover) ease,background-color var(--duration-hover) ease,color var(--duration-hover) ease}.sheet-inspiration svg{width:26px;height:26px}.sheet-inspiration.is-on{color:var(--color-accent-strong);border-color:var(--color-accent-line);background:var(--color-accent-soft)}.sheet-inspiration.is-on svg{filter:drop-shadow(0 0 6px var(--color-accent))}.sheet-inspiration:disabled{cursor:default}.sheet-hp-box{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sheet-hp-box>.label{text-align:center}.sheet-hp-grid{display:flex;align-items:center;gap:var(--space-4)}.sheet-hp-adjust{display:flex;flex-direction:column;gap:var(--space-2);width:76px;flex-shrink:0}.sheet-hp-adjust input{width:100%;text-align:center;font-variant-numeric:tabular-nums}.sheet-hp-adjust .btn{justify-content:center;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.sheet-heal:not(:disabled){color:var(--color-success)}.sheet-damage:not(:disabled){color:var(--color-danger)}.sheet-hp-nums{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:var(--space-3);text-align:center}.sheet-hp-nums>div{display:flex;flex-direction:column;align-items:center}.sheet-hp-cap{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-dim)}.sheet-hp-nums strong{font-size:26px;font-variant-numeric:tabular-nums;line-height:1.1}.sheet-hp-slash{font-size:22px;color:var(--color-text-dim);padding-bottom:2px}.sheet-hp-temp{margin-left:var(--space-2)}.sheet-hp-temp input{width:44px;padding-inline:var(--space-1);text-align:center;font-size:var(--font-size-lg)}.sheet-hp-box.warning .sheet-hp-current{color:var(--color-warning)}.sheet-hp-box.danger .sheet-hp-current{color:var(--color-danger)}.sheet-combat{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) minmax(0,2fr) minmax(0,2fr);gap:var(--space-3)}.sheet-ac-shield{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px}.sheet-ac-shield svg{position:absolute;inset:0;width:100%;height:100%;color:var(--color-accent-line)}.sheet-ac-shield strong{position:relative}.sheet-defenses,.sheet-conditions{justify-content:flex-start}.sheet-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:0;padding:0;list-style:none;font-size:var(--font-size-sm)}.sheet-tags li{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-surface-1)}.sheet-tag-x{display:inline-flex;padding:0;border:none;background:none;color:var(--color-text-dim);cursor:pointer}.link-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:none;background:none;font:inherit;color:var(--color-link);cursor:pointer}.link-button.small{font-size:var(--font-size-sm)}.link-button:disabled{color:var(--color-text-dim);cursor:default;opacity:.6}.text-danger{color:var(--color-danger)}.sheet-death{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);border-color:var(--color-danger)}.sheet-ability,.sheet-roll,.sheet-bonus,.sheet-dmg{cursor:pointer;transition:border-color var(--duration-hover) ease,background-color var(--duration-hover) ease,transform var(--duration-press) var(--ease-out);-webkit-tap-highlight-color:transparent}.sheet-roll,.sheet-bonus{font:inherit;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-accent-strong);background:var(--color-accent-soft);border:1px solid var(--color-accent-line);border-radius:var(--radius-md)}.sheet-roll{font-size:var(--font-size-xl);line-height:1.2;padding:0 var(--space-4)}.sheet-bonus{min-width:44px;padding:var(--space-1) var(--space-3)}.sheet-dmg{font:inherit;font-variant-numeric:tabular-nums;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);white-space:nowrap}.sheet-dc{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}@media(hover:hover)and (pointer:fine){.sheet-ability:hover,.sheet-dmg:hover{border-color:var(--color-accent-line);background:var(--color-accent-soft)}.sheet-roll:hover,.sheet-bonus:hover{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}}.sheet-ability:active,.sheet-roll:active,.sheet-bonus:active,.sheet-dmg:active{transform:scale(.96)}.sheet-tabs{display:flex;flex-direction:column;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight)}.sheet-tabs>.tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--color-border);padding:0 var(--space-3)}.sheet-tabs>.tabs .tab{font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-4) var(--space-4)}.sheet-tabs>.tab-content{padding:var(--space-5)}.sheet-gap{gap:var(--space-5)}.sheet-gap-sm{gap:var(--space-3)}.sheet-section{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.sheet-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-accent-line)}.sheet-section-head h2{margin:0;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--color-accent-strong)}.sheet-skills-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-6);align-items:start}.sheet-saves{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5)}.sheet-save{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.prof-dot{flex-shrink:0;display:inline-block;width:14px;height:14px;padding:0;border:1.5px solid var(--color-text-dim);border-radius:50%;background:transparent;vertical-align:middle}button.prof-dot{cursor:pointer}.prof-dot.is-prof{border-color:var(--color-accent-strong);background:var(--color-accent-strong)}.prof-dot.is-expert{box-shadow:0 0 0 2px var(--color-surface-1),0 0 0 3.5px var(--color-accent-strong)}.sheet-senses{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.sheet-senses>div{display:flex;align-items:center;gap:var(--space-4)}.sheet-senses dt{min-width:56px;padding:var(--space-1) var(--space-3);text-align:center;font-weight:700;font-variant-numeric:tabular-nums;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.sheet-senses dd{margin:0}.cap{text-transform:capitalize}.sheet-profs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3) var(--space-5);margin:0}.sheet-profs dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-text-dim);padding-top:2px}.sheet-profs dd{margin:0}.sheet-scroll-x{overflow-x:auto}.sheet-table{width:100%;border-collapse:collapse}.sheet-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-text-dim);padding:var(--space-2) var(--space-3);white-space:nowrap}.sheet-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);vertical-align:middle}.sheet-table .num{text-align:right}.sheet-table .w-dot,.sheet-table .w-mod{width:1%}.sheet-skill-table td{padding-block:3px}.sheet-attack-name{display:inline-flex;align-items:center;gap:var(--space-3);font-weight:600}.sheet-expand{display:flex;align-items:flex-start;gap:var(--space-2);padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.sheet-expand>svg{margin-top:3px;flex-shrink:0;color:var(--color-text-dim)}.sheet-expand>span{display:flex;flex-direction:column}.sheet-spell-name{font-weight:600}.sheet-spell-meta{font-size:var(--font-size-xs);color:var(--color-text-dim)}.sheet-spell-meta abbr{margin-left:var(--space-2);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;font-weight:700}.sheet-detail-row td{border-top:none;padding-top:0}.sheet-detail{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2);border-radius:var(--radius-md);border-left:3px solid var(--color-accent-line)}.sheet-detail p,.sheet-detail .markdown p{margin:0}.sheet-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--font-size-sm)}.sheet-detail-meta strong{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-dim);margin-right:var(--space-2)}.sheet-spell-table{table-layout:fixed;min-width:560px}.sheet-spell-table .col-time{width:90px}.sheet-spell-table .col-range{width:130px}.sheet-spell-table .col-hit{width:90px}.sheet-spell-table .col-effect{width:170px}.sheet-spell-stats{display:grid;grid-template-columns:repeat(3,minmax(0,160px));gap:var(--space-3)}.pips{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.pip{width:16px;height:16px;padding:0;border:1.5px solid var(--color-accent-strong);border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background-color var(--duration-hover) ease}.pip.is-used{background:var(--color-accent-strong)}.pips.good .pip{border-color:var(--color-success);border-radius:50%}.pips.good .pip.is-used{background:var(--color-success)}.pips.bad .pip{border-color:var(--color-danger);border-radius:50%}.pips.bad .pip.is-used{background:var(--color-danger)}.pip:disabled{cursor:default}.sheet-limited{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.sheet-limited li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.sheet-limited li:first-child{border-top:none}.sheet-reset{min-width:80px;text-align:right}.sheet-pool input{width:64px;text-align:center}.sheet-feature{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent-line);background:var(--color-surface-2);border-radius:0 var(--radius-md) var(--radius-md) 0}.sheet-feature header{flex-wrap:wrap;gap:var(--space-3)}.sheet-feature-text,.sheet-feature-text p{margin:0;color:var(--color-text);line-height:1.5}.sheet-feature-text p+p{margin-top:var(--space-3)}.sheet-level-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:0 var(--space-3);border-radius:var(--radius-round);color:var(--color-accent-strong);background:var(--color-accent-soft)}.sheet-picks{margin:0;padding-left:var(--space-5)}.sheet-combat-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3) var(--space-5);margin:0}.sheet-combat-actions dt{font-weight:600}.sheet-combat-actions dd{margin:0;font-size:var(--font-size-sm);color:var(--color-text-dim)}.sheet-inv-summary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:stretch}.sheet-inv-summary>.sheet-stat{min-width:160px}.sheet-coins{flex:1;display:grid;grid-template-columns:repeat(5,minmax(64px,1fr));gap:var(--space-3)}.sheet-coin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border);border-top:3px solid var(--coin);border-radius:var(--radius-md)}.sheet-coin input{width:100%;text-align:center;font-variant-numeric:tabular-nums}.coin-cp{--coin: #b87333}.coin-sp{--coin: #a9b0b8}.coin-ep{--coin: #8fa7b3}.coin-gp{--coin: var(--color-gold, #d4a640)}.coin-pp{--coin: #c9c6e0}.sheet-check{width:16px;height:16px;accent-color:var(--color-accent-strong)}.sheet-qty-input{width:64px;text-align:right}.sheet-add-item{display:flex;gap:var(--space-3)}.sheet-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.sheet-field{gap:var(--space-2)}.sheet-field p{margin:0}.sheet-field textarea,.sheet-profs input{width:100%}.sheet-notes{width:100%;min-height:280px;resize:vertical}@media(max-width:1100px){.sheet-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sheet-abilities{grid-column:1 / -1}.sheet-combat{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-defenses,.sheet-conditions{grid-column:span 3}.sheet-skills-layout,.sheet-two-col{grid-template-columns:minmax(0,1fr)}}.form-grid{display:grid;grid-template-columns:1fr 1fr 90px;gap:var(--space-4)}.form-grid select{width:100%}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.char-card{position:relative;display:flex;gap:var(--space-5);padding:var(--space-5);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight);transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.char-card:hover{border-color:var(--color-accent-line);box-shadow:var(--edge-highlight),var(--shadow-1)}}.char-card-body{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.char-card .party-card-name{font-size:var(--font-size-lg)}.char-campaign{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-link);text-decoration:none}.char-campaign.is-none{color:var(--color-text-dim)}@media(max-width:960px){.camp-layout{grid-template-columns:minmax(0,1fr)}.camp-aside{position:static}}@media(max-width:640px){.topbar{gap:var(--space-3);padding:0 var(--space-4)}.topnav-label,.demo-pill{display:none}.topnav-item{padding:0 var(--space-4);font-size:var(--font-size-lg)}.page{padding:var(--space-5) var(--space-5) 96px;gap:var(--space-5)}.page-title,.camp-title{font-size:28px}.page-actions,.join-form{width:100%}.join-form input{flex:1;width:auto}.join-form input,.log-form input,.modal input,.modal select,.modal textarea{font-size:16px}.sheet-top{grid-template-columns:minmax(0,1fr)}.sheet-abilities{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-name{font-size:28px}.sheet-header-actions{align-items:stretch;width:100%}.sheet-campaign-select{max-width:none}.sheet-combat{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-tabs>.tab-content{padding:var(--space-4)}.sheet-saves{grid-template-columns:minmax(0,1fr)}.sheet-coins{grid-template-columns:repeat(5,minmax(0,1fr))}.sheet-coin{padding:var(--space-2)}.sheet-spell-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-page input,.sheet-page select,.sheet-page textarea{font-size:16px}.form-grid{grid-template-columns:1fr 1fr}.modal{min-width:0;width:calc(100vw - 24px)}}}@layer components{.hb-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);align-items:start}.hb-main{gap:var(--space-5);border:0;padding:0;margin:0;min-width:0}.hb-aside{gap:var(--space-4);position:sticky;top:var(--space-5)}.hb-card,.hb-card-body{gap:var(--space-4)}.hb-collapse{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:none;color:inherit;cursor:pointer}.hb-collapse h2{margin:0;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--color-accent-strong)}.hb-banner{margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-accent-line);border-radius:var(--radius-md);background:var(--color-accent-soft)}.hb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.hb-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.hb-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.hb-form-grid input:not([type=checkbox]),.hb-form-grid select,.hb-card textarea{width:100%}.hb-form-grid .row>select,.hb-form-grid .row>input{width:auto;flex:1}.hb-narrow,.hb-form-grid .row>.hb-narrow,.hb-form-grid input.hb-narrow{width:72px;flex:none}.hb-toggle-field{align-self:end;padding-bottom:var(--space-3)}.hb-flags{gap:var(--space-2);padding-top:var(--space-5)}.hb-subhead{margin:var(--space-3) 0 0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim)}.hb-sub{gap:var(--space-2);padding-left:var(--space-4);border-left:2px solid var(--color-accent-line)}.hb-checks{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.hb-page input:disabled,.hb-page select:disabled,.hb-page textarea:disabled,.modal .hb-form-grid input:disabled,.modal .hb-form-grid select:disabled{opacity:.5;cursor:not-allowed}.toggle.small{font-size:var(--font-size-sm)}.is-invalid,.hb-form-grid .is-invalid,.hb-rich.is-invalid{border-color:var(--color-danger)!important}tr.is-invalid td{background:var(--color-danger-soft)}.hb-errors{margin:0;padding-left:var(--space-5);color:var(--color-danger);font-size:var(--font-size-sm)}.hb-errors li+li{margin-top:var(--space-1)}.hb-start{max-width:720px;gap:var(--space-4)}.hb-start .hb-form-grid select{width:100%}.hb-or{display:flex;align-items:center;gap:var(--space-4);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:var(--font-size-xs)}.hb-or:before,.hb-or:after{content:"";flex:1;border-top:1px solid var(--color-border)}.hb-start>.btn,.hb-start>button{align-self:flex-start}.hb-select{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:34px;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:left;cursor:pointer}.hb-select:hover:not(:disabled){border-color:var(--color-border-strong)}.hb-select:disabled{opacity:.55;cursor:default}.hb-select.is-empty>span{color:var(--color-text-dim)}.hb-select-pop{display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 32px));margin:calc(-1 * var(--space-2))}.hb-select-list{max-height:300px;overflow:auto}.hb-select-group{position:sticky;top:0;padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--color-accent-strong);background:var(--color-glass-strong)}.hb-select-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}.hb-select-option.is-active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.hb-select-option.is-selected{font-weight:600}.hb-select-empty{padding:var(--space-3)}.hb-rich{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.hb-rich-bar{display:flex;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--color-border)}.hb-rich-bar button{min-width:28px;padding:var(--space-1) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;font-size:var(--font-size-sm)}.hb-rich-bar button:hover:not(:disabled),.hb-rich-bar button.is-on{border-color:var(--color-border);background:var(--color-surface-2)}.hb-rich-bar button:disabled{opacity:.4}.hb-rich textarea{display:block;border:0!important;box-shadow:none!important;resize:vertical;background:transparent}.hb-rich-preview{padding:var(--space-3) var(--space-4);min-height:120px}.hb-mod-table td,.hb-spell-table td{vertical-align:middle}.hb-row-actions{white-space:nowrap}.hb-row-actions .dim{margin:0 var(--space-2)}.hb-spell-cell{min-width:200px}.hb-rows{gap:var(--space-2)}.hb-row{display:flex;gap:var(--space-3);align-items:center}.hb-amount{display:flex;flex-direction:column;gap:var(--space-2)}.hb-amount-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.hb-amount-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hb-amount-row input{width:80px}.hb-formula{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-accent-line);border-radius:var(--radius-md);background:var(--color-surface-1)}.hb-palette{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hb-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-surface-2);font-size:var(--font-size-sm);cursor:grab;touch-action:none}.hb-chip:hover{border-color:var(--color-accent-line);color:var(--color-accent-strong)}.hb-chip.is-dragging{opacity:.6;cursor:grabbing}.hb-chain{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);transition:border-color var(--duration-hover) ease}.hb-chain.is-over{border-color:var(--color-accent)}.hb-term{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-strong);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface-2)}.hb-term.kind-dice{border-left-color:var(--color-gold)}.hb-term.kind-number{border-left-color:var(--color-text-dim)}.hb-term.is-dragging{opacity:.75;z-index:1;box-shadow:var(--shadow-2)}.hb-term input,.hb-term select{padding:var(--space-1) var(--space-2)}.hb-term-num{width:56px}.hb-term-mult{display:inline-flex;align-items:center;gap:var(--space-1)}.hb-term-mult input{width:52px}.hb-term-handle{display:inline-flex;color:var(--color-text-dim);cursor:grab;touch-action:none}.hb-term-sign{width:26px;height:26px;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg);font-weight:700;cursor:pointer}.hb-term-label{font-size:var(--font-size-sm);font-weight:600}.hb-term-x{display:inline-flex;padding:0;border:0;background:none;color:var(--color-text-dim);cursor:pointer}.hb-term-x:hover{color:var(--color-danger)}.hb-formula-preview{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3)}.hb-preview{gap:var(--space-3)}.hb-preview .section-title{overflow-wrap:anywhere}.hb-actions{gap:var(--space-3)}.hb-summary{display:flex;flex-direction:column;gap:var(--space-2)}.hb-summary-type{font-style:italic;color:var(--color-text-dim)}.hb-summary-list,.sheet-item-effects{margin:0;padding-left:var(--space-5);font-size:var(--font-size-sm)}.hb-filters{margin-bottom:var(--space-4);gap:var(--space-3)}.hb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.hb-item-card{gap:var(--space-3)}.hb-item-name{margin:0;font-size:var(--font-size-lg);overflow-wrap:anywhere}.hb-card-actions{margin-top:auto;gap:var(--space-2)}.hb-pick-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow:auto;margin:0;padding:0;list-style:none}.hb-pick{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);text-align:left;cursor:pointer}.hb-pick:hover{border-color:var(--color-border-strong)}.hb-pick.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.hb-pick-detail{align-items:flex-start;gap:var(--space-4)}.sheet-adv{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-round);font-size:10px;font-weight:700;letter-spacing:.06em;text-decoration:none;cursor:help}.sheet-adv.is-adv{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,transparent)}.sheet-adv.is-dis{color:var(--color-danger);background:var(--color-danger-soft)}.sheet-item-cell{display:flex;align-items:center;gap:var(--space-3)}.sheet-attune{flex:none;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-round);background:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-dim);cursor:pointer}.sheet-attune.is-on{border-color:var(--color-accent-line);color:var(--color-accent-strong);background:var(--color-accent-soft)}.sheet-attune:disabled{opacity:.5;cursor:default}.sheet-tags li.is-item{border-style:dashed;border-color:var(--color-accent-line)}.sheet-add-item{flex-wrap:wrap}.camp-items{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.camp-items .label{margin:0}.camp-items>.btn,.camp-items>button{align-self:flex-start}@media(max-width:1000px){.hb-layout{grid-template-columns:minmax(0,1fr)}.hb-aside{position:static}}@media(max-width:640px){.hb-form-grid,.hb-form-grid.three,.hb-form-grid.four{grid-template-columns:minmax(0,1fr)}.hb-row{flex-wrap:wrap}}}@layer components{.wiki{--wiki-nav-w: 200px;--wiki-list-w: 320px;height:100%;display:grid;grid-template-columns:var(--wiki-nav-w) var(--wiki-list-w) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"nav list page"}.wiki-list-search{padding:var(--space-4) var(--space-4) 0}.wiki-search{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);min-height:30px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease}.wiki-search:focus-within{border-color:var(--color-focus);box-shadow:var(--glow-accent)}.wiki-search input{flex:1;min-width:0;border:none;background:none;padding:var(--space-2) 0;box-shadow:none}.wiki-search input:focus{box-shadow:none}.wiki-search input::-webkit-search-cancel-button{display:none}.wiki-search:focus-within kbd{visibility:hidden}kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:0 var(--space-2);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:var(--radius-sm);color:var(--color-text-dim);background:var(--color-surface-2)}.wiki-nav{grid-area:nav;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--color-surface-sunken);border-right:1px solid var(--color-border);overflow:auto}.wiki-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-dim);text-decoration:none;transition:background-color var(--duration-hover) ease,color var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){.wiki-nav-item:hover{color:var(--color-text);background:var(--color-accent-soft)}}.wiki-nav-item.is-active{color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 2px 0 0 var(--color-accent)}.wiki-count{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-dim)}.wiki-list{grid-area:list;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border);background:var(--color-surface-1)}.wiki-list-head{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.wiki-facet{max-width:150px;padding-block:var(--space-1);font-size:var(--font-size-sm)}.wiki-list-scroll{flex:1;min-height:0;overflow:auto;padding:var(--space-2) var(--space-3) var(--space-6)}.wiki-group-title{position:sticky;top:calc(-1 * var(--space-2));z-index:1;margin:var(--space-3) 0 var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);background:var(--color-surface-1)}.wiki-group-title span{font-weight:400;opacity:.7}.wiki-row{color:inherit;text-decoration:none}.wiki-row-name,.wiki-row-summary{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-row-name{font-weight:500}.wiki-row-summary{font-size:var(--font-size-sm);color:var(--color-text-dim)}.wiki-row.is-active{background:var(--color-accent-soft);box-shadow:inset 2px 0 0 var(--color-accent)}.wiki-row.is-active .wiki-row-name{color:var(--color-accent-strong)}.wiki-page{grid-area:page;min-height:0;overflow:auto;background:var(--color-bg);padding:var(--space-6) clamp(var(--space-5),5vw,64px) 64px}.wiki-back{display:none}.wiki-article,.wiki-home{max-width:720px;display:flex;flex-direction:column;gap:var(--space-5);line-height:1.6}.wiki-crumbs{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-dim)}.wiki-crumbs a{color:inherit}.wiki-title{display:flex;align-items:center;gap:var(--space-4);margin:0;font-family:var(--font-title);font-weight:400;font-size:var(--font-size-display);line-height:1.1;text-wrap:balance}.wiki-title-icon{color:var(--color-accent-strong)}.wiki-kicker{margin:calc(-1 * var(--space-4)) 0 0;font-style:italic;color:var(--color-text-dim)}.wiki-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.wiki-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.wiki-meta>div{padding:var(--space-3) var(--space-4);margin:0 -1px -1px 0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.wiki-meta dt{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim)}.wiki-meta dd{margin:0}.wiki-prose p{margin:0 0 var(--space-4);text-wrap:pretty}.wiki-prose p:last-child{margin-bottom:0}.wiki-action-name{font-style:italic}.wiki-section{display:flex;flex-direction:column;gap:var(--space-4)}.wiki-section h2{margin:var(--space-3) 0 0;padding-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:600;color:var(--color-accent-strong);border-bottom:1px solid var(--color-accent-line)}.wiki-statline,.wiki-abilities{display:grid;gap:var(--space-3)}.wiki-statline{grid-template-columns:repeat(3,1fr)}.wiki-abilities{grid-template-columns:repeat(6,1fr)}.wiki-statline>div,.wiki-abilities>div{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--edge-highlight);text-align:center}.wiki-statline strong,.wiki-abilities strong{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;line-height:1.2}.wiki-condition{color:var(--color-link);text-decoration:underline dotted;text-underline-offset:3px}.wiki-dice{display:inline;padding:0 var(--space-2);margin:0 1px;font-family:var(--font-mono);font-size:.92em;color:var(--color-accent-strong);background:var(--color-accent-soft);border:1px solid var(--color-accent-line);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-hover) ease,transform var(--duration-press) var(--ease-out);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.wiki-dice:hover{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}}.wiki-dice:active{transform:scale(.95)}.wiki-tip{display:block;max-width:280px;line-height:1.45}.wiki-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-surface-1);color:var(--color-text);text-decoration:none;font-size:var(--font-size-sm);transition:border-color var(--duration-hover) ease,color var(--duration-hover) ease}@media(hover:hover)and (pointer:fine){a.wiki-chip:hover{border-color:var(--color-accent-line);color:var(--color-accent-strong)}}.wiki-chip.is-missing{color:var(--color-text-dim);border-style:dashed}.wiki-table{width:100%;border-collapse:collapse;margin:0 0 var(--space-4)}.wiki-table th,.wiki-table td{text-align:left;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.wiki-table th{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim)}.wiki-table td:first-child{width:4em;font-variant-numeric:tabular-nums}.wiki-backlinks{columns:2 220px;margin:0;padding:0;list-style:none}.wiki-backlinks li{break-inside:avoid;padding:var(--space-1) 0}.wiki-license{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-dim)}.wiki-hero{margin:var(--space-6) 0 0;font-family:var(--font-title);font-weight:400;font-size:clamp(40px,7vw,64px);line-height:1;color:var(--color-accent-strong)}.wiki-lede{margin:0;font-size:var(--font-size-lg);color:var(--color-text-dim);text-wrap:pretty}.wiki-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.wiki-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);color:var(--color-text);text-decoration:none;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight);transition:border-color var(--duration-hover) ease,box-shadow var(--duration-hover) ease,transform var(--duration-press) var(--ease-out)}.wiki-card svg{color:var(--color-accent-strong)}.wiki-card span{font-size:var(--font-size-sm);color:var(--color-text-dim)}@media(hover:hover)and (pointer:fine){.wiki-card:hover{border-color:var(--color-accent-line);box-shadow:var(--edge-highlight),var(--shadow-1)}}.wiki-card:active{transform:scale(.98)}.wiki-home-sub{margin:var(--space-4) 0 0;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim)}.wiki-featured{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.wiki-featured a{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--color-border)}.wiki-featured span{color:var(--color-text-dim);text-align:right}@media(hover:hover)and (pointer:fine){.wiki-featured a:hover strong{color:var(--color-accent-strong)}}.wiki-swatch{width:14px;height:14px;border-radius:var(--radius-round);border:1px solid var(--color-border-strong)}.wiki-roll{display:flex;align-items:center;gap:var(--space-4);min-width:220px;max-width:min(420px,calc(100vw - 32px))}.wiki-roll-total{min-width:2ch;font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--color-accent-strong)}.wiki-roll.crit .wiki-roll-total{color:var(--color-crit)}.wiki-roll.fumble .wiki-roll-total{color:var(--color-fumble)}.wiki-roll-text{min-width:0}.wiki-roll-label{font-size:var(--font-size-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-roll-breakdown{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim)}.wiki-back-icon{transform:rotate(180deg)}@media(max-width:1100px){.wiki{--wiki-nav-w: 56px;--wiki-list-w: 280px}.wiki-nav-item{justify-content:center}.wiki-nav-item>:not(svg){display:none}}@media(max-width:760px){.wiki{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"nav" "main"}.wiki-search input{font-size:16px}.wiki-search kbd{display:none}.wiki-nav{flex-direction:row;padding:var(--space-2) var(--space-3);border-right:none;border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.wiki-nav-item{flex:1;flex-direction:column;gap:0;padding:var(--space-2);font-size:var(--font-size-xs)}.wiki-nav-item>.grow{display:block}.wiki-nav-item.is-active{box-shadow:inset 0 -2px 0 var(--color-accent)}.wiki-list,.wiki-page{grid-area:main;border-right:none}.wiki[data-view=page] .wiki-list,.wiki[data-view=list] .wiki-page{display:none}.wiki-page{padding:var(--space-5) var(--space-5) 96px}.wiki-back{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-dim);text-decoration:none}.wiki-title{font-size:28px}.wiki-abilities{grid-template-columns:repeat(3,1fr)}.wiki-statline>div,.wiki-abilities>div{padding:var(--space-2)}.wiki-featured a{flex-direction:column;gap:0}.wiki-featured span{text-align:left}}}
