:root{--text:#3d3a45;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#b45309;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c6c9d0;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--accent:#e6a23c}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2{color:var(--text-h);font-weight:600}h2{margin:0 0 .5rem;font-size:1.1rem}button{font:inherit;color:inherit;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem .9rem}button:hover{border-color:var(--accent)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border,#444);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.app-title{font-weight:700}.sync-status{opacity:.75;font-size:.85rem}.sync-pending{color:#e6a23c;opacity:1}.app-user{align-items:center;gap:.5rem;margin-left:auto;font-size:.85rem;display:flex}.pane-grid{flex:1;gap:.75rem;padding:.75rem;display:grid}.tier-wide .pane-grid{grid-template-columns:repeat(3,1fr)}.tier-medium .pane-grid{grid-template-columns:repeat(2,1fr)}.tier-compact .pane-grid{grid-template-columns:1fr;padding-bottom:4.5rem}.pane{border:1px solid var(--border,#444);border-radius:8px;padding:1rem}.pane-hint{opacity:.6;font-size:.9rem}.bottom-bar{border-top:1px solid var(--border,#444);background:var(--bg,#242424);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-bar button{border:none;border-radius:0;flex:1;padding:1rem 0;font-size:1rem}.bottom-bar button.active{border-top:2px solid #e6a23c;font-weight:700}.attribution{opacity:.65;text-align:center;padding:.5rem 1rem;font-size:.7rem}.login-page{align-content:center;place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:.9rem;width:min(24rem,100%);padding:1.5rem;display:flex}.login-card h1{margin:0;font-size:1.4rem}.login-subtitle{opacity:.7;margin:0}.login-card label{text-align:left;flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.login-card input{border:1px solid var(--border,#555);color:inherit;background:0 0;border-radius:6px;padding:.6rem;font-size:1rem}.login-error{color:#e05c5c;margin:0;font-size:.9rem}.login-switch{opacity:.7;background:0 0;border:none;font-size:.85rem}.tap-button{border-radius:8px;min-width:44px;min-height:44px;font-size:1.1rem}.ghost-button{border:1px solid var(--border,#555);opacity:.8;background:0 0;border-radius:6px;padding:.3rem .6rem;font-size:.85rem}.cockpit,.companion{flex-direction:column;gap:1rem;display:flex}.cockpit-section h3{align-items:center;gap:.6rem;margin:0 0 .5rem;font-size:1rem;display:flex}.pressure-bar{border:1px solid var(--border,#444);border-radius:8px;align-items:center;gap:1rem;padding:.5rem .75rem;font-size:.95rem;display:flex}.spotlight-badge{color:#1a1a1a;background:#e6a23c;border:none;border-radius:999px;min-height:44px;padding:.4rem .9rem;font-weight:700}.fear-pool{border:1px solid var(--border,#444);text-align:center;border-radius:8px;padding:.75rem}.fear-row{justify-content:center;align-items:center;gap:1rem;display:flex}.fear-pool .tap-button{min-width:56px;min-height:56px;font-size:1.6rem}.fear-number{font-size:2.2rem;font-weight:700}.fear-pool-large .fear-number{font-size:3.5rem}.fear-cap{opacity:.6;margin-left:.4rem}.fear-warning{color:#e6a23c;margin:.5rem 0 0;font-weight:600}.countdown-grid{flex-wrap:wrap;gap:.6rem;display:flex}.countdown-widget{border:1px solid var(--border,#444);border-radius:8px;min-width:13rem;padding:.6rem}.countdown-head{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.countdown-name{font-weight:600}.countdown-type{border:1px solid var(--border,#555);opacity:.7;border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.countdown-head .ghost-button{margin-left:auto}.countdown-body{align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.countdown-value{font-size:1.6rem;font-weight:700}.countdown-value small{opacity:.6;font-size:.9rem}.auto-toggle{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.countdown-triggered{color:#e05c5c;margin:.4rem 0 0;font-weight:700}.countdown-drift{color:#e6a23c;margin:.4rem 0 0;font-size:.8rem}.countdown-done{border-color:#e05c5c}.outcome-buttons{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;display:grid}.roll-result{border:1px solid var(--border,#444);border-radius:8px;margin-top:.75rem;padding:.75rem}.roll-player-effect{margin:0 0 .5rem}.fear-gain-button{color:#fff;background:#6b3fa0;border:none}.move-options{margin:.5rem 0 0;padding-left:1.2rem}.move-options li{margin-bottom:.25rem}.move-tag{color:#e6a23c;border:1px solid #e6a23c;border-radius:999px;margin-left:.4rem;padding:0 .4rem;font-size:.7rem;display:inline-block}.scene-bar{border:1px solid var(--border,#444);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .75rem;display:flex}.adversary-grid,.pc-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem;display:grid}.adversary-panel,.pc-card{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.adversary-defeated{opacity:.6;border-color:#e05c5c}.adversary-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.adversary-head .ghost-button:last-child{margin-left:auto}.vital-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.threshold-helper{align-items:center;gap:.5rem;display:flex}.threshold-helper input{border:1px solid var(--border,#555);width:6rem;color:inherit;background:0 0;border-radius:6px;padding:.5rem}.condition-row,.feature-row,.relentless-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.condition-chip{border:1px solid var(--border,#555);background:0 0;border-radius:999px;min-height:40px;padding:.35rem .7rem;font-size:.85rem}.condition-chip.active{color:#fff;background:#e05c5c;border-color:#e05c5c}.feature-button{text-align:left}.bp-bar{border:1px solid var(--border,#444);border-left-width:5px;border-radius:8px;flex-direction:column;gap:.4rem;margin:.5rem 0;padding:.5rem .75rem;display:flex}.bp-numbers{flex-wrap:wrap;align-items:baseline;gap:.75rem;font-size:.95rem;display:flex}.bp-status{font-weight:700}.bp-under{border-left-color:#7ec97e}.bp-under .bp-status{color:#7ec97e}.bp-on{border-left-color:#e6a23c}.bp-on .bp-status{color:#e6a23c}.bp-over{border-left-color:#e05c5c}.bp-over .bp-status{color:#e05c5c}.bp-auto-badge{color:#e6a23c;font-size:.8rem}.library-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;display:flex}.story-split{grid-template-columns:minmax(14rem,1fr) 2fr;align-items:start;gap:.75rem;display:grid}.tier-compact .story-split,.tier-medium .story-split{grid-template-columns:1fr}.story-nav{flex-direction:column;gap:.4rem;display:flex}.story-list{flex-direction:column;gap:.25rem;display:flex}.story-item{text-align:left;border:1px solid var(--border,#444);color:inherit;background:0 0;border-radius:6px;min-height:40px;padding:.4rem .6rem}.story-item.active{background:#6b3fa026;border-color:#6b3fa0}.pc-stats{margin:0}.scene-plan{flex-direction:column;gap:.75rem;display:flex}.scene-plan-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.scene-plan-head strong{margin-right:auto}.scene-slot{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:.35rem;padding:.5rem .7rem;display:flex}.scene-slot h4{margin:0}.scene-slot-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.scene-slot-add{gap:.4rem;display:flex}.scene-slot-add input[type=text]{flex:1}.scene-slot-add input[type=number]{width:4.5rem}.scene-slot-add input,.quick-picker input,.scene-notes textarea{border:1px solid var(--border,#555);color:inherit;background:0 0;border-radius:6px;padding:.45rem;font-size:.95rem}.quick-picker{flex-direction:column;gap:.25rem;display:flex}.quick-picker input{width:100%}.quick-picker-hits{flex-direction:column;gap:.2rem;max-height:12rem;display:flex;overflow-y:auto}.scene-notes{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.scene-notes textarea{width:100%}.timeline{flex-direction:column;gap:.75rem;display:flex}.timeline-add{gap:.5rem;display:flex}.timeline-add input{border:1px solid var(--border,#555);color:inherit;background:0 0;border-radius:6px;flex:1;padding:.5rem;font-size:.95rem}.timeline-feed{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.timeline-entry{border:1px solid var(--border,#444);border-left:3px solid #6b3fa0;border-radius:6px;flex-direction:column;gap:.2rem;padding:.4rem .6rem;display:flex}.timeline-meta{align-items:center;gap:.5rem;display:flex}.timeline-meta time{margin-right:auto}.timeline-source{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border,#555);border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.timeline-source.source-auto{color:#9aa0a6}.timeline-source.source-manual{color:#6bbf59;border-color:#6bbf59}.timeline-source.source-debrief{color:#d9a441;border-color:#d9a441}.timeline-text{font-size:.95rem}.timeline-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.debrief{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.debrief-head{align-items:center;gap:.5rem;display:flex}.debrief-head .pane-hint{margin-right:auto}.debrief-step h4{margin:0 0 .3rem}.debrief-threads,.debrief-notes{flex-direction:column;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.debrief-thread{border:1px solid var(--border,#444);border-radius:6px;flex-direction:column;gap:.3rem;padding:.4rem .6rem;display:flex}.debrief-nav{justify-content:space-between;gap:.5rem;display:flex}.recap{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.recap .debrief-head .ghost-button{margin-left:auto}.recap-sections{flex-direction:column;gap:.6rem;display:flex}.recap-sections h4{margin:0}.recap-section h5{margin:0 0 .2rem}.recap-section ul{flex-direction:column;gap:.2rem;margin:0;padding-left:1.2rem;display:flex}.errata-banner{color:#d9a441;border:1px solid #d9a441;border-left-width:3px;border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.condition-chip.errata-chip{color:#d9a441;border-color:#d9a441}.inline-form{border:1px dashed var(--border,#555);border-radius:8px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.inline-form input,.inline-form select,.inline-form textarea{border:1px solid var(--border,#555);color:inherit;background:0 0;border-radius:6px;padding:.5rem;font-size:.95rem}.inline-form label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.inline-form .auto-toggle{flex-direction:row;align-items:center}.form-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;display:grid}.feature-editor{border:1px solid var(--border,#555);border-radius:8px}.companion{padding-bottom:3.5rem}.companion-bar{border-top:1px solid var(--border,#444);background:var(--bg,#242424);z-index:2;display:flex;position:fixed;bottom:3.4rem;left:0;right:0}.companion-bar button{border:none;border-radius:0;flex:1;padding:.8rem 0;font-size:.95rem}.companion-bar button.active{border-top:2px solid #6b3fa0;font-weight:700}.cockpit-bottom{grid-template-columns:minmax(14rem,1fr) 2fr;align-items:start;gap:.75rem;display:grid}.tier-compact .cockpit-bottom,.tier-medium .cockpit-bottom{grid-template-columns:1fr}.campaign-page{flex-direction:column;min-height:100vh;display:flex}.campaign-list{width:min(34rem,100%);margin:0 auto;padding:1.5rem 1rem}.campaign-list ul{flex-direction:column;gap:.6rem;padding:0;list-style:none;display:flex}.campaign-card{border:1px solid var(--border,#444);background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem;font-size:1rem;display:flex}.campaign-name{font-weight:600}.campaign-create{gap:.6rem;margin-top:1rem;display:flex}.campaign-create input{border:1px solid var(--border,#555);color:inherit;background:0 0;border-radius:6px;flex:1;padding:.6rem}a.app-title{color:inherit;text-decoration:none}.rest-assistant{border:1px solid var(--border,#444);border-radius:8px;padding:.75rem}.rest-actions,.rest-d4{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.rest-flow,.rest-result{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.rest-flow-head{margin:0;font-weight:600}.rest-streak{opacity:.8;font-size:.85rem}.rest-warning{color:#e6a23c;margin:.25rem 0;font-weight:600}.rest-longterm-list{flex-direction:column;gap:.4rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.rest-longterm-list li{border:1px solid var(--border,#444);border-radius:6px;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.rest-hint{margin-top:.6rem}.condition-chip.last-hp-chip{color:#e05c5c;border-color:#e05c5c;font-weight:600}.condition-chip.last-hp-chip.active{color:#fff;background:#a02020;border-color:#a02020}.death-move-card{background:#a0202014;border:2px solid #a02020;border-radius:8px;flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.7rem;display:flex}.death-move-head{color:#e05c5c;margin:0;font-weight:700}.death-move-options{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.death-move-ablauf{opacity:.9;margin:.25rem 0 0;font-size:.9rem}.death-move-resolve p{margin:0 0 .4rem}.death-move-outcomes{flex-wrap:wrap;gap:.4rem;display:flex}.death-move-frame-hint{color:#d9a441;margin:0;font-size:.85rem}.search-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:flex-start;padding:8vh 1rem 1rem;display:flex;position:fixed;inset:0}.search-panel{background:var(--bg,#242424);border:1px solid var(--border,#444);border-radius:10px;flex-direction:column;gap:.6rem;width:min(38rem,100%);max-height:80vh;padding:.8rem;display:flex}.search-head{gap:.5rem;display:flex}.search-head input{flex:1;min-height:44px;padding:.3rem .6rem;font-size:1.05rem}.search-results{flex-direction:column;gap:.4rem;display:flex;overflow-y:auto}.search-hit{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.search-hit-title{font-weight:600}.search-hit-snippet{opacity:.85;font-size:.9rem}.search-hit-static{cursor:default}.stash-group h4{margin:.6rem 0 .3rem}.stash-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.stash-list li{border:1px solid var(--border,#444);border-radius:6px;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.stash-content{overflow-wrap:anywhere;flex:1;min-width:0}.stash-used .stash-content{opacity:.6}.stash-notice{color:#67c23a;margin:.4rem 0;font-weight:600}.frame-picker{flex-direction:column;gap:.4rem;margin:.5rem 0;display:flex}.frame-picker label{font-weight:600}.frame-pitch,.frame-note{margin:0}.frame-seeds-toggle{align-items:center;gap:.5rem;font-weight:400;display:flex}.frame-pane{flex-direction:column;gap:.75rem;max-width:48rem;display:flex}.frame-head{align-items:center;gap:.6rem;display:flex}.frame-head h3{margin:0}.frame-badge{border:1px solid var(--border,#444);opacity:.85;border-radius:999px;padding:.1rem .6rem;font-size:.8rem}.frame-section{border:1px solid var(--border,#444);border-radius:8px;padding:.6rem .75rem}.frame-section h4{margin:0 0 .4rem}.frame-section p{margin:.3rem 0}.frame-section ul{margin:.3rem 0;padding-left:1.2rem}.frame-mechanic{margin-bottom:.5rem}.track-counter{margin:.4rem 0}.track-counter-row{align-items:center;gap:.4rem;display:flex}.track-name{color:#7ba05b;font-weight:600}.track-value{text-align:center;min-width:1.4rem;font-size:1.1rem}.track-plus{min-width:2.2rem}.track-threshold{margin:.2rem 0 0}.track-tag-hint{color:#7ba05b;border:1px solid #7ba05b;border-radius:6px;margin:.3rem 0;padding:.4rem .6rem;font-size:.9rem}.condition-chip.frame-tag-chip{color:#7ba05b;border-color:#7ba05b;font-weight:600}.debrief-frame-track{border:1px solid var(--border,#444);border-radius:6px;margin:.5rem 0;padding:.5rem .6rem}.campaign-transfer-actions{gap:.5rem;margin:.25rem 0 .75rem;display:flex}.campaign-import{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}
