@charset "UTF-8";:root,:root[data-theme=light]{--canvas:#F7F7F7;--panel:rgba(255,255,255,.82);--panel-solid:#FFFFFF;--border:#E7E7E9;--border-strong:#DCDCE0;--text:#111114;--text-soft:#6B6B72;--text-faint:#9B9BA2;--accent:#5B6BF8;--accent-ink:#ffffff;--accent-soft:rgba(91,107,248,.12);--green:#10B981;--danger:#EF4444;--dot:#D7D7DA;--hover:#F0F0F2;--hover-strong:#E9E9EC;--shadow:0 4px 24px rgba(17,17,20,.1),0 1px 2px rgba(17,17,20,.06);--shadow-lg:0 12px 40px rgba(17,17,20,.16),0 2px 6px rgba(17,17,20,.08);--shape-fill:#FFFFFF;--shape-stroke:#D2D2D6;--shape-ink:#1A1A1F;--edge:#A6A8AE;--edge-label-bg:rgba(255,255,255,.94);--tip-bg:#1B1B1F;--tip-ink:#F4F4F5}:root[data-theme=dark]{--canvas:#141414;--panel:rgba(28,28,28,.72);--panel-solid:#1C1C1C;--border:#2A2A2A;--border-strong:#333335;--text:#EDEDEE;--text-soft:#9A9A9E;--text-faint:#6A6A6E;--accent:#6B7BFF;--accent-ink:#ffffff;--accent-soft:rgba(107,123,255,.2);--green:#10B981;--danger:#F87171;--dot:#262626;--hover:#2A2A2A;--hover-strong:#333335;--shadow:0 4px 24px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5);--shape-fill:#1F1F1F;--shape-stroke:#3A3A3D;--shape-ink:#EDEDEE;--edge:#5C5C62;--edge-label-bg:rgba(28,28,28,.92);--tip-bg:#000000;--tip-ink:#F4F4F5}:root{--font-sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--fs-eyebrow:10px;--fs-caption:11px;--fs-small:12px;--fs-ui:12.5px;--fs-body:13px;--fs-label:14px;--fs-title:16px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-eyebrow:.09em;--leading-tight:1.25;--leading-ui:1.3}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--text);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root{--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-10:24px;--radius-xs:5px;--radius-sm:7px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:14px;--radius-pill:999px;--control-sm:28px;--control-md:32px;--bar-h:44px;--panel-blur:14px;--grid-size:15px;--float-inset:16px}:root{--hp-ok:var(--green);--hp-low:var(--danger);--crit:var(--green);--fumble:var(--danger);--player-1:#F59E0B;--player-2:#14B8A6;--player-3:#EC4899;--player-4:#8B5CF6;--player-5:#0EA5E9;--player-6:#84CC16;--enemy-fill:#3a3a40;--enemy-ring:#ffffff;--enemy-ink:#e4e4e8;--table-grid-line:color-mix(in srgb,var(--dot) 45%,transparent);--table-grid-size:20px;--table-grid:linear-gradient(var(--table-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--table-grid-line) 1px,transparent 1px);--mobile-grid:radial-gradient(var(--dot) 1.3px,transparent 1.3px);--mobile-grid-size:15px;--map-cell:40px;--token-size:36px;--token-ring:2px;--hp-bar-h:6px;--scene-thumb-w:136px;--scene-thumb-h:72px}:root[data-theme=dark]{--enemy-fill:#2a2a2e;--enemy-ring:#5a5a62;--enemy-ink:#b4b4bc}html,body{margin:0;min-height:100%;background:var(--canvas)}body{font-size:var(--fs-body);line-height:var(--leading-ui)}.canvas{min-height:100dvh;background-color:var(--canvas);background-image:var(--table-grid);background-size:var(--table-grid-size) var(--table-grid-size)}@media(max-width:720px){.canvas{background-image:var(--mobile-grid);background-size:var(--mobile-grid-size) var(--mobile-grid-size)}}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint)}.soft{color:var(--text-soft)}.faint{color:var(--text-faint)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.panel{position:relative;color:var(--text);background:var(--panel);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.4);backdrop-filter:blur(var(--panel-blur)) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.panel--lg{box-shadow:var(--shadow-lg)}.panel--bar{display:inline-flex;align-items:center;gap:3px;height:var(--bar-h);padding:0 8px;border-radius:var(--radius-2xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-md);padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;text-decoration:none;transition:filter .12s,background .12s,color .12s,border-color .12s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn ic-icon{width:15px;height:15px}.btn--sm{height:var(--control-sm);padding:0 10px;font-size:var(--fs-ui);border-radius:var(--radius-sm)}.btn--lg{height:40px;padding:0 16px;border-radius:var(--radius-lg)}.btn--block{width:100%}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0000001f}.btn--primary:hover:not(:disabled){filter:brightness(1.08)}.btn--secondary{background:var(--panel-solid);color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}.btn--secondary:hover:not(:disabled){background:var(--hover)}.btn--ghost{background:transparent;color:var(--text-soft)}.btn--ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.06)}.btn--danger-outline{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.btn--danger-outline:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}.back-btn{justify-content:center;flex:none;width:var(--bar-h);padding:0;color:var(--text-soft)}.back-btn:hover{color:var(--text)}.back-btn ic-icon{width:18px;height:18px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;transition:background .12s,color .12s}.icon-btn ic-icon{width:18px;height:18px}.icon-btn--sm{width:28px;height:28px}.icon-btn--sm ic-icon{width:16px;height:16px}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.is-on{background:var(--accent-soft);color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.seg{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--hover)}.seg--wide{display:flex;width:100%}.seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:24px;min-width:26px;padding:0 10px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-soft);font-size:var(--fs-small);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.seg button:hover{color:var(--text)}.seg button[aria-selected=true]{background:var(--panel-solid);color:var(--text);box-shadow:0 1px 2px #00000014}.toggle{appearance:none;position:relative;flex:none;width:34px;height:20px;margin:0;border:none;border-radius:var(--radius-pill);background:var(--hover-strong);cursor:pointer;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .15s}.toggle:checked{background:var(--accent)}.toggle:checked:after{left:16px}.field{display:flex;flex-direction:column;gap:5px}.field>span:first-child{font-size:var(--fs-small);color:var(--text-soft)}.input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--panel-solid);font-size:var(--fs-body);transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input--sm{height:30px;padding:0 8px;font-size:var(--fs-ui)}.input--mono{font-family:var(--font-mono)}textarea.input{height:auto;min-height:120px;padding:10px 12px;line-height:1.5;resize:vertical}select.input{padding-right:28px}.check{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-ui);cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--text-soft);font-size:11.5px;font-weight:var(--fw-medium);white-space:nowrap}.chip--on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip--danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.chip--accent{border:none;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-weight:var(--fw-semibold)}.chip button{display:inline-flex;padding:0;border:none;background:none;color:inherit;cursor:pointer}button.chip{cursor:pointer}.tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-solid);text-align:left}.rollable{cursor:pointer;transition:border-color .12s,box-shadow .12s}.rollable:hover,.rollable:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.big-num{font:var(--fw-bold) 22px var(--font-mono);font-variant-numeric:tabular-nums}.prof-dot{flex:none;width:7px;height:7px;border:1.5px solid var(--border-strong);border-radius:50%}.prof-dot.on{border-color:var(--accent);background:var(--accent)}.prof-dot.expert{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.rows{display:flex;flex-direction:column}.rows>*+*{border-top:1px solid var(--border)}.empty{padding:20px;border:1px dashed var(--border-strong);border-radius:var(--radius-xl);color:var(--text-soft);font-size:var(--fs-ui);text-align:center}.error-text{color:var(--danger);font-size:var(--fs-ui)}.scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--float-inset);background:color-mix(in srgb,var(--canvas) 60%,transparent)}.dialog{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;background:var(--panel-solid)}.dialog h2{margin:0 0 4px;font-size:var(--fs-title)}h1,h2,h3{margin:0;font-weight:var(--fw-semibold);letter-spacing:-.01em}@media(pointer:coarse){.btn{height:44px;padding:0 16px;border-radius:var(--radius-lg)}.btn--sm{height:40px}.icon-btn,.icon-btn--sm{width:44px;height:44px}.input,.input--sm{height:44px;font-size:16px}textarea.input{font-size:16px}.seg button{height:36px}.check input{width:22px;height:22px}}
