:root{--bg: #0e1015;--bg-2: #0a0c10;--panel: #14171f;--panel-2: #1a1e28;--panel-3: #232834;--line: #2a3040;--line-soft: #1e222e;--line-strong: #3a4255;--text: #e8ecf4;--muted: #8b93a7;--faint: #5b6379;--accent: #4cc2ff;--accent-2: #7dd3fc;--accent-dim: rgba(76, 194, 255, .14);--player: #4cc2ff;--monster: #f2555f;--ally: #34d399;--neutral: #8b93a7;--highlight: #ffc24d;--hp-high: #c5cdd8;--hp-mid: #e0894b;--hp-low: #f2555f;--danger: #f2555f;--success: #34d399;--warn: #f5b942;--r-sm: 3px;--r-md: 5px;--r: 5px;--r-lg: 7px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--fs-eyebrow: 10px;--fs-sm: 11px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--ls-eyebrow: .12em;--rail-w: 440px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 28px rgba(0, 0, 0, .5);--glow-accent: 0 0 0 1px var(--accent);--glow-amber: 0 0 0 1px var(--highlight);--focus-ring: 0 0 0 2px rgba(76, 194, 255, .55);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}::selection{background:var(--accent-dim);color:var(--text)}html{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:10000;width:auto;height:auto;margin:0;padding:10px 16px;clip:auto;overflow:visible;white-space:normal;background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--focus-ring);text-decoration:none;font-weight:600}#board-a11y{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}#board-a11y button{font:inherit;color:inherit;background:transparent;border:none;padding:0;margin:0;pointer-events:auto}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.btn{border:1px solid var(--line);border-radius:var(--r);padding:8px 14px;font-size:var(--fs-base);font-weight:600;color:var(--text);letter-spacing:.2px;background:var(--panel-2);transition:background .13s ease,border-color .13s ease,color .13s ease}.btn:hover{background:var(--panel-3);border-color:var(--line-strong)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#06222f}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:#06222f}.btn-secondary{background:var(--panel-2);border-color:var(--line)}.btn-secondary:hover{background:var(--panel-3);border-color:var(--line-strong)}.btn-discord{display:inline-flex;align-items:center;justify-content:center;background:#5865f2;border-color:#5865f2;color:#fff;font-weight:600;gap:10px}.btn-discord:hover{background:#4752c4;border-color:#4752c4;color:#fff}.btn-discord-icon{flex-shrink:0}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:#ffffff0a;border-color:var(--line-soft);color:var(--text)}#connect-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg)}.connect-card{width:380px;max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-2)}.connect-card-wide{width:min(440px,94vw)}.connect-card-home{width:min(640px,94vw)}.connect-home-footer{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line)}.connect-auth-kicker{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:center}.connect-auth-lead{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--muted);text-align:center}.connect-actions-auth{flex-direction:column;align-items:stretch}.connect-actions-auth .btn-discord{width:100%;min-height:44px;padding-inline:18px;font-size:15px}.connect-user-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 10px;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--line)}.connect-user-avatar{border-radius:50%;flex-shrink:0}.connect-user-bar #cs-user-name{flex:1;font-size:14px;font-weight:600}.connect-home-actions{display:flex;flex-wrap:wrap;gap:10px}.connect-home-actions .btn{flex:1;min-width:140px}.connect-compact-header h1{margin:0;font-size:30px;font-weight:800;letter-spacing:-.3px}.connect-compact-header .subtitle{margin:4px 0 14px;color:var(--accent-2);font-size:12px;text-transform:uppercase;letter-spacing:2.5px}.connect-section-title{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--text)}.connect-join-below-home{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.connect-join-below-home .connect-section-title{margin-top:0}.home-header{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-4)}.home-hero-frame{width:100%;aspect-ratio:1024 / 497;max-height:220px;border-radius:var(--r-md);overflow:hidden;background:#0a1628}.home-hero-art{height:120px;border-radius:var(--r-md);background:linear-gradient(135deg,#38bdf81f,#0f172a66 55%,#6366f126),repeating-linear-gradient(90deg,transparent,transparent 23px,rgba(255,255,255,.03) 23px,rgba(255,255,255,.03) 24px),repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(255,255,255,.03) 23px,rgba(255,255,255,.03) 24px);border:1px solid var(--line)}.home-hero-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.home-titles{display:grid;gap:4px}.home-headline{margin:0;font-size:32px;font-weight:800;letter-spacing:-.4px}.home-tagline{margin:0;color:var(--accent-2);font-size:12px;text-transform:uppercase;letter-spacing:2.5px}.home-lead{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.home-bullets{margin:var(--sp-4) 0 0;padding-left:20px;font-size:13px;line-height:1.55;color:var(--muted)}.home-bullets li{margin-bottom:8px}.home-bullets li:last-child{margin-bottom:0}.home-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:var(--sp-4)}.home-link{font-size:13px;color:var(--accent-2);text-decoration:none}.home-link:hover{text-decoration:underline}.home-community{margin-top:var(--sp-5);padding:14px 16px;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--line)}.home-community-copy{display:grid;gap:10px}.home-community-hint{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.home-community-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:13px;font-weight:600;color:var(--text);text-decoration:none}.home-community-link:hover{color:var(--accent-2)}.home-community-link:hover .home-community-link-icon{transform:translate(1px,-1px)}.home-community-link-icon{flex-shrink:0;opacity:.75;transition:transform .12s ease}#connect-player .connect-actions-join{margin-top:18px;padding-top:4px}.connect-join-below-home .connect-actions-join .btn{flex:none}.connect-card h1{margin:0;font-size:30px;font-weight:800;letter-spacing:-.3px}.connect-card .subtitle{margin:4px 0 14px;color:var(--accent-2);font-size:12px;text-transform:uppercase;letter-spacing:2.5px}.connect-step{font-size:12px;color:var(--muted);margin-bottom:18px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.connect-step .step-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#06222f;font-weight:800;font-size:11px}.connect-step .step-n.muted{background:var(--panel-3);color:var(--faint)}.connect-step .step-sep{color:var(--faint)}.connect-lead{margin:0 0 10px;font-size:17px;font-weight:700}.connect-hint{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--muted)}.connect-rejoin{margin-bottom:12px}.connect-rejoin label{display:block;font-size:12px;color:var(--muted)}.connect-rejoin input{margin-top:4px;width:100%;max-width:140px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.connect-rejoin .connect-hint{margin:6px 0 0;font-size:12px}.connect-steps-list{margin:0 0 18px;padding-left:20px;font-size:13px;line-height:1.55;color:var(--muted)}.connect-steps-list li{margin-bottom:8px}.connect-steps-list li:last-child{margin-bottom:0}.btn.is-loading{opacity:.75;cursor:wait}.connect-hint code{font-family:var(--mono);font-size:12px;color:var(--accent-2)}.connect-role-pick .role-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:12px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,transform .06s ease}.role-card:hover{border-color:var(--accent);box-shadow:var(--glow-accent)}.role-card-title{font-size:15px;font-weight:800}.role-card-desc{font-size:12px;color:var(--muted);line-height:1.4}.connect-back{margin-bottom:10px;padding:2px 0;background:none;border:none;color:var(--muted);font-size:13px}.connect-back:hover{color:var(--accent)}.connect-card label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.connect-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:2px}@media(max-width:400px){.connect-grid-2,.connect-setup-row,.sw-roster-grid{grid-template-columns:1fr}.connect-checkbox-inline{white-space:normal}}.connect-grid-2 label{margin-bottom:0}.connect-setup-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.connect-setup-row>label:first-child{margin-bottom:10px}.label-hint{display:block;font-size:11px;color:var(--faint);margin-top:2px;font-weight:400}.connect-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-bottom:10px}.connect-checkbox-inline{align-items:center;margin-bottom:10px;white-space:nowrap}.connect-checkbox-inline .connect-checkbox-text{font-size:12px;font-weight:600}.connect-checkbox input[type=checkbox]{width:auto;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}.connect-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.connect-checkbox-text{flex:1;font-size:13px;color:var(--text);font-weight:600}.connect-card input,.connect-card select{display:block;width:100%;margin-top:6px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-size:14px}.connect-card input:focus,.connect-card select:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-accent)}.input-with-btn{display:flex;gap:8px;margin-top:6px}.input-with-btn input{margin-top:0;flex:1}.input-with-btn .btn{flex:0 0 auto;white-space:nowrap;padding:8px 12px;font-size:12px}.connect-fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 8px;margin:0 0 12px}.connect-fieldset legend{font-size:12px;font-weight:700;color:var(--text);padding:0 4px}.connect-mode-toggle{display:flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2)}.connect-mode-toggle .radio-row{flex:1;justify-content:center;margin-bottom:0;padding:8px 10px;border-radius:var(--r-sm);font-weight:700;font-size:13px;transition:background .12s ease,color .12s ease}.connect-mode-toggle .radio-row:has(input:checked){background:var(--accent);color:#06222f}.connect-mode-toggle .radio-row input{position:absolute;opacity:0;width:0;height:0;margin:0}.radio-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;font-size:13px;line-height:1.35;color:var(--text);cursor:pointer}.radio-row input{width:auto;margin:0;flex:0 0 auto;accent-color:var(--accent)}.radio-row strong{color:var(--text)}.connect-custom{margin-bottom:8px}.roster-hint{margin-bottom:10px}.roster-grid{display:flex;flex-direction:column;gap:8px}.connect-paste-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#090b1099;padding:16px}.connect-paste-modal[hidden]{display:none}.connect-paste-dialog{width:min(560px,100%);max-height:90vh;overflow-y:auto;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #0006}.connect-paste-dialog h3{margin:0 0 8px;font-size:15px}.connect-paste-dialog textarea{width:100%;margin:8px 0 12px;padding:8px 10px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);font-family:inherit;font-size:12px;resize:vertical}.connect-paste-actions{display:flex;justify-content:flex-end;gap:8px}.roster-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.roster-row select,.roster-row input{margin-top:0}.connect-actions{display:flex;gap:10px;margin-top:4px}.connect-actions .btn{flex:1}.connect-error{margin-top:14px;color:var(--danger);font-size:13px;min-height:16px;line-height:1.45}.connect-info{margin-top:8px;color:var(--success);font-size:13px;min-height:16px;line-height:1.45}.connect-dev{margin-top:22px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--faint)}.connect-dev summary{cursor:pointer;font-weight:600;color:var(--muted)}.connect-dev .connect-actions{margin-top:10px}.player-lobby-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:24px;background:#06080ee0;pointer-events:none}.player-lobby-host[hidden]{display:none}.player-lobby{width:min(360px,100%);text-align:center;padding:28px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);pointer-events:auto}.player-lobby-table{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.player-lobby-title{margin:0 0 10px;font-size:22px;font-weight:800;color:var(--text);line-height:1.2}.player-lobby-lead{margin:0 0 8px;font-size:14px;color:var(--text);line-height:1.4}.player-lobby-note{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.45}.player-lobby-seats-label{margin:16px 0 8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.player-lobby-seats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.player-lobby-seat{width:100%;padding:10px 14px;font-size:14px;font-weight:700;color:var(--text);background:#ffffff0f;border:1px solid rgba(255,194,77,.4);border-radius:var(--r-md);cursor:pointer}.player-lobby-seat:hover:not(:disabled){background:#ffc24d24}.player-lobby-seat:disabled{opacity:.65;cursor:wait}.session-welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#090b10b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-welcome[hidden]{display:none}.sw-dialog{width:min(480px,100%);max-height:90vh;overflow-y:auto;padding:20px 22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.sw-dialog-compact{width:min(380px,100%)}.sw-dialog h2{margin:0 0 4px;font-size:20px;font-weight:800}.sw-lead{margin:0 0 14px;font-size:13px;color:var(--muted)}.sw-section{margin-bottom:12px}.sw-roster-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:12px}.sw-roster-grid .sw-section{margin-bottom:0}.sw-invite-row{display:flex;gap:8px;align-items:stretch}.sw-invite-row .sw-invite-box{flex:1;margin-bottom:0}.sw-invite-row .btn{flex:0 0 auto;align-self:stretch}.sw-section h3{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--faint);font-weight:700}.sw-muted{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--muted)}.sw-list{margin:0;padding-left:18px;font-size:14px;line-height:1.5}.sw-ol{margin:0;padding-left:20px;font-size:13px;line-height:1.55;color:var(--text)}.sw-ol li{margin-bottom:6px}.sw-callout{padding:12px 14px;border-radius:var(--r-sm);font-size:13px;line-height:1.5;margin-bottom:14px;border:1px solid var(--line)}.sw-callout-ok{background:#34d3991a;border-color:#34d39959}.sw-callout-warn{background:#f5b9421a;border-color:#f5b94259}.sw-warn{color:var(--warn);font-size:12px}.sw-invite-box{font-family:var(--mono);font-size:12px;line-height:1.4;white-space:pre-wrap;padding:10px 12px;margin-bottom:0;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text)}.sw-dismiss{width:100%;margin-top:4px}.sw-how kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:4px;background:var(--panel-3);border:1px solid var(--line)}.terrain-tip{position:fixed;z-index:120;pointer-events:none;padding:7px 10px;max-width:280px;max-height:240px;overflow-y:auto;font-size:12px;font-weight:500;color:var(--text);background:#12151deb;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-1);line-height:1.4}.terrain-tip .square-tip-entity{margin:-1px -2px 6px;padding-bottom:6px;border-bottom:1px solid var(--line)}.terrain-tip .square-tip-entity .token-tip-name{font-size:13px;font-weight:700;margin-bottom:2px}.terrain-tip .square-tip-entity .token-tip-meta{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:5px}.terrain-tip .square-tip-entity .token-tip-stat{font-size:11px;color:var(--muted)}.terrain-tip .square-tip-entity .token-tip-conds{color:var(--warn);margin-top:3px}.terrain-tip[hidden]{display:none}.square-tip-coord{font-size:13px;font-weight:700;letter-spacing:.3px}.square-tip-list{list-style:none;margin:5px 0 0;padding:5px 0 0;border-top:1px solid var(--line)}.square-tip-item{font-size:11px;font-weight:500;color:var(--muted);padding:2px 0}.square-tip-item--occupant{color:var(--text);font-weight:600}.square-tip-item--zone{color:#c4a8ff}.square-tip-item--aura{color:#ffb86c}.square-tip-item--terrain{color:var(--faint)}.square-tip-detail{display:block;font-size:10px;font-weight:400;color:var(--faint);margin-top:1px}.token-tip{position:fixed;z-index:121;pointer-events:none;padding:8px 11px;max-width:280px;font-size:12px;line-height:1.45;color:var(--text);background:#0e1118f0;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-2)}.token-tip[hidden]{display:none}.token-tip-name{font-size:13px;font-weight:700;margin-bottom:2px}.token-tip-meta{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:5px}.token-tip-stat{font-size:11px;color:var(--muted)}.token-tip-conds{color:var(--warn);margin-top:3px}#game{display:flex;flex-direction:column;height:100%}#main-row{display:flex;flex:1 1 auto;min-height:0;align-items:stretch}#left-column{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}#right-rail{flex:0 0 var(--rail-w, 340px);width:var(--rail-w, 340px);min-width:var(--rail-w, 340px);max-width:var(--rail-w, 340px);display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--line);position:relative;transition:flex-basis .18s ease,width .18s ease,min-width .18s ease,max-width .18s ease}#right-rail.collapsed{flex-basis:0;width:0;min-width:0;max-width:0;border-left:none}#right-rail.collapsed .rail-tabs,#right-rail.collapsed .rail-panes{display:none}.rail-tabs{display:flex;align-items:stretch;flex:0 0 auto;gap:0;height:38px;padding:0 4px 0 8px;border-bottom:1px solid var(--line);background:var(--panel-2)}.rail-tab{flex:0 0 auto;padding:0 14px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;cursor:pointer;transition:color .12s ease,border-color .12s ease}.rail-tab:hover{color:var(--text)}.rail-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.rail-collapse{margin-left:auto;width:28px;border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;border-radius:var(--r-sm)}.rail-collapse:hover{color:var(--text);background:#ffffff0d}.rail-panes{flex:1 1 auto;min-height:0;overflow:hidden;display:flex}.rail-pane{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;width:100%;scrollbar-gutter:stable}.rail-pane[hidden]{display:none}.rail-empty{padding:18px 16px;color:var(--muted);font-size:var(--fs-base);line-height:1.5}.rail-reopen{position:absolute;top:8px;right:100%;width:22px;height:38px;border:1px solid var(--line);border-right:none;border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--panel-2);color:var(--muted);font-size:16px;line-height:1;cursor:pointer}#right-rail.collapsed .rail-reopen{right:auto;left:-22px}.rail-reopen:hover{color:var(--text)}#inspect-host{display:block;min-width:0;max-width:100%;overflow-x:hidden}#inspect-host .pc-card,#inspect-host .ent-card,.sheet-rail{min-width:0;max-width:100%}#inspect-host .pc-body,.sheet-rail .sheet-body{padding:14px 16px 24px}#inspect-host .ent-card,#inspect-host .ent-edit,#inspect-host .ent-acc{min-width:0}#inspect-host .pc-card{border:none;border-radius:0;box-shadow:none;background:transparent;animation:none}#inspect-host .pc-band{border-radius:0}.sheet-rail{display:block}.sheet-rail .sheet-body{flex:none;overflow:visible}.dm-tools-rail{display:block}.dm-tools-rail .dm-tools-tabs{position:static;background:var(--panel-2);padding:6px 10px 0}.dm-tools-rail .dm-tools-body{flex:none;overflow:visible;padding:10px 12px 24px}.player-init-rail{display:block}.player-init-rail .player-init-body{padding:10px 12px 24px}.player-init-lead{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--muted)}.player-init-done-msg{margin:0 0 12px;font-size:12px;color:var(--ok, #6b6)}.dm-init-total{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text);min-width:1.25rem;text-align:right}.pi-init-total{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text);min-width:1.5rem;text-align:right}.pi-stat-label{font-size:11px;color:var(--muted);min-width:1.5rem;text-align:center}.pi-you{font-size:10px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dm-init-row.pi-mine{border-color:#64b4ff59;background:#64b4ff0f}.pi-done-note{font-size:11px;margin-left:auto}.cs-preinit-nudge{font-size:11px;padding:3px 10px;border-radius:4px;border:1px solid var(--accent);background:#64b4ff14;color:var(--accent);cursor:pointer;margin-top:4px}.cs-preinit-nudge:hover{background:#64b4ff26}.compendium-rail{display:flex;flex-direction:column;min-height:100%;min-width:0}.compendium-toolbar{flex:0 0 auto;padding:12px 14px 10px;border-bottom:1px solid var(--line);background:var(--panel-2)}.compendium-search-label{display:block;margin-bottom:8px}.compendium-search-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-base)}.compendium-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px #4cc2ff40}.compendium-toolbar-row{display:flex;align-items:center;gap:6px}.compendium-select{flex:1 1 auto;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-sm)}.compendium-select--category{flex:1 1 auto}.compendium-select--narrow{flex:0 1 4.5rem;min-width:3.5rem}.compendium-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.compendium-filter-sep{color:var(--muted);font-size:var(--fs-sm)}.compendium-tips-btn{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}.compendium-tips-btn:hover{color:var(--text);border-color:var(--accent)}.compendium-tips{margin-top:8px;padding:8px 10px;border-radius:var(--r-sm);background:#ffffff08;border:1px solid var(--line);font-size:11px;line-height:1.45;color:var(--muted)}.compendium-tips p{margin:0 0 4px}.compendium-tips p:last-child{margin-bottom:0}.compendium-tips code{font-size:10px;color:var(--text)}.compendium-results-host{flex:1 1 auto;min-height:0;padding:10px 14px 20px}.compendium-status{padding:8px 2px;color:var(--muted);font-size:var(--fs-sm)}.compendium-results-host>.rail-empty{padding:8px 2px 16px}.compendium-status--error{color:var(--danger, #e88)}.compendium-empty-hint{display:block;margin-top:6px;font-size:11px}.compendium-hit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.compendium-hit-row{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#ffffff05}.compendium-hit-row.open{background:#4cc2ff0f;border-color:#4cc2ff47;box-shadow:inset 3px 0 0 var(--accent)}.compendium-hit-head{display:flex;align-items:flex-start;gap:8px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit;font-size:var(--fs-sm);line-height:1.35}.compendium-hit-head:hover{background:#ffffff0a}.compendium-hit-row.open>.compendium-hit-head{background:transparent}.compendium-hit-head.open{padding-bottom:8px}.compendium-hit-caret{flex:0 0 auto;align-self:center;margin-left:2px;color:var(--muted);font-size:11px;line-height:1}.compendium-hit-body{padding:0 12px 12px 14px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:8px}.compendium-hit-body>.compendium-status{padding:8px 0}.compendium-hit-body .compendium-detail-meta{margin:8px 0 0;font-size:11px;color:var(--muted)}.compendium-hit-body .compendium-detail-id{display:block;margin:0}.compendium-hit-kind{flex:0 0 auto;font-size:9px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);padding-top:3px;min-width:3.4rem}.compendium-hit-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.compendium-hit-name{font-weight:600;font-size:var(--fs-sm);line-height:1.35}.compendium-hit-sub{font-size:11px;color:var(--muted);line-height:1.35}.compendium-hit-src{flex:0 0 auto;align-self:flex-start;font-size:10px;color:var(--muted);opacity:.85;padding-top:3px;max-width:3.5rem;text-align:right;line-height:1.25}.compendium-detail-card{margin-top:0}.compendium-detail-card .compendium-card{max-width:100%}.compendium-detail-meta{font-size:11px;color:var(--muted)}.compendium-detail-id{font-size:10px;font-family:var(--font-mono, monospace);color:var(--muted);opacity:.75}.compendium-mpower-caret{color:var(--muted);font-size:11px;flex:0 0 auto}.compendium-subhead{margin:14px 0 8px;font-size:10px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted)}.compendium-mpower-list,.compendium-aura-list{list-style:none;margin:0;padding:0}.compendium-mpower{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:6px;overflow:hidden}.compendium-mpower-head{display:flex;align-items:center;width:100%;padding:8px 10px;border:none;background:#ffffff08;color:var(--text);font:inherit;font-size:var(--fs-sm);font-weight:600;text-align:left;cursor:pointer}.compendium-mpower-head:hover{background:#ffffff0f}.compendium-mpower-name{flex:1 1 auto}.compendium-mpower-body{padding:8px 10px 10px;border-top:1px solid var(--line)}.compendium-aura-list li{margin-bottom:8px;font-size:var(--fs-sm);line-height:1.4}.compendium-aura-name{display:block;font-weight:600;margin-bottom:2px}.compendium-aura-text{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#context-strip{display:flex;align-items:stretch;min-height:56px;background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto;overflow:visible}.cs-zone{display:flex;align-items:center;min-width:0}.cs-zone-left{flex:0 0 auto;gap:14px;padding:0 14px 0 12px;border-right:1px solid var(--line-soft)}.cs-zone-center{flex:1 1 auto;padding:6px 16px;overflow:hidden}.cs-zone-right{flex:0 1 auto;gap:10px;padding:0 10px;border-left:1px solid var(--line-soft);min-width:0}.cs-mode-tactical{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.cs-turn-block{flex:0 1 auto;min-width:0}.cs-turn-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.cs-end-turn-btn{flex:0 0 auto;padding:6px 12px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.cs-end-turn-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 24%,var(--panel-2));border-color:var(--accent)}.cs-end-turn-btn:disabled{opacity:.45;cursor:default}.cs-mode-campaign{width:100%;font-size:var(--fs-md);color:var(--muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-tool-cluster{display:flex;align-items:center;gap:6px}#context-strip.campaign-mode .cs-mode-tactical,#context-strip.campaign-mode .cs-tactical-tools{display:none}#context-strip.campaign-mode .cs-zone-center{justify-content:flex-start}#context-strip.campaign-mode .cs-mode-campaign:not([hidden]){display:block}.cs-session-wrap{position:relative;max-width:240px}.cs-session-btn{display:block;margin:0;padding:0;border:none;background:none;cursor:pointer;text-align:left;border-radius:4px;max-width:100%}.cs-session-inner{display:flex;align-items:center;gap:7px;min-width:0}.cs-session-btn:hover:not(:disabled) .cs-session,.cs-session-btn:focus-visible .cs-session{color:var(--text)}.cs-session-btn:disabled{cursor:default}.cs-session{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--faint);display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-session-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:160px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2)}.cs-session-menu-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.cs-session-menu-item:hover{background:var(--panel-2)}.cs-session-menu-build{padding:6px 10px 4px;border-top:1px solid var(--line);margin-top:4px;font-size:10px;font-weight:600;letter-spacing:.6px;color:var(--faint);text-align:center;-webkit-user-select:text;user-select:text;cursor:default}.cs-turn{font-size:16px;font-weight:700;letter-spacing:.2px}.cs-turn.mine{color:var(--accent)}.cs-turn.idle{color:var(--muted);font-weight:600}.cs-turn-name{font:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer}.cs-turn-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.cs-meta{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.cs-location{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin-bottom:2px;color:var(--text);font-size:12.5px;font-weight:700;letter-spacing:.3px;line-height:1.15}.cs-location[hidden]{display:none}.cs-location-pin{display:inline-flex;flex:0 0 auto;color:var(--accent, #6b8afd)}.cs-location-pin .cs-glyph{width:14px;height:14px}.cs-location-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-location-unset{color:var(--muted);font-weight:600}.cs-location-unset .cs-location-pin{color:var(--muted)}.cs-grant-hint{margin-top:4px;color:var(--ally, #34d399);font-size:12px;font-weight:600;letter-spacing:.2px;text-transform:none;line-height:1.35;max-width:28rem}.cs-preinit{display:block;margin-top:4px}.cs-init{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-start;gap:3px;padding:4px 0;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;min-width:0}.cs-init::-webkit-scrollbar{height:4px}.cs-init::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}.cs-init-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--faint);margin-right:4px;flex:0 0 auto}.cs-disc-slot{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center}.cs-disc{--c: var(--neutral);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;color:#fff;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 26%,var(--bg-2));transition:transform .12s ease,box-shadow .15s ease}.cs-disc.team-player{--c: var(--player)}.cs-disc.team-monster{--c: var(--monster)}.cs-disc.team-ally{--c: var(--ally)}.cs-disc.team-neutral{--c: var(--neutral)}.cs-disc.team-trap{--c: #c98a2e}.cs-disc.bloodied{box-shadow:inset 0 0 0 2px #f2555f99}.cs-disc.active{border-width:3px;border-color:var(--highlight);color:#fff;background:color-mix(in srgb,var(--highlight) 22%,var(--bg-2));position:relative;z-index:1}.cs-disc.down{opacity:.38;filter:grayscale(.7)}.cs-disc.has-portrait{overflow:hidden;padding:0}.cs-disc-portrait{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.cs-disc.down .cs-disc-portrait{filter:grayscale(.85)}.cs-disc[data-entity-link]{cursor:default}.cs-disc[data-entity-link]:hover,.cs-disc[data-entity-link].entity-linked{box-shadow:0 0 0 2px color-mix(in srgb,var(--highlight) 55%,transparent),0 0 14px color-mix(in srgb,var(--highlight) 28%,transparent);transform:scale(1.06)}.cs-disc[data-entity-link].entity-linked:not(:hover){box-shadow:0 0 0 2px color-mix(in srgb,var(--highlight) 50%,transparent),0 0 16px color-mix(in srgb,var(--highlight) 32%,transparent)}.cs-init-tip{position:fixed;z-index:200;pointer-events:none;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;padding:6px 10px;max-width:min(320px,92vw);font-size:12px;font-weight:500;color:var(--text);background:#12151df0;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-1);line-height:1.35}.cs-init-tip[hidden]{display:none}.cs-init-tip-name{font-weight:700}.cs-init-tip-tags{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.cs-pips{display:flex;gap:16px;flex:0 0 auto}.pip-group{display:flex;flex-direction:column;align-items:center;gap:4px}.pip-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--faint);background:transparent;transition:background .15s ease,box-shadow .15s ease}.pip-group.available .pip-dot{background:var(--accent);border-color:var(--accent)}.pip-label{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.pip-group.used .pip-label{color:var(--faint)}.cs-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--faint)}.cs-dot.ok{background:var(--success)}.cs-dot.bad{background:var(--danger)}#board-area{position:relative;flex:1 1 auto;min-height:120px;min-width:0;overscroll-behavior:none;touch-action:none;background:#1a1a2e}#phaser-root{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;background:#1a1a2e}#phaser-root .phaser-resize-cover{position:absolute;top:0;left:0;pointer-events:none;z-index:1}#phaser-root canvas{display:block;touch-action:none}#reaction-board-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#090b1066;pointer-events:none;z-index:3}#reaction-board-dim[hidden]{display:none!important}#reconnect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#090b10b8;z-index:200;pointer-events:all}.reconnect-card{display:flex;align-items:flex-start;gap:14px;max-width:min(420px,92vw);padding:18px 22px;background:#12151df5;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1)}.reconnect-body{display:flex;flex-direction:column;gap:6px;min-width:0}.reconnect-title{font-size:15px;font-weight:700;color:var(--text)}.reconnect-detail{font-size:13px;line-height:1.45;color:var(--text-muted)}#wait-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#090b1057;pointer-events:none;z-index:2}#wait-overlay.map-staging{background:#06080e;z-index:4}#dm-map-staging-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;max-width:min(720px,calc(100% - 24px));width:max-content;pointer-events:auto}#dm-map-staging-bar[hidden]{display:none!important}.dm-map-staging-bar-inner{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 14px;background:#0d1018f5;border:1px solid rgba(255,194,77,.45);border-radius:999px;box-shadow:var(--glow-amber),var(--shadow-1)}.dm-map-staging-bar-copy{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0}.dm-map-staging-pill{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1a1208;background:var(--highlight)}.dm-map-staging-text{font-size:12px;font-weight:600;color:var(--text);line-height:1.35}.dm-map-player-view{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#ffffff08}.dm-map-player-view--staging{background:#ffc24d1a;border-color:#ffc24d59}.dm-map-player-view--live{background:#5ac88c14;border-color:#5ac88c38}.dm-map-player-view-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.dm-map-player-view-value{font-size:13px;font-weight:700;color:var(--text)}.dm-map-player-view-detail{margin-top:4px;font-size:11px;font-weight:500;color:var(--muted);line-height:1.4}.wait-card{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#12151deb;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-1);font-size:14px;font-weight:600;color:var(--text)}.wait-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:wait-spin .8s linear infinite}@keyframes wait-spin{to{transform:rotate(360deg)}}.wait-text .wait-name{color:var(--accent-2)}.wait-card.paused .wait-spinner{display:none}.wait-card.paused:before{content:"⏸";font-size:15px;line-height:1;opacity:.9}#mode-banner{position:absolute;top:14px;left:14px;transform:translateY(-8px);display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:min(360px,calc(100% - 28px));padding:8px 11px;background:#0d1018e0;border:1px solid rgba(255,194,77,.48);border-radius:10px;box-shadow:var(--shadow-1);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}#mode-banner.visible{opacity:1;transform:translateY(0)}#mode-banner.interactive{pointer-events:auto}#mode-banner .mb-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}#mode-banner .mb-confirm,#mode-banner .mb-secondary{padding:5px 11px;font-size:11px;font-weight:700;border:none;border-radius:var(--r-md);cursor:pointer}#mode-banner .mb-confirm{color:var(--bg);background:var(--highlight)}#mode-banner .mb-confirm:hover{filter:brightness(1.08)}#mode-banner .mb-secondary{color:var(--text);background:#ffffff14;border:1px solid rgba(255,194,77,.45)}#mode-banner .mb-secondary:hover{background:#ffc24d29}#mode-banner .mb-text{font-size:13px;font-weight:700;color:var(--highlight)}#mode-banner .mb-hint{font-size:10px;color:var(--muted);line-height:1.25}#action-card-host{position:absolute;top:14px;left:14px;z-index:5;max-width:min(380px,calc(100% - 28px));opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}#action-card-host.visible{opacity:1;transform:translateY(0);pointer-events:auto}.acard-card{width:min(380px,100%);max-height:min(70vh,560px);display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid rgba(255,194,77,.48);border-radius:10px;box-shadow:var(--shadow-1);padding:10px 12px}.acard-card .decision-scroll{max-height:min(56vh,460px)}.acard-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.acard-title{font-size:15px;font-weight:800}.acard-subtitle{margin:0 0 6px;font-size:12px;color:var(--muted)}.acard-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;margin-top:6px;border-top:1px solid var(--line-soft)}.acard-card--waiting .acard-subtitle{font-style:italic;margin-bottom:0}.acard-badge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.acard-choice-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.acard-choice-option{text-align:left;padding:8px 10px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;font-size:13px}.acard-choice-option:hover:not(:disabled){border-color:var(--accent);background:#ffffff08}.acard-choice-option--disabled,.acard-choice-option:disabled{opacity:.6;cursor:not-allowed}.acard-resolved-list{display:flex;flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none}.acard-resolved-item{font-size:12px;line-height:1.4}.acard-aftermath{margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}#toast-host{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:11px 15px;border-radius:var(--r);font-size:13px;background:#161a24f5;border:1px solid var(--line);border-left:3px solid var(--accent);box-shadow:var(--shadow-1);opacity:0;transform:translate(16px);transition:opacity .2s ease,transform .2s ease;max-width:320px;pointer-events:auto}.toast.in{opacity:1;transform:translate(0)}.toast.error{border-left-color:var(--danger);color:#ffc4c4}.toast.success{border-left-color:var(--success);color:#b6f0d4}.toast.warn{border-left-color:var(--warn);color:#ffe4b8}.toast-hint{display:flex;align-items:flex-start;gap:10px;max-width:min(440px,92vw)}.toast-hint-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.toast-hint-text{flex:1;line-height:1.35}.toast-hint-btn{flex:0 0 auto;padding:4px 10px;border-radius:5px;border:1px solid var(--accent);background:#2a2238;color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.toast-hint-btn:hover{background:#3a3048}#bottom-dock{display:flex;flex-direction:column;flex:0 0 auto;background:var(--line);border-top:1px solid var(--line)}.dock-handle{display:flex;align-items:center;gap:8px;flex:0 0 auto;height:24px;padding:0 10px;background:var(--panel-2);border-bottom:1px solid var(--line);cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none}.dock-handle.collapsed{cursor:pointer;border-bottom:none}.dock-handle-grip{width:32px;height:4px;border-radius:2px;background:var(--line-strong);flex:0 0 auto}.dock-handle-label{flex:1 1 auto;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.dock-collapse-btn{flex:0 0 auto;width:26px;height:22px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);color:var(--muted);font-size:10px;line-height:1;cursor:pointer}.dock-collapse-btn:hover{border-color:var(--accent);color:var(--text)}#dock-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:1px;flex:0 0 auto;width:100%;height:280px;min-height:0;overflow:hidden}@media(max-width:720px){#dock-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}}#dock-body.dock-animate{transition:height .15s ease}#dock-body.collapsed{overflow:hidden}body.dock-dragging{cursor:ns-resize!important;-webkit-user-select:none;user-select:none}body.dock-dragging *{cursor:ns-resize!important}#reactions-strip{flex:0 0 auto;width:100%;background:var(--panel);padding:4px 10px 3px;border-bottom:1px solid var(--line)}#reactions-strip.rx-pending{border-bottom-color:#e5b84094;background:linear-gradient(90deg,rgba(229,184,64,.13),transparent 58%),var(--panel);box-shadow:inset 0 -2px #e5b84033;animation:rx-pending-arrive 1.15s ease-out 1}#reactions-strip.rx-has-hints:not(.rx-pending){border-bottom-color:#e5b84061;background:linear-gradient(90deg,rgba(229,184,64,.08),transparent 48%),var(--panel);box-shadow:inset 0 -1px #e5b84024}#reactions-strip[hidden]{display:none!important}@keyframes rx-pending-arrive{0%{background:linear-gradient(90deg,#e5b8407a,#e5b84024 74%),var(--panel);box-shadow:inset 0 -2px #e5b840b8,0 0 28px #e5b84057}38%{background:linear-gradient(90deg,#e5b8403d,#e5b8400f 68%),var(--panel);box-shadow:inset 0 -2px #e5b84057,0 0 18px #e5b84033}to{background:linear-gradient(90deg,rgba(229,184,64,.13),transparent 58%),var(--panel);box-shadow:inset 0 -2px #e5b84033}}@media(prefers-reduced-motion:reduce){#reactions-strip.rx-pending{animation:none;border-bottom-color:#e5b8409e;background:linear-gradient(90deg,rgba(229,184,64,.15),transparent 58%),var(--panel)}.rx-chip.rx-chip-hint{animation:none}}.rx-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;min-width:0;flex-wrap:nowrap;overflow:hidden}.rx-group+.rx-group{margin-top:4px}.rx-group-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rx-group-prefix{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.rx-group-head{display:none}.rx-group-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text);opacity:.85}.rx-pool-note{font-size:10px;color:var(--muted)}.rx-title{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}#reactions-strip.rx-has-hints .rx-title{color:#f1c96e}.rx-hint{flex:1 1 auto;min-width:0;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rx-pending-head{margin-bottom:5px}.rx-pending-head .rx-title{color:var(--highlight)}.rx-pending-row,.rx-actor-pills{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.rx-actor-pills{margin-bottom:5px}.rx-actor-pill{font-size:10px}.rx-actor-pill.selected{border-color:#e5b840b8;background:#e5b8401f;color:#f6dea0}.rx-pending-note{font-size:11px;color:var(--muted)}.rx-primary{border-color:#e5b84094;background:#e5b8401f;color:#f6dea0}#reactions-strip.rx-pending .rx-chip{border-color:#e5b84047;background:#241d2d}#reactions-strip.rx-pending .rx-primary,#reactions-strip.rx-pending .rx-pending-power:not(.reminder-only){border-color:#e5b840ad;background:linear-gradient(180deg,#e5b8402e,#e5b84014);box-shadow:0 0 10px #e5b8401f;color:#f8e3aa}.rx-pending-power.reminder-only{border-style:dashed;color:var(--muted)}.rx-pending-feedback{margin-top:5px;font-size:11px;color:#f3d989}.rx-countdown{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-width:104px;justify-content:flex-end}.rx-countdown-track{width:42px;height:4px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line-soft);overflow:hidden}.rx-countdown-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--highlight),#e8a020);transition:width .25s linear}.rx-countdown-label{font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}.rx-countdown--long{min-width:0}.rx-row{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0}.rx-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;border:1px solid #3a3048;background:#1e1828;color:var(--text);font-size:11px;cursor:pointer;max-width:100%}.rx-chip.rx-glow-reaction{border-color:#7c5cad6b;animation:rx-glow-reaction 2.8s ease-in-out infinite}.rx-chip.rx-glow-interrupt{border-color:#4a8fa86b;animation:rx-glow-interrupt 2.8s ease-in-out infinite}.rx-chip.rx-glow-opportunity{border-color:#a8843a6b;animation:rx-glow-opportunity 2.8s ease-in-out infinite}.rx-chip.rx-chip-hint{border-color:#e5b840bd;background:linear-gradient(180deg,#e5b8402e,#e5b84014);color:#f8e3aa;box-shadow:0 0 6px #e5b84033,inset 0 0 0 1px #ffecb80d;animation:rx-chip-hint-callout 2.6s ease-in-out infinite}.rx-chip.rx-chip-hint .rx-usage{color:#d9bd78}@keyframes rx-glow-reaction{0%,to{box-shadow:0 0 4px #c9a8ff29,0 0 10px #c9a8ff12}50%{box-shadow:0 0 6px 1px #c9a8ff61,0 0 14px 3px #c9a8ff2e}}@keyframes rx-glow-interrupt{0%,to{box-shadow:0 0 4px #78c8e629,0 0 10px #78c8e612}50%{box-shadow:0 0 6px 1px #78c8e661,0 0 14px 3px #78c8e62e}}@keyframes rx-glow-opportunity{0%,to{box-shadow:0 0 4px #e6be5a29,0 0 10px #e6be5a12}50%{box-shadow:0 0 6px 1px #e6be5a61,0 0 14px 3px #e6be5a2e}}@keyframes rx-chip-hint-callout{0%,to{box-shadow:0 0 5px #e5b8402e,inset 0 0 0 1px #ffecb80d}50%{box-shadow:0 0 10px #e5b84057,0 0 18px #e5b84024,inset 0 0 0 1px #ffecb817}}.rx-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.rx-chip:hover:not(.unavailable){border-color:var(--accent);background:#2a2238}.rx-chip.unavailable{opacity:.45;cursor:not-allowed}.rx-kind{font-size:10px;font-weight:700;text-transform:uppercase}.rx-kind-interrupt{color:#78c8e6}.rx-kind-reaction{color:#c9a8ff}.rx-kind-opportunity{color:#e6be5a}.rx-usage{font-size:10px;color:var(--muted)}#action-bar{min-height:0;min-width:0;height:100%;background:var(--panel);padding:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:0}.ab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;padding:4px 10px;border-bottom:1px solid var(--line)}.ab-toolbar-title{display:none}.ab-sort{display:flex;gap:4px;flex:0 0 auto}.ab-sort-btn{padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:10px;font-weight:600;cursor:pointer}.ab-sort-btn:hover{color:var(--text);border-color:var(--line-strong)}.ab-sort-btn.active{color:var(--accent);border-color:#4cc2ff73;background:#4cc2ff14}.ab-quick-move{display:flex;flex:0 0 auto;gap:4px;margin-left:auto}.ab-quick-chip{flex:0 0 auto;min-width:0;padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;line-height:1.2}.ab-quick-chip:hover:not(:disabled){border-color:var(--accent);background:#4cc2ff14}.ab-quick-chip.active{border-color:#4cc2ff8c;background:#4cc2ff1f;color:var(--accent)}.ab-quick-chip.unavailable,.ab-quick-chip:disabled{opacity:.38;cursor:not-allowed}.ab-quick-basics{position:relative;display:flex;flex:0 0 auto;align-items:center}.ab-basics-trigger{flex:0 0 auto;min-width:0;padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;line-height:1.2}.ab-basics-trigger:hover{border-color:var(--accent);background:#4cc2ff14}.ab-basics-trigger.active,.ab-basics-trigger.open{border-color:#4cc2ff8c;background:#4cc2ff1f;color:var(--accent)}.ab-basics-row{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:4px;padding:4px 10px 6px;border-bottom:1px solid var(--line);background:#4cc2ff0a}.ab-basics-chip{flex:0 0 auto;min-width:0;padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:10px;font-weight:700;letter-spacing:.03em;cursor:pointer;line-height:1.2}.ab-basics-chip:hover:not(:disabled){border-color:var(--accent);background:#4cc2ff14}.ab-basics-chip.active{border-color:#4cc2ff8c;background:#4cc2ff1f;color:var(--accent)}.ab-basics-chip.unavailable,.ab-basics-chip:disabled{opacity:.38;cursor:not-allowed}.ab-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px 8px 8px;scroll-behavior:auto}.ab-scroll.ab-scroll--centering{scroll-behavior:smooth}.ab-section{margin-bottom:6px}.ab-section:last-child{margin-bottom:0}.ab-section-label{margin:0 0 4px;padding:0 0 0 8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-left:3px solid var(--line-strong)}.ab-section.usage-at-will .ab-section-label{border-left-color:#6ecf8a;color:#9bddad}.ab-section.usage-encounter .ab-section-label{border-left-color:#e8a84a;color:#f0c36b}.ab-section.usage-daily .ab-section-label{border-left-color:#c96a6a;color:#e89898}.ab-powers{gap:2px}.ab-legal-action{border:1px solid transparent;background:#ffffff05}.ab-legal-action.selected{border-color:#4cc2ff73;background:#4cc2ff0f}.ab-legal-action.unavailable{opacity:.55}.ab-legal-action.unavailable .ab-use-btn{cursor:not-allowed}.ab-legal-head{padding:4px 6px;cursor:default}.ab-legal-head--toggle{cursor:pointer}.ab-legal-head--toggle:hover{background:#ffffff0a}.ab-legal-head .ent-pname{flex:1 1 auto;min-width:0;font-size:12px;font-weight:600}.ab-reason{flex:0 1 auto;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--faint)}.ab-cost-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:1px 5px;border-radius:4px;border:1px solid var(--line)}.ab-use-btn{flex:0 0 auto;padding:4px 10px;border-radius:5px;border:1px solid rgba(76,194,255,.35);background:#4cc2ff1f;color:var(--accent);font-size:11px;font-weight:700;cursor:pointer}.ab-use-btn:hover:not(:disabled){background:#4cc2ff38;border-color:var(--accent)}.ab-use-btn:disabled{opacity:.45;cursor:not-allowed}.ab-row-actions{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto}.ab-show-btn,.ent-show-btn{flex:0 0 auto;padding:2px 7px;border-radius:4px;border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-size:10px;font-weight:600;cursor:pointer}.ab-show-btn{padding:4px 8px;font-size:11px}.ab-show-btn:hover,.ent-show-btn:hover{color:var(--accent);border-color:var(--accent)}.ent-row-actions{display:inline-flex;align-items:center;gap:4px;margin-left:auto;margin-right:2px;flex-shrink:0}.ent-row-actions .ent-table-use-btn{margin-left:0;margin-right:0}.ab-legal-action .ent-detail{padding:0 6px 8px 20px}.ab-legal-action .ent-detail--compendium .compendium-card{max-height:none}#combat-log{min-height:0;min-width:0;background:var(--panel);display:flex;flex-direction:column;overflow:hidden}body.animating #action-bar{pointer-events:none;opacity:.55}.ab-empty{color:var(--muted);font-size:14px;padding:18px 4px}.ab-condition-note{margin:6px 4px 2px;padding:6px 10px;background:#f0c36b1f;border:1px solid rgba(240,195,107,.45);border-radius:var(--r-sm);color:#f0c36b;font-size:12px;line-height:1.35}.ab-dying{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:16px 6px}.ab-dying-head{display:flex;align-items:center;gap:10px}.ab-dying-skull{font-size:22px;filter:drop-shadow(0 0 8px rgba(242,85,95,.7))}.ab-dying-title{font-size:18px;font-weight:700;color:var(--monster)}.ab-dsaves{display:flex;align-items:center;gap:8px}.ab-dsaves .ds-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-right:4px}.ds-pip{width:16px;height:16px;border-radius:50%;border:2px solid var(--monster);background:transparent;transition:background .2s ease}.ds-pip.failed{background:var(--monster);box-shadow:0 0 8px #f2555fb3}.ab-dsave-btn{background:var(--monster);border-color:var(--monster);color:#2a0d0d}.ab-dsave-btn:hover{background:#ff6b75;border-color:#ff8189}.ab-dying-hint{font-size:12px;color:var(--muted);line-height:1.4}.ab-blocked{padding:16px 4px}.ab-blocked-title{font-size:15px;font-weight:700;color:var(--warn);margin-bottom:6px}.ab-blocked-hint{font-size:13px;color:var(--muted);line-height:1.45}#power-card-host{position:absolute;left:16px;bottom:16px;width:min(420px,calc(100% - 32px));max-height:min(72vh,calc(100% - 32px));overflow-y:auto;z-index:3;pointer-events:none;animation:pc-rise .12s ease-out;overscroll-behavior:contain}#power-card-host.showing{pointer-events:auto}#power-card-host.peeking .pc-card{border-color:var(--line);box-shadow:var(--shadow-2)}#power-card-host.peeking:not(:hover) .pc-card{opacity:.98}@keyframes pc-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden}#power-card-host.pinned .pc-card{border-color:var(--highlight);box-shadow:var(--glow-amber),var(--shadow-2)}#power-card-host.pinned{pointer-events:auto}.pc-band{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:#fff}.usage-at-will .pc-band{background:#237a52}.usage-encounter .pc-band{background:#8f2f2f}.usage-daily .pc-band{background:#20242f;border-bottom:2px solid var(--highlight)}.usage-other .pc-band{background:#20242f}.pc-name{font-size:16px;font-weight:800;letter-spacing:-.2px}.pc-usage{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;opacity:.92;white-space:nowrap}.pc-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line-soft)}.pc-accessory{padding:6px 14px;border-bottom:1px solid var(--line-soft);color:var(--highlight);font-size:11px;font-family:var(--mono);line-height:1.35}.pc-cb-hint{padding:5px 14px;border-bottom:1px solid var(--line-soft);color:var(--success, #6ee7a0);font-size:11px;font-family:var(--mono);line-height:1.35}.pc-meta{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.pc-kws{display:flex;flex-wrap:wrap;gap:5px}.pc-kw{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-2);background:var(--accent-dim);padding:2px 7px;border-radius:5px}.pc-body{padding:12px 14px}.pc-line{margin:0 0 8px;font-size:13px;line-height:1.5;color:var(--text)}.pc-line:last-child{margin-bottom:0}.pc-label{font-weight:800;color:var(--accent-2);margin-right:3px}.pc-empty{margin:0;font-size:12.5px;font-style:italic;color:var(--muted);line-height:1.5}.pc-foot{padding:8px 14px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--faint)}.compendium-card{--comp-accent: var(--accent-2);position:relative;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:10px 12px 8px 14px;font-size:12px;line-height:1.42;color:var(--text);overflow:hidden;max-width:100%;overflow-wrap:break-word;word-break:break-word}.compendium-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--comp-accent);border-radius:var(--r-md) 0 0 var(--r-md)}.compendium-card.usage-at-will{--comp-accent: #34d399}.compendium-card.usage-encounter{--comp-accent: #f2555f}.compendium-card.usage-daily{--comp-accent: #9ca3af}.compendium-card.usage-trap{--comp-accent: #d97706}.compendium-card.usage-hazard{--comp-accent: #ea580c}.compendium-card.usage-terrain{--comp-accent: #78716c}.compendium-card--compact{padding:8px 10px 6px 12px;font-size:11.5px;line-height:1.38}.compendium-host .compendium-card{border:none;border-radius:0;background:transparent;padding:8px 10px 6px 12px}.compendium-host .compendium-card:before{border-radius:0}.compendium-host.pinned,.pc-card.compendium-host{overflow:hidden}.compendium-card h1{margin:0 0 6px;font-size:14px;font-weight:800;letter-spacing:-.2px;line-height:1.2;color:var(--text)}.compendium-card--compact h1{font-size:13px;margin-bottom:5px}.compendium-card h1 .level,.compendium-card h1 .milevel,.compendium-card h2 .milevel,.compendium-card h1 .thLevel,.compendium-card h1 .thSubHead{display:block;margin-top:2px;font-size:9.5px;font-weight:600;letter-spacing:.35px;text-transform:uppercase;color:var(--muted)}.compendium-card p.mistat{margin:0 0 3px;font-size:11px;line-height:1.35;color:var(--muted)}.compendium-card p.mistat b{color:var(--faint);font-weight:700}.compendium-card h1 .thXP{margin-left:.45em;font-weight:600;color:var(--faint)}.compendium-card h2{margin:8px 0 4px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent-2)}.compendium-card h1+h1,.compendium-card h2+h1{margin-top:10px;padding-top:8px;border-top:1px solid var(--line-soft)}.compendium-card p{margin:0 0 4px}.compendium-card p:last-child{margin-bottom:0}.compendium-card p.flavor,.compendium-card p.tbod{color:var(--text)}.compendium-card p.flavor i,.compendium-card p.flavor:first-of-type i{font-style:italic;color:var(--muted);font-size:11.5px;line-height:1.4}.compendium-card--compact p.flavor i,.compendium-card--compact p.flavor:first-of-type i{font-size:11px}.compendium-card p.powerstat,.compendium-card p.thStat,.compendium-card p.th2{font-size:11px;color:var(--text)}.compendium-card p.powerstat b,.compendium-card p.flavor b,.compendium-card p.tbod b,.compendium-card p.thStat b,.compendium-card p.th2 b{font-weight:800;color:var(--accent-2)}.compendium-card p.powerstat{padding:3px 0;border-bottom:1px solid var(--line-soft);margin-bottom:6px}.compendium-card p.flavor:not(:first-of-type){margin-top:2px}.compendium-card .trapblocktitle{display:block;margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:var(--accent-2)}.compendium-card .trapblockbody{display:block;margin-bottom:4px;color:var(--text)}.compendium-card .traplead{display:block;margin-bottom:6px;font-style:italic;color:var(--muted);font-size:11.5px}.compendium-card p.publishedIn{margin-top:8px;padding-top:6px;border-top:1px solid var(--line-soft);font-size:9px;line-height:1.35;color:var(--faint);font-style:normal}.compendium-card table.bodytable{width:100%;margin:0 0 8px;border-collapse:collapse;font-size:11px;line-height:1.35}.compendium-card table.bodytable td{vertical-align:top;padding:1px 4px 1px 0}.compendium-card table.bodytable td.rightalign{text-align:right;white-space:nowrap;padding-left:8px}.compendium-card p.flavorIndent{margin-left:.75em}.ent-compendium-wrap{max-height:min(60vh,520px);overflow:auto}.ent-acc-compendium .ent-acc-body{padding-top:4px}.ent-detail--compendium{padding:2px 0 8px 2px}.ent-detail--compendium .compendium-card{margin:0}.compendium-automation{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line-soft)}.compendium-automation .pc-auto-row{font-size:10.5px}.trap-card--compendium{background:transparent;border:none;box-shadow:none}.trap-compendium-wrap{padding:0}.trap-map-meta{margin-top:10px;padding:8px 10px;border-radius:var(--r-sm);background:#ffffff08;font-size:11px;color:var(--muted)}.trap-map-meta .ent-sec-label{font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-right:6px;color:var(--faint)}.team-player .pc-band{background:#245c82}.team-monster .pc-band{background:#8f2f2f}.team-ally .pc-band{background:#237a52}.team-neutral .pc-band{background:#353b4a}.trap-card .pc-band{background:#9a5c18}.trap-stat{margin-bottom:12px}.trap-stat-text{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--text)}.trap-stat-list{margin:4px 0 0;padding-left:1.1rem;font-size:12px;line-height:1.45;color:var(--text)}.trap-loading{margin:0 0 10px;font-size:12px;color:var(--muted)}.trap-loading--error{color:#e8a060}.ent-hp{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ent-hpbar{flex:1 1 auto;height:8px;border-radius:6px;background:#00000073;overflow:hidden}.ent-hpfill{display:block;height:100%;border-radius:6px}.ent-hpfill.high{background:var(--hp-high)}.ent-hpfill.mid{background:var(--hp-mid)}.ent-hpfill.low{background:var(--hp-low)}.ent-hpnum{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--muted)}.ent-pp{margin:4px 0 8px;font-size:12px;font-weight:600;color:var(--muted)}.ent-hphidden{font-size:12px;font-style:italic;color:var(--muted)}.ent-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ent-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:5px}.ent-badge.bloodied,.ent-badge.dying{color:#ffd2d2;background:#f2555f33;border:1px solid rgba(242,85,95,.5)}.ent-badge.temp{color:var(--accent-2);background:var(--accent-dim)}.ent-section{margin-top:10px}.ent-riders .ent-rider-block{margin-bottom:8px}.ent-riders .ent-rider-block:last-child{margin-bottom:0}.ent-rider-dismiss{margin-top:8px;font-size:11px;padding:4px 10px}.ent-rider-line{margin-bottom:10px}.ent-rider-text{margin-bottom:6px}.ent-hint-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ent-hint-chip{font-size:11px;padding:4px 8px;border-radius:var(--r-sm);border:1px solid rgba(245,185,66,.45);background:#f5b9421f;color:var(--text);cursor:pointer}.ent-hint-chip:hover{background:#f5b94238}.ent-hint-foot{font-size:11px;color:var(--faint);margin:8px 0 0}.ent-edit-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ent-edit-head .ent-sec-label{margin:0}.ent-defenses{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.ent-def{display:inline-flex;align-items:center;gap:3px;padding:2px 4px 2px 6px;border-radius:4px;border:1px solid var(--line);background:#ffffff08;font-size:11px;line-height:1.2}.ent-def-k{font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--faint)}.ent-def-input{width:34px;padding:2px 3px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--text);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.ent-def-set{padding:1px 4px;border:none;border-radius:3px;background:transparent;color:var(--muted);font-size:9px;font-weight:600;cursor:pointer;text-transform:uppercase}.ent-def-set:hover{color:var(--accent);background:#ffffff0f}.ent-edit-hint,.ent-edit-hint-inline{font-size:10px;color:var(--faint);display:block;margin-top:4px}.ent-edit-hint-inline{display:inline;margin:0 4px 0 0}.ent-action-pips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ent-action-pip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 6px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel-2)}.ent-action-pip.used{opacity:.65}.ent-pip-btn{font-size:10px;padding:2px 5px;border:1px solid var(--line);border-radius:4px;background:var(--panel-3);color:var(--muted);cursor:pointer}.ent-pip-btn:hover{color:var(--text);border-color:var(--accent)}.ent-power-usage .ent-edit-cluster{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}.ent-power-usage-select{flex:1 1 auto;min-width:0;max-width:none}.ent-btn-group{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:2px}.ent-stepper{display:inline-flex;flex:0 0 auto;align-items:stretch;gap:0}.ent-stepper .ent-stepper-btn{min-width:26px;padding:4px 7px;font-size:13px;line-height:1;text-align:center}.ent-stepper .ent-stepper-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ent-stepper .ent-stepper-btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ent-stepper .ent-num{width:40px;border-radius:0;border-left:none;border-right:none;text-align:center;position:relative;z-index:1}.ent-stepper .ent-num:focus{z-index:2}.ent-edit-toolbar-block{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.ent-edit-toolbar-block:last-child{margin-bottom:0}.ent-toolbar-label{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--faint)}.ent-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%}.ent-edit-toolbar .ent-select{flex:1 1 88px;min-width:0;max-width:none}.ent-edit-toolbar .ent-num,.ent-edit-toolbar .ent-num-sm{flex:0 0 auto}.ent-edit-toolbar .ent-text,.ent-edit-toolbar .ent-picker-label,.ent-edit-toolbar .ent-picker-template{flex:1 1 100%;min-width:0;max-width:none}.ent-edit-toolbar .ent-picker-field{flex:1 1 88px;min-width:0}.ent-edit-toolbar .ent-picker-field.picker-hidden{display:none}.ent-picker-section{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin-bottom:6px}.ent-picker-shell{display:flex;flex-direction:column;gap:8px;width:100%}.ent-picker-shell--nested{gap:8px;margin-top:4px}.ent-picker-hint{margin:0 0 2px}.ent-picker-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.ent-picker-section-label{flex:0 0 auto;font-size:10px;font-weight:600;letter-spacing:.35px;text-transform:uppercase;color:var(--faint)}.ent-picker-section--catalog .ent-picker-template{flex:1 1 200px}.ent-picker-block{display:flex;flex-direction:column;gap:6px;width:100%;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent, #6b8afd) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent, #6b8afd) 20%,transparent)}.ent-picker-block.picker-hidden{display:none}.ent-picker-block-title{font-size:10px;font-weight:600;letter-spacing:.35px;text-transform:uppercase;color:color-mix(in srgb,var(--accent, #6b8afd) 72%,var(--faint))}.ent-picker-block-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;width:100%}.ent-picker-block-fields .ent-picker-field{flex:1 1 88px;min-width:0}.ent-picker-block--quick .ent-picker-block-fields{align-items:center}.ent-picker-block--quick .ent-chip.is-active{background:color-mix(in srgb,var(--accent, #6b8afd) 24%,var(--panel-2, #1a1a2e));border-color:color-mix(in srgb,var(--accent, #6b8afd) 45%,transparent);color:var(--accent, #6b8afd)}.ent-picker-block--footer .ent-picker-block-fields{align-items:flex-end}.ent-picker-block--catalog .ent-picker-template{flex:1 1 100%;min-width:0;max-width:none}.ent-picker-block .ent-duration-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 160px;min-width:0}.ent-picker-block .ent-duration-wrap.picker-hidden{display:none}.ent-picker-block .ent-picker-field .ent-select,.ent-picker-block .ent-picker-field .ent-text,.ent-picker-block .ent-picker-field .ent-num,.ent-picker-block .ent-picker-field .ent-num-sm{width:100%;max-width:none}.ent-edit-toolbar [data-mod-field].picker-hidden{display:none}.ent-picker-title,.ent-picker-block .ent-picker-title{flex:1 1 100%;min-width:0;max-width:none;font-size:14px;font-weight:600;padding:6px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent, #6b8afd) 6%,var(--surface-2, #1a1a2e));border:1px solid color-mix(in srgb,var(--accent, #6b8afd) 14%,transparent)}.ent-picker-field-label{display:block;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--faint);margin-bottom:2px}.ent-picker-gate{min-width:160px}.ent-picker-apply{flex:0 0 auto;align-self:flex-end;margin-left:auto;background:color-mix(in srgb,var(--accent, #6b8afd) 18%,var(--panel-2, #1a1a2e));border-color:color-mix(in srgb,var(--accent, #6b8afd) 38%,transparent)}.ent-picker-apply:hover{background:color-mix(in srgb,var(--accent, #6b8afd) 28%,var(--panel-2, #1a1a2e));border-color:color-mix(in srgb,var(--accent, #6b8afd) 52%,transparent)}.ent-edit-toolbar .ent-duration-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 160px;min-width:0}.ent-duration-actor:not(.picker-hidden){flex:1 1 120px;min-width:0;max-width:none}.ent-duration-actor.picker-hidden{display:none}.ent-edit-toolbar .ent-picker-field .ent-select,.ent-edit-toolbar .ent-picker-field .ent-text{width:100%;max-width:none}.ent-edit-toolbar>.ent-chip:last-child{flex:0 0 auto;margin-left:auto}.ent-power-toggle-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;margin-bottom:4px}.ent-power-toggle-row.spent{opacity:.7}.ent-power-toggles .ent-edit-wrap{flex-direction:column;align-items:flex-start}.pc-line-block{margin-bottom:8px}.pc-line-block .ent-hint-row{margin-left:0;padding-left:0}.ent-sec-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--faint);margin-bottom:6px}.ent-conds{display:flex;flex-wrap:wrap;gap:5px}.ent-cond{font-size:11px;color:var(--highlight);background:#ffc24d24;border:1px solid rgba(255,194,77,.35);padding:2px 8px;border-radius:5px}.ent-powers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.ent-power{list-style:none;border-bottom:none;border-radius:5px}.ent-power.open{background:#ffffff08}.ent-power.used{color:var(--faint)}.ent-power:not(:has(.ent-prow)){display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:4px 0}.ent-spent{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint)}.ent-table-use-btn{margin-left:auto;margin-right:2px;padding:2px 7px;border-radius:4px;border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-size:10px;font-weight:600;cursor:pointer;flex-shrink:0}.ent-table-use-btn:hover{color:var(--accent);border-color:var(--accent)}.ent-combat-basics .ent-prow-static{display:flex;align-items:center;gap:8px;width:100%}.ent-combat-basic.unavailable .ent-pname{color:var(--faint)}.ent-acc-combat-basics .ent-acc-badge{background:var(--ally, #34d399);color:#0b0d12}.ent-grant-basics-hint{color:var(--ally, #34d399)}.ent-card{pointer-events:auto}.ent-prow{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 2px;cursor:pointer;border-radius:5px}.ent-prow:hover{background:#ffffff0a}.ent-udot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--neutral, #8b93a7)}.ent-udot.usage-at-will{background:#34d399}.ent-udot.usage-encounter{background:#f2555f}.ent-udot.usage-daily{background:#6b7280}.ent-pname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ent-ubadge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:4px;font-weight:700}.ent-ubadge.usage-at-will{color:#7ce7b8;background:#34d39924}.ent-ubadge.usage-encounter{color:#ff9aa1;background:#f2555f24}.ent-ubadge.usage-daily{color:#c3c9d6;background:#78829629}.ent-caret{color:var(--faint);font-size:11px;flex:0 0 auto}.ent-detail{padding:4px 6px 10px 18px;display:flex;flex-direction:column;gap:6px}.ent-dmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ent-flavor{margin:0;font-style:italic;color:var(--faint);font-size:12px;line-height:1.4}.ent-body{display:flex;flex-direction:column;gap:8px}.ent-status{padding-bottom:4px}.derived-stats{margin:8px 0 10px;padding:10px 12px;border-radius:var(--r-md);background:#508cc814;border:1px solid rgba(120,160,200,.22)}.derived-stats.ds-player{background:#ffffff08;border-color:var(--line);padding:8px 10px}.derived-stats.ds-player.ds-player--plain{padding-top:6px;padding-bottom:6px}.derived-stats .ds-head{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.derived-stats.ds-player .ds-head{margin-bottom:6px}.derived-stats .ds-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.derived-stats .ds-chip-row:last-child{margin-bottom:0}.derived-stats .ds-chip{display:inline-flex;align-items:baseline;gap:5px;padding:4px 8px;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--line);font-size:12px}.derived-stats .ds-chip-changed{border-color:#ffb45073;background:#ffa03c14}.derived-stats .ds-chip-k{font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase}.derived-stats .ds-chip-v{font-weight:700;color:var(--text)}.derived-stats .ds-chip-usual{font-size:10px;color:var(--faint);font-weight:500}.derived-stats .ds-alerts{display:flex;flex-wrap:wrap;gap:4px 6px;margin:6px 0 0;padding:0;list-style:none}.derived-stats .ds-alert{padding:2px 7px;border-radius:var(--r-sm);font-size:11px;line-height:1.4;color:#ffbe64f2;background:#ffaa461a;border:1px solid rgba(255,180,80,.28)}.derived-stats .ds-dm-hint{font-size:10px;color:var(--faint);margin:0 0 8px;line-height:1.35}.derived-stats .ds-grid{display:grid;gap:6px;margin-bottom:6px}.derived-stats .ds-grid-speed{grid-template-columns:1fr 1fr}.derived-stats .ds-grid-def{grid-template-columns:repeat(4,1fr)}.derived-stats .ds-grid-sense{grid-template-columns:repeat(3,1fr)}.derived-stats .ds-cell{display:flex;flex-direction:column;gap:2px;padding:5px 6px;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--line);min-width:0}.derived-stats .ds-cell.ds-changed{border-color:#78b4ff73;background:#508cdc1a}.derived-stats .ds-k{font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase}.derived-stats .ds-v{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.derived-stats .ds-base{color:var(--faint);text-decoration:line-through;font-weight:500}.derived-stats .ds-arrow{color:var(--faint);font-size:11px}.derived-stats .ds-eff{color:var(--text)}.derived-stats .ds-bonus-line{font-size:11px;color:var(--muted);margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}.sheet-derived-stats{margin:0 0 12px}.sheet-def-now{font-weight:700}.sheet-def-usual{font-size:11px;color:var(--faint);font-weight:500}.ent-edit-intro{font-size:11px;color:var(--faint);margin:0 0 8px;line-height:1.4}.ent-derived-stats{margin-top:6px}.ent-defenses-label{display:block;font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.ent-def-derived{display:block;font-size:9px;font-weight:500;color:#78b4ffd9;text-transform:none;letter-spacing:0}.ent-select-sm{max-width:140px}.ent-defenses-compact{margin-top:4px}.ent-defenses-compact .ent-def{margin-bottom:4px}.ent-acc-statblock{border-color:#78a0c840}.ent-sb-defenses{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.ent-sb-def{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:var(--r-sm);background:#ffffff0a;border:1px solid var(--line)}.ent-sb-def-k{font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.ent-sb-def-v{font-size:15px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.ent-sb-lines{display:flex;flex-direction:column;gap:5px;margin-bottom:8px}.ent-sb-line{display:flex;gap:8px;font-size:12px;line-height:1.35}.ent-sb-k{flex:0 0 72px;color:var(--faint);font-weight:600}.ent-sb-v{flex:1;color:var(--text)}.ent-sb-section{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.ent-sb-sec-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:6px}.ent-sb-trait+.ent-sb-trait{margin-top:8px}.ent-sb-trait-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px}.ent-sb-muted{font-weight:500;color:var(--muted)}.ent-sb-trait-text{font-size:12px;line-height:1.4;color:var(--muted);margin:0;white-space:pre-wrap}.ent-status-conds{margin-top:8px}.ent-acc{border:1px solid var(--line);border-radius:var(--r-sm);background:#ffffff05;overflow:hidden}.ent-acc-riders{border-color:#f5b94259}.ent-acc-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;text-align:left}.ent-acc-head:hover{background:#ffffff0a}.ent-acc-title{flex:1}.ent-acc-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;background:#ffffff14;color:var(--muted)}.ent-acc-caret{color:var(--faint);font-size:11px}.ent-acc-body{display:none;padding:0 10px 10px;border-top:1px solid var(--line)}.ent-acc.open .ent-acc-body{display:block}.ent-acc-foot{font-size:11px;color:var(--faint);margin:8px 0 0}.ent-power-search-wrap{margin:8px 0 6px}.ent-power-search-input{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-sm)}.ent-power-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px #4cc2ff40}.ent-power-search-status{display:block;margin-top:4px;font-size:10px;color:var(--faint)}.ent-power-search-status[hidden]{display:none}.ent-edit-sections{display:flex;flex-direction:column;gap:6px}.ent-effect-common{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}.ent-effect-common-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-right:2px}.ent-effect-common .ent-chip.is-active{background:color-mix(in srgb,var(--accent) 24%,var(--panel-2));border-color:var(--accent);color:var(--accent)}.ent-acc.ent-acc-nested{margin-top:8px;background:#ffffff04}.ent-acc.ent-acc-nested .ent-acc-head{font-size:11px;font-weight:600;color:var(--muted)}.ent-cond-groups{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ent-cond-group-label{display:block;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.ent-cond-hint{margin:0 0 8px}.ent-cond-pick-row{margin-top:4px}.ent-cond-pick{flex:1 1 120px;min-width:100px}.ent-cond-dur{flex:0 0 auto;min-width:110px}.ent-foot{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.ent-sheet-link{border:none;background:none;padding:0;color:var(--accent);font-size:11px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ent-sheet-link:hover{color:var(--text)}.ent-edit{margin-top:8px;padding:10px 10px 6px;border-radius:var(--r-md);background:#ffffff08;border:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px}.ent-edit-row{display:flex;align-items:flex-start;gap:8px;min-width:0}.ent-edit-row--full{display:block}.ent-edit-row--full .ent-edit-cluster{width:100%}.ent-death-saves-row{align-items:center}.ent-death-saves-row>.ent-edit-label{padding-top:0;line-height:1.3}.ent-death-saves-cluster{flex-wrap:wrap;align-items:center;gap:6px;row-gap:6px}.ent-ds-pips{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;line-height:1}.ent-ds-pips .ds-pip{width:12px;height:12px;flex-shrink:0}.ent-dsave-roll{flex:0 0 auto}.ent-dsave-roll-primary{background:var(--monster);border-color:var(--monster);color:#2a0d0d}.ent-dsave-roll-primary:hover{background:#ff6b75;border-color:#ff8189}.ent-picker-row{flex-wrap:wrap;align-items:center}.ent-picker-field{display:inline-flex;align-items:center}.ent-picker-field.picker-hidden{display:none}.ent-picker-label{min-width:120px;max-width:160px}.ent-edit-label{flex:0 0 52px;font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);padding-top:7px}.ent-edit-cluster{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.ent-edit-cluster .ent-select{flex:1 1 96px;max-width:140px}.ent-edit-wrap{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:4px}.ent-chip{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:11px;font-weight:600;padding:4px 8px;cursor:pointer;line-height:1.2}.ent-chip:hover{border-color:var(--accent);background:#63b3ed1a}.ent-chip.ent-chip-suggested{border-color:#4cc2ff8c;background:#4cc2ff1f}.ent-chip.ent-cond-add{font-weight:500;color:var(--muted)}.ent-num{width:52px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:12px;padding:4px 6px;font-family:var(--mono)}.ent-num-sm{width:44px}.ent-select{background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:11px;padding:4px 6px;min-width:0}.ent-text{flex:1 1 120px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:12px;padding:5px 8px}.ent-stat-row{width:100%}.ent-stat-row .ent-duration-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.ent-pos-square{flex:0 1 72px;width:72px;font-family:var(--mono);text-transform:uppercase}.ent-hp-row{align-items:center}.ent-hp-cluster{flex-wrap:wrap;align-items:center;gap:6px;row-gap:6px}.ent-hp-current{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);flex:0 0 auto;white-space:nowrap}.ent-hp-max{font-weight:500;color:var(--muted)}.ent-hp-amt,.ent-hp-total{width:44px;flex:0 0 auto}.ent-hp-cluster .ent-hp-total{margin-left:2px;padding-left:6px;border-left:1px solid var(--line-soft)}.ent-hp-cluster .ent-btn-group{gap:2px}.ent-hp-cluster .ent-chip-icon{min-width:24px;padding:4px 5px;font-size:13px;line-height:1;text-align:center}.ent-cond.editable{display:inline-flex;align-items:center;gap:2px;padding-right:2px}.ent-cond-rm{background:transparent;border:none;color:var(--faint);font-size:14px;line-height:1;padding:0 2px;cursor:pointer;border-radius:3px}.ent-cond-rm:hover{color:var(--danger);background:#f2555f1f}.ent-status-block{margin-top:8px;padding:10px 10px 8px;background:#00000038;border:1px solid var(--line);border-radius:var(--r-sm)}.ent-status-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--line-soft)}.ent-status-block .ent-sec-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:0}.ent-status-count{font-size:10px;color:var(--faint);white-space:nowrap}.ent-status-groups{display:flex;flex-direction:column;gap:10px}.ent-effect-group+.ent-effect-group{padding-top:2px}.ent-effect-group-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.55px;color:var(--faint);margin-bottom:4px}.ent-effect-group--import-loadout{margin-top:2px;padding-top:6px;border-top:1px dashed var(--line-soft)}.ent-import-loadout-summary{display:flex;align-items:baseline;gap:6px;cursor:pointer;list-style:none;margin-bottom:0;-webkit-user-select:none;user-select:none}.ent-import-loadout-summary::-webkit-details-marker{display:none}.ent-effect-group--import-loadout[open] .ent-import-loadout-caret{transform:rotate(90deg)}.ent-import-loadout-caret{display:inline-block;font-size:9px;color:var(--faint);transition:transform .12s ease}.ent-import-loadout-meta{margin-left:auto;font-size:9px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint)}.ent-effect-group-list--import{margin-top:6px}.ent-effect-row--import-loadout{opacity:.92}.ent-effect-row--import-loadout .ent-effect-duration{color:var(--faint)}.ent-effect-group-list{display:flex;flex-direction:column;gap:4px}.ent-effect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:6px 8px;border-radius:var(--r-sm);background:#ffffff08;border:1px solid rgba(255,255,255,.04)}.ent-effect-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.ent-effect-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.ent-effect-row-actions{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.ent-effect-label{font-size:12px;font-weight:600;color:var(--text);line-height:1.35}.ent-effect-label--cond{color:var(--highlight)}.ent-effect-rider,.ent-effect-source,.ent-effect-stat{font-size:11px;line-height:1.35;color:var(--muted)}.ent-effect-source{font-size:10px;color:var(--faint)}.ent-effect-stat{font-weight:600;color:#ff9a8a}.ent-effect-duration{display:inline-block;font-size:10px;line-height:1.2;color:var(--text);background:#ffffff0f;border:1px solid var(--line-soft);border-radius:999px;padding:2px 7px;white-space:nowrap;text-align:right}.ent-effect-tick{font-size:9px;color:var(--faint);font-style:italic;white-space:nowrap;text-align:right}.ent-effect-row--condition{border-left:2px solid rgba(240,195,107,.55)}.ent-effect-row--ongoing{border-left:2px solid rgba(255,154,138,.65)}.ent-effect-row--regen{border-left:2px solid rgba(127,214,147,.55)}.ent-effect-row--mod{border-left:2px solid rgba(159,209,255,.5)}.ent-effect-row--aura{border-left:2px solid rgba(186,164,255,.55)}.ent-effect-row--stance{border-left:2px solid rgba(159,209,255,.45)}.ent-effect-row--other{border-left:2px solid rgba(255,255,255,.12)}.ent-effect-row-meta .ent-chip.ent-small{margin-left:0}.ent-effect-row-meta .ent-cond-rm{align-self:flex-end}.ent-ongoing-list,.ent-save-list{display:flex;flex-direction:column;gap:4px;margin:3px 0}.ent-ongoing{font-size:12px;color:#ff9a8a;display:inline-flex;align-items:center;gap:6px}.ent-save-end{font-size:12px;color:#f0c36b;display:inline-flex;align-items:center;gap:6px}.ent-timing{font-size:10px;color:var(--faint);font-style:italic}.ent-status-foot{margin-top:6px;font-size:10px;color:var(--faint);line-height:1.3}.ent-chip.ent-small{font-size:10px;padding:1px 6px;margin-left:4px}.ent-stance,.ent-sustain{font-size:12px;color:#9fd1ff;display:inline-flex;align-items:center;gap:6px}.ent-stance-list,.ent-sustain-list,.ent-cond-list{display:flex;flex-direction:column;gap:4px;margin:3px 0}.ent-cond-line{font-size:12px;color:var(--highlight);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.log-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 10px;border-bottom:1px solid var(--line)}.log-title{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.log-tools{display:flex;gap:6px}.log-filter,.log-save,.log-clear{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);font-size:10px;padding:2px 6px}.log-filter:hover,.log-save:hover,.log-clear:hover{border-color:var(--line-strong);color:var(--text)}.log-list{flex:1 1 auto;overflow-y:auto;padding:6px 10px;font-size:12px;line-height:1.35}.log-line{display:flex;gap:8px;align-items:baseline;padding:1px 0}.log-time{flex:0 0 auto;font-family:var(--mono);font-size:10.5px;color:var(--faint);width:52px}.log-msg{flex:1 1 auto;color:var(--text);word-break:break-word}.log-msg b{font-weight:700}.log-coord{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}.log-name.team-player{color:var(--accent-2);font-weight:600}.log-name.team-monster{color:#ff8d94;font-weight:600}.log-name.team-ally{color:#6ee7b7;font-weight:600}.log-name.team-neutral{color:var(--muted);font-weight:600}.log-icon{margin-right:4px}.log-math-peek{position:relative;display:inline;cursor:help;vertical-align:baseline}.log-math-inline{border-bottom:1px dotted var(--muted)}.log-math-peek:focus .log-math-inline,.log-math-peek:hover .log-math-inline{border-bottom-color:var(--accent);color:var(--highlight)}.log-math-peek--chip{margin-left:4px;cursor:pointer}.log-math-chip{display:inline-block;padding:1px 7px;border:1px solid rgba(76,194,255,.35);border-radius:999px;background:#4cc2ff1a;color:var(--accent-2);font-size:10.5px;font-weight:600;line-height:1.45;letter-spacing:.01em;white-space:nowrap}.log-math-peek--chip:focus .log-math-chip,.log-math-peek--chip:hover .log-math-chip{border-color:var(--accent);background:#4cc2ff2e;color:var(--highlight)}.log-math-pop{display:none;position:fixed;z-index:1200;min-width:200px;max-width:min(320px,92vw);padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);box-shadow:0 8px 24px #0000006b;font-size:11px;line-height:1.45;color:var(--text);pointer-events:none;text-align:left}.log-math-peek--show .log-math-pop{display:block}.log-math-expr{margin-bottom:6px;padding:4px 6px;border-radius:4px;background:#ffffff0a;color:var(--highlight);font-family:var(--mono);font-size:10.5px}.log-math-acc{margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:10.5px;line-height:1.4}.log-math-row{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.log-math-src{color:var(--muted);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-math-val{font-family:var(--mono);font-weight:600;flex:0 0 auto;color:var(--highlight)}.log-math-foot{margin-top:6px;padding-top:5px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:10.5px;color:var(--highlight)}.log-power-peek,.ent-effect-power-peek{cursor:help;border-bottom:1px dotted transparent}.log-power-peek:hover,.ent-effect-power-peek:hover{border-bottom-color:var(--accent)}.log-line.turn{margin-top:6px;border-top:1px solid var(--line-soft);padding-top:5px}.log-line.turn .log-msg{color:var(--highlight);font-weight:600}.log-line.damage .log-msg b{color:#ff8d94}.log-line.heal .log-msg{color:#8ff0c4}.log-line.death .log-msg{color:var(--danger);font-weight:700}.log-line.applied .log-msg,.log-line.applied .log-icon{color:var(--success)}.log-line.needs-dm .log-msg,.log-line.needs-dm .log-icon{color:var(--warn)}.log-line.save-success .log-msg{color:#8ff0c4}.log-line.save-fail .log-msg{color:#ffc9a8}.log-line.effect-end .log-msg{color:#b8d4ff}.log-line.hint .log-msg{color:#d4c4ff}.log-line.hint .log-icon{color:#c9b8ff}.log-action-btn{margin-left:6px;padding:2px 8px;border-radius:4px;border:1px solid var(--accent);background:#2a2238;color:var(--text);font-size:11px;font-weight:600;cursor:pointer;vertical-align:baseline}.log-action-btn:hover{background:#3a3048}.log-line.adjusted .log-msg{color:#d4c4ff}.log-line.adjusted .log-icon{color:#c9b8ff}.adjust-popover{position:fixed;z-index:2000;width:300px;max-width:calc(100vw - 16px);padding:10px;border-radius:8px;border:1px solid var(--accent);background:#201a2c;box-shadow:0 8px 24px #0006;font-size:12px}.adjust-popover-title{font-weight:700;color:var(--text);margin-bottom:6px;padding-right:18px}.adjust-popover-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.adjust-popover-row--wrap{flex-wrap:wrap}.adjust-popover-select,.adjust-popover-input{flex:1 1 auto;min-width:0;padding:3px 6px;border-radius:4px;border:1px solid var(--muted);background:#2a2238;color:var(--text);font-size:11.5px}.adjust-popover-btn{flex:0 0 auto;padding:3px 8px;border-radius:4px;border:1px solid var(--accent);background:#2a2238;color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.adjust-popover-btn:hover{background:#3a3048}.adjust-popover-btn--wide{flex:1 1 100%}.adjust-popover-btn--danger{border-color:#ff9d9d;color:#ffc9c9}.adjust-popover-remember{display:flex;align-items:center;gap:6px;margin:-2px 0 8px;font-size:11px;color:var(--faint);cursor:pointer}.adjust-popover-close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--faint);font-size:16px;line-height:1;cursor:pointer}.adjust-popover-close:hover{color:var(--text)}.log-muted{color:var(--faint);font-size:11.5px}.log-dice{display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px;vertical-align:middle}.die-chip{--die-bg: #1e2433;--die-border: #4a5570;--die-text: #e8ecff;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:20px;height:20px;margin:0 1px;position:relative;clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:var(--die-bg);box-shadow:inset 0 0 0 1px var(--die-border)}.die-chip--s6{clip-path:none;border-radius:3px}.die-chip--s8{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.die-chip--s4{clip-path:polygon(50% 0%,100% 100%,0% 100%);width:18px;height:16px}.die-chip--s10,.die-chip--s12{clip-path:polygon(50% 0%,92% 18%,92% 82%,50% 100%,8% 82%,8% 18%)}.die-chip-face{font-family:var(--mono);font-size:10px;font-weight:700;line-height:1;color:var(--die-text);pointer-events:none;-webkit-user-select:none;user-select:none}.die-chip[data-variant=dropped]{opacity:.45}.die-chip[data-variant=dropped] .die-chip-face{text-decoration:line-through}.die-chip[data-variant=rerolled] .die-chip-face{font-style:italic;opacity:.75}.die-chip[data-emphasis=crit]{--die-border: #e8c547;box-shadow:inset 0 0 0 1px var(--die-border),0 0 6px #e8c54759}.die-chip[data-emphasis=crit-miss]{--die-border: #c45c5c;box-shadow:inset 0 0 0 1px var(--die-border),0 0 4px #c45c5c40}.log-outcome--critical_hit{color:#e8c547;font-weight:600}.log-outcome--critical_miss{color:#c45c5c;font-weight:600}.log-outcome--hit{color:var(--accent-2)}.log-outcome--miss{color:var(--muted)}.log-line.roll.log-line--fresh .log-msg{animation:log-roll-flash .32s ease-out}@keyframes log-roll-flash{0%{background:#6ea8fe1f;border-radius:3px}to{background:transparent}}#modal-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;pointer-events:none}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#05070c9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;pointer-events:auto}.modal-card{width:430px;max-width:90vw;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-2)}.modal-title{font-size:19px;font-weight:800;letter-spacing:-.2px;margin-bottom:14px}.modal-body{font-size:14px;color:var(--text);margin-bottom:20px;line-height:1.55}.modal-body .power-card{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-sm);padding:11px 13px;font-size:13px;color:var(--muted)}.modal-body .sim-narrative{color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.choice-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.choice-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 13px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);transition:border-color .13s ease,background .13s ease,transform .07s ease}.choice-option:hover{border-color:var(--accent);background:var(--panel-3)}.choice-index{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#06222f;font-weight:800;font-size:12px}.choice-desc{flex:1 1 auto;font-size:13px;line-height:1.4}.decision-modal .decision-card{width:460px;max-height:min(86vh,760px);display:flex;flex-direction:column;overflow:hidden}.decision-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.decision-header{margin-bottom:16px}.decision-title{font-size:19px;font-weight:800;letter-spacing:-.2px}.decision-subtitle{margin-top:6px;font-size:13px;color:var(--muted)}.decision-body{font-size:14px;color:var(--text);line-height:1.55;margin-bottom:18px}.decision-body p{margin:0 0 10px}.decision-body p:last-child{margin-bottom:0}.decision-read-aloud{margin-bottom:14px;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-sm);font-size:13px;color:var(--muted);white-space:pre-wrap}.decision-options{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.decision-option{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer}.decision-option:hover{border-color:var(--accent);background:#ffffff08}.decision-option:disabled{opacity:.62;cursor:wait}.decision-option-index{flex:0 0 auto;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--accent);color:#fff}.decision-option-text{flex:1;font-size:14px;line-height:1.45}.decision-actions{display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;padding-top:12px;border-top:1px solid var(--line-soft)}.power-preview-modal .ppreview-card{width:min(780px,92vw);max-height:min(88vh,720px)}.ppreview-header{margin-bottom:10px}.ppreview-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ppreview-usage{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line)}.ppreview-usage--encounter{color:#f5c842;border-color:#f5c84273}.ppreview-usage--daily{color:#e87878;border-color:#e8787873}.ppreview-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}@media(max-width:760px){.ppreview-columns{grid-template-columns:1fr}}.ppreview-col{min-width:0;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-2);overflow:hidden}.ppreview-col-title{margin:0;padding:10px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-soft);background:#0000001f}.ppreview-col-body{padding:8px 10px;max-height:220px;overflow-y:auto;font-size:12px;line-height:1.45}.ppreview-reference-empty{margin:0;color:var(--muted);font-size:13px}.ppreview-steps{list-style:none;margin:0;padding:4px 0;max-height:240px;overflow-y:auto}.ppreview-step{display:grid;grid-template-columns:auto 1fr auto;gap:6px 8px;align-items:start;padding:5px 10px;border-bottom:1px solid var(--line-soft)}.ppreview-step:last-child{border-bottom:none}.ppreview-step-kind{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r-sm);white-space:nowrap}.ppreview-step-kind--automatic{color:#7dcea0;background:#7dcea01f}.ppreview-step-kind--choice{color:#85c1e9;background:#85c1e91f}.ppreview-step-kind--manual{color:#f5b041;background:#f5b0411f}.ppreview-step-kind--branch{color:var(--muted);background:#ffffff0a}.ppreview-step-kind--info{color:var(--muted);background:transparent}.ppreview-step-headline{font-size:13px;font-weight:600;line-height:1.35}.ppreview-math{margin-top:4px;font-size:12px;font-family:var(--font-mono, ui-monospace, monospace);color:var(--muted)}.ppreview-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ppreview-mod{font-size:11px;padding:2px 7px;border-radius:var(--r-sm);background:#ffffff0d;border:1px solid var(--line-soft);color:var(--muted)}.ppreview-mod-val{font-weight:700;color:var(--text)}.ppreview-step-detail{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.ppreview-locked{font-size:10px;color:var(--muted);opacity:.65;padding-top:2px}.ppreview-edits{margin-bottom:8px}.ppreview-edits-details{border:1px solid var(--line-soft);border-radius:var(--r-md);background:#ffffff05;padding:0 10px 8px}.ppreview-edits-summary{cursor:pointer;font-size:12px;font-weight:600;padding:8px 0 4px;list-style:none}.ppreview-edits-summary::-webkit-details-marker{display:none}.ppreview-edits-hint{margin:0 0 8px;font-size:11px;color:var(--muted);line-height:1.4}.ppreview-edits-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ppreview-edits-row--fine{grid-template-columns:72px 72px 1fr;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line-soft)}@media(max-width:560px){.ppreview-edits-row,.ppreview-edits-row--fine{grid-template-columns:1fr}}.ppreview-field--grow{min-width:0}.ppreview-editable-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-left:6px}.ppreview-field{display:flex;flex-direction:column;gap:2px;margin-bottom:0}.ppreview-field--full{width:100%}.ppreview-field-label{font-size:11px;font-weight:600;color:var(--muted)}.ppreview-input.ent-text-sm,.ppreview-input.ent-num-sm{font-size:12px;padding:4px 8px;min-height:0}.ppreview-input.ent-select-sm{width:100%;padding:4px 6px}.ppreview-field-hint{font-weight:400;color:var(--muted)}.ppreview-input{width:100%;box-sizing:border-box}.ppreview-adjust{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-soft)}.ppreview-adjust-title{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.ppreview-adjust-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ppreview-locked--manual{color:var(--accent);opacity:1;font-weight:600}.power-preview-modal--compact .ppreview-card--compact{width:min(420px,92vw);max-height:min(78vh,560px)}.ppreview-confidence{display:flex;flex-direction:column;gap:0;margin:0 0 8px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--panel-2);overflow:hidden}.ppreview-confidence-block{padding:6px 10px;border-bottom:1px solid var(--line-soft)}.ppreview-confidence-block:last-child{border-bottom:none}.ppreview-confidence-block--muted{background:#ffffff04}.ppreview-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.ppreview-block-head .sheet-import-label{margin-bottom:0}.ppreview-stat-grid{display:flex;flex-direction:column;gap:4px}.ppreview-stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:11px;line-height:1.35;min-width:0}.ppreview-stat-label{flex:0 0 auto;color:var(--faint);font-weight:600;letter-spacing:.3px}.ppreview-stat-value{flex:1 1 auto;min-width:0;text-align:right;font-weight:600;font-family:var(--mono);color:var(--text)}.ppreview-stat-meta{margin-left:6px;font-weight:400;font-family:var(--sans, inherit)}.ppreview-stat-row--ok .ppreview-stat-value{color:var(--success)}.ppreview-stat-row--warn .ppreview-stat-value{color:var(--warn)}.ppreview-stat-delta{color:var(--warn);font-size:10px}.ppreview-stat-match{color:var(--success);font-size:11px}.ppreview-channel{font-family:var(--sans, inherit);font-weight:500;color:var(--text)}.ppreview-situ-hint{margin:0 0 6px;font-size:10px;line-height:1.35;color:var(--faint)}.ppreview-situ-chips{display:flex;flex-wrap:wrap;gap:4px}.ppreview-situ-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--muted);font-size:10px;line-height:1.3;padding:3px 8px;cursor:default}.ppreview-situ-chip--apply{cursor:pointer;border-color:#ffb44c59;color:var(--text)}.ppreview-situ-chip--apply:hover{background:#ffb44c1a;border-color:#ffb44c8c}.ppreview-situ-chip--applied{border-color:var(--success);color:var(--success)}.ppreview-active-now{font-size:11px;line-height:1.4;color:var(--muted)}.ppreview-effect-list{margin:0;padding:0;list-style:none}.ppreview-effect-item{font-size:11px;line-height:1.4;color:var(--text);padding:2px 0}.ppreview-effect-detail{display:block;font-size:10px;color:var(--faint);margin-top:1px}.ppreview-effect-item--more{color:var(--faint);font-style:italic}.ppreview-adjust-block{margin:0 0 8px;padding:6px 10px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#ffffff05}.ppreview-adjust-block .sheet-import-label{margin-bottom:6px}.ppreview-adjust-row{display:flex;align-items:flex-end;gap:12px}.ppreview-adjust-field{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;min-width:0}.ppreview-adjust-field .ppreview-input.ent-num-sm{width:52px}.ppreview-input.ppreview-adjust-expr{width:88px;max-width:100%;font-size:12px;font-family:var(--mono);padding:4px 6px;min-height:0;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text)}.ppreview-adjust-label{font-size:10px;font-weight:600;color:var(--faint);letter-spacing:.3px}.ppreview-remember-field{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:var(--faint);cursor:pointer}.ppreview-saved-fix-chip{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:3px 8px;border-radius:999px;background:#7aa2ff1f;border:1px solid rgba(122,162,255,.35);font-size:11px;color:var(--accent-2, #7aa2ff);width:fit-content}.ppreview-saved-fix-chip.ppreview-saved-fix-chip--stale{background:#e6aa3c24;border-color:#e6aa3c73;color:#e6aa3c}.ppreview-saved-fix-remove{background:none;border:none;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-size:11px}.ppreview-compact-details--secondary{margin-top:6px;opacity:.92}.ppreview-edits-row--compact{display:flex;flex-direction:column;gap:8px;padding-top:4px}.ppreview-edits-row--compact .ppreview-field--grow{width:100%}.ppreview-compact-targets{font-size:13px;color:var(--muted);margin-top:2px}.ppreview-steps--compact{max-height:none;margin:0 0 8px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#0000001f}.ppreview-step--compact{grid-template-columns:auto 1fr}.ppreview-step--compact .ppreview-step-headline{font-size:13px;line-height:1.4}.ppreview-compact-note{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.45}.ppreview-compact-details{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:0 10px 6px;background:#ffffff05}.ppreview-compact-details-summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;padding:6px 0 4px;list-style:none;color:var(--muted)}.ppreview-compact-details-caret{flex:0 0 auto;font-size:11px;line-height:1;color:var(--faint);transition:transform .12s ease}.ppreview-compact-details[open] .ppreview-compact-details-caret{transform:rotate(90deg)}.ppreview-compact-details-summary::-webkit-details-marker{display:none}.ppreview-compact-reference{max-height:180px;overflow-y:auto;font-size:12px}#decision-strip{position:relative;z-index:12;padding:4px 10px;background:#080a10eb;border-bottom:1px solid var(--line)}.decision-strip-inner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}.decision-strip-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:2px;flex-shrink:0}.decision-strip-count{margin-left:4px;padding:0 5px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:0;color:var(--highlight);background:#ffc14d1f}.decision-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 2px 1px 6px;border-radius:999px;border:1px solid rgba(255,193,77,.28);background:#ffc14d0f;max-width:min(100%,280px);height:24px;font-size:11px;line-height:1}.decision-chip-badge{flex-shrink:0;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 4px;border-radius:4px}.decision-chip-badge.grant{color:#ffc14d;background:#ffc14d24}.decision-chip-badge.rider{color:#8ec8ff;background:#4cc2ff1f}.decision-chip-summary{flex:1 1 auto;min-width:0;font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decision-chip-actions{display:flex;gap:2px;flex-shrink:0}.decision-chip-action{font-size:10px;font-weight:700;padding:2px 5px;min-width:22px;height:20px;border-radius:999px;border:1px solid rgba(140,140,160,.35);background:#0c0e16d9;color:var(--text);cursor:pointer;line-height:1}.decision-chip-action:hover{border-color:var(--accent);background:#4cc2ff1a}.decision-chip-choose{border-color:#4cc2ff73;background:#4cc2ff14;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-chip-dismiss{border:none;background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;padding:0 4px 0 0;flex-shrink:0}.decision-chip-dismiss:hover{color:var(--text)}.decision-tip-host{position:relative}.decision-tip{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:200px;max-width:min(320px,90vw);padding:8px 10px;border-radius:8px;border:1px solid rgba(140,150,170,.35);background:#0a0c12f7;box-shadow:0 8px 24px #00000073;pointer-events:none}.decision-tip-host:hover .decision-tip,.decision-tip-host:focus-within .decision-tip{display:block}.decision-tip-row{display:grid;grid-template-columns:36px 1fr;gap:6px;align-items:start;font-size:11px;line-height:1.35}.decision-tip-row+.decision-tip-row{margin-top:6px}.decision-tip-k{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.decision-tip-v{color:var(--text)}.decision-tip-detail{margin-top:8px;padding-top:6px;border-top:1px solid rgba(100,110,130,.25);font-size:10px;line-height:1.4;color:#aab}.pc-automation{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:6px}.pc-auto-row{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.4;color:var(--muted)}.pc-auto-tag{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}.pc-auto-tag.ok{color:#7dcea0;background:#7dcea01f}.pc-auto-tag.offer{color:#f5c842;background:#f5c8421f}.pc-auto-tag.manual{color:#e5989b;background:#e5989b1f}.ent-pname[title],.sheet-eq-name[title],.sheet-feat-name[title]{cursor:help}@keyframes react-pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}#adjudication-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:42;pointer-events:none}.adj-dock{position:fixed;left:14px;bottom:var(--adj-dock-bottom, 316px);width:min(420px,calc(100vw - 28px));max-height:calc(100vh - var(--adj-dock-bottom, 316px) - max(var(--adj-dock-top, 64px),env(safe-area-inset-top,0px)));display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.adj-modal-card{width:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden;pointer-events:auto;animation:react-pop .15s cubic-bezier(.2,.9,.3,1.2)}.adj-scroll{flex:1 1 auto;overflow-y:auto;min-height:0}.adj-panel{display:flex;flex-direction:column}.adj-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px 10px;border-bottom:1px solid var(--line-soft)}.adj-header-main{display:flex;flex-direction:column;gap:2px;min-width:0}.adj-close{flex:0 0 auto;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.adj-close:hover{color:var(--text);border-color:var(--line-strong)}.adj-title{font-size:16px;font-weight:800;letter-spacing:-.2px;line-height:1.25}.adj-sub{font-size:12px;color:var(--muted);line-height:1.35}.adj-power-ref{margin:10px 16px 0}.adj-power-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.adj-power-toggle:hover{color:var(--text);border-color:var(--line-strong)}.adj-power-ref.open .adj-power-toggle{border-color:#f5b94273;color:var(--warn)}.adj-power-toggle-caret{font-size:12px;line-height:1}.adj-power-body{margin-top:8px;max-height:min(40vh,320px);overflow-y:auto}.adj-power-body .compendium-card{max-height:none}.adj-block{margin:0 16px 12px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line)}.adj-block.applied{background:#34d39914;border-color:#34d39959}.adj-block.needs-dm{background:#f5b94214;border-color:#f5b94259;margin:12px 16px 8px}.adj-block-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:8px;color:var(--muted)}.adj-block.applied .adj-block-title{color:var(--success)}.adj-block.needs-dm .adj-block-title{color:var(--warn)}.adj-list{margin:0;padding-left:18px;font-size:13px;line-height:1.5;color:var(--text)}.adj-block-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.adj-block-title-row .adj-block-title{margin-bottom:0}.adj-block-meta{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--faint);letter-spacing:.02em;text-transform:none}.adj-manual-list{margin:0;padding:0;list-style:none;counter-reset:manual-step}.adj-manual-step{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.adj-manual-step:last-child{border-bottom:none;padding-bottom:0}.adj-manual-step-text{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.45;color:var(--text)}.adj-dismiss-line{flex:0 0 auto;font-size:11px;padding:5px 10px}.adj-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line-soft)}.adj-nav-label{font-size:12px;color:var(--muted);min-width:64px;text-align:center}.adj-footer{padding:10px 16px 14px;border-top:1px solid var(--line-soft)}.adj-footer .btn{width:100%}@keyframes adj-urgent{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.adj-mark-row{margin:10px 16px 0;display:flex}.adj-mark-unused{font-size:12px;padding:4px 10px;border-color:#d4a03a73}.adj-mark-unused:hover{background:#d4a03a1f;border-color:var(--warn)}.player-mode .adj-block.needs-dm{background:#b4aa780f}.player-mode .adj-block.needs-dm .adj-block-title{color:#c8b070}.table-work-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;color:#ffe4b8;background:#2a2212e0;border:1px solid rgba(212,160,58,.55);border-radius:999px}.table-work-badge:hover{background:#3a2e18f5;border-color:var(--warn);color:#ffe4b8}.table-work-badge.pinned{color:#2a1c02;background:var(--warn);border-color:#d4a03a;box-shadow:var(--glow-amber);animation:adj-urgent 1.2s ease-in-out infinite}.table-work-label{letter-spacing:.02em}.table-work-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-variant-numeric:tabular-nums;font-weight:800;background:#0000002e}.table-work-badge.pinned .table-work-count{background:#2a1c0224;color:#2a1c02}.toast.info{border-left:3px solid var(--warn)}.cs-roll-btn{flex:0 0 auto;padding:5px 10px;font-size:12px;font-weight:600;color:var(--text);background:#78788c1f;border:1px solid rgba(140,140,160,.35);border-radius:6px;cursor:pointer}.cs-roll-btn:hover{background:#8c8ca038}.cs-roll-btn.active{background:#8c8ca047;border-color:#a8b0c8;color:#d0d8f0}.cs-roll-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;margin-left:4px;flex:0 1 auto;min-width:0}.cs-roll-host{display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0}.cs-roll-input{width:140px;max-width:32vw;padding:4px 8px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#0a0c12e6;color:var(--text);border:1px solid rgba(120,140,180,.4);border-radius:4px;outline:none}.cs-roll-input:focus{border-color:#7fb3ff;box-shadow:0 0 0 1px #7fb3ff33}.cs-roll-go{padding:4px 10px;font-size:11px;font-weight:600;background:#4cc2ff2e;border:1px solid rgba(76,194,255,.45);color:var(--text);border-radius:4px;cursor:pointer}.cs-roll-go:hover{background:#4cc2ff47}.cs-roll-close{padding:2px 6px;font-size:14px;line-height:1;background:transparent;border:1px solid rgba(140,140,160,.3);color:#aab;border-radius:4px;cursor:pointer}.cs-roll-close:hover{color:#fff;border-color:#aab}.cs-roll-help-btn{flex:0 0 auto;width:22px;height:22px;padding:0;font-size:12px;font-weight:700;line-height:1;color:#aab;background:#646e8233;border:1px solid rgba(140,150,170,.35);border-radius:50%;cursor:pointer}.cs-roll-help-btn:hover,.cs-roll-help-btn[aria-expanded=true]{color:#e8ecff;background:#7fb3ff2e;border-color:#7fb3ff73}.cs-roll-help-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;width:min(420px,92vw);max-height:min(70vh,420px);overflow:auto;padding:8px 10px 6px;font-size:11px;line-height:1.35;color:var(--text);background:#0e1018f7;border:1px solid rgba(120,140,180,.45);border-radius:8px;box-shadow:0 8px 28px #00000073}.cs-roll-help-section+.cs-roll-help-section{margin-top:8px;padding-top:6px;border-top:1px solid rgba(100,110,130,.25)}.cs-roll-help-title{margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9aa8c8}.cs-roll-help-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:8px;align-items:baseline;width:100%;margin:0;padding:4px 6px;text-align:left;font:inherit;color:inherit;background:transparent;border:none;border-radius:4px;cursor:pointer}.cs-roll-help-row:hover{background:#7fb3ff1a}.cs-roll-help-row code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px;color:#c8d8ff;word-break:break-all}.cs-roll-help-row span{color:#aab}.cs-roll-help-foot{margin:8px 0 2px;padding-top:6px;border-top:1px solid rgba(100,110,130,.2);font-size:10px;color:#788;text-align:center}.cs-tool-btn{flex:0 0 auto;width:32px;height:28px;padding:0;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;background:#78788c1f;border:1px solid rgba(140,140,160,.35);color:var(--text)}.cs-tool-btn:hover{filter:brightness(1.1)}.cs-tool-btn.active{background:#8c8ca047;border-color:#a8b0c8;color:#d0d8f0}.cs-tool-btn svg{display:block;width:16px;height:16px}.cs-more-btn svg{width:18px;height:18px}.cs-sheet-btn{background:#4cc2ff1f;border-color:#4cc2ff59}.cs-sheet-btn:hover{background:#4cc2ff33;border-color:var(--accent)}.cs-compendium-btn{background:#b48cff1f;border-color:#b48cff59}.cs-compendium-btn:hover{background:#b48cff33;border-color:#c8aaffd9}.cs-measure-btn{background:#ffc24d1f;border-color:#ffc24d59}.cs-measure-btn:hover{background:#ffc24d33;border-color:var(--highlight)}.cs-measure-btn.active{background:#ffc24d47;border-color:var(--highlight);color:var(--highlight)}.cs-map-edit-btn{background:#60b4781f;border-color:#60b47859}.cs-map-edit-btn:hover{background:#60b47838;border-color:#78c88ca6}.cs-map-edit-btn.active{background:#60b4784d;border-color:#8cdca0bf;color:#c8f0d4}.cs-more-btn{width:28px;font-size:13px;color:var(--muted)}.sheet-body{flex:1 1 auto;overflow-y:auto;padding:12px 16px 24px;font-size:13px}.sheet-picker{display:block;margin-bottom:12px;font-size:12px;color:var(--muted)}.sheet-picker select{display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text)}.sheet-loading,.sheet-error{padding:8px 10px;margin-bottom:10px;border-radius:6px;font-size:12px}.sheet-loading{background:#4cc2ff1a;color:var(--accent)}.sheet-pending{min-height:44px;padding:10px 12px;color:var(--faint);font-size:12px;background:var(--panel-2);border:1px dashed var(--line);border-radius:var(--r-sm)}.sheet-pending--tall{min-height:120px}.sheet-error{background:#f2555f1f;color:var(--danger)}.sheet-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.sheet-header-info{flex:1 1 auto;min-width:0}.sheet-header-portrait{flex:0 0 auto;margin-top:1px}.sheet-header-disc{width:52px;height:52px}.sheet-header-disc .ent-portrait-fallback{font-size:16px}.sheet-name{font-size:20px;font-weight:700;color:var(--text)}.sheet-paths{margin-top:3px;font-size:13px;font-weight:500;color:var(--accent);letter-spacing:.01em}.sheet-sub{margin-top:4px;font-size:12px;color:var(--muted)}.sheet-section{margin-bottom:16px}.sheet-section h3{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.sheet-import-report{padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2)}.sheet-import-report-summary{cursor:pointer;display:flex;align-items:flex-start;gap:8px;padding:7px 10px;list-style:none}.sheet-import-report-summary::-webkit-details-marker{display:none}.sheet-import-summary-compact{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sheet-import-summary-line{display:flex;align-items:baseline;gap:0;min-width:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-import-report-title{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.sheet-import-dot{flex-shrink:0;color:var(--faint);font-size:10px}.sheet-import-stat-row{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}.sheet-import-summary-meta{font-size:10px;line-height:1.2;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-import-summary-meta--inline{font-weight:400}.sheet-import-summary-line--single{flex-wrap:nowrap}.sheet-import-caret{flex:0 0 auto;margin-top:1px;font-size:11px;line-height:1;color:var(--faint);transition:transform .12s ease}.sheet-import-report[open] .sheet-import-caret{transform:rotate(90deg)}.sheet-import-report-body{padding:0 10px 8px;border-top:1px solid var(--line-soft)}.sheet-import-report--ok .sheet-import-report-body{border-top-color:#4cc27833}.sheet-import-report--warn .sheet-import-report-body{border-top-color:#ffb44c40}.sheet-import-report--ok{border-color:#4cc27859}.sheet-import-report--warn{border-color:#ffb44c73;background:#ffb44c0f}.sheet-import-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.sheet-import-stat{font-size:11px;font-weight:600}.sheet-import-stat--ok{color:var(--success)}.sheet-import-stat--bad{color:var(--warn)}.sheet-import-stat--muted{color:var(--muted)}.sheet-import-block{margin-top:8px}.sheet-import-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.sheet-import-list{margin:0;padding-left:16px;font-size:11px;color:var(--text)}.sheet-import-list--bad{color:var(--warn)}.sheet-import-list--muted{color:var(--muted)}.sheet-saved-fix-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sheet-saved-fix-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text);padding:3px 6px;border-radius:6px;background:#ffffff05}.sheet-saved-fix-row--stale{background:#e6aa3c1a}.sheet-saved-fix-power{font-weight:600;flex:1 1 auto;min-width:0}.sheet-saved-fix-value{color:var(--faint);font-family:var(--mono)}.sheet-saved-fix-stale-note{color:#e6aa3c;font-size:10px}.sheet-saved-fix-remove{background:none;border:none;color:var(--faint);text-decoration:underline;cursor:pointer;font-size:11px;padding:0}.sheet-parity-table{width:100%;margin-top:6px;border-collapse:collapse;font-size:11px}.sheet-parity-table th,.sheet-parity-table td{padding:3px 6px;text-align:left;border-bottom:1px solid var(--line)}.sheet-parity-table th{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--faint)}.sheet-parity-delta{font-weight:700;color:var(--warn)}.sheet-parity-modeled{position:relative}.sheet-stat-peek{cursor:help}.sheet-stat-peek .log-math-inline{border-bottom-color:transparent}.sheet-stat-peek:hover .log-math-inline,.sheet-stat-peek:focus-within .log-math-inline{border-bottom-color:var(--muted)}.sheet-stat-peek--delta .log-math-inline{border-bottom:1px dotted color-mix(in srgb,var(--warn) 35%,transparent)}.sheet-stat-peek-delta{color:var(--faint);font-weight:400}.sheet-import-row{font-size:11px;margin-top:6px}.sheet-import-row--ok{color:var(--success)}.sheet-import-row--bad{color:var(--warn)}.sheet-import-row--muted{color:var(--text-muted)}.sheet-import-parity-note{margin-top:8px;font-size:10px;line-height:1.35}.sheet-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint);font-size:10px}.sheet-hp{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.sheet-hp-bar{flex:1 1 100%;height:8px;background:var(--panel-3);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.sheet-hp-fill{height:100%;background:var(--success);border-radius:3px;transition:width .2s ease}.sheet-hp.bloodied .sheet-hp-fill{background:var(--warn)}.sheet-hp.dying .sheet-hp-fill{background:var(--danger)}.sheet-temp{font-size:11px;color:var(--accent)}.sheet-row{font-size:12px;color:var(--text);margin-top:4px}.sheet-rest-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sheet-rest-btn{flex:1 1 auto;min-width:0}.sheet-rest-btn-wait{opacity:.72}.sheet-rest-btn-suggested{border-color:#4cc2ff8c;background:#4cc2ff1f}.sheet-rest-hint{margin-top:6px;font-size:11px;line-height:1.35}.sheet-muted{color:var(--muted)}.sheet-defenses{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sheet-defenses>div{text-align:center;padding:8px 4px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-md);font-weight:700;font-size:16px}.sheet-def-label{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:2px}.sheet-abilities{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sheet-abil{display:grid;grid-template-columns:1fr auto auto;gap:4px;align-items:center;padding:6px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-md);font-size:12px}.sheet-abil-key{font-weight:700;color:var(--muted)}.sheet-abil-mod{font-weight:700;color:var(--accent)}.sheet-skills{display:flex;flex-direction:column;gap:3px}.sheet-skill{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px}.sheet-trained{color:var(--accent);margin-left:4px;font-size:9px}.sheet-powers .ent-powers,.sheet-feats.ent-powers,.sheet-features.ent-powers{gap:2px}.sheet-powers .ent-prow,.sheet-feat-row .ent-prow,.sheet-feature-row.sheet-feature-expandable .ent-prow{cursor:pointer}.sheet-equipment-list .sheet-eq-prow,.sheet-gear-list .sheet-eq-prow{cursor:pointer;align-items:flex-start}.sheet-equipment-list .sheet-equip-row:not(.sheet-equip-expandable) .sheet-eq-prow,.sheet-gear-list .sheet-equip-row:not(.sheet-equip-expandable) .sheet-eq-prow{cursor:default}.sheet-eq-slot-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);min-width:4.5rem;flex-shrink:0;padding-top:2px}.sheet-eq-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.sheet-eq-name{white-space:normal;overflow:visible;text-overflow:unset}.sheet-eq-meta{font-size:10px;line-height:1.35;color:var(--faint);letter-spacing:.01em}.sheet-equipment-list .sheet-eq-note,.sheet-gear-list .sheet-eq-note{font-size:10px;color:var(--warn, #e8a838)}.sheet-eq-warn{font-size:10px;font-weight:600;color:var(--danger, #e05c5c);letter-spacing:.02em}.sheet-eq-name--warn{color:var(--danger, #e05c5c)}.sheet-eq-actions{display:flex;flex-shrink:0;gap:4px;align-items:center}.sheet-hand-strip,.ent-hand-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:6px 8px;border-radius:6px;background:var(--surface-2, rgba(255, 255, 255, .04))}.sheet-hand-label,.ent-hand-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.sheet-hand-chip.is-active,.ent-hand-strip .ent-chip.is-active{border-color:var(--accent, #6eb5ff);color:var(--accent, #6eb5ff)}.ent-gear-line{font-size:11px;line-height:1.35;color:var(--muted);padding:0 12px 6px}.token-tip-gear{color:var(--muted);font-style:italic}.log-acc-inline{font-size:11px;color:var(--faint);font-style:italic}.compendium-equip-row{margin:8px 0 10px;padding:8px 10px;border-radius:6px;background:var(--surface-2, rgba(255, 255, 255, .04))}.compendium-equip-row .compendium-subhead{display:block;margin-bottom:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.compendium-equip-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sheet-feat,.sheet-eq{font-size:12px;padding:4px 0}.sheet-eq{display:grid;grid-template-columns:72px 1fr;gap:8px}.sheet-eq-slot{color:var(--muted);font-size:11px}.sheet-eq-detail{display:block;font-size:11px;color:var(--faint)}.sheet-eq-note{display:block;font-size:11px;color:var(--warn, #c9a227);font-style:italic}.sheet-effects{display:flex;flex-wrap:wrap;gap:6px}.sheet-effect{padding:3px 8px;border-radius:999px;background:#ffc24d1f;border:1px solid rgba(255,194,77,.3);font-size:11px}.sheet-effect-peek .log-math-inline{border-bottom:none}.sheet-effect-peek:hover .sheet-effect,.sheet-effect-peek:focus-within .sheet-effect{border-color:#ffc24d99;background:#ffc24d33}.sheet-combat-grant{display:inline-flex;align-items:center;gap:5px;background:#60a5fa1a;border-color:#60a5fa59;color:var(--text)}.sheet-combat-grant-badge{font-size:9px;font-weight:700;letter-spacing:.4px;padding:1px 4px;border-radius:4px;line-height:1.2}.sheet-combat-grant-badge--attack{background:#60a5fa33;color:#93c5fd}.sheet-combat-grant-badge--damage{background:#fb923c33;color:#fdba74}.sheet-combat-grant-val{font-weight:700;font-variant-numeric:tabular-nums;color:var(--highlight)}.sheet-effects-may-apply,.sheet-effects-active{margin-top:4px}.sheet-effects-hint{font-size:11px;margin-top:2px;margin-bottom:4px}.sheet-import-combat-mods{margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.sheet-pips{display:flex;gap:8px}.sheet-pip{padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);font-size:11px;font-weight:600}.sheet-pip.used{opacity:.35;text-decoration:line-through}.sheet-empty{color:var(--faint);font-size:12px}.sheet-origin{margin-top:.15rem}.sheet-tag-list{display:inline}.sheet-tag{display:inline-block;margin:.1rem .25rem .1rem 0;padding:.05rem .35rem;border-radius:3px;background:#ffffff0f;font-size:.78rem}.sheet-features{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.sheet-feature{padding:.15rem 0;color:var(--text-secondary)}.sheet-gear-list{list-style:none;margin:0;padding:0;font-size:.85rem}.sheet-gear-row{padding:.2rem 0;color:var(--text-secondary)}.sheet-gear-warn{color:var(--warn, #e8a838)}.sheet-proficiencies .sheet-row{margin-bottom:.35rem}.sheet-foot{margin-top:16px;font-size:11px;color:var(--faint);text-align:center}.map-editor-bar{position:absolute;top:10px;right:10px;left:auto;bottom:10px;z-index:12;pointer-events:none;width:min(260px,calc(100% - 20px));max-height:calc(100% - 20px);display:flex;flex-direction:column;align-items:stretch}.map-editor-bar:not([hidden]){pointer-events:auto}.map-editor-panel{padding:10px 12px;background:#0e1118f0;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto;max-height:100%}.map-editor-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.map-editor-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.map-editor-active{flex:1;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-editor-close{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.map-editor-close:hover{color:var(--text)}.map-editor-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}.map-editor-bg-row{flex-direction:row;flex-wrap:wrap;align-items:center}.map-editor-bg-actions{display:flex;flex-wrap:wrap;gap:6px}.map-editor-bg-hint{margin-top:-4px;margin-bottom:8px}.map-editor-grid-row{gap:5px}.map-editor-slider-wrap{display:grid;grid-template-columns:auto 1fr auto 18px;align-items:center;gap:6px}.map-editor-slider-wrap input[type=range]{width:100%;accent-color:var(--grid-tone, var(--accent))}.map-editor-tone-label{font-size:10px;color:var(--faint)}.map-editor-tone-swatch{width:16px;height:16px;border:1px solid var(--line);border-radius:4px}.map-editor-label{font-size:11px;color:var(--faint)}.map-editor-seg{display:flex;gap:4px}.map-editor-seg-btn{flex:1;padding:4px 6px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid var(--line);background:#ffffff0a;color:var(--muted);cursor:pointer;text-align:center}.map-editor-seg-btn.active{border-color:var(--accent);color:var(--accent);background:#4cc2ff1f}.map-editor-types{display:flex;flex-wrap:wrap;gap:4px}.map-editor-type{padding:4px 8px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid var(--line);background:#ffffff0a;color:var(--text);cursor:pointer}.map-editor-type.active{border-color:var(--accent);background:#4cc2ff26}.map-editor-height-controls{display:flex;align-items:center;gap:6px}.map-editor-height-input{width:3.5rem;text-align:center}.map-editor-looks{display:grid;grid-template-columns:repeat(7,26px);gap:5px}.map-editor-rules{margin:0;font-size:11px;line-height:1.35;color:var(--muted)}.map-editor-look{width:26px;height:26px;border-radius:5px;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px #00000040}.map-editor-look.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.map-editor-markers{display:grid;grid-template-columns:repeat(7,30px);gap:5px}.map-editor-marker{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--panel-3);color:var(--text);cursor:pointer}.map-editor-marker.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.map-editor-marker-glyph{width:18px;height:18px}.map-editor-input{width:100%;box-sizing:border-box;padding:5px 8px;font-size:12px;color:var(--text);background:var(--panel-3);border:1px solid var(--line);border-radius:var(--r-sm)}.map-editor-input::placeholder{color:var(--faint)}.map-editor-hint{margin:4px 0 0;font-size:10px;color:var(--faint);line-height:1.4}.dm-tools-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:8px 12px 0;background:#00000026}.dm-tab{flex:1;padding:10px 12px;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.dm-tab:hover{color:var(--text);background:#ffffff08}.dm-tab.active{color:var(--warn);background:#ffc24d14;border-color:#ffc24d38;border-bottom-color:var(--panel);margin-bottom:-1px}.dm-tools-body{flex:1 1 auto;overflow-y:auto;padding:14px 14px 28px;font-size:13px}.dm-now{position:sticky;top:0;z-index:6;padding:10px 12px 8px;background:var(--panel-2);box-shadow:0 6px 12px -8px #0009}.dm-now:empty{display:none}.dm-now-card{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#00000038;font-size:12px}.dm-now--setup{border-color:color-mix(in srgb,var(--accent, #6b8afd) 30%,transparent);background:color-mix(in srgb,var(--accent, #6b8afd) 8%,rgba(0,0,0,.2))}.dm-now--combat{border-color:#ffc24d59;background:#ffc24d12}.dm-now--reaction{border-color:#ffa03c99;background:#ffa03c21}.dm-now--paused{border-color:#ff785a73;background:#ff785a1a}.dm-now--ended{border-color:#8cdc8c59;background:#8cdc8c12}.dm-now-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dm-now-phase{font-size:13px;font-weight:700;color:var(--text)}.dm-now-meta{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}.dm-now-active{margin-top:3px;font-size:12px;color:var(--muted)}.dm-now-active strong{color:var(--text)}.dm-now-waiting{margin-top:6px;font-size:11px;font-weight:500;color:var(--warn);line-height:1.4}.dm-now-waiting.dm-now-ready{color:#9fd89f}.dm-now-outcome{margin-top:6px;font-size:11px;color:var(--muted);line-height:1.4}.dm-now-actions{display:flex;gap:6px;margin-top:9px}.dm-now-actions .btn{min-height:30px}.dm-now-primary{flex:1 1 auto;font-weight:700}.dm-now-endfight{margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}.dm-now-note{margin:8px 0 0;font-size:11px}.dm-details{margin-top:10px;border-top:1px solid var(--line-soft);padding-top:8px}.dm-details summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--muted);list-style-position:inside}.dm-details summary:hover{color:var(--text)}.dm-details[open] summary{margin-bottom:8px}.dm-person-pcs{flex:1 1 100%;font-size:11px;color:var(--text)}.dm-assign-row-open{border-left:2px solid var(--warn);padding-left:8px}.dm-group{margin-bottom:22px}.dm-group:last-child{margin-bottom:0}.dm-group-label{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 10px;padding:9px 2px 8px;border:none;background:transparent;font:inherit;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;line-height:1.45;color:var(--muted);cursor:pointer;text-align:left;overflow:visible;min-height:34px;box-sizing:border-box}.dm-group-label:hover{color:var(--text)}.dm-group-caret{flex:0 0 auto;width:14px;font-size:12px;line-height:1;color:var(--muted);transform:translateY(0)}.dm-group-label:hover .dm-group-caret{color:var(--text)}.dm-group-text{flex:0 1 auto;line-height:1.5;padding:2px 0 0}.dm-group-label:after{content:"";flex:1;align-self:center;height:1px;background:var(--line-soft)}.dm-group.collapsed .dm-group-body{display:none}.dm-group-accent .dm-group-label,.dm-group-accent .dm-group-caret{color:var(--warn)}.dm-group-danger .dm-group-label,.dm-group-danger .dm-group-caret{color:#e99}.dm-group-danger .dm-group-label:after{background:#dc5a5a40}.dm-group-body{display:flex;flex-direction:column;gap:10px}.dm-phase,.dm-encounter-status{padding:10px 12px;margin-bottom:16px;border-radius:8px;background:#ffc24d1f;border:1px solid rgba(255,194,77,.28);font-size:12px;font-weight:600}.dm-encounter-status.paused{background:#ff785a1f;border-color:#ff785a59}.dm-encounter-phase{font-size:13px;margin-bottom:4px}.dm-encounter-meta,.dm-encounter-active{font-size:11px;font-weight:500;color:var(--muted)}.dm-encounter-active strong{color:var(--text)}.dm-start-combat-bar{margin-bottom:10px;padding:10px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent, #6b8afd) 22%,transparent);background:color-mix(in srgb,var(--accent, #6b8afd) 10%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent, #6b8afd) 6%,transparent)}.dm-start-combat-bar .dm-inline-note,.dm-encounter-ended-hint{margin:8px 0 0;font-weight:500}.dm-encounter-ended-hint strong{color:var(--text)}.dm-warn{margin:8px 0 0;font-size:11px;color:var(--warn);font-weight:500}.dm-outcome{margin:8px 0 0;font-size:11px;color:var(--muted);font-weight:400;line-height:1.4}.dm-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dm-btn-row-tight{flex-wrap:nowrap;gap:6px;margin-top:0}.dm-section-compact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px}.dm-section-compact .dm-section-title{margin:0;flex:0 0 auto;white-space:nowrap}.dm-section-compact .dm-btn-row{flex:1 1 120px;min-width:0}.dm-section-compact .dm-btn-row .dm-action-inline,.dm-section-compact .dm-btn-row .btn{min-width:0}.dm-inline-note{align-self:center;font-size:12px}.dm-action-inline{flex:1 1 auto;min-width:120px}.dm-btn-row-tight .dm-action-inline{flex:1 1 0;min-width:0}.dm-btn-row-tight .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:28px}.dm-init-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.dm-init-waiting-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.dm-init-waiting-label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.dm-init-waiting-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.dm-init-waiting{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;border:1px dashed var(--line);font-size:12px}.dm-init-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:#ffffff05;font-size:12px}.dm-init-row.active{border-color:#ffc24d73;background:#ffc24d14}[data-entity-link]{cursor:default;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}[data-entity-link]:hover,[data-entity-link].entity-linked{border-color:color-mix(in srgb,var(--highlight) 55%,transparent);background:color-mix(in srgb,var(--highlight) 14%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--highlight) 35%,transparent)}[data-entity-link].entity-linked:not(:hover){box-shadow:0 0 0 1px color-mix(in srgb,var(--highlight) 50%,transparent),0 0 14px color-mix(in srgb,var(--highlight) 22%,transparent)}.entity-board-loc{margin-left:6px;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--faint);white-space:nowrap}.dm-init-row.team-trap .dm-init-name{color:#e8b45a}.dm-init-row.team-monster .dm-init-name{color:var(--danger, #e88)}.dm-init-idx{width:18px;color:var(--faint);font-size:11px}.dm-init-name{flex:1 1 100px;min-width:80px}.dm-init-active{color:var(--warn)}.dm-init-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto}.dm-init-nudge{width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);color:var(--muted);font-size:10px;cursor:pointer}.dm-init-nudge:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.dm-init-remove{width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);color:var(--muted);font-size:14px;line-height:1;cursor:pointer}.dm-init-remove:hover{color:var(--danger, #e88);border-color:#ff785a73;background:#ff785a14}.dm-init-ai{width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);filter:grayscale(1);opacity:.5;font-size:13px;line-height:1;cursor:pointer}.dm-init-ai:hover{filter:none;opacity:1;border-color:var(--accent, #6cf)}.dm-init-ai.active{filter:none;opacity:1;border-color:var(--accent, #6cf);background:#5aa0ff29}.dm-init-ai--fair.active{border-color:var(--success, #6cba6c);background:#6cba6c29}.dm-ai-badge{font-size:11px;margin-left:3px;vertical-align:middle}.dm-ai-badge--fair{color:var(--success, #6cba6c)}.dm-init-now{min-width:36px;padding-inline:6px}.dm-init-row.active .dm-init-now{visibility:hidden}.dm-init-input{width:44px;padding:3px 4px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);font-size:11px}.dm-danger{border-color:color-mix(in srgb,#dc5a5a 22%,transparent);background:color-mix(in srgb,#dc5a5a 8%,transparent)}.dm-end-encounter{border-color:color-mix(in srgb,var(--warn, #ffc24d) 28%,transparent);background:color-mix(in srgb,var(--warn, #ffc24d) 8%,transparent)}.dm-danger-btn{border-color:#dc5a5a73;color:#eaa}.dm-reset-legend{margin:10px 0 0;padding:0;list-style:none;font-size:11px;line-height:1.45;color:var(--muted)}.dm-reset-legend li+li{margin-top:4px}.dm-reset-legend strong{color:var(--text);font-weight:600}.dm-section{margin-bottom:0;padding:10px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent, #6b8afd) 18%,transparent);background:color-mix(in srgb,var(--accent, #6b8afd) 7%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent, #6b8afd) 5%,transparent)}.dm-section.dm-danger{border-color:color-mix(in srgb,#dc5a5a 22%,transparent);background:color-mix(in srgb,#dc5a5a 8%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#dc5a5a 5%,transparent)}.dm-section.dm-end-encounter{border-color:color-mix(in srgb,var(--warn, #ffc24d) 28%,transparent);background:color-mix(in srgb,var(--warn, #ffc24d) 8%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--warn, #ffc24d) 5%,transparent)}.dm-section-title,.dm-section h3{margin:0 0 6px;padding-left:10px;border-left:3px solid var(--accent);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--text)}.dm-group-danger .dm-section-title{border-left-color:#dc5a5aa6}.dm-group-accent .dm-section-title{border-left-color:var(--warn)}.dm-hint,.dm-muted{font-size:12px;color:var(--muted)}.dm-hint{margin:0 0 8px}.dm-player-list{margin:0;padding-left:18px;font-size:12px}.dm-recovery-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.dm-recovery-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:12px}.dm-recovery-name{font-weight:600;min-width:4rem}.dm-roster-status{display:inline-flex;align-items:center;gap:6px}.dm-rejoin-code{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:2px 6px;border-radius:4px;background:var(--panel);border:1px solid var(--line-soft)}.dm-recovery-actions{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}.dm-section-hint{margin:-4px 0 10px;font-size:11px;line-height:1.4}.dm-assign-list{display:flex;flex-direction:column;gap:10px}.dm-assign-row{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#ffffff05}.dm-assign-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.dm-assign-name{font-size:12px;flex:1;min-width:0}.dm-monster-results{margin:8px 0 0;padding:0;list-style:none;max-height:160px;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.dm-monster-pick{display:block;width:100%;text-align:left;padding:7px 10px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:12px;cursor:pointer}.dm-monster-pick:last-child{border-bottom:none}.dm-monster-pick:hover,.dm-monster-pick.selected{background:#ffc24d1f}.dm-token-list{display:flex;flex-direction:column;gap:6px}.dm-token-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:#ffffff05;font-size:12px}.dm-token-row.team-monster{border-color:#ff785a40}.dm-token-row.team-pc{border-color:#78b4ff40}.dm-token-row.team-trap{border-color:#e8b45a59}.dm-token-row-down{opacity:.85;border-color:var(--line-strong);background:#ffffff0a}.dm-token-status{display:block;font-size:11px;color:var(--muted);margin-top:2px}.dm-token-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.dm-section-down{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.dm-token-name{flex:1;min-width:0}.dm-token-team{margin-left:6px;font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.dm-remove-btn{flex-shrink:0;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--faint);font-size:14px;line-height:1;cursor:pointer}.dm-remove-btn:hover{color:var(--danger, #e07070);border-color:#e0707059;background:#e0707014}.dm-assigned{color:var(--accent);font-weight:600}.dm-assign-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dm-assign-controls select{flex:1 1 120px;min-width:100px;padding:4px 6px;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:12px}.dm-label{display:block;margin-bottom:8px;font-size:12px;color:var(--muted)}.dm-label input,.dm-label select,.dm-label textarea{display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);font-family:inherit;font-size:12px;resize:vertical}.dm-import-warn{font-size:.72rem;color:var(--warn, #c9a227);margin:6px 0;line-height:1.35}.dm-paste-ready{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:6px 0 8px;padding:8px 10px;border-radius:6px;background:#4ac48c1a;border:1px solid rgba(74,196,140,.25);font-size:12px}.dm-portrait-block{width:100%}.dm-portrait-label{font-size:11px;margin-bottom:4px}.dm-portrait-drop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border-radius:6px;border:1px dashed rgba(255,255,255,.18);background:#00000026}.dm-portrait-drop.drag-over{border-color:var(--highlight);background:#4a90d91f}.dm-portrait-preview-img,.dm-portrait-placeholder{width:40px;height:40px;border-radius:50%;flex:0 0 auto}.dm-portrait-preview-img{object-fit:cover;border:2px solid rgba(255,255,255,.25)}.dm-portrait-placeholder{display:grid;place-items:center;font-weight:700;background:var(--bg-3);border:2px solid rgba(255,255,255,.2)}.dm-portrait-hint{font-size:10px;flex:1 1 120px}.dm-portrait-pick{cursor:pointer}.ent-portrait-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.ent-portrait-disc{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--c, var(--neutral));background:color-mix(in srgb,var(--c, var(--neutral)) 24%,var(--bg-2))}.ent-portrait-disc.team-player{--c: var(--player)}.ent-portrait-disc.team-monster{--c: var(--monster)}.ent-portrait-disc.team-ally{--c: var(--ally)}.ent-portrait-disc.team-neutral{--c: var(--neutral)}.ent-portrait-img{width:100%;height:100%;object-fit:cover}.ent-portrait-fallback{font-weight:700;font-size:14px}.ent-portrait-actions{display:flex;flex-wrap:wrap;gap:6px}.dm-action{margin-top:6px;width:100%}.btn-sm{padding:4px 10px;font-size:11px}#campaign-map-root{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--map-bg, #0f1117);z-index:2;cursor:grab;overflow:visible}#campaign-map-root canvas{display:block}#campaign-map-root:active{cursor:grabbing}#campaign-map-root[hidden]{display:none!important}#phaser-root[hidden]{display:none!important;visibility:hidden;pointer-events:none!important}#left-column.campaign-layout{flex-direction:row;align-items:stretch}#left-column.campaign-layout #board-area{flex:1 1 auto;min-width:0}#left-column.campaign-layout #bottom-dock,#left-column.campaign-layout #wait-overlay,#left-column.campaign-layout #dm-map-staging-bar{display:none}#campaign-sidebar{flex:0 0 280px;min-width:240px;max-width:320px;display:none;flex-direction:column;min-height:0;background:var(--panel);border-right:1px solid var(--line);overflow:hidden}#campaign-sidebar:not([hidden]){display:flex}.campaign-sidebar-inner{flex:1 1 auto;overflow-y:auto;padding:12px 14px 20px;font-size:var(--fs-sm)}.campaign-control{margin-bottom:14px}.campaign-control>label:first-child{display:block;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint);margin-bottom:6px}.campaign-control input[type=search],.campaign-control input[type=text],.campaign-control select{width:100%;padding:6px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit}.campaign-control .campaign-check{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--muted)}.campaign-control .btn{display:block;width:100%;margin-top:6px}.campaign-toggle-visible.active{border-color:var(--success, #34d399);color:var(--success, #34d399)}.campaign-status{font-size:11px;color:var(--muted);margin-top:4px;min-height:1em}.campaign-status.ok{color:var(--success, #34d399)}.campaign-status.err{color:var(--danger)}.campaign-legend h2,.campaign-legend h3{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint);margin:16px 0 8px}.campaign-legend h2:first-child{margin-top:0}.campaign-legend ul{list-style:none;margin:0;padding:0}.campaign-legend li{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--r-sm);cursor:pointer;color:var(--muted)}#cs-legend-regions li:hover{background:var(--panel-2);color:var(--text)}.legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-count{color:var(--faint)}.edge-swatch{display:inline-block;width:24px;height:0;border-top:2px solid var(--muted);margin-right:4px}.edge-swatch.thick{border-top-width:4px}.edge-swatch.dotted{border-top-style:dotted;color:#4cc2ff;border-color:#4cc2ff}.edge-swatch.dashed{border-top-style:dashed;color:#ffc24d;border-color:#ffc24d}.shape-swatch{display:inline-block;width:10px;height:10px;border:1px solid var(--muted);margin-right:4px;background:var(--muted);vertical-align:middle}.shape-swatch.auto{background:transparent;border-style:dashed}.shape-swatch.ellipse{border-radius:50%}.shape-swatch.diamond{transform:rotate(45deg);width:8px;height:8px}.shape-swatch.hexagon{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.shape-swatch.pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.shape-swatch.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.shape-swatch.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.shape-swatch.round-rectangle{border-radius:3px;width:12px;height:8px}.shape-swatch.tag{clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);width:12px}.shape-swatch.barrel{border-radius:40%/50%;width:8px}.campaign-shape-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.campaign-shape-btn{width:30px;height:30px;padding:0;border:2px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.campaign-shape-btn:hover{border-color:var(--muted)}.campaign-shape-btn.selected{border-color:#ffc24d;background:#ffc24d14}.shape-icon{display:block;width:14px;height:14px;background:var(--text)}.shape-icon.auto{background:transparent;border:1px dashed var(--muted)}.shape-icon.ellipse{border-radius:50%;background:var(--text)}.shape-icon.auto[data-shape=ellipse]{border-radius:50%}.shape-icon.diamond,.shape-icon.auto[data-shape=diamond]{transform:rotate(45deg);width:10px;height:10px;background:var(--text);border:none}.shape-icon.auto[data-shape=diamond]{background:var(--text)}.shape-icon.hexagon{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.shape-icon.pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.shape-icon.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.shape-icon.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.shape-icon.round-rectangle{border-radius:3px;width:16px;height:10px}.shape-icon.tag{clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);width:16px}.shape-icon.barrel{border-radius:40%/50%;width:10px}.campaign-route-planner .campaign-route-endpoint{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:6px 8px;margin-bottom:6px;background:var(--panel-2);border-radius:var(--r-sm);border:1px solid var(--line)}.campaign-route-endpoint .role{font-size:10px;text-transform:uppercase;color:var(--faint)}.campaign-route-endpoint .name{font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-route-endpoint .name.empty{color:var(--faint);font-style:italic}.campaign-route-endpoint .clear{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:2px 4px}.campaign-route-summary{display:none;margin-top:8px;padding:8px;background:var(--panel-2);border-radius:var(--r-sm);font-size:var(--fs-sm)}.campaign-route-summary.visible{display:block}.campaign-route-summary .no-route{color:var(--danger)}.campaign-route-summary .scale-hint{font-size:11px;color:var(--faint);margin-top:4px}.campaign-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.campaign-detail-host{padding:12px 14px;overflow-y:auto;height:100%;font-size:var(--fs-base)}.campaign-detail-empty{color:var(--muted);font-size:var(--fs-sm);padding:8px 0}.campaign-place-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);margin:0 0 8px}.campaign-meta-line{color:var(--muted);font-size:var(--fs-sm);margin-bottom:10px}.campaign-region-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.campaign-route-actions,.campaign-actions-row,.campaign-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.campaign-location-hint{color:var(--muted);font-size:var(--fs-xs);line-height:1.45;margin:0 0 10px}.campaign-btn-danger{color:var(--danger, #e85d5d);border-color:color-mix(in srgb,var(--danger, #e85d5d) 45%,transparent)}.campaign-location-status{margin-top:4px;font-size:12px;font-weight:600;color:#4cc2ff}.campaign-load-advanced{margin:4px 0 6px}.campaign-load-advanced summary{cursor:pointer;font-size:11px;font-weight:600;color:var(--muted);list-style-position:inside}.campaign-load-advanced summary:hover{color:var(--text)}.campaign-load-advanced .campaign-location-actions{margin:8px 0 4px}.campaign-player-note,.campaign-summary{color:var(--text);font-size:var(--fs-sm);line-height:1.5;margin:8px 0}.campaign-read-aloud{font-style:italic;color:var(--muted);font-size:var(--fs-sm);line-height:1.55;border-left:3px solid var(--accent);padding-left:10px;margin:10px 0}.campaign-section h3{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--faint);margin:14px 0 8px}.campaign-neighbors{list-style:none;margin:0;padding:0}.campaign-neighbors li{padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-sm)}.campaign-neighbors li:hover{background:var(--panel-2)}.campaign-neighbors .edge-tag{margin-left:8px;font-size:10px;color:var(--faint);text-transform:uppercase}.campaign-route-summary{margin:10px 0;padding:10px;background:var(--panel-2);border-radius:var(--r-sm);font-size:var(--fs-sm)}.campaign-route-summary .total{margin-bottom:6px}.campaign-hops{list-style:none;margin:8px 0 0;padding:0}.campaign-hops li{padding:4px 0;cursor:pointer;color:var(--muted)}.campaign-hops li:hover{color:var(--accent-2)}.campaign-dm-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.campaign-dm-title{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint);margin-bottom:10px}.campaign-field{display:block;margin-bottom:10px;font-size:var(--fs-sm);color:var(--muted)}.campaign-field input,.campaign-field textarea{display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font:inherit}.campaign-hidden-badge{display:inline-block;font-size:10px;padding:2px 6px;background:var(--danger);color:#fff;border-radius:var(--r-sm);margin-bottom:8px}.campaign-meta-grid{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--fs-sm);color:var(--muted)}.campaign-save-status.ok{color:var(--success, #34d399)}.campaign-save-status.err{color:var(--danger)}.campaign-visibility-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.campaign-visibility-label.on{color:var(--success, #34d399)}.campaign-visibility-label.off{color:var(--danger)}.campaign-field-hint{font-weight:400;color:var(--faint)}.campaign-neighbor-note{font-size:11px;color:var(--muted);margin-top:2px;padding-left:2px}.campaign-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.campaign-tag{display:inline-block;font-size:11px;padding:2px 6px;background:var(--panel-2);border-radius:var(--r-sm);color:var(--muted)}.campaign-tag-hazard{color:var(--danger)}.campaign-tag-active-site{display:inline-block;margin:0 0 8px;background:#ffc24d26;border:1px solid rgba(255,194,77,.55);color:#ffc24d}.campaign-tag-party-pin{display:inline-block;margin:0 0 8px;background:#4cc2ff1f;border:1px solid rgba(76,194,255,.45);color:#4cc2ff}.legend-swatch.tactical-pin{background:radial-gradient(circle,rgba(255,244,214,.95) 0%,rgba(255,194,77,.35) 45%,transparent 70%);border:none;box-shadow:none}.legend-swatch.party-pin{box-shadow:0 0 0 2px #4cc2ff59;border:2px solid #4cc2ff}.legend-swatch.cleared-pin{background:#34d3992e;border:2px solid #34d399}.legend-swatch.edited-pin{background:#9a7bff4d;border:1px solid rgba(154,123,255,.6)}.legend-swatch.fresh-pin{background:radial-gradient(circle,#ffc24d8c,#ffc24d1f 70%);border:none}.campaign-badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.campaign-badge-row .campaign-tag,.campaign-badge-row .campaign-hidden-badge{margin:0}.campaign-tag-cleared{display:inline-block;background:#34d3991f;border:1px solid rgba(52,211,153,.45);color:#34d399}.campaign-tag-edited{display:inline-block;background:#9a7bff1f;border:1px solid rgba(154,123,255,.45);color:#b9a3ff}.campaign-mode-tabs{display:flex;gap:4px;margin:4px 0 12px;padding:3px;background:#00000040;border:1px solid var(--line);border-radius:8px}.campaign-mode-tab{flex:1;padding:6px 10px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.campaign-mode-tab:hover{color:var(--text)}.campaign-mode-tab.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.campaign-visibility-run{margin:12px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0000002e;flex-wrap:wrap}.campaign-visibility-run .campaign-field-hint{flex:1 1 100%;font-size:11px}.campaign-live-note{font-size:11px;color:#b9a3ff;margin:0 0 8px}.campaign-activity,.campaign-traces{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.campaign-activity-row{padding:6px 8px;border-left:2px solid var(--line);font-size:12px;line-height:1.4}.campaign-activity-row.kind-combat{border-left-color:#e06c6c}.campaign-activity-row.kind-cleared{border-left-color:#34d399}.campaign-activity-row.kind-scouted,.campaign-activity-row.kind-challenge{border-left-color:#4cc2ff}.campaign-activity-row.kind-terrain{border-left-color:#9a7bff}.campaign-activity-row.kind-discovery{border-left-color:#ffc24d}.campaign-activity-summary{display:block;color:var(--text)}.campaign-activity-meta{display:block;font-size:11px;color:var(--muted);margin-top:1px}.campaign-activity-creatures{font-size:11px;color:var(--faint);margin-top:2px}.campaign-traces li{padding:5px 8px;border-left:2px solid rgba(255,194,77,.4);font-size:12px;font-style:italic;color:var(--muted);line-height:1.4}.campaign-discovered{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.campaign-discovered li{padding:5px 8px;border-left:2px solid rgba(52,211,153,.5);background:#34d3990d;font-size:12px;color:var(--text);line-height:1.4;border-radius:0 4px 4px 0}.campaign-here-link{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:12px;padding:10px 12px;border:1px solid rgba(76,194,255,.45);border-radius:8px;background:#4cc2ff14;color:var(--text);text-align:left;cursor:pointer;font:inherit}.campaign-here-link:hover{background:#4cc2ff24}.campaign-here-link-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4cc2ff}.campaign-here-link-name{font-size:13px;font-weight:600}.campaign-maintenance{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.campaign-maintenance summary{cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.campaign-maintenance summary:hover{color:var(--text)}.campaign-preview-control{margin-bottom:4px}.campaign-preview-toggle{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;text-align:center}.campaign-preview-toggle:hover{border-color:#4cc2ff80;color:#cdeaff}.campaign-preview-toggle.active{background:#4cc2ff24;border-color:#4cc2ff99;color:#4cc2ff}.campaign-preview-hint{margin-top:6px;font-size:11px;line-height:1.4;color:var(--muted)}.campaign-sidebar-inner.previewing{outline:2px solid rgba(76,194,255,.35);outline-offset:-2px;border-radius:8px}.campaign-control-row{display:flex;gap:8px}.campaign-control-half{flex:1 1 0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.campaign-control-half select{width:100%}.campaign-mission-bg{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.campaign-mission-bg summary{cursor:pointer;font-weight:600;color:var(--text);margin-bottom:8px}.campaign-mission-body .campaign-field{margin-bottom:8px;font-size:var(--fs-sm);color:var(--muted)}.campaign-mission-body a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}.campaign-mission-body a:hover{color:var(--accent-2);text-decoration-color:var(--accent)}.campaign-mission-id{font-size:11px;color:var(--faint);margin-top:2px}.campaign-tracking-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.campaign-tracking-group{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint);margin:10px 0 6px}.campaign-tracking-checks{display:flex;flex-wrap:wrap;gap:6px 12px}.campaign-edge-endpoints{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.campaign-edge-endpoint{display:inline-flex;align-items:center;gap:4px}.campaign-edge-sep{color:var(--faint)}.campaign-load-error{padding:2rem;color:var(--danger)}.copy-name-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:4px}.copy-name-btn:hover{color:var(--accent)}.cs-view-toggle{display:inline-flex;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.cs-view-btn{border:none;background:var(--panel-2);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;cursor:pointer;white-space:nowrap}.cs-view-btn:hover{color:var(--text)}.cs-view-btn.active{background:var(--accent-dim);color:var(--accent-2)}#bottom-dock[hidden]{display:none!important}html:has(body.mission-page),body.mission-page{height:auto;min-height:100%;overflow:auto}.mission-page{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:1.55}.mission-header{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line);background:var(--panel)}.mission-header-text{flex:1;min-width:0}.mission-eyebrow{margin:0 0 4px;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--faint)}.mission-header h1{margin:0;font-size:var(--fs-xl);font-weight:700;line-height:1.25}.mission-meta{margin:6px 0 0;font-size:var(--fs-sm);color:var(--muted);font-family:var(--mono)}.mission-main{max-width:720px;margin:0 auto;padding:var(--sp-5) var(--sp-6) var(--sp-6)}.mission-doc{display:flex;flex-direction:column;gap:var(--sp-4)}.mission-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5)}.mission-label{margin:0 0 8px;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--accent-2);font-weight:600}.mission-block,.mission-paragraph{margin:0;color:var(--text);font-size:var(--fs-md)}.mission-block p{margin:0 0 10px}.mission-block p:last-child{margin-bottom:0}.mission-read-aloud-section .mission-label{color:var(--faint)}.mission-read-aloud,.mission-doc blockquote.mission-read-aloud{margin:0;font-style:italic;color:var(--muted);font-size:var(--fs-md);line-height:1.6;border-left:3px solid var(--accent);padding-left:12px}.mission-doc a{color:var(--accent);text-decoration:none}.mission-doc a:hover{color:var(--accent-2);text-decoration:underline}.mission-footer-meta{margin:0;font-size:var(--fs-sm);color:var(--faint);font-family:var(--mono)}.mission-loading,.mission-error{color:var(--muted);font-size:var(--fs-md)}.mission-error{color:var(--danger)}#token-context-menu-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;pointer-events:none}@keyframes token-ctx-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.token-ctx-anchor{position:fixed;z-index:9501;pointer-events:auto;animation:token-ctx-in .1s ease-out}.token-ctx-header{padding:7px 10px 6px;color:var(--faint);background:var(--panel);border:1px solid var(--line);border-bottom:none;border-radius:var(--r-md) var(--r-md) 0 0}.token-ctx-title{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text)}.token-ctx-summary{margin-top:2px;font-size:10px;font-weight:500;letter-spacing:.01em;text-transform:none;color:var(--muted)}.token-ctx-menu{margin:0;padding:4px;list-style:none;min-width:196px;max-width:248px;background:var(--panel);border:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);box-shadow:var(--shadow-2)}.token-ctx-header+.token-ctx-menu{border-top:1px solid var(--line-soft)}.token-ctx-submenu{display:none;position:absolute;left:calc(100% - 4px);top:0;z-index:20;min-width:196px;max-width:248px;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2)}.token-ctx-submenu--flip{left:auto;right:calc(100% - 4px)}.token-ctx-item{position:relative;margin:0}.token-ctx-item--branch:hover>.token-ctx-submenu{display:block}.token-ctx-divider{height:1px;margin:4px 6px;background:var(--line-soft);list-style:none}.token-ctx-label{padding:5px 10px 3px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.1;list-style:none;text-transform:uppercase}.token-ctx-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:1.25;text-align:left;cursor:default}.token-ctx-btn--branch:hover,.token-ctx-item--branch:hover>.token-ctx-btn--branch,.token-ctx-btn--branch:focus-visible{background:var(--panel-2);color:var(--accent-2);outline:none}.token-ctx-btn--action:hover,.token-ctx-btn--action:focus-visible{background:var(--accent-dim);color:var(--text);outline:none;cursor:pointer}.token-ctx-btn--danger{color:#f0b5b5}.token-ctx-btn--danger:hover,.token-ctx-btn--danger:focus-visible,.token-ctx-item--branch:hover>.token-ctx-btn--danger{background:#b446502e;color:#ffd0d0}.token-ctx-arrow{flex-shrink:0;color:var(--faint);font-size:15px;line-height:1;transition:color .1s ease,transform .1s ease}.token-ctx-item--branch:hover>.token-ctx-btn--branch .token-ctx-arrow{color:var(--accent);transform:translate(1px)}.token-ctx-submenu--scroll{max-height:calc(100vh - 20px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.token-ctx-submenu--scroll::-webkit-scrollbar{width:6px}.token-ctx-submenu--scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}
