@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--bg:#f5f4ee;--ink:#243b37;--muted:#697a73;--green:#215e4e;--line:#dce2d9;--lime:#d8ebac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:20px}.brand{font-size:28px;display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--green)}.brand span{font-size:14px;letter-spacing:2px}.brand b{font-weight:400}.edition,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted)}main{max-width:1400px;margin:auto;padding:0 5vw}.hero{display:flex;align-items:center;justify-content:space-between;padding:65px 0 45px}.hero h1{font:800 clamp(36px,4.7vw,65px)/1.1 Manrope,sans-serif;letter-spacing:-3px;margin:20px 0}.hero em{font-style:normal;color:var(--green)}.hero p{max-width:530px;color:var(--muted);line-height:1.7}.orbit{width:220px;height:220px;border:1px solid #afbfac;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid #dce2d9;outline-offset:20px;transform:rotate(-12deg);background:radial-gradient(circle,#e0e9ca,transparent 70%);margin-right:45px}.orbit span{font:80px Georgia}.orbit small{text-align:center;letter-spacing:3px;line-height:1.8;font-size:10px}button,select,input,textarea{font:inherit}button,select{border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);padding:11px 14px;cursor:pointer}button:hover{background:#e6eddf;border-color:#abc1ad}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#174435;color:white}.toolbar{background:#e8eddf;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:36px}.toolbar label{font-size:12px}.toolbar select{margin-left:8px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:17px}.section-head span,.muted,small{color:var(--muted);font-size:12px;line-height:1.6}.slot,.panel{background:#fffdf8;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}.slot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.slot label{font-weight:700}.slot select{width:100%;background:#f4f6ef;font-size:16px}.slot p{margin-bottom:0;color:var(--muted);line-height:1.5;font-size:13px}.lock{font-size:11px;padding:6px 9px}.lock.on{background:var(--lime);border-color:#9eb479}.slotnum{font-size:11px;margin-right:10px;color:#819286}.score{position:sticky;top:20px}.number{font:800 82px/1.2 Manrope;letter-spacing:-5px;margin-top:12px}.meter{height:6px;background:#e8ecdf;border-radius:10px;margin:20px 0;overflow:hidden}.meter i{display:block;height:100%;background:var(--green);transition:width .3s}.mathrow{display:flex;justify-content:space-between;font-size:12px;padding:8px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;font-size:13px;line-height:1.7}summary span{display:block;font-size:12px;color:var(--muted)}details p{font-size:12px;line-height:1.6}details{margin-top:18px}.wide{width:100%;margin-top:9px}#validation{background:#edf2e6;padding:12px;border-radius:9px;font-size:12px;line-height:1.6;margin-top:18px}.rule{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.rule p{font-size:14px;line-height:1.8}.field{display:block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--green);margin-bottom:5px}.term{border:0;border-bottom:1px dotted #6d927d;background:none;padding:0;border-radius:0;display:inline;color:inherit;font:inherit;cursor:help}.term:hover,.term:focus{background:var(--lime)}#tooltip{position:fixed;z-index:100;max-width:340px;background:#203f35;color:white;padding:15px 18px;border-radius:12px;box-shadow:0 12px 40px #173c3433;font-size:13px;line-height:1.6;pointer-events:none}input,textarea{width:100%;border:1px solid var(--line);background:#f7f8f1;padding:10px;border-radius:8px;margin:6px 0 15px;color:var(--ink)}textarea{min-height:90px;resize:vertical}#prep{margin-top:20px}#prep label{font-size:12px;font-weight:600}dialog{max-width:950px;width:90vw;max-height:85vh;border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#15342c88;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between}#book{white-space:pre-wrap;font:14px/1.8 'DM Sans',sans-serif}.booksection{padding:20px 0;border-bottom:1px solid var(--line)}#earned label{display:block;font-size:12px;padding:6px 0}#earned input{width:auto;margin:0 8px 0 0}#earnedTotal{display:block;font-size:26px;margin:15px 0}footer{padding:45px 0;font-size:10px;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#203f35;color:white;border-radius:12px;padding:14px;display:none}:focus-visible{outline:3px solid #8fa860;outline-offset:3px}@media(max-width:900px){.layout{grid-template-columns:1fr}.orbit,.edition{display:none}.hero{padding-top:40px}.toolbar{align-items:stretch;flex-direction:column}.toolbar>div{display:flex;flex-wrap:wrap;gap:5px}.section-head{align-items:start}.section-head span{max-width:150px}.score{position:static}footer span{display:none}.hero h1{letter-spacing:-1.5px}}

