:root{--paper:#f7f3e8;--ink:#22241f;--blue:#244d69;--red:#8e352b;--copper:#67411f;--muted:#44443a;--rule:#d9d5c7}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#e2ded2;font-family:'Segoe UI',sans-serif}button,select{font:inherit;color:inherit}button{background:var(--paper);border:1px solid #b8b4a5;border-radius:3px;padding:10px 14px;min-height:44px;cursor:pointer}button:hover{background:#ede8da}button:disabled{opacity:1;color:var(--muted);background:#eee9dd;border-style:dashed;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button[aria-pressed=true],.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}[hidden]{display:none!important}.page{max-width:1300px;height:100dvh;min-height:580px;margin:auto;background:var(--paper);padding:18px 24px;display:flex;flex-direction:column;gap:12px}header{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin:0 0 5px}h1{font-family:'Trebuchet MS',sans-serif;font-size:42px;letter-spacing:-2px;margin:0;line-height:1}h1 em{color:var(--blue)}.header-actions{display:flex;gap:8px;font-size:12px}.hud{display:flex;justify-content:space-between;gap:14px;border-block:1px solid var(--rule);padding:10px 0}.hud div{display:flex;flex-direction:column;gap:3px}.hud span{font-size:10px;letter-spacing:1px}.hud strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.field{flex:1;min-height:220px;position:relative;border-bottom:1px solid var(--rule);overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#f7f3e8b8;overflow:auto}.note{background:var(--paper);border:1px solid var(--rule);box-shadow:4px 6px 0 #d9d5c74d;max-width:490px;padding:25px;transform:rotate(-.6deg)}h2{font-family:Georgia,serif;font-size:30px;margin:10px 0}.note p,.note li{font-size:14px;line-height:1.55}.note ul{padding-left:20px}.note .primary{width:100%;font-weight:600}.tools{display:flex;justify-content:space-between;align-items:center;gap:12px}.tool-group{display:flex;gap:8px}.tools button{display:flex;flex-direction:column;align-items:start;gap:2px}.tools button strong{font-size:13px;font-weight:600}.tools button span{font-size:11px}.tools label{display:flex;flex-direction:column;font-size:10px;letter-spacing:1px;gap:5px}.tools select{border:1px solid var(--rule);background:var(--paper);min-height:44px;padding:8px;font-size:13px;max-width:220px}#status{margin:0;font-size:13px;min-height:18px}footer{display:flex;justify-content:space-between;gap:12px;font:italic 12px Georgia,serif}
@media(max-width:600px){.page{padding:12px;gap:9px;min-height:540px}h1{font-size:32px}.eyebrow{font-size:9px;letter-spacing:1.2px}.header-actions button{padding:8px;font-size:11px}.hud{gap:7px}.hud span{font-size:8px;letter-spacing:.3px}.hud strong{font-size:14px}.hud div:nth-child(2){max-width:110px}.tools{align-items:stretch;gap:8px}.tools label{min-width:0;flex:1}.tools select{width:100%;font-size:11px;padding:5px}.tools button{padding:8px;min-width:93px}.tools button strong{font-size:11px}.tools button span{font-size:10px}.note{padding:18px}.note p,.note li{font-size:12px}.note h2{font-size:25px}.note ul{margin-block:10px}footer{font-size:10px}#status{font-size:11px;min-height:28px}}
@media(max-height:520px) and (min-width:601px){.page{min-height:360px;padding:8px 16px;gap:5px}h1{font-size:26px}.eyebrow{display:none}.hud{padding:5px 0}.hud strong{font-size:13px}.hud span{font-size:8px}.field{min-height:150px}.tools button{padding:6px 12px;min-height:40px}.tools select{min-height:40px}.tools label{font-size:8px}footer{display:none}#status{font-size:11px;min-height:15px}.note{max-width:650px;padding:12px 20px}.note h2{font-size:20px;margin:3px 0}.note p,.note li{font-size:11px;margin-block:4px}.note ul{margin-block:4px}.note .primary{min-height:36px}}
#big:not(:disabled){border-color:#a2764d;background:#f0dfc5;color:#4b3623}#big[aria-pressed=true]{background:#80562f;color:var(--paper)}#callout{position:absolute;top:18px;left:10px;right:10px;text-align:center;pointer-events:none;font:italic bold clamp(18px,3vw,30px) Georgia,serif;color:var(--blue);text-shadow:0 1px var(--paper),1px 0 var(--paper)}footer a{color:var(--copper);text-decoration:none}footer a:hover{text-decoration:underline}#round-choice{display:flex;gap:8px}#round-choice button{flex:1;font-size:12px}#best-note{font-size:11px;color:var(--muted)}.note{max-width:520px;transform:none}#keepsake{margin:12px 0}#snapshot{width:100%;max-height:190px;object-fit:contain;border:1px solid var(--rule)}#keepsake-caption{font:italic 12px Georgia,serif;margin-top:5px}.end-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}.end-actions a{color:var(--blue);font-size:13px}.end-actions button{font-size:12px}.overlay{z-index:2;align-items:safe center}.hud div:nth-child(2){flex:1;padding-left:20px}.tools button{min-width:105px}
@media(max-width:600px){.hud div:nth-child(2){padding-left:0;max-width:105px}.hud strong{font-size:13px}.tools{flex-wrap:wrap}.tool-group{width:100%}.tools button{flex:1;min-width:0;align-items:center;padding:8px 5px}.tools label{flex-direction:row;align-items:center;gap:12px}.tools select{flex:1;width:auto;max-width:none}.header-actions{gap:4px}.header-actions button{padding:8px 6px}h1{font-size:29px}.eyebrow{font-size:8px}.page{min-height:610px}#snapshot{max-height:115px}.note{padding:15px}.note ul{padding-left:17px}#callout{top:12px}.note p{margin-block:9px}footer{flex-wrap:wrap}}
@media(max-height:520px) and (min-width:601px){.note{max-width:680px}.overlay{align-items:safe center}.note ul{display:none}#round-choice{max-width:300px;float:right;margin-left:20px}#best-note{clear:both}#keepsake{float:right;max-width:230px;margin:0 0 5px 15px}#snapshot{max-height:90px}.end-actions{margin:5px 0}.tools button{min-width:100px}}
canvas:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
#building-health{position:absolute;inset:0;pointer-events:none}.building-health{position:absolute;transform:translateX(-50%);text-align:center;font:700 11px/16px 'Segoe UI',sans-serif;color:var(--blue);text-shadow:0 1px var(--paper),1px 0 var(--paper),-1px 0 var(--paper)}.health-track{display:block;height:6px;margin-top:2px;border:1px solid currentColor;border-radius:2px;background:var(--paper);overflow:hidden}.health-fill{display:block;height:100%;background:currentColor;transition:width .15s}.building-health[data-condition=worn]{color:#704522}.building-health[data-condition=critical],.building-health[data-condition=destroyed]{color:var(--red)}@media(prefers-reduced-motion:reduce){.health-fill{transition:none}}
#build-tools{display:flex;align-items:center;gap:10px;margin-top:10px}#edit-town{font-size:12px;white-space:nowrap;border-color:#9a704a;color:var(--copper)}#town-note{font-size:11px;line-height:1.4}#field-guide{font-size:12px;margin:10px 0}#field-guide summary{cursor:pointer;min-height:24px;color:var(--blue)}#field-guide p{font-size:12px}.cannon-note{position:absolute;transform:translateX(-50%);font:700 10px 'Segoe UI',sans-serif;white-space:nowrap;color:var(--copper);background:#f7f3e8db;padding:2px 3px;border-radius:2px}
.town-editor{box-sizing:border-box;width:min(1050px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;background:var(--paper);color:var(--ink);border:1px solid #8d7a63;border-radius:5px;box-shadow:5px 6px 0 #32271e40;font:14px/1.5 'Segoe UI',sans-serif}.town-editor::backdrop{background:#24221cd6}.editor-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.editor-heading h2{margin:5px 0;font-size:32px}.editor-heading button{font-size:22px;min-width:44px;padding:2px}.editor-intro{max-width:760px;margin:8px 0 15px}.editor-ledger{position:sticky;top:-22px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;background:var(--paper);border-block:1px solid #cbbda9}.editor-ledger label{display:flex;align-items:center;gap:10px}.town-editor select{background:var(--paper);border:1px solid #b8b4a5;padding:8px;min-height:44px;width:100%;font-size:13px}.editor-ledger select{width:auto}.editor-ledger div{display:flex;flex-direction:column;text-align:right}.editor-ledger span{font-size:10px;letter-spacing:1px}.editor-ledger strong{font-size:23px;color:var(--copper);font-variant-numeric:tabular-nums}.editor-ledger .over-budget{color:var(--red)}#editor-preview{margin:12px 0;background:repeating-linear-gradient(0deg,transparent,transparent 26px,#d9d5c766 27px,#d9d5c766 28px)}#editor-preview svg{display:block;width:100%;max-height:220px}#editor-preview text{font:15px Georgia,serif;fill:var(--ink);stroke:none;text-anchor:middle}.editor-lots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.editor-lot{padding:12px;border:1px solid #cbbda9;background:#fffcf433}.editor-lot label{display:block;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--copper);margin-bottom:7px}.editor-lot p{font-size:12px;line-height:1.45;margin:8px 0 0}.editor-defense{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.editor-small{font-size:12px;color:#443b30}.editor-actions{display:flex;justify-content:space-between;gap:12px;padding:12px 0 0;border-top:1px solid #cbbda9}.editor-actions .primary{min-width:220px}#editor-status{min-height:21px;color:var(--copper);font-size:12px}.town-editor select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(max-width:700px){.town-editor{padding:15px}.editor-heading h2{font-size:26px}.editor-intro{font-size:12px}.editor-ledger{top:-15px;gap:8px}.editor-ledger label{flex-direction:column;align-items:start;gap:4px;font-size:11px}.editor-ledger select{font-size:11px;padding:5px;max-width:155px}.editor-ledger strong{font-size:19px}.editor-ledger span{font-size:8px;letter-spacing:.4px}.editor-lots{grid-template-columns:1fr}.editor-defense{grid-template-columns:1fr}.editor-lot{padding:10px}.editor-actions{flex-direction:column}.editor-actions button{width:100%}#build-tools{flex-wrap:wrap;gap:6px}#round-choice{gap:5px}#round-choice button{padding:6px;font-size:11px}#town-note{font-size:10px}}
@media(max-height:520px) and (min-width:701px){.editor-heading h2{font-size:25px}.editor-lots{grid-template-columns:repeat(3,1fr)}.editor-ledger{padding:7px 0}.editor-intro{font-size:12px}#editor-preview svg{max-height:130px}#build-tools{margin:4px 0}#field-guide{margin:4px 0}}
.note ul{margin-block:8px}.note li{font-size:12px;line-height:1.4}
.campaign-entry{width:100%;margin-top:12px;background:#e9eddf;border:1px solid #718068;color:#263524;font-weight:600}
#mission-strip{font-size:11px;line-height:1.5;color:var(--copper);padding:4px 0;border-bottom:1px solid var(--rule)}
#boss-status{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:min(400px,85%);text-align:center;background:#f7f3e8e8;padding:5px 12px;pointer-events:none;font-size:12px;color:var(--red)}#boss-status small{display:block;font-size:10px;margin-top:3px}#boss-life{height:7px;border:1px solid var(--red);margin-top:4px}#boss-fill{display:block;height:100%;background:var(--red)}#boss-status~.overlay{z-index:2}
#special{border-color:#8b7b4e}#special[aria-pressed=true]{background:#80562f;color:var(--paper)}#special:disabled{opacity:1}
#boss-status{position:static;transform:none;width:100%;padding:4px 12px;flex-shrink:0}#boss-status small{display:inline;margin-left:12px}#boss-life{display:inline-block;width:150px;margin:0 12px;vertical-align:middle}
.campaign-dialog{width:min(1130px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;background:var(--paper);color:var(--ink);border:1px solid #8d7a63;border-radius:5px;box-shadow:5px 6px 0 #32271e40;font:14px/1.5 'Segoe UI',sans-serif}.campaign-dialog::backdrop{background:#24221cd6}.campaign-dialog select{background:var(--paper);border:1px solid #b8b4a5;min-height:44px;padding:8px;font:13px 'Segoe UI',sans-serif;width:100%;color:var(--ink)}.campaign-dialog h3{font:700 17px Georgia,serif;margin:6px 0}.campaign-dialog small{font-size:11px;line-height:1.5;display:block}.campaign-map{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;list-style:none;padding:12px 0;margin:12px 0;border-block:1px solid var(--rule)}.campaign-map li{font:13px Georgia,serif;color:#545247;display:flex;gap:7px;align-items:center}.campaign-map li span{border:1px solid currentColor;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0}.campaign-map .held{color:#304c35}.campaign-map .next{color:var(--blue);font-weight:bold}.campaign-story{font:italic 18px/1.6 Georgia,serif;max-width:800px}.campaign-ledger{position:sticky;top:-24px;z-index:1;display:flex;justify-content:space-between;gap:14px;padding:12px;background:#eee5d4;border-block:1px solid #cbbda9}.campaign-ledger div{display:flex;flex-direction:column}.campaign-ledger span{font-size:10px;letter-spacing:1px}.campaign-ledger strong{font-size:24px;color:var(--copper)}.campaign-forecast{border-left:3px solid var(--red);padding:8px 12px;background:#b44e4109}.campaign-objectives{font-size:12px;color:#3a482e}.mechanic{display:flex;align-items:center;gap:20px;margin:15px 0;padding:12px;border-block:1px dashed #9a704a;background:repeating-linear-gradient(0deg,transparent,transparent 26px,#d9d5c740 27px,#d9d5c740 28px)}.mechanic svg{width:165px;flex-shrink:0}.mechanic p{font:italic 16px/1.6 Georgia,serif;margin:0}.mechanic strong{font-size:17px}.campaign-loadout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0}.campaign-loadout label,.campaign-lot label{display:block;font-size:10px;letter-spacing:1px;font-weight:600;color:var(--copper)}.campaign-loadout select{margin:6px 0}.campaign-loadout small{font-weight:normal;letter-spacing:0;color:var(--ink)}.campaign-town{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.campaign-lot{border:1px solid #cbbda9;padding:12px;min-width:0}.campaign-lot p{font-size:12px;margin:9px 0}.campaign-lot button{width:100%;font-size:11px;padding:7px;margin-bottom:6px;text-align:left}.campaign-lot label{margin:9px 0 5px}.campaign-lot select{font-size:11px;padding:5px}.campaign-lot small{color:#453f32}.campaign-guns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.lot-life{height:6px;background:#d9d5c7;border:1px solid #9a9c87}.lot-life span{display:block;height:100%;background:var(--blue)}.campaign-actions{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:-24px;padding:12px 0;background:var(--paper);border-top:1px solid var(--rule);margin-top:12px}.campaign-actions .primary{flex:1}.campaign-actions [data-fresh]{color:var(--copper);font-size:12px}.page-receipt{padding:12px;border:1px solid #8c9a79;background:#e9eddf}.page-receipt>span{display:block;font-size:12px}.objective-stamp{display:inline-block;margin:7px 12px 0 0;font-size:11px;color:#4c483f}.objective-stamp.earned{color:#2e4b35}.campaign-keepsake{max-width:500px;margin:16px auto}.campaign-keepsake img{width:100%}.campaign-keepsake figcaption{font:italic 13px Georgia,serif}.campaign-keepsake a{color:var(--blue)}#campaign-message{font-size:12px;color:var(--copper);min-height:18px}
@media(max-width:900px){.campaign-town{grid-template-columns:repeat(3,1fr)}.campaign-map{gap:6px}.campaign-map li{font-size:11px}}
@media(max-width:600px){.campaign-dialog{padding:15px}.campaign-dialog .editor-heading h2{font-size:26px}.campaign-map{grid-template-columns:1fr 1fr;gap:10px}.campaign-map li:last-child{grid-column:1/-1}.campaign-ledger{top:-15px;padding:10px 5px;gap:6px}.campaign-ledger span{font-size:8px;letter-spacing:0}.campaign-ledger strong{font-size:18px}.campaign-story{font-size:16px}.mechanic{gap:10px;padding:8px}.mechanic svg{width:105px}.mechanic p,.mechanic strong{font-size:13px}.campaign-loadout,.campaign-town,.campaign-guns{grid-template-columns:1fr}.campaign-actions{bottom:-15px}.campaign-actions button{width:100%;font-size:12px}.campaign-actions .primary{flex:auto}#mission-strip{font-size:10px}.tools label{letter-spacing:0}.tool-group{gap:4px}.tools button strong{font-size:10px}.tools button span{font-size:9px}}
@media(max-height:520px) and (min-width:601px){.campaign-dialog{padding:15px}.campaign-ledger{top:-15px}.campaign-actions{bottom:-15px}.campaign-map{margin:5px 0}.campaign-story{font-size:14px}.campaign-dialog h2{font-size:25px}.mechanic svg{width:110px}.mechanic p{font-size:13px}.campaign-town{grid-template-columns:repeat(3,1fr)}#mission-strip{font-size:9px;padding:1px 0}.tools select{max-width:190px;font-size:11px}.tools button{min-width:85px;padding:6px 8px}#boss-status{font-size:10px;padding:3px 8px}#callout{top:50px}}
@media(max-width:600px){.campaign-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.campaign-actions .primary{grid-column:1/-1}.campaign-actions button{font-size:11px;padding:8px 5px}#boss-life{width:90px;margin-inline:6px}#boss-status small{display:block;margin:3px 0 0}}
button[aria-pressed=true]:hover,.primary:hover{background:#505449;color:var(--paper)}
/* Keep fine print readable on laptop screens without changing the notebook palette. */
.campaign-dialog small,.campaign-lot p,.campaign-lot button,.campaign-lot select{font-size:12px;font-weight:600}
.campaign-loadout small,.campaign-lot small{color:var(--ink);font-weight:600}
.campaign-loadout label,.campaign-lot label,.editor-ledger span,.campaign-ledger span,.eyebrow,.hud span,.tools label{font-weight:700}
.campaign-dialog select,.town-editor select{font-weight:600}
.editor-lot p,.editor-small,#editor-status,#campaign-message,#best-note,#town-note,#field-guide,.tools button span,#mission-strip,#boss-status small,.page-receipt>span,.objective-stamp{font-weight:600}
.editor-small{color:var(--ink)}
button:disabled{color:#303229;font-weight:600}
.lesson-entry{width:100%;margin-top:10px;border-color:var(--blue);color:var(--blue);font-weight:700}
#practice-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed var(--blue);background:#edf0e8;flex-shrink:0}
#practice-strip strong{font-size:13px;color:var(--blue)}#practice-copy{font-size:12px;font-weight:600;line-height:1.5;margin:4px 0 0;max-width:650px}.practice-actions{display:flex;gap:8px;flex-shrink:0}.practice-actions button{font-size:12px;font-weight:600}
.mechanic-advice{padding:12px 14px;border-left:3px solid var(--blue);background:#244d6909;margin-bottom:15px}.mechanic-advice strong{font:700 14px Georgia;color:var(--blue)}.mechanic-advice p{font-size:13px;font-weight:600;line-height:1.6;margin:5px 0 0}
.campaign-lot .building-function{color:var(--blue);font-weight:600;line-height:1.55}.building-choice-note{padding:7px 0;line-height:1.6}
.reset-dialog{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;background:var(--paper);color:var(--ink);border:2px solid var(--copper);border-radius:5px}.reset-dialog::backdrop{background:#24221cbb}.reset-dialog h2{font-size:26px}.reset-dialog p{font-size:14px;line-height:1.6}.reset-actions{display:flex;flex-wrap:wrap;gap:10px}.reset-actions button{font-size:13px;font-weight:700}.reset-actions [data-reset]{color:var(--red);border-color:var(--red)}
.page-celebration{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:2px 0 12px}.page-held-stamp{display:inline-block;color:var(--blue);border:3px double currentColor;padding:5px 12px;font:800 20px/1.2 'Segoe UI',sans-serif;letter-spacing:2px;transform:rotate(-3deg);margin:4px 0 10px}.award-stamps,#victory-stamps{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.earned-award{display:block;border:1px solid var(--copper);padding:7px 10px;font:700 12px/1.5 'Segoe UI',sans-serif;color:var(--copper);background:#eee5d4}.earned-award small{display:block;font-size:11px;font-weight:600;color:var(--ink);max-width:300px}.cheering-town{width:150px;height:45px;overflow:visible}.cheering-town g g{animation:town-cheer .65s ease-in-out infinite alternate}.cheering-town g g:nth-child(2){animation-delay:.15s}.cheering-town g g:nth-child(3){animation-delay:.3s}@keyframes town-cheer{to{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.cheering-town g g{animation:none}}
@media(max-width:600px){#practice-strip{flex-direction:column;align-items:stretch;padding:8px}.practice-actions button{flex:1;padding:6px;font-size:11px}.mechanic-advice p{font-size:12px}.reset-dialog{padding:18px}.reset-actions button{width:100%}.page-held-stamp{font-size:17px}.note:has(.lesson-entry:not([hidden])){padding:15px}.note .lesson-entry,.note .campaign-entry{font-size:12px}}
@media(max-height:520px) and (min-width:601px){#practice-strip{padding:5px 10px;gap:8px}#practice-copy{font-size:11px}.practice-actions button{min-height:36px;padding:5px 8px}.lesson-entry{margin-top:5px;min-height:36px}.campaign-entry{margin-top:5px;min-height:36px}}

/* Ink after hours: warm drawing paper, deep ink, shaded notebook panels. */
:root{--paper:#eee4ce;--ink:#252b2c;--blue:#234d65;--red:#882c31;--copper:#70451e;--muted:#474539;--rule:#b9aa8e;--desk:#202b30;--navy:#263e49}
body{background:radial-gradient(ellipse at 50% 10%,#495354 0,#283539 48%,#192328 100%)}
.page{background:linear-gradient(115deg,#f2e9d5,#e7dcc2);box-shadow:0 0 60px #0006;border-inline:1px solid #101d24}
header{background:linear-gradient(110deg,#203642,#354e56);color:#f4e9d1;padding:10px 14px;border:1px solid #162a33;border-radius:4px;box-shadow:0 3px 0 #17262b26}
header h1{text-shadow:1px 2px #11252c}header h1 em{color:#d6b784}header .eyebrow{color:#e3cfac}
.header-actions button{background:#e6dbc0;border-color:#ac9976;color:#26353a;font-weight:700;box-shadow:0 2px 0 #12293260}.header-actions button:disabled{background:#b9b5a2;color:#34413e}
.hud{padding:10px 12px;background:linear-gradient(110deg,#2e454c,#243b47);color:#f1e5ca;border:1px solid #1b3038;border-radius:3px;box-shadow:inset 0 1px #79918b4d,0 2px 0 #1b303824}
.hud span{color:#dfcfac}.hud strong{font-weight:750}.hud div:nth-child(2){border-left:1px solid #c4b5914d}
.field{border:1px solid #9b8e72;border-radius:3px;box-shadow:inset 0 0 30px #514b3324,0 3px 0 #514b3320}
.overlay{background:#202f3959;backdrop-filter:blur(1px)}
.note,.town-editor,.campaign-dialog,.reset-dialog{background-color:var(--paper);background-image:linear-gradient(115deg,#fbf0d84d,#aa977312);border-color:#786f59;box-shadow:0 16px 48px #0e1d3159,4px 5px 0 #b7a582}
.note{border-top:4px solid var(--blue)}.note h2,.editor-heading h2,.reset-dialog h2{color:#263e49}.note .eyebrow,.editor-heading .eyebrow{color:var(--copper)}
button,select{border-color:#9c8e73;background:linear-gradient(#f5ebd5,#e4d7ba);box-shadow:0 2px 0 #695e4226}button:hover{background:#dccbaa;border-color:#766747}
button[aria-pressed=true],.primary{background:linear-gradient(#365662,#243e4b);border-color:#20343d;color:#fff0d4;box-shadow:0 3px 0 #172c34}.primary:hover{background:#1d3744}
button:disabled{background:#ddd2bb;color:#424439;box-shadow:none}
.campaign-entry{background:linear-gradient(#d1d6bd,#b9c1a7);border-color:#79876a;color:#273d2c}.lesson-entry{background:linear-gradient(#dbe0d1,#c6d1ca)}
.tools button{border-top:3px solid var(--blue)}.tools button span{font-weight:700}.tools button:disabled{border-top-color:#827a65}#big:not(:disabled),#special:not(:disabled){background:linear-gradient(#e3ca97,#d2b37b);color:#563615;border-color:#866436}#big[aria-pressed=true],#special[aria-pressed=true]{background:#714922;color:#fff0d4}
.building-health{background:#f4ead3e8;border:1px solid #a99a7b;border-radius:3px;padding:1px 3px;box-shadow:1px 2px 0 #29372d24;text-shadow:none}.health-track{height:7px;background:#d8cfb9}.cannon-note{background:#f0e2c4f0;border:1px solid #ab9773;box-shadow:0 1px 2px #27302b25}
.editor-ledger,.campaign-ledger{background:linear-gradient(#e4d5b8,#d9c7a4);border-color:#aa9370;box-shadow:0 3px 0 #83735620}
#editor-preview{background-color:#e5ddc5;border:1px solid #b5a583;border-radius:3px;box-shadow:inset 0 2px 9px #57513c20}
.editor-lot,.campaign-lot{background:linear-gradient(120deg,#f8efd9,#e1d3b5);border-color:#b5a17c;box-shadow:2px 3px 0 #65593e18;border-top:3px solid #7b8b83}
.campaign-lot h3{color:#283f48}.lot-life{background:#b7bba2;border-color:#6d7c70;height:7px}.lot-life span{background:linear-gradient(90deg,#244b60,#466b73)}
.campaign-map{border-color:#b39d79}.campaign-map li{color:#4b493b}.campaign-map .next span{background:var(--blue);color:#f6e8c9;border-color:var(--blue)}.campaign-map .held span{background:#bec7a5}
.mechanic{background-color:#e4d7b9;border-color:#8a6d46}.mechanic-advice{background:#ccd5ca;border-color:var(--blue)}.campaign-forecast{background:#922f3210}
.campaign-actions{background:#eee4ce}.page-receipt{background:#d0d8b9;border-color:#748763}.earned-award{background:#decba4}.editor-small,.campaign-dialog small,#best-note,#town-note{color:#353d37}
#practice-strip{background:linear-gradient(100deg,#d8ded0,#c5d1c9);border-color:#496875;box-shadow:0 2px 0 #38534b20}footer{color:#454c40}footer a{font-weight:700}
@media(max-width:600px){header{padding:8px;gap:7px}.header-actions button{padding:8px 5px}header .eyebrow{max-width:140px;font-size:7px;letter-spacing:.65px}.hud{padding:8px 7px;gap:6px}.hud div:nth-child(2){border-left:0}.page{border:0}.building-health{font-size:10px;padding-inline:2px}.note{box-shadow:0 8px 20px #0e1d314d,2px 3px 0 #b7a582}.editor-ledger{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:6px}.editor-ledger label,.editor-ledger div{min-width:0}.editor-ledger select{width:100%;max-width:none;min-width:0}.editor-ledger span{letter-spacing:0;font-size:8px}}
@media(max-height:520px) and (min-width:601px){header{padding:5px 9px}.hud{padding:5px 8px}.field{min-height:130px}.header-actions button{min-height:36px;padding:5px 9px}}
