:root{font-family:Inter,Segoe UI,sans-serif;color:#e4e7df;background:#131a1b;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #394343;background:#252f30;color:#e7e9e3;border-radius:6px;padding:10px 12px;cursor:pointer}button:hover{background:#344142}button:focus-visible,input:focus-visible{outline:2px solid #e6bc78;outline-offset:3px}button:disabled{opacity:.35;cursor:default}header{height:90px;border-bottom:1px solid #364041;display:flex;align-items:center;gap:30px;padding:0 26px;background:#1a2223}.brand{display:flex;gap:12px;align-items:center;min-width:220px}.emblem{font-size:42px;color:#e6bc78}.brand b{letter-spacing:3px;font-size:16px}.brand small{display:block;font-size:11px;letter-spacing:2px;color:#9fa9a7;margin-top:6px}.title{flex:1}.title input{font-size:19px;background:none;border:0;padding:0;width:100%;font-weight:600}.title span{display:block;color:#9ca9a4;font-size:12px;margin-top:7px}.actions{display:flex;gap:8px}.primary{background:#e6bc78;color:#202626;font-weight:650;border-color:#e6bc78}.primary:hover{background:#f7ce8d}main{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;height:calc(100dvh - 90px);min-height:620px}.tools,.layers{padding:26px 20px;background:#1a2223;overflow:auto}.tools{border-right:1px solid #364041;display:flex;flex-direction:column}.eyebrow,label{font-size:11px;letter-spacing:1.6px;font-weight:650;color:#95a3a0}#tools{display:grid;gap:7px;margin-top:18px}#tools button{text-align:left;background:transparent;border-color:transparent;display:flex;align-items:center;gap:13px;padding:11px}#tools button span{font-size:20px;width:24px;text-align:center;color:#aab7b3}#tools button.active{border-color:#716447;background:#38372e;color:#efcd93}#tools button.active span{color:#e6bc78}.divider{height:1px;background:#344041;margin:22px 0}label{display:block;margin:12px 0 9px}input:not([type=range]):not([type=color]){color:#e5e8e1;border:1px solid #404b4b;border-radius:5px;background:#202a2b;padding:10px;width:100%}.title input:not([type]){background:none;border:0;padding:0}#palette{display:flex;gap:8px;margin-top:12px}#palette button{width:26px;height:26px;border:3px solid #1a2223;border-radius:50%;padding:0}#palette button.chosen{outline:1px solid #e5e8e1}#ink{margin-top:12px;width:100%;height:27px;border:0;background:transparent;cursor:pointer}input[type=range]{width:100%;accent-color:#e6bc78}.toolhelp{font-size:13px;line-height:1.6;color:#afbbb6;background:#232d2e;padding:12px;border-radius:5px;margin-top:18px}.bottomnote{margin-top:auto;padding-top:24px;color:#b1bbb6;font-size:12px;line-height:1.8}.bottomnote span{color:#788a86}.workspace{display:flex;flex-direction:column;min-width:0;background:#11191a}.mapbar{height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid #344041;gap:8px}.mapbar>span{font-size:11px;letter-spacing:1.6px;color:#c1cac4}.mapbar i{display:inline-block;width:6px;height:6px;background:#e6bc78;margin-right:8px}.mapbar button{background:none;border-color:transparent;padding:7px 9px;font-size:13px}.mapbar button[aria-pressed=true]{color:#e6bc78;background:#38372e}#viewport{position:relative;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#263436,#11191a);min-height:400px}#map{width:100%;height:100%;max-height:100%;touch-action:none;user-select:none;cursor:crosshair}.mapbadge{position:absolute;left:20px;top:20px;background:#172022dc;padding:10px 13px;border:1px solid #5a6864;border-radius:4px;font-size:11px;letter-spacing:2px;pointer-events:none}.mapbadge span{color:#e6bc78;margin-left:14px}.zoom{position:absolute;bottom:23px;right:20px;display:flex;align-items:center;background:#1a2526;box-shadow:0 4px 15px #0005;border:1px solid #53605a;border-radius:7px}.zoom button{border:0;background:transparent}.zoom span{font-size:12px;min-width:40px;text-align:center}#emptyTip{position:absolute;bottom:26px;left:20px;padding:10px 14px;background:#172022e6;border-radius:5px;color:#c6cec5;font-size:13px;pointer-events:none}footer{display:flex;justify-content:space-between;gap:10px;padding:13px 20px;font-size:11px;color:#9facaa;border-top:1px solid #344041}.layers{border-left:1px solid #364041}.panelhead h2{font-size:20px;margin:10px 0}.panelhead h2 span{font-size:12px;background:#344241;border-radius:5px;padding:4px 7px;margin-left:9px}.subtle{font-size:13px;color:#95a5a1;line-height:1.6}#layerList{display:flex;flex-direction:column;gap:7px;margin-top:20px;max-height:34vh;overflow:auto}.empty{border:1px dashed #43514e;padding:22px 15px;text-align:center;line-height:1.7;color:#93a5a0;font-size:13px}.layer{display:flex;align-items:center;background:#242f30;border:1px solid transparent;border-radius:5px}.layer.selected{border-color:#e6bc78}.layer button{border:0;background:none;padding:10px;font-size:13px}.layer .name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer .eye{color:#a2b6aa}.legend{border-top:1px solid #364342;margin-top:25px;padding-top:22px}.legend p{font-size:13px;color:#bbc5be;margin:13px 0}.legend p span{display:inline-block;width:24px}.shareNote{border-top:1px solid #364342;margin-top:24px;padding-top:21px;font-size:13px;line-height:1.6;color:#a9b8b2}.shareNote b{color:#e1e7db}.shareNote small{font-size:12px;color:#849b94}#selection{margin-top:18px}#delete{margin-top:8px;width:100%;color:#f18e7f}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#ebcd95;color:#172221;padding:13px 20px;border-radius:6px;display:none;z-index:9;box-shadow:0 5px 30px #0006}@media(max-width:1100px){main{grid-template-columns:185px minmax(0,1fr)}.layers{display:none}header{padding:0 18px;gap:20px}.brand{min-width:165px}.brand b{font-size:14px}.actions button{padding:9px}.tools{padding:20px 14px}#emptyTip{max-width:200px;font-size:12px}footer span:last-child{display:none}}@media(max-width:700px){header{height:auto;min-height:112px;flex-wrap:wrap;padding:12px;gap:8px}.brand{min-width:140px}.brand small{font-size:9px}.title{min-width:130px}.title input:not([type]){font-size:15px}.actions{width:100%;justify-content:flex-end}.actions button{font-size:12px;padding:7px}main{height:calc(100dvh - 124px);min-height:590px;grid-template-columns:115px minmax(0,1fr)}.tools{padding:14px 8px}#tools button{font-size:12px;gap:5px;padding:8px 3px}#tools button span{width:18px;font-size:17px}.eyebrow,label{font-size:10px;letter-spacing:1px}#palette{gap:2px;flex-wrap:wrap}#palette button{width:20px;height:20px}.bottomnote{display:none}.toolhelp{font-size:11px;padding:7px}.mapbar{padding:8px;height:auto;flex-wrap:wrap}.mapbar>span{font-size:10px}.mapbar button{font-size:12px;padding:6px}.mapbadge{left:10px;top:10px;font-size:10px}#emptyTip{bottom:70px;left:10px;font-size:11px}.zoom{right:10px}footer{padding:10px}input{min-width:0}}

.workspace{min-height:0}#viewport{height:0}#map{position:absolute;inset:0}#toggleLayers{display:none}@media(max-width:1100px){#toggleLayers{display:inline-block}.layers.open{display:block;position:fixed;right:0;top:155px;bottom:0;width:260px;z-index:5;box-shadow:-10px 0 40px #0008}}

dialog{background:#1a2223;color:#e4e7df;border:1px solid #59655d;border-radius:12px;padding:28px;width:min(520px,92vw);max-height:90dvh}dialog::backdrop{background:#071012b8}dialog p{line-height:1.6}dialog button{margin:8px 5px 8px 0}dialog input{width:100%}dialog .dialogActions{display:flex;justify-content:flex-end;flex-wrap:wrap}#sessionError{color:#f39a89}#endSession{color:#f39a89}#roster{max-height:150px;overflow:auto}#roster div{padding:5px 0}
.modebar{display:flex;gap:5px;margin-bottom:22px}.modebar button{flex:1;padding:9px 5px;font-size:13px}.modebar button[aria-pressed=true]{background:#e6bc78;color:#182324}.castleLayout{grid-template-columns:290px minmax(0,1fr) 280px}#castlePanel .subtle{font-size:13px}#pieceCatalog{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:340px;overflow:auto;margin:12px 0}.pieceCard{padding:0 0 8px;overflow:hidden;text-align:left;border:1px solid #465450}.pieceCard.active{outline:2px solid #e6bc78;outline-offset:-2px}.pieceCard span{display:block;font-size:13px;padding:6px 8px;line-height:1.35}.pieceCard small{display:block;color:#e6bc78;padding:0 8px;font-size:12px}.referenceCrop{position:relative;overflow:hidden;aspect-ratio:1.45;background:#142324}.referenceCrop img{position:absolute;width:300%;max-width:none;left:-170%;top:-280%}#selectedReference{width:100%;margin:12px 0}.builderActions{display:flex;gap:6px;flex-wrap:wrap}.builderActions button{font-size:13px;padding:9px}#castlePanel details{margin-top:20px;border-top:1px solid #47514d;padding-top:15px}#castlePanel summary{cursor:pointer}.budgetFields input{margin-top:6px}.budgetFields label{font-size:12px;letter-spacing:0}#castleBudget{background:#283733;border-bottom:1px solid #526750;color:#dfdabb;padding:12px 18px;font-size:14px;line-height:1.6}#castleBudget.overBudget{background:#513026;color:#ffc7a8}#buildingInspector{padding-top:20px;border-top:1px solid #455049;margin-top:20px}#buildingInspector h3{font-size:17px}#buildingInspector a{color:#e6bc78;font-size:13px}select{color:#e5e8e1;border:1px solid #404b4b;border-radius:5px;background:#202a2b;padding:10px;width:100%;font:inherit}.check{display:flex;align-items:center;gap:8px;letter-spacing:0;font-size:13px}.check input{width:auto!important}#tacticalTools{display:flex;flex-direction:column;flex:1}#tacticalTools[hidden],#castlePanel[hidden],#castleBudget[hidden],#buildingInspector[hidden]{display:none}#castlePanel input,#buildingInspector input{max-width:100%}@media(max-width:1100px){.castleLayout{grid-template-columns:245px minmax(0,1fr)}}@media(max-width:700px){.castleLayout{grid-template-columns:150px minmax(0,1fr)}.modebar{flex-direction:column}.modebar button{font-size:12px}#pieceCatalog{grid-template-columns:1fr;max-height:300px}.pieceCard .referenceCrop{aspect-ratio:1.7}.pieceCard span{font-size:12px}#castleBudget{font-size:12px;padding:8px}.builderActions button{font-size:12px}#castlePanel .subtle{font-size:12px}.layers.open{top:190px}.castleLayout #emptyTip{max-width:145px}}

#castleReference{margin:14px 0!important;padding:12px 0!important;border-bottom:1px solid #455049}#enlargeCastleReference{width:100%;padding:0;margin-top:12px;overflow:hidden}#enlargeCastleReference img{display:block;width:100%;height:auto}#castleReferenceDialog{width:min(540px,94vw);text-align:center}#castleReferenceDialog>img{max-width:100%;max-height:65dvh;object-fit:contain}

#islandSettings{margin:0 0 22px!important;padding:0 0 18px!important;border-top:0!important;border-bottom:1px solid #46544e}#islandSettings summary{font-size:15px;color:#e6bc78}#islandBudgetSummary{padding:12px 0;font-size:14px;line-height:1.6;color:#e9d9b8}.budgetFields select{margin-bottom:4px}

.bastionCrop img{width:220%;left:-56%;top:-45%}#placeBastion{width:100%}#islandSettings{margin-top:20px!important}.builderActions{position:sticky;top:0;background:#1a2223;z-index:2;padding:6px 0}

#castleBuildControls[hidden]{display:none}#startCastle{width:100%;margin-top:14px}#castlePanel #islandSettings{margin-top:0!important;padding-top:0;border-top:0;margin-bottom:20px}#islandSettings summary{font-size:15px;color:#e6bc78}#castleBuildControls>.eyebrow{font-size:14px}

.bastionCrop img{position:static;width:100%;height:100%;object-fit:contain}#selectedReference.bastionCrop{aspect-ratio:1.2}.positionFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nudgeButtons{display:flex;gap:6px;margin-top:10px}.nudgeButtons button{flex:1;font-size:20px;padding:8px}#precisionMovement label{letter-spacing:0;font-size:12px}

#castlePanel input[type=range],#buildingInspector input[type=range]{width:100%;padding:0;min-height:30px;accent-color:#e6bc78;cursor:pointer}#castlePanel output,#buildingInspector output{float:right;color:#e6bc78;letter-spacing:0;font-size:14px}

.brand b{letter-spacing:.3px;font-size:16px;max-width:230px;display:block}.brand small a{color:inherit;text-decoration:none}.brand small a:hover{text-decoration:underline}
/* Roman command tent: oxblood standards, bronze trim and dark stone surfaces. */
:root{color:#efe5d0;background:#171412;font-family:Segoe UI,Arial,sans-serif}header{background:linear-gradient(110deg,#451c20,#251a18 65%);border-bottom:3px double #a47d42;box-shadow:0 4px 20px #0005}.brand b,h2,h3,.mapbadge{font-family:Georgia,Times New Roman,serif}.brand b{font-size:18px;color:#f4d7a2}.brand small a{color:#cbae78}.romanStandard{font-family:Georgia,serif;font-weight:bold;font-size:17px;line-height:1.05;letter-spacing:2px;text-align:center;color:#f2cb7d;background:#811f2b;border:2px solid #b48a47;border-bottom-width:5px;padding:9px 6px}.tools,.layers{background:#211d19;border-color:#665037}.workspace,#viewport{background:#141310}.eyebrow,label{color:#c5b087}h2{color:#ebce98;font-weight:500}button{border-radius:3px;background:#322a22;border-color:#695338;color:#f1e6d2}button:hover{background:#4a3529}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f7d898;outline-offset:3px}.primary{background:#8d2934;border-color:#cc9856;color:#fff0d4}.primary:hover{background:#aa3440}.modebar{flex-wrap:wrap;border-bottom:1px solid #705334;padding-bottom:14px;gap:6px}.modebar button{min-width:90px;font-size:14px}.modebar button[aria-pressed=true]{background:#812a31;color:#ffdfaa;border-color:#bc9250}input,select{background:#191713;border-color:#69573e;color:#f3ead8}.builderActions{background:#211d19}#tools button.active{background:#632830;border-color:#ba8a48;color:#ffe1aa}#tools button.active span{color:#ffe1aa}.mapbar{background:#2b211b;border-bottom:1px solid #98733d}.mapbar>span{color:#e2c38d}.mapbadge{background:#4b2024e8;border:1px solid #b48a47;color:#f1d39a;letter-spacing:2px}.zoom{background:#30241de8;border-color:#9b7541}footer{background:#201a16;color:#bfae91;border-color:#6f5534}.toolhelp,.bottomnote,.subtle{color:#baa98e}.divider{background:#685138}.layer{background:#2a231d;border-color:#665135}.layer.selected{background:#4c2a27;border-color:#b68b4a}.legend,.shareNote,#selection,#buildingInspector{border-color:#6a5135}.empty{border-color:#77603d;color:#c7b590}#castleBudget{background:#38271c;border-color:#92703d;color:#f1d59d}#castleBudget.overBudget{background:#5d2327;color:#ffccbf}.pieceCard{background:#2e261e;border-color:#745b3b}.pieceCard.active{outline-color:#e8be70}.pieceCard small,#buildingInspector a{color:#e9bf77}#castlePanel details{border-color:#665037}dialog{background:#241c18;color:#efe3cc;border:1px solid #a98045}dialog::backdrop{background:#100b09c9}#toast{background:#5a282b;color:#fff0d4;border:1px solid #cda05f}#unitPanel[hidden],#unitInspector[hidden]{display:none}#unitPanel h2{font-size:26px;margin:8px 0}#unitPanel .subtle{font-size:14px;line-height:1.5}#unitCatalog{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}.unitCard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:86px;padding:8px 3px;font-size:14px;text-align:center}.unitCard svg{width:36px;height:36px}.unitCard.active{background:#722730;border-color:#e6b967;box-shadow:inset 0 0 0 1px #e6b967}.unitPalette{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.unitSwatch{width:28px;height:28px;border-radius:50%;border:2px solid #574639;padding:0}.unitSwatch[aria-pressed=true]{outline:2px solid #fff1cc;outline-offset:3px}#unitInspector{margin:15px 0;padding:16px 0;border-top:1px solid #8b673c}#unitPanel input[type=color],#unitInspector input[type=color]{height:35px;padding:3px;width:100%}#unitInspector input[type=range]{width:100%;accent-color:#c99751}#unitInspector output{float:right;color:#e9c78e}#unitPanel .builderActions{margin-top:14px}#duplicateUnit{width:100%;margin-top:12px}#tacticalTools>.eyebrow{font-size:14px}.modebar:has(#unitMode[aria-pressed=true])~#unitPanel{display:block}@media(min-width:1101px){main:not(.castleLayout){grid-template-columns:260px minmax(0,1fr) 280px}}@media(max-width:700px){.brand b{font-size:14px}.romanStandard{font-size:13px;padding:6px}.unitCard{font-size:12px}.unitCard svg{width:28px;height:28px}#unitCatalog{grid-template-columns:1fr}#unitPanel h2{font-size:20px}.unitSwatch{width:24px;height:24px}.modebar button{min-width:0;width:100%;font-size:12px}#unitPanel .subtle{font-size:12px}}
/* Spacious, responsive page navigation and map controls. */
body{min-height:100dvh;display:flex;flex-direction:column}header{height:auto;min-height:104px;display:grid;grid-template-columns:minmax(210px,1fr) minmax(220px,1fr) auto;gap:20px;padding:18px 24px;align-items:center}.brand{min-width:0}.brand b{letter-spacing:1px;line-height:1.4}.title{min-width:0}.title input:not([type]){padding:9px 11px;border:1px solid #71583d;background:#1b1714;border-radius:6px;font-size:16px}.title span{line-height:1.4}.actions{display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:8px}.actions button{min-height:44px;padding:10px 14px;font-size:13px;white-space:nowrap}main{flex:1;height:auto;min-height:calc(100dvh - 142px)}.mapbar{height:auto;min-height:106px;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.mapbar>span{font-size:10px;letter-spacing:1.5px}.mapControls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.controlGroup{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border:1px solid #604b35;border-radius:8px;background:#1e1915}.mapbar button{min-height:44px;padding:10px 13px;font-size:13px;white-space:nowrap;background:#302820;border:1px solid #71583d;border-radius:5px}.mapbar button:hover{background:#493928}.mapbar button[aria-pressed=true]{background:#71313a;color:#fff0cc;border-color:#d6ad64;box-shadow:inset 0 0 0 1px #d6ad64}.mapbar button:focus-visible{outline:2px solid #ffe0a3;outline-offset:2px}
@media(max-width:1100px){header{grid-template-columns:1fr 1fr;gap:14px;padding:16px}.actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.mapbar{padding:12px}.mapbar button{padding:10px;min-height:44px}.layers.open{top:200px}}
@media(max-width:700px){header{grid-template-columns:1fr;padding:14px;gap:12px}.brand b{font-size:16px}.title input:not([type]){font-size:16px}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.actions button{font-size:13px;padding:10px 8px;white-space:normal}.mapbar{padding:10px;gap:10px}.mapControls{display:grid;grid-template-columns:1fr;gap:8px}.controlGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;min-width:0}.controlGroup:first-child{grid-template-columns:1fr}.mapbar button{width:100%;white-space:normal;padding:10px 6px;font-size:12px;min-height:44px}main{min-height:740px}.mapbar>span{letter-spacing:.8px}}
/* Centered, symmetrical header preview. */
header{display:grid;grid-template-columns:1fr;justify-items:center;gap:14px;padding:22px 28px 20px;text-align:center}.brand{justify-content:center;width:100%;max-width:none}.brand b{display:block;font-size:22px;letter-spacing:1.2px;line-height:1.3}.brand small{margin-top:7px}.title{width:min(440px,100%)}.title input:not([type]){text-align:center;font-size:16px}.title span{margin-top:7px}.actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(760px,100%);gap:10px;grid-column:auto}.actions button{min-height:46px;padding:11px 12px;white-space:nowrap}.actions #png{background:#302820;color:#efe5d0;border-color:#71583d;font-weight:400}main{min-height:calc(100dvh - 233px)}@media(max-width:700px){header{padding:18px 14px;gap:12px}.brand b{font-size:19px}.title{width:100%;max-width:440px}.actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:440px}.actions button{white-space:normal;min-height:46px}main{min-height:740px}}
.brand b{max-width:none}
/* Side panels scroll independently, keeping the camera viewport stable. */
body{height:100dvh;min-height:0;overflow:hidden}header{flex:none}main{flex:none;height:calc(100dvh - var(--planner-header-height,233px));min-height:0;overflow:hidden}.tools,.layers{min-height:0}.workspace{min-height:0}#viewport{min-height:0}.mapbar{flex:none}footer{flex:none}@media(max-width:700px){body{height:auto;min-height:100dvh;overflow:auto}main{height:max(600px,calc(100dvh - var(--planner-header-height,290px)));min-height:0}}
/* Prioritize the map while retaining comfortable click targets. */
header{grid-template-columns:minmax(210px,1fr) minmax(190px,1fr) auto;justify-items:stretch;gap:18px;padding:12px 18px;min-height:88px;text-align:left}.brand{justify-content:flex-start;width:auto}.brand b{font-size:18px;letter-spacing:.4px}.brand small{font-size:10px;margin-top:5px}.title{width:auto;max-width:none}.title input:not([type]){text-align:left;font-size:15px;padding:7px 10px}.title span{font-size:11px;margin-top:5px}.actions{width:auto;grid-template-columns:repeat(4,minmax(85px,1fr));gap:6px}.actions button{min-height:44px;padding:8px 10px;font-size:12px;white-space:normal}.castleLayout,main:not(.castleLayout){grid-template-columns:240px minmax(0,1fr) 220px}.tools,.layers{padding:16px 12px}.mapbar{min-height:0;padding:6px 10px;gap:0}.mapbar>span{display:none}.mapControls{gap:7px}.controlGroup{padding:2px;gap:3px;border:0;background:transparent}.mapbar button{min-height:44px;padding:8px 11px}.mapbadge{top:10px;left:12px;padding:6px 9px;font-size:10px}footer{padding:6px 12px}.modebar{margin-bottom:12px}#castleBudget{padding:6px 12px;font-size:12px}#emptyTip{padding:6px 10px;font-size:12px;bottom:12px}.zoom{bottom:12px;right:12px}
@media(max-width:1200px){header{grid-template-columns:minmax(180px,1fr) minmax(170px,1fr);gap:10px}.actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.castleLayout,main:not(.castleLayout){grid-template-columns:215px minmax(0,1fr)}.layers{display:none}#toggleLayers{display:inline-block}.layers.open{display:block;top:var(--planner-header-height,150px)}}
@media(max-width:700px){header{grid-template-columns:1fr;padding:8px 10px;gap:7px}.brand{justify-content:center}.brand b{font-size:16px}.brand small{display:none}.title{display:none}.actions{gap:4px;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.actions button{font-size:11px;min-height:44px;padding:5px}.castleLayout,main:not(.castleLayout){grid-template-columns:120px minmax(0,1fr)}.tools{padding:10px 6px}.mapControls{display:flex;flex-wrap:wrap;gap:3px}.controlGroup,.controlGroup:first-child{display:flex;flex-wrap:wrap;gap:3px;padding:0}.mapbar{padding:5px}.mapbar button{width:auto;min-height:40px;font-size:11px;padding:6px}.mapbadge{display:none}body{height:100dvh;overflow:hidden}main{height:calc(100dvh - var(--planner-header-height,110px));min-height:0}#castleBudget{font-size:11px;padding:4px 8px}.zoom button{padding:9px}.zoom span{min-width:32px}footer{display:none}#emptyTip{display:none}}