.run-summary{background:linear-gradient(135deg,#f9fbed,#fffdf8 65%);border-color:#bacbb0}.summary-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.summary-head h2{font:700 27px Manrope;margin:14px 0 4px}.summary-badge{font:700 35px Manrope;text-align:center;background:#dcebbf;border-radius:14px;padding:12px}.summary-badge small{display:block;font:9px "DM Sans";letter-spacing:1px;white-space:nowrap}.summary-lead{font-size:18px;font-weight:600}.summary-chips{display:flex;flex-wrap:wrap;gap:8px}.summary-chips span{font-size:12px;background:#e8eedf;border-radius:8px;padding:8px 10px}.summary-route{font-size:12px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.summary-grid p{font-size:13px;line-height:1.8}.summary-grid h3{font-size:14px}.summary-check{background:#eef1e5;padding:16px;border-radius:10px;margin-top:20px;font-size:12px;line-height:1.7}.summary-check ul{padding-left:18px}.summary-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px}@media(max-width:650px){.summary-grid{grid-template-columns:1fr;gap:0}}

[hidden]{display:none!important}.run-tabs{display:flex;gap:8px;padding:24px 0 0}.run-tabs .selected{background:var(--green);color:white}.tracker-heading{display:flex;justify-content:space-between;align-items:center;padding:40px 0 20px}.tracker-heading h1{font:800 40px Manrope;letter-spacing:-1.5px;margin:10px 0}.tracker-heading p{color:var(--muted)}.run-create{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:center}.run-create label{font-size:12px}.run-title{display:flex;justify-content:space-between;gap:20px}.run-title h2{font-size:28px}.run-title input{margin-bottom:7px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:24px 0}.resource-grid>div{background:#eef2e5;padding:16px;border-radius:12px}.resource-grid strong{display:block;font:700 27px Manrope;margin-top:8px}.tracker-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:22px}.tracker-columns p{font-size:13px;line-height:1.7}.action-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.checkline{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;margin:12px 0}.checkline input{width:auto;margin:0}.shop-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.shop-row small{display:block}.tracker-columns select,#run-switch{width:100%;margin:8px 0}.action-row select{width:auto}.route-track{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.route-track span{border:1px solid var(--line);padding:8px 13px;border-radius:8px;color:var(--muted)}.route-track .now{border-color:var(--green);font-weight:bold}.route-track .clear{background:var(--green);color:white}.route-track .failed{background:#f0d9d1;color:#963f27}.event-list{padding-left:20px;max-height:420px;overflow:auto;font-size:12px}.event-list li{padding:10px 0;border-bottom:1px solid var(--line)}.event-list small{display:block}.prep-record{white-space:pre-wrap;font:12px/1.7 'DM Sans'}.restriction-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.restriction-list>div{border:1px solid #d9cabc;background:#faf4e9;border-radius:10px;padding:15px;display:flex;flex-direction:column;align-items:start;gap:8px}.restriction-list b{font-size:13px;line-height:1.7}.restriction-tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#846d44}.restriction-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.restriction-form select{width:100%;margin-top:8px}.restriction-form label{font-size:12px}@media(max-width:850px){.tracker-columns{grid-template-columns:1fr}.run-create{grid-template-columns:1fr}.run-title{flex-direction:column}.tracker-heading{align-items:start;gap:15px}.tracker-heading h1{font-size:30px}.restriction-form{grid-template-columns:1fr}}

.edition-menu{position:relative}.edition-menu>button{font-size:22px;padding:6px 11px}.edition-menu #edition-drawer{position:absolute;z-index:80;top:50px;left:0;width:280px;padding:20px;background:#fffdf8;border:1px solid var(--line);box-shadow:0 20px 60px #163b3426;border-radius:15px}.edition-menu #edition-drawer button{display:block;width:100%;text-align:left;margin-top:10px}.edition-menu p{font-size:12px;color:var(--muted);line-height:1.7}header{justify-content:initial}.brand{margin-right:auto}header>.edition{margin-right:auto}.modifier-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:340px;overflow:auto;margin:15px 0 25px}.modifier-catalog label{background:#eef2e6;padding:12px;border-radius:8px;font-size:12px;cursor:pointer}.modifier-catalog input{width:auto;margin:0 8px 0 0}.modifier-catalog small{display:block;padding-left:22px}.modifier-card{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:18px;display:grid;grid-template-columns:1fr;gap:14px}.modifier-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.modifier-title h3{margin:0}.modifier-settings label{display:block;font-size:12px;font-weight:600}.modifier-settings select{display:block;width:100%;margin:8px 0 16px}.modifier-info{justify-self:end;align-self:end;width:min(100%,460px);background:#eaf1df;border-left:3px solid #7c9f5c;padding:16px;border-radius:9px}.modifier-info p{font-size:12px;line-height:1.8}.build-error{border-left:3px solid #b66a48;background:#f7e9db;padding:13px;font-size:13px}.create-step{padding:24px 0;border-top:1px solid var(--line);margin-top:16px}.create-step>.eyebrow{display:block;margin-bottom:18px}.guardian-fields,.par-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.create-step label{font-size:12px}.create-wizard>summary{font-size:17px}.tracker-heading button{margin:4px}@media(max-width:650px){.modifier-catalog{grid-template-columns:1fr}.brand span{font-size:11px;letter-spacing:1px}header{gap:10px;padding:0 4vw}header>#library{font-size:11px;padding:9px}.modifier-title{display:block}}

.mode-detail{background:#eef2e7;border-radius:10px;padding:12px;margin-top:12px}.mode-detail small{line-height:1.6;display:block;color:var(--muted)}
.wiki-dialog{width:min(1200px,96vw);max-width:1200px;height:90vh;max-height:90vh;padding:22px;overflow:hidden}.wiki-dialog[open]{display:flex;flex-direction:column}.wiki-dialog .dialog-head{align-items:center;gap:15px;flex-shrink:0}.wiki-dialog #search{flex-shrink:0}.wiki-dialog #book{white-space:normal;min-height:0;flex:1;overflow:hidden}.wiki-layout{height:100%;display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px}#wiki-nav{overflow:auto;border-right:1px solid var(--line);padding-right:15px}#wiki-nav details{margin:0 0 10px}#wiki-nav summary{font-size:13px;padding:10px 0}#wiki-nav button{display:block;text-align:left;width:100%;border:0;margin:3px 0;font-size:13px;line-height:1.4;padding:9px 12px;background:transparent}#wiki-nav button[aria-current]{background:#dce7cf;color:#203f35;font-weight:700}#wiki-article{overflow:auto;min-width:0;padding:4px 16px 40px 4px;outline:none}#wiki-article h1{font-size:30px;letter-spacing:-.7px;line-height:1.2;margin:22px 0}#wiki-article p,#wiki-article li{line-height:1.8;font-size:15px}#wiki-article h3{margin-top:26px;font-size:18px}.wiki-breadcrumb,.wiki-count{font-size:11px;letter-spacing:.5px;color:var(--muted)}#wiki-back{margin-top:12px;font-size:12px}.wiki-related{border-top:1px solid var(--line);margin-top:30px}.wiki-related button{font-size:12px;margin:4px}.wiki-table{overflow:auto}.wiki-table table{border-collapse:collapse;width:100%;font-size:13px}.wiki-table td,.wiki-table th{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.wiki-table th{background:#eef2e7}@media(max-width:650px){.wiki-dialog{padding:14px}.wiki-layout{grid-template-columns:1fr;grid-template-rows:160px minmax(0,1fr);gap:12px}#wiki-nav{border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}#wiki-article h1{font-size:25px}}

/* Optional tabletop flair; badges are descriptive, never roll controls. */
.dice-cue{display:none}.physical-dice-on .dice-cue{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:#496847;margin:5px 0 7px;font-size:11px;cursor:help;max-width:100%;position:relative}.dice-cue small{font-size:10px;font-weight:600;letter-spacing:.3px}.physical-die{width:36px;height:36px;flex:0 0 36px;overflow:visible}.physical-die path{fill:#edf2df;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.physical-die text{fill:#244936;font:bold 16px 'DM Sans',sans-serif}.die-100 text{font-size:12px}.dice-fixed{opacity:.55}.modifier-catalog .dice-cue{grid-column:1/-1;margin:0 0 0 auto}.toolbar label .dice-cue{display:none}.physical-dice-on .toolbar label .dice-cue{display:inline-flex;vertical-align:middle;margin:0 0 0 6px}#dnd-flair{border-top:1px solid var(--line);margin-top:12px}#dnd-flair[aria-pressed="true"]{background:#e3ebd4;font-weight:700}#dice-help{font-size:11px;line-height:1.6}

/* Forest at night: shared surfaces across builder, ledger, wiki and tabletop cues. */
:root{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--bg:#101a18;--ink:#e4eee7;--muted:#a4b8ad;--green:#9bd3b1;--line:#354b41;--lime:#344e35;--surface:#192722;--field-bg:#13211c;--soft:#24372b}
#edition-drawer{max-height:calc(100dvh - 115px);overflow-y:auto}#theme-toggle{border-top:1px solid var(--line);margin-top:12px}
html[data-theme="dark"] :is(.slot,.panel,button,select){background:var(--surface)}
html[data-theme="dark"] :is(input,textarea,.slot select){background:var(--field-bg)}
html[data-theme="dark"] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--green)}
html[data-theme="dark"] button:hover{background:#2b4134;border-color:#789883}
html[data-theme="dark"] :is(.primary,.run-tabs .selected,.route-track .clear){background:var(--green);border-color:var(--green);color:#10271b}
html[data-theme="dark"] .primary:hover{background:#b2e2c4;color:#10271b}
html[data-theme="dark"] :is(.toolbar,.meter,#validation,.summary-chips span,.summary-check,.resource-grid>div,.modifier-catalog label,.modifier-info,.mode-detail,.wiki-table th){background:var(--soft)}
html[data-theme="dark"] .run-summary{background:linear-gradient(135deg,#243b2a,var(--surface) 65%);border-color:#526d50}
html[data-theme="dark"] .summary-badge{background:#37522e}
html[data-theme="dark"] .summary-badge small{color:#d1dfca}
html[data-theme="dark"] .orbit{border-color:#57745c;outline-color:var(--line);background:radial-gradient(circle,#30462a,transparent 70%)}
html[data-theme="dark"] .slotnum{color:#a1b5a6}
html[data-theme="dark"] .lock.on{background:var(--lime);border-color:#789665}
html[data-theme="dark"] .restriction-list>div{background:#352e23;border-color:#6e5d40}
html[data-theme="dark"] .restriction-tag{color:#dfbd7c}
html[data-theme="dark"] :is(.build-error,.route-track .failed){background:#422b25;color:#f1b59a}
html[data-theme="dark"] .edition-menu #edition-drawer{background:var(--surface);box-shadow:0 20px 60px #0008}
html[data-theme="dark"] #wiki-nav button{background:transparent}
html[data-theme="dark"] #wiki-nav button:hover{background:#283e30}
html[data-theme="dark"] :is(#wiki-nav button[aria-current],#dnd-flair[aria-pressed="true"],#theme-toggle[aria-pressed="true"]){background:#365139;color:#e3f3df}
html[data-theme="dark"] #wiki-article a{color:#b5dcc4}
html[data-theme="dark"] .term{background:transparent}
html[data-theme="dark"] :is(.term:hover,.term:focus){background:var(--lime)}
html[data-theme="dark"] :is(#tooltip,#toast){background:#d1e5d6;color:#152b20;box-shadow:0 12px 40px #0005}
html[data-theme="dark"] dialog::backdrop{background:#000a}
html[data-theme="dark"] .dice-cue{color:#aecb97}
html[data-theme="dark"] .physical-die path{fill:#293e2d}
html[data-theme="dark"] .physical-die text{fill:#dceccc}
html[data-theme="dark"] :focus-visible{outline-color:#b4d38f}

.modifier-randomizer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 8px}.modifier-randomizer label{font-size:12px}.modifier-randomizer select{margin-left:10px}.physical-dice-on .modifier-randomizer .dice-cue{display:inline-flex;vertical-align:middle;margin:0 0 0 5px}


#build-number{display:block;text-align:center;border-top:1px solid var(--line);padding:20px;color:var(--muted);font-size:11px;letter-spacing:1px}.scar-loadout{padding:18px 0;border-top:1px solid var(--line)}.scar-weapons{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px}.scar-weapons label{font-size:12px}.scar-weapons fieldset{border:1px solid var(--line);border-radius:9px;padding:12px;min-width:0}.scar-weapons select{width:100%}.scar-history{max-height:300px;overflow:auto}.scar-history li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.scar-result{padding:16px;background:var(--lime);border-radius:10px;line-height:1.6}.scar-equipment>summary{font-size:15px}

.guardian-live-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:16px 0}
.guardian-live {border:1px solid currentColor;border-radius:8px;padding:12px}
.guardian-live small {display:block;margin:4px 0 10px}
.guardian-live button {min-height:44px;margin:3px 6px 3px 0}
.live-ledger .action-row {flex-wrap:wrap}
#update-log{width:min(34rem,92vw);max-height:80dvh}
#update-log article{padding:1rem 0;border-top:1px solid var(--line)}
#update-log article h3{margin:.3rem 0}
#update-log article ul{margin:.5rem 0 0;padding-left:1.2rem;line-height:1.65}
#update-log article li+li{margin-top:.5rem}
#update-log small{color:var(--muted)}

.hardcore-panel{border:2px solid #bb704c}.hardcore-notice{padding:12px;border-left:3px solid #bb704c;background:var(--surface);line-height:1.6}.hardcore-builder #hardcore-toggle{border-color:#bb704c}

/* Campaign Control: focused play surfaces with progressively disclosed setup. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{padding-top:30px;padding-bottom:30px}.hero h1{font-size:clamp(38px,5vw,62px)}
.tracker-heading h1{font-size:30px;letter-spacing:-1px;margin:0}.tracker-heading{margin:24px 0 18px;align-items:center}
.tracker-heading .eyebrow{display:none}
.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.workspace-tabs button{min-height:44px;flex:1;white-space:nowrap}
.workspace-tabs .selected{background:var(--green);color:var(--bg);border-color:var(--green)}
.run-overview .run-title h2{font-size:26px;margin:7px 0}.run-overview .run-title p{margin:5px 0}
.campaign-score{display:flex;flex-direction:column;align-items:flex-end;min-width:150px;text-align:right}
.campaign-score strong{font-size:34px;line-height:1.3}.campaign-score strong span{font-size:13px;font-weight:400;color:var(--muted)}
.compact-resources{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.compact-resources>div{min-width:110px;flex:1;padding:12px 16px}.compact-resources strong{font-size:22px}
.play-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.stopwatch{display:block;font-family:'DM Sans',sans-serif;font-variant-numeric:tabular-nums;font-size:44px;line-height:1.2;letter-spacing:1px;margin-top:22px}
.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.action-row button{min-height:44px}.time-rule{line-height:1.6}.mission-clock-rule{padding:12px;border-left:3px solid #bb704c;line-height:1.6;font-size:13px}
.timing-panel details input{margin-bottom:6px}.checkline input{width:auto;margin:0 8px 0 0}
.score-breakdown .section-head strong{font-size:24px;white-space:nowrap}
.score-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.score-line small{display:block;max-width:300px}.score-line>span{font-size:22px;font-weight:700;white-space:nowrap}
.score-eligible{color:var(--green)}.score-unavailable{color:var(--muted);font-weight:400!important}
.dungeon-objective{margin-top:20px;padding:16px;background:var(--soft,#edf2e6);border-radius:10px}
.dungeon-objective h3{margin:8px 0}.dungeon-objective p{line-height:1.6;font-size:13px}
.supporting-rules>.panel{padding:15px 0 0;margin:0;border:0;background:transparent}
.pending-tasks{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.undo-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);z-index:4}
.table-scroll{overflow-x:auto}.timing-table,.score-history{width:100%;border-collapse:collapse;font-size:13px}
.timing-table th,.timing-table td,.score-history th,.score-history td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.timing-table th:first-child{width:50%}.timing-table input{min-width:75px;max-width:105px;margin:0 8px 5px 0}
.timing-table small{display:block}.timing-table details{margin:8px 0 0}.timing-table button{font-size:12px}
.score-history{min-width:520px}.score-history th:first-child{width:28%}
.scoring-guide h2{font-size:23px;line-height:1.2}.scoring-guide>p{font-size:13px;line-height:1.6}
.score-learning>p{display:flex;gap:14px;align-items:flex-start;margin:0;padding:12px 0;border-top:1px solid var(--line)}
.score-learning b{font-size:23px;color:var(--green);width:42px;flex-shrink:0}.score-learning span{font-size:13px;font-weight:600}
.score-learning small{display:block;font-weight:400;margin-top:3px}.pressure-explanation{margin-top:0}
.pressure-explanation .number{font-size:38px;letter-spacing:-1px}
.hardcore-panel{padding:14px 20px}.hardcore-panel>details{margin:0}
.hardcore-additions{max-height:330px;overflow:auto}
#run-summary .summary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
#run-summary>.summary-lead{font-size:15px}#run-summary .summary-chips span{font-size:12px}
.guardian-live{border-color:var(--line);border-radius:12px}.guardian-live button{font-size:12px}
.live-ledger h2{font-size:18px}.live-ledger h3{font-size:15px}
.live-ledger>p:first-of-type{font-size:12px;color:var(--muted)}
#tracker-view .create-wizard{margin-top:0}.run-title{gap:16px}
@media(max-width:760px){
 .play-grid{grid-template-columns:1fr}.run-title{flex-wrap:wrap}
 .run-overview .campaign-score{align-items:flex-start;text-align:left;min-width:120px}
 .workspace-tabs{gap:5px}.workspace-tabs button{flex:1 1 30%;font-size:12px;padding:9px}
 .compact-resources>div{min-width:100px}.tracker-heading{flex-wrap:wrap}
 .tracker-heading h1{font-size:25px}.stopwatch{font-size:38px}
 .panel{padding:18px}.timing-table th,.timing-table td{padding:10px 5px}
 .undo-bar{flex-wrap:wrap}#run-summary .summary-actions button{flex:1}
}

.workspace-tabs{position:sticky;top:0;z-index:6;background:var(--bg);padding:8px 0}
html[data-theme="dark"] .workspace-tabs .selected{background:#9bd3b1;color:#10271b;border-color:#9bd3b1}

.scar-mode-control{padding:12px 0;margin-bottom:8px}
.scar-mode-control label{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}
.scar-mode-control small{display:block;margin-top:4px}
#manual-scars-toggle{appearance:none;flex:0 0 40px;width:40px;height:23px;padding:2px;border-radius:20px;margin:0;background:var(--line);cursor:pointer;border:1px solid var(--line)}
#manual-scars-toggle::before{content:'';display:block;width:17px;height:17px;border-radius:50%;background:var(--bg);transition:transform .15s}
#manual-scars-toggle:checked{background:var(--green);border-color:var(--green)}
#manual-scars-toggle:checked::before{transform:translateX(16px)}
#manual-scar-dialog{width:min(580px,92vw);max-height:85dvh}
#manual-scar-dialog .dialog-head{gap:14px;align-items:flex-start}
#manual-scar-dialog .dialog-head h2{margin:0 0 4px}
#manual-scar-dialog .dialog-head p{font-size:12px;color:var(--muted);margin:0}
.scar-source{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.scar-result-options{border:0;padding:0;margin:18px 0}
.scar-result-options legend{font-size:13px;font-weight:600;margin-bottom:10px}
.scar-result-options label{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0;cursor:pointer}
.scar-result-options label:has(input:checked){border-color:var(--green);background:var(--soft,#edf2e6)}
.scar-result-options label:has(input:disabled){opacity:.55;cursor:default}
.scar-result-options input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--green)}
.scar-result-options b{font-size:14px}.scar-result-options small{display:block;margin-top:3px}
#manual-scar-error{color:#c06445;font-size:13px}
.scar-life-preview{padding:12px;background:var(--soft,#edf2e6);border-radius:9px;font-weight:600}
@media(max-width:600px){#manual-scar-dialog{padding:18px}.scar-result-options label{padding:10px}.scar-result-options small{font-size:11px}}

@media(min-width:601px){.scar-result-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scar-result-options label{margin:0}}

/* Fireteam guide: one useful recommendation, with an optional checklist. */
.next-step{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px;padding:18px 22px;margin:18px 0 24px;background:var(--soft,#edf2e6);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:14px}
.next-step h2{font-size:19px;margin:5px 0 7px;line-height:1.25}
.next-step p{font-size:13px;line-height:1.6;margin:0;max-width:750px}
.next-step-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;max-width:265px}
.next-step-actions button{min-height:44px;text-align:left;font-size:12px}
.next-step-actions .guide-secondary{font-weight:400;background:transparent;border-color:transparent;text-decoration:underline;font-size:11px}
.guide-checklist{grid-column:1/-1;margin:0;border-top:1px solid var(--line);padding-top:9px}
.guide-checklist summary{font-size:12px}
.guide-checklist ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px 18px;list-style:none;padding:0;margin:12px 0 0;font-size:12px;line-height:1.6}
.guide-checklist li span{color:var(--green);font-weight:700}
.guide-highlight{outline:3px solid var(--green);outline-offset:5px;transition:outline-color .25s}
#toast.clear-moment{border:1px solid #ba9e5a;box-shadow:0 8px 35px #173c3440;animation:clear-arrival .3s ease-out}
.score-honors{font-size:13px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid #ba9e5a;border-radius:8px}
@keyframes clear-arrival{from{opacity:0;margin-bottom:-8px}to{opacity:1;margin-bottom:0}}
@media(max-width:700px){.next-step{grid-template-columns:1fr;padding:16px;gap:12px}.next-step-actions{max-width:none;align-items:stretch}.next-step h2{font-size:18px}.guide-checklist ul{grid-template-columns:1fr 1fr;font-size:11px}}
@media(prefers-reduced-motion:reduce){.guide-highlight{transition:none}#toast.clear-moment{animation:none}}
