:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f8fafc;color:#0f172a}body.combat-overlay-active{overflow:hidden}.site-header{border-bottom:1px solid #dbe4f0;background:#ffffff}.site-nav{max-width:1600px;margin:0 auto;padding:12px 24px;display:flex;flex-wrap:wrap;gap:10px}.site-nav a{text-decoration:none;color:#1e3a8a;border:1px solid #bfdbfe;background:#eff6ff;border-radius:999px;padding:6px 12px;font-size:.92rem;font-weight:600}.site-nav a:hover{background:#dbeafe}.site-nav a.is-active{background:#1d4ed8;border-color:#1d4ed8;color:#ffffff}main{max-width:920px;margin:0 auto;padding:24px}main.app-shell{width:min(100%,calc(100vw - 24px));max-width:100vw;margin:0 auto;padding:16px clamp(12px,2vw,28px) 24px}h1{margin:0 0 8px;font-size:1.75rem}h2,h3,h4{margin:0}.subtitle{margin:0 0 24px;color:#334155}.card{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:16px}.forge-class-card{display:grid;grid-gap:10px;gap:10px;border:1px solid #cbd5e1;border-radius:10px;padding:12px;background:#f8fafc}.forge-class-card p{margin:0}.forge-class-milestones{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.forge-class-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.forge-class-image-frame{aspect-ratio:4/5;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#e2e8f0}.forge-class-image-frame img{width:100%;height:100%;object-fit:cover;display:block}.grid{grid-gap:12px;gap:12px}.grid,label{display:grid}label{grid-gap:6px;gap:6px;font-weight:600}label.inline-check{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}label.inline-check input[type=checkbox]{width:auto}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px;width:100%;background:white}.actions{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid #1d4ed8;background:#1d4ed8;color:white;border-radius:8px;padding:10px 14px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:white;color:#1d4ed8}.destructive{color:#b91c1c;border-color:#fca5a5;background:white}.destructive:hover:not(:disabled){background:#fef2f2}.status-bar{min-height:20px;color:#334155;padding:8px 0}.status-bar.error{color:#b91c1c}pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:12px;overflow:auto;margin:0}details{border:1px solid #cbd5e1;border-radius:8px;padding:10px}summary{cursor:pointer;font-weight:600}.stage-section{background:white;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;overflow:hidden}.stage-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:12px;background:#fafbfc;border-bottom:1px solid transparent}.stage-header:hover{background:#f1f5f9}.stage-section.open .stage-header{border-bottom-color:#e2e8f0}.stage-header-left{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem}.stage-header-right{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#64748b}.stage-chevron{font-size:.75rem;transition:transform .2s ease;color:#94a3b8}.stage-section.open .stage-chevron{transform:rotate(90deg)}.stage-body{padding:16px;display:grid;grid-gap:12px;gap:12px}.stage-section:not(.open) .stage-body{display:none}.stage-section.locked .stage-header{opacity:.5;cursor:default}.stage-section.locked .stage-header:hover{background:#fafbfc}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}.badge-pending{background:#f1f5f9;color:#64748b}.badge-editing{background:#dbeafe;color:#1d4ed8}.badge-saved{background:#dcfce7;color:#16a34a}.badge-published{background:#ede9fe;color:#7c3aed}.badge-done{background:#dcfce7;color:#16a34a}.badge-warning{background:#fef3c7;color:#92400e}.scenario-card{background:white;border:1px solid #e2e8f0;border-left:4px solid #cbd5e1;border-radius:8px;padding:14px;display:grid;grid-gap:10px;gap:10px}.scenario-card.current{border-left-color:#1d4ed8;background:#f8faff}.scenario-card.saved{border-left-color:#16a34a}.scenario-card.published{border-left-color:#7c3aed}.scenario-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.scenario-card-title{font-weight:700;font-size:.95rem}.scenario-card-overview{color:#475569;font-size:.9rem;line-height:1.45}.llm-analyzer-main{max-width:1400px}.llm-analyzer-layout{display:grid;grid-template-columns:360px minmax(0,1fr);grid-gap:16px;gap:16px}.llm-detail-panel,.llm-list-panel{min-height:400px}.llm-entry-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.llm-entry-item{text-align:left;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:10px;padding:10px}.llm-entry-item.active{border-color:#1d4ed8;background:#eff6ff}.llm-entry-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.llm-entry-item-main{margin-top:8px;font-weight:700}.llm-entry-item-sub{margin-top:4px;color:#475569;font-size:.85rem;overflow-wrap:anywhere}.llm-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.llm-paired-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:8px 0 12px}.llm-paired-card{border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#f8fafc;min-width:0}.llm-paired-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.llm-readable-pre{white-space:pre-wrap;word-break:break-word;max-height:420px}.llm-message-list{display:grid;grid-gap:10px;gap:10px}.llm-message-card{border:1px solid #cbd5e1;border-radius:8px;padding:8px;background:#fff}@media (max-width:980px){.llm-analyzer-layout,.llm-filter-row,.llm-paired-grid{grid-template-columns:1fr}}.narrative-scenario{border:1px solid #e2e8f0;border-radius:8px;padding:16px;display:grid;grid-gap:10px;gap:10px}.narrative-scenario-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.narrative-act{margin-left:8px;padding:10px 0 10px 14px;border-left:2px solid #e2e8f0}.narrative-act+.narrative-act{border-top:1px solid #f1f5f9}.narrative-npc-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:4px;gap:4px}.narrative-npc-list li:before{content:"• ";color:#94a3b8}.readiness-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px}.readiness-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.readiness-icon{font-size:1rem;width:20px;text-align:center}.readiness-item.ready .readiness-icon{color:#16a34a}.readiness-item.needs-attention .readiness-icon{color:#d97706}.editor-card{background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;padding:14px;display:grid;grid-gap:10px;gap:10px}.editor-card-header{display:flex;justify-content:space-between;align-items:center}.editor-card-title{font-weight:700;font-size:.9rem}.context-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:.9rem;color:#475569;display:grid;grid-gap:6px;gap:6px}.context-panel strong{color:#0f172a}.queue-panel{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:grid;grid-gap:12px;gap:12px}.queue-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.queue-panel-header-actions{display:flex;align-items:center}.queue-panel-body{display:grid;grid-gap:12px;gap:12px}.queue-panel-empty{margin:0;color:#475569;font-style:italic}.queue-sync-status{margin:0;color:#475569;font-size:.85rem}.queue-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;padding:12px;border:1px dashed #cbd5e1;border-radius:8px}.queue-meta-label{display:block;font-size:.75rem;color:#64748b}.queue-item-list{display:grid;grid-gap:10px;gap:10px;max-height:320px;overflow:auto}.queue-item{border:1px solid #e2e8f0;border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;background:#f8fafc}.queue-item-title{margin:0;font-weight:600}.queue-item-meta{margin:0;color:#64748b;font-size:.85rem}.queue-item-error{margin:4px 0 0;color:#b91c1c;font-size:.85rem}.queue-item-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;text-transform:capitalize;white-space:nowrap}.queue-item-badge.pending{background:#fef3c7;color:#92400e}.queue-item-badge.running{background:#dbeafe;color:#1d4ed8}.queue-item-badge.succeeded{background:#dcfce7;color:#15803d}.queue-item-badge.failed{background:#fee2e2;color:#b91c1c}.queue-item-badge.skipped{background:#e0e7ff;color:#4338ca}.queue-panel-actions{display:flex;flex-wrap:wrap;gap:10px}.queue-error{margin:0;color:#b91c1c;font-weight:600}.campaign-summary-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.9rem;flex-wrap:wrap}.campaign-summary-bar strong{font-weight:700}.beat-manager-quickstart{margin:0;padding-left:1.1rem;color:#334155}.beat-manager-session-actions,.beat-manager-submit-actions{margin-top:.2rem}.mode-switch{display:flex;flex-wrap:wrap;gap:8px}.mode-switch .secondary.is-active{background:#0f766e;color:#ffffff;border-color:#0f766e}.mode-guidance{margin:0;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;font-size:.95rem;color:#0f172a;background:#f8fafc}.mode-guidance-core-dm{border-color:#99f6e4;background:#f0fdfa}.mode-guidance-session-ops{border-color:#bfdbfe;background:#eff6ff}.mode-guidance-narrative{border-color:#c4b5fd;background:#f5f3ff}.dm-advanced-details,.dm-secondary-tools{display:grid;grid-gap:10px;gap:10px;padding:10px 12px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc}.dm-advanced-details>summary,.dm-secondary-tools>summary{cursor:pointer;font-weight:600;color:#1e293b}.dm-advanced-details[open],.dm-secondary-tools[open]{background:#f1f5f9}.turn-beat-layout{display:grid;grid-gap:12px;gap:12px;align-items:start;grid-template-columns:minmax(0,1fr);width:100%}.turn-beat-layout>*{min-width:0}.turn-beat-tablet-controls{display:none}.turn-beat-dm-toggle{margin:0}.turn-beat-dm-scrim{display:none}.turn-beat-dm-slot,.turn-beat-encounter-slot,.turn-beat-narrative-slot{min-width:0;overflow-x:hidden;overflow-wrap:anywhere}.turn-beat-dm-slot .card,.turn-beat-encounter-slot .card,.turn-beat-narrative-slot .card{min-width:0}.encounter-state-panel{border:1px solid #fcd34d;background:#fffbeb}.encounter-panel-enemy-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.encounter-panel-enemy-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.encounter-panel-enemy-header span{text-transform:uppercase;font-size:.72rem;font-weight:700;color:#92400e}.encounter-panel-hearts-row{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.encounter-panel-hearts-row .secondary{min-width:2.2rem;padding:.2rem .35rem;line-height:1}.encounter-panel-badge-wrap{display:flex;flex-wrap:wrap;gap:.45rem}.encounter-panel-badge{display:inline-flex;align-items:center;border:1px solid #fbbf24;background:#fef3c7;color:#78350f;border-radius:999px;padding:.12rem .6rem;font-size:.78rem;font-weight:700}.encounter-inline-composer{border:1px dashed #cbd5e1;background:#f8fafc}.core-beat-manager.combat-underlay-hidden>*{visibility:hidden;pointer-events:none}.combat-overlay-root{position:fixed;inset:0;z-index:120;display:grid;align-items:stretch;justify-items:stretch;background:rgba(15,23,42,.45);padding:clamp(10px,2vw,18px)}.combat-overlay-shell{width:100%;height:100%;max-height:100%;overflow:auto;border:1px solid #fca5a5;background:#fff7f7;margin:0;gap:.55rem}.combat-overlay-status-chips{position:absolute;top:clamp(12px,2vw,18px);right:clamp(12px,2vw,18px);z-index:3;display:inline-flex;align-items:center;gap:.4rem}.combat-overlay-roster-size{border:1px solid #93c5fd;background:#dbeafe;color:#1d4ed8;border-radius:999px;font-size:.72rem;padding:.1rem .5rem}.combat-overlay-roster-size,.combat-overlay-round{display:inline-flex;align-items:center;font-weight:700}.combat-overlay-round{border:1px solid #fecaca;background:#fee2e2;color:#991b1b;border-radius:999px;font-size:.78rem;padding:.12rem .58rem}.combat-overlay-mode{display:inline-flex;align-items:center;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;font-size:.72rem;font-weight:700;padding:.1rem .5rem}.combat-overlay-shell h6{margin:0;line-height:1.1;font-size:.84rem}.combat-overlay-shell .card{padding:.68rem}.combat-initiative-track{border:1px solid #fecaca;background:#fff1f2;position:-webkit-sticky;position:sticky;top:0;z-index:2}.combat-initiative-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.22rem}.combat-initiative-scroll{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.5rem;padding-bottom:.2rem}.combat-initiative-battlefield{margin-top:.45rem;border:1px solid #fdba74;background:#fffbeb;border-radius:10px;padding:.48rem;display:grid;grid-gap:.45rem;gap:.45rem}.combat-popcorn-next-actor{display:grid;grid-gap:.45rem;gap:.45rem;margin:.3rem 0 .15rem;padding:.45rem;border:1px dashed #93c5fd;border-radius:9px;background:#eff6ff}.combat-initiative-chip{min-width:170px;border:1px solid #dbe4f0;background:#ffffff;border-radius:10px;padding:.5rem .6rem;display:grid;grid-gap:.2rem;gap:.2rem}.combat-initiative-chip small{color:#475569}.combat-initiative-chip.is-active{border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.15);background:#fff7ed}.combat-overlay-layout{display:grid;grid-gap:.58rem;gap:.58rem;grid-template-columns:minmax(0,1fr)}.combat-tablet-log-controls{display:none}.combat-battlefield{border:1px solid #fdba74;background:#fffbeb;gap:.42rem}.combat-battlefield-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr)}.combat-battlefield-compact{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.combat-battlefield-compact-group{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.4rem;display:grid;grid-gap:.3rem;gap:.3rem}.combat-battlefield-compact-cards{display:grid;grid-gap:.28rem;gap:.28rem}.combat-battlefield-mini-entry{border:1px solid #dbe4f0;border-radius:8px;background:#ffffff;padding:.3rem .42rem;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.combat-battlefield-mini-entry.is-active{border-color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.22);background:#fff7ed}.combat-battlefield-mini-main{display:grid;grid-gap:.05rem;gap:.05rem}.combat-battlefield-mini-main strong{font-size:.85rem;line-height:1.05}.combat-battlefield-mini-main small{color:#475569;font-size:.74rem}.combat-battlefield-mini-tags{display:inline-flex;align-items:center;gap:.2rem;flex-wrap:wrap}.combat-battlefield-side{border:1px solid #fed7aa;background:#ffffff;border-radius:10px;padding:.6rem;display:grid;grid-gap:.35rem;gap:.35rem}.combat-zone-columns{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(0,1fr)}.combat-zone-column{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.45rem;display:grid;grid-gap:.45rem;gap:.45rem;align-content:start;min-height:80px}.combat-zone-title{margin:0;font-size:.75rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.03em}.combatant-card{border:1px solid #dbe4f0;background:#ffffff;border-radius:8px;padding:.45rem;display:grid;grid-gap:.3rem;gap:.3rem}.combatant-card.is-active{border-color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.35)}.combatant-header{display:flex;justify-content:space-between;align-items:center;gap:.35rem}.combatant-role-tag{display:inline-flex;align-items:center;border:1px solid #fcd34d;background:#fef3c7;color:#78350f;border-radius:999px;padding:.08rem .45rem;font-size:.7rem;font-weight:700;text-transform:uppercase}.combatant-hearts{display:flex;gap:.15rem;flex-wrap:wrap}.combatant-heart{font-size:.8rem;line-height:1}.combatant-heart-total{color:#475569;font-weight:700}.combatant-badges{display:flex;gap:.28rem;flex-wrap:wrap}.combatant-badge{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:.08rem .45rem;font-size:.72rem}.combatant-badge.equipment{border-color:#bfdbfe;background:#eff6ff}.combatant-badge.zone{border-color:#99f6e4;background:#f0fdfa;color:#0f766e;font-weight:700}.combatant-badge.status{border-color:#fca5a5;background:#fee2e2;color:#991b1b;font-weight:700}.combat-action-panel{border:1px solid #bfdbfe;background:#eff6ff;align-content:start;gap:.36rem}.combat-support-panel{border:1px solid #99f6e4;background:#f0fdfa;align-content:start;gap:.36rem}.combat-active-turn-panel{border:1px solid #fdba74;background:#fff7ed;margin-bottom:0}.combat-action-hint{margin:0;color:#334155;font-size:.86rem}.combat-action-block{border:1px solid #cbd5e1;background:#ffffff;border-radius:10px;padding:.52rem;display:grid;grid-gap:.45rem;gap:.45rem}.combat-action-block-title{margin:0;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#1e293b}.combat-roll-prompt{border:1px solid #93c5fd;background:#f8fbff;margin-bottom:0}.combat-guardrail-warning{margin:0;color:#991b1b;font-size:.8rem;font-weight:700}.combat-roll-inputs{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.5rem;gap:.5rem}.combat-roll-factors{border:1px solid #dbe4f0;border-radius:10px;background:#ffffff;padding:.55rem;display:grid;grid-gap:.5rem;gap:.5rem}.combat-roll-factor-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.55rem;gap:.55rem}.combat-roll-factor-grid strong{font-size:.78rem;color:#334155}.combat-roll-factor-grid ul{margin:.35rem 0 0;padding-left:1.15rem;color:#1e293b}.combat-roll-factor-grid p{margin:.35rem 0 0;color:#64748b}.combat-roll-result{margin:0;color:#0f172a}.combat-log-panel{border:1px solid #c7d2fe;background:#eef2ff;align-content:start;gap:.42rem}.combat-log-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.combat-log-drawer-toggle{display:none}.combat-log-scroll{border:1px solid #dbe4f0;border-radius:10px;background:#ffffff;max-height:540px;overflow-y:auto;padding:.55rem;display:grid;grid-gap:.45rem;gap:.45rem;align-content:start}.combat-log-drawer-scrim{display:none}.combat-log-entry{border:1px solid #dbe4f0;border-radius:8px;background:#f8fafc;padding:.45rem .5rem;display:grid;grid-gap:.35rem;gap:.35rem}.combat-log-entry-header{display:flex;justify-content:space-between;align-items:center;gap:.45rem}.combat-log-entry-type{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:999px;padding:.08rem .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.combat-log-entry-header small{color:#64748b}.combat-log-entry p{margin:0;color:#0f172a}.combat-log-entry.is-success{border-color:#86efac;background:#f0fdf4}.combat-log-entry.is-warning{border-color:#fed7aa;background:#fff7ed}.combat-log-entry.is-spotlight{border-color:#fcd34d;background:#fffbeb}.combat-log-entry.is-neutral{border-color:#cbd5e1;background:#f1f5f9}.combat-log-entry.is-end{border-color:#fca5a5;background:#fef2f2}.combat-modal-scrim{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:1rem}.combat-modal{width:min(560px,100%);border:1px solid #fca5a5;border-radius:12px;background:#ffffff;padding:1rem;display:grid;grid-gap:.7rem;gap:.7rem;box-shadow:0 20px 40px rgba(15,23,42,.3)}.combat-modal.reactive{border-color:#fdba74;background:#fff7ed}.combat-modal p{margin:0}.combat-modal-meta{color:#475569;font-size:.88rem}.turn-beat-empty{margin:0;color:#475569}.turn-panel-header-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.turn-panel-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;margin:-.15rem 0 0;padding:.4rem .55rem;border-radius:8px;background:rgba(248,250,252,.92);border:1px solid #dbe4f0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.narrative-panel-shell.compact{gap:8px}.narrative-panel-shell.compact .card{padding:10px}.narrative-panel-shell.compact label{gap:4px}.narrative-panel-shell.compact input,.narrative-panel-shell.compact select,.narrative-panel-shell.compact textarea{padding:8px}.quick-actions-section{border:1px solid #bfdbfe;background:#eff6ff}.combat-setup-section{border:1px dashed #f59e0b;background:#fffbeb}.combat-adjudication-section{border:1px solid #fca5a5;background:#fff1f2}.scenario-shift-alert{background:#fffbeb;border:1px solid #f59e0b;border-left:5px solid #d97706;border-radius:8px;padding:.65rem .75rem;display:grid;grid-gap:.2rem;gap:.2rem}.scenario-shift-alert-title{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#92400e}.scenario-shift-alert-body{margin:0;color:#7c2d12;font-weight:600}.turn-request-status{margin:0;color:#1d4ed8;font-weight:600}.session-narrative-plan{margin:0;padding-left:1.1rem;color:#1e293b;display:grid;grid-gap:.35rem;gap:.35rem}.session-narrative-assembled{margin:0;white-space:pre-wrap;line-height:1.45;color:#0f172a}.screenboard-binding-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.screenboard-feed{max-height:68vh;overflow-y:auto;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc;padding:14px;display:grid;grid-gap:14px;gap:14px}.screenboard-entry{display:grid;grid-gap:10px;gap:10px;border:1px solid #e2e8f0;background:#ffffff;border-radius:12px;padding:14px}.screenboard-feed p{margin:0 0 1.5em;line-height:1.25em;font-family:Caveat,Segoe Print,Bradley Hand,Marker Felt,cursive;font-size:1.25em}.screenboard-scenario-block{display:grid;grid-gap:10px;gap:10px}.screenboard-act-heading-textonly{display:grid;grid-gap:4px;gap:4px}.screenboard-act-heading-textonly span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#1d4ed8;font-weight:700}.screenboard-act-heading-textonly h4{margin:0;font-family:Caveat,Segoe Print,Bradley Hand,Marker Felt,cursive;font-weight:700;font-size:2em;line-height:1.1}.screenboard-act-image-gallery,.screenboard-act-narratives{display:grid;grid-gap:8px;gap:8px}.screenboard-act-image-gallery{padding-top:4px}.screenboard-act-image-gallery span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#334155;font-weight:700}.screenboard-act-heading,.screenboard-scenario-heading{display:grid;grid-gap:4px;gap:4px}.screenboard-act-heading span,.screenboard-scenario-heading span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#1d4ed8;font-weight:700}.screenboard-act-heading h4,.screenboard-scenario-heading h3{margin:0;font-family:Caveat,Segoe Print,Bradley Hand,Marker Felt,cursive;font-weight:700;font-size:2em;line-height:1.1}.screenboard-act-heading{grid-template-columns:92px minmax(0,1fr);align-items:center}.screenboard-act-heading img{width:92px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff}.screenboard-act-image-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.screenboard-act-image-strip img{width:84px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff}.encounter-mode-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.encounter-mode-chip.social{background:#dcfce7;color:#166534}.encounter-mode-chip.standoff{background:#fef3c7;color:#92400e}.encounter-mode-chip.combat{background:#fee2e2;color:#b91c1c}@media (min-width:900px){.turn-beat-sticky-panel{position:-webkit-sticky;position:sticky;top:16px;align-self:start}}@media (min-width:1200px){.turn-beat-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.turn-beat-layout.with-encounter-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.3fr)}.combat-overlay-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr)}.combat-action-panel{grid-column:1}.combat-support-panel{grid-column:2}.combat-log-panel{grid-column:3}.combat-battlefield-grid,.combat-zone-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.combat-roll-factor-grid,.combat-roll-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px) and (max-width:1199px){.turn-beat-tablet-controls{display:flex;justify-content:flex-end}.turn-beat-layout{grid-template-columns:minmax(0,1fr)}.turn-beat-layout.with-encounter-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"encounter narrative"}.turn-beat-layout .turn-beat-encounter-slot{grid-area:encounter}.turn-beat-layout .turn-beat-narrative-slot{grid-area:narrative}.turn-beat-layout .turn-beat-dm-slot{position:fixed;top:84px;right:-460px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 108px);overflow-y:auto;z-index:45;transition:right .18s ease}.turn-beat-layout.dm-drawer-open .turn-beat-dm-slot{right:16px}.turn-beat-layout .turn-beat-dm-slot .turn-beat-sticky-panel{position:static;top:auto}.turn-beat-dm-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(15,23,42,.24);z-index:40;cursor:pointer}.combat-overlay-shell{position:relative;padding-bottom:4.25rem}.combat-initiative-track{top:10px;z-index:42}.combat-overlay-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.combat-action-panel{grid-column:1}.combat-support-panel{grid-column:2}.combat-log-panel{position:fixed;left:16px;right:16px;bottom:12px;width:auto;max-height:min(62vh,520px);z-index:54;box-shadow:0 18px 35px rgba(15,23,42,.25);transform:translateY(calc(100% - 52px));transition:transform .18s ease}.combat-log-panel.is-open{transform:translateY(0)}.combat-log-panel-header{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#eef2ff;padding-bottom:.15rem}.combat-log-drawer-toggle{display:inline-flex}.combat-log-scroll{max-height:min(46vh,380px)}.combat-tablet-log-controls{display:flex;justify-content:flex-end}.combat-log-drawer-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(15,23,42,.2);z-index:50;cursor:pointer}.combat-log-drawer-scrim:focus-visible{outline:2px solid #1d4ed8;outline-offset:-2px}.combat-overlay-shell:not(.tablet-log-open) .combat-log-drawer-scrim{display:none}}@media (max-width:900px){.turn-beat-tablet-controls{display:none}.turn-beat-layout{grid-template-columns:minmax(0,1fr)}.turn-beat-layout .turn-beat-narrative-slot{order:1}.turn-beat-layout .turn-beat-encounter-slot{order:2}.turn-beat-layout .turn-beat-dm-slot{order:3}.screenboard-binding-grid{grid-template-columns:1fr}.screenboard-feed{max-height:60vh}.combat-overlay-layout{grid-template-columns:minmax(0,1fr)}.combat-action-panel,.combat-log-panel,.combat-support-panel{grid-column:auto}.combat-overlay-root{padding:10px}.combat-overlay-status-chips{top:8px;right:8px}.combat-log-drawer-toggle,.combat-tablet-log-controls{display:none}.combat-battlefield-grid,.combat-zone-columns{grid-template-columns:minmax(0,1fr)}}.er-page{max-width:1100px;margin:0 auto;padding:0 16px 48px}.er-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid #e2e8f0}.er-tabs button{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 18px;color:#64748b;cursor:pointer;font-size:.95rem}.er-tabs button.er-tab-active{color:#1d4ed8;border-bottom-color:#1d4ed8;font-weight:600}.er-controls{margin-bottom:16px}.er-controls-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.er-controls-row>div{display:flex;flex-direction:column;gap:4px}.er-controls-row label{font-size:.82rem;font-weight:600;color:#475569}.er-controls-row select{min-width:200px}.er-hint{margin-top:8px;font-size:.85rem;color:#64748b}.er-hint code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.82rem}.er-summary-bar{display:flex;gap:24px;flex-wrap:wrap}.er-range{font-size:.85rem;color:#64748b;margin-bottom:16px}.er-loading{text-align:center;padding:32px;color:#64748b;font-size:1rem}.er-error-card{border-left:4px solid #ef4444}.er-error-card h3{color:#b91c1c}.er-signal-card{margin-bottom:16px}.er-signal-card h3{margin-top:0;margin-bottom:12px;font-size:1rem}.er-stat-grid{display:flex;gap:24px;flex-wrap:wrap}.er-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:80px}.er-stat-value{font-size:1.4rem;font-weight:700;color:#0f172a}.er-stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.er-table{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:12px}.er-table th{text-align:left;padding:8px 10px;border-bottom:2px solid #e2e8f0;font-weight:600;color:#475569;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.er-table td{padding:6px 10px;border-bottom:1px solid #f1f5f9}.er-table tbody tr:hover{background:#f8fafc}.er-endpoint-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er-endpoint-cell,.er-session-cell{font-family:monospace;font-size:.82rem}.er-hot-row{background:#fef2f2}.er-opportunity-card{border-radius:10px;padding:14px 16px;margin-bottom:12px;border:1px solid #e2e8f0;border-left:4px solid #94a3b8}.er-opportunity-card.er-severity-high{border-left-color:#ef4444;background:#fef2f2}.er-opportunity-card.er-severity-medium{border-left-color:#f59e0b;background:#fffbeb}.er-opportunity-card.er-severity-low{border-left-color:#3b82f6;background:#eff6ff}.er-opportunity-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.er-severity-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.05em}.er-severity-badge.er-severity-high{background:#fee2e2;color:#b91c1c}.er-severity-badge.er-severity-medium{background:#fef3c7;color:#92400e}.er-severity-badge.er-severity-low{background:#dbeafe;color:#1d4ed8}.er-opportunity-category{font-size:.78rem;color:#64748b}.er-opportunity-card h4{margin:0 0 6px;font-size:.92rem}.er-opportunity-card p{margin:4px 0;font-size:.88rem;color:#334155}.er-suggestion{margin-top:8px}.er-evidence{margin:6px 0 0;padding-left:18px;font-size:.82rem;color:#475569}.er-evidence li{margin-bottom:3px;word-break:break-all}.er-cluster{margin-bottom:12px;padding:8px 10px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.er-cluster-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.er-cluster-count{font-weight:700;color:#0f172a}.er-cluster-pct{font-size:.82rem;color:#64748b}.er-cluster-category{font-size:.72rem;padding:1px 6px;border-radius:4px;background:#e0e7ff;color:#4338ca}.er-cluster-pattern{display:block;font-size:.8rem;word-break:break-all;color:#475569;background:#f1f5f9;padding:4px 8px;border-radius:4px}.er-delta-improved{color:#16a34a;font-weight:600}.er-delta-regressed{color:#dc2626;font-weight:600}.er-delta-unchanged{color:#64748b}.er-resolved-opp{padding:6px 10px;margin-bottom:4px;color:#16a34a;font-size:.88rem;background:#f0fdf4;border-radius:6px}.er-compare-panels{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:16px}@media (max-width:900px){.er-compare-panels{grid-template-columns:1fr}.er-controls-row{flex-direction:column;align-items:stretch}.er-summary-bar{flex-direction:column;gap:12px}}