/* Eikenhaven: warm parchment, weathered timber and brass, with a clear world. */
:root{--gold:#e4c578;--gold-soft:#c7a566;--ink:#332a20;--muted:#c9bea4;--line:#8a7350;--classic-dark:#211c17;--wood:#43382a;--paper:#e1d0a5}
body{background:#1c2116;font-family:Verdana,system-ui,sans-serif;color:#eee3cb}
#world{image-rendering:auto!important}
#hud:before{background:linear-gradient(180deg,#20180e30,transparent 24%,transparent 68%,#1a140e33)}
button{border-color:#8a7350;background:linear-gradient(#514332,#30271d);box-shadow:inset 0 1px #f5dfac16,inset 0 -1px #0005;color:#eee3cb}
button:active{background:#6a5438}button:focus-visible{outline:2px solid #eed795;outline-offset:3px}
.classicIcon{display:block;width:26px;height:29px;flex-shrink:0;filter:drop-shadow(0 1px 0 #0007)}
.brand{gap:10px}.brand b{font:700 21px Georgia,serif;letter-spacing:2px;color:#f2d99c;text-shadow:0 2px 1px #221908}
.brand small{font:11px Verdana,sans-serif;letter-spacing:1.6px;color:#e1d5b5}
.brand .crest{display:block!important;width:39px;height:43px;flex-shrink:0;padding:4px;background:linear-gradient(#6b5437,#35291c);border:1px solid #c1a36b;box-shadow:inset 0 0 0 2px #302517;border-radius:3px;text-shadow:none}
.crest .classicIcon{width:29px;height:32px;color:#dfc581}
.headerActions .square,.onlineStatus{background:linear-gradient(#534735,#302a21)!important;border:1px solid #9a8257!important;border-radius:4px!important;box-shadow:inset 0 0 0 2px #281f1866!important;backdrop-filter:none}
.onlineStatus{color:#cfc5ab}.onlineStatus[data-state=online]{color:#d7e5a8!important;border-color:#a7b875!important}
.stats,.quest,#resources,#waypoint,#placementControls,#expeditionHud,#target,#targetMeter{
  background:linear-gradient(130deg,#473d2ff2,#2b261ff2);border:1px solid #9b8054;border-radius:4px;box-shadow:inset 0 0 0 2px #1e180e88,0 3px 10px #17110b35;backdrop-filter:none
}
.stats{width:196px;padding:10px 13px}.stats small{font:10px Verdana,sans-serif;color:#d0bea0;letter-spacing:.3px}
.stats>div{gap:8px}.stats .track{height:9px;border:1px solid #171711;border-radius:2px;background:#1d1a14;box-shadow:inset 0 1px 2px #0008}
.track i{border-radius:1px!important}#health{background:linear-gradient(#af4140,#742625)}#energy{background:linear-gradient(#5d8bb3,#315779)}.stats .mana{color:#91b4da}
#classicStatus{position:absolute;top:187px;left:18px;display:flex;gap:12px;font:10px Verdana,sans-serif;color:#e1d2ae;text-shadow:0 2px 2px #231910}
#classicStatus span{display:flex;gap:4px;align-items:center}#classicStatus .classicIcon{width:16px;height:17px;color:#d6b772}#classicStatus b{color:#f4e6c5;font-weight:700}
.quest{top:218px;left:18px;right:auto;width:237px;padding:11px 13px}.quest>span{display:block;font:9px Verdana,sans-serif;letter-spacing:1.4px;color:#bea77c}
.quest b{font:700 17px/1.4 Georgia,serif;color:#eed18f;margin:5px 0}.quest small{font:12px/1.5 Verdana,sans-serif;color:#d8cfb7}.quest .track{height:4px;border-radius:0;background:#181610}
.quest .track i{background:linear-gradient(90deg,#938047,#cfba71)}
#miniMapButton{width:144px;height:144px;top:76px;right:22px;border:6px solid #94805a;box-shadow:0 0 0 2px #282219,inset 0 0 0 2px #352d1c,0 4px 16px #19120b44;background:#687143;border-radius:50%}
#miniMapButton:before{content:"N";position:absolute;top:-8px;left:50%;transform:translateX(-50%);z-index:1;color:#edd59c;font:700 13px Georgia,serif;background:#3b3122;width:20px;height:20px;line-height:20px;border:1px solid #b59a64;border-radius:50%;box-shadow:0 1px 3px #0008;pointer-events:none}
#minimap{width:100%;height:100%;border-radius:50%}
#compass{top:27px;font:10px Verdana,sans-serif;color:#e5d2a3;letter-spacing:2px}
#resources{gap:12px;font:12px Verdana,sans-serif;border-radius:4px;padding:8px 14px}#resources span{color:#ceb68b}#resources b{color:#efdfbd}.goldCount{color:#e7c86a!important}
#waypoint{top:76px;font:11px Verdana,sans-serif;padding:8px 12px;border-radius:3px;color:#e7d6af;max-width:calc(100% - 500px)}
nav{width:414px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:6px;border:2px solid #9b835a;border-radius:4px;background:linear-gradient(#453a2b,#2b251c);box-shadow:inset 0 0 0 2px #1f190f,0 5px 14px #17110c44;backdrop-filter:none}
nav button{border:1px solid #796242;border-radius:2px;background:linear-gradient(#62513a,#3b3023);box-shadow:inset 0 1px #d8b77824;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:61px;width:100%;min-width:0;flex:1;color:#dfc282}
nav button:active{background:#7a5f3b}nav small{font:10px Verdana,sans-serif;color:#e7d9bc;white-space:nowrap}nav .classicIcon{width:23px;height:26px}
#joystick{border:2px solid #b7a17688;background:radial-gradient(circle,#40372830 0 41%,#c7b47d60 42% 44%,#2f291f80 45% 55%,#6b5c3c50 56%);box-shadow:inset 0 0 0 4px #201a1433,inset 0 0 14px #0004;border-radius:50%}
#stick{border-color:#c7ac71;background:linear-gradient(#a19168,#5c4e32);box-shadow:inset 0 1px #e0d09c88,0 3px 7px #22190e88}
#actions button{background:linear-gradient(#554735,#30291f);border-color:#a98c57;border-radius:50%;box-shadow:inset 0 0 0 3px #201a1266,0 4px 10px #21160855!important;color:#dfc78e}
#act{border-radius:6px!important;background:linear-gradient(#957741,#564128)!important;border:2px solid #d4b375;box-shadow:inset 0 0 0 3px #392b16,inset 0 1px #f3d893,0 4px 10px #21160855!important}
#act.hasTarget{background:linear-gradient(#b28d4d,#6f522e)!important;border-color:#f2cd81}
#actions small,.quickEat small{font:10px/1.25 Verdana,sans-serif;color:#ecdfbf}
#actions .classicIcon{width:27px;height:30px}#actGlyph .classicIcon{width:32px;height:35px}.quickEat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.quickEat .classicIcon{width:23px;height:25px}#fullscreen{display:flex;align-items:center;justify-content:center}#fullscreen .classicIcon{width:20px;height:23px}
#bowShot{color:#b5c184!important;background:linear-gradient(#566040,#2d3826)!important}
#magic{color:#aac3db!important;background:linear-gradient(#4b5e75,#293442)!important}
#magic::after,#dodge::after,#bowShot::after{display:none}
.quickEat{background:linear-gradient(#80614a,#4c372a);border:1px solid #ba9969;border-radius:50%;color:#edb99f;box-shadow:inset 0 0 0 3px #221b1666}
#target{font:12px/1.4 Verdana,sans-serif;padding:6px 12px;color:#f0d6a0}#target:empty{display:none}#targetMeter{padding:5px 9px;border-color:#88724d}#targetCount{font:10px Verdana,sans-serif}
.bottomHint{color:#d1c099;font:9px Verdana,sans-serif;letter-spacing:1px;text-shadow:0 1px 3px #24180c}#saveState{font:9px Verdana,sans-serif;color:#cdbb90}
#toast,#skillNotice{border-radius:3px;background:#332b20ee;border:1px solid #9b8152;box-shadow:inset 0 0 0 2px #1e170c77;backdrop-filter:none;font:12px/1.5 Verdana,sans-serif}
#toast{max-width:calc(100% - 32px)}#skillNotice{color:#f1d8a1}
.damageNumber{background:#8c2e27!important;color:#fff3c6!important;border:2px solid #efbd91;border-radius:45% 45% 45% 8%!important;font:bold 17px Georgia,serif;text-shadow:0 1px 1px #200800;padding:4px 7px}
.damageNumber.magic{background:#335771!important;border-color:#b0d3dd}.damageNumber.hurt{background:#a53f32!important}
.playerName{border:0;background:#211b1299;border-radius:2px;color:#f7f0c2;font:12px Georgia,serif;box-shadow:none;padding:4px 8px}
.playerName i{background:#83ac5c}.playerName>span{border-radius:0;background:#202119}
.overlay{background:#15110d99;backdrop-filter:blur(2px);padding:18px;touch-action:pan-y}
.panel{width:570px;padding:25px;border:3px solid #a28758;border-radius:5px;background:linear-gradient(145deg,#504433,#30291f);box-shadow:inset 0 0 0 2px #211b13,0 18px 65px #0007;scrollbar-color:#9d8252 #30271b;color:#e8dbc0}
.panel h2{font:700 26px/1.2 Georgia,serif;color:#e8ca85;letter-spacing:.4px;padding-bottom:14px;border-bottom:1px solid #8a71484d;margin:0 30px 16px 0}
.panel h3{font:700 18px/1.4 Georgia,serif;color:#e2c184;margin:20px 0 10px}.panel p{font:13px/1.8 Verdana,sans-serif;color:#d8cbb0}
.panel .close{width:35px;height:35px;right:13px;top:13px;border-radius:2px;border-color:#b69a64;background:#6f4031;box-shadow:inset 0 0 0 2px #3e2b1c;color:#ebd7ab;font:24px Georgia,serif}
.panel button{border-radius:3px;font:12px/1.5 Verdana,sans-serif;min-height:40px}
.primary{background:linear-gradient(#bd9b56,#896637);border:1px solid #e0bf7d;border-radius:3px;box-shadow:inset 0 0 0 2px #78582d55,inset 0 1px #eed59044;color:#fff0cc;font:700 13px Verdana,sans-serif;min-height:47px}
.primary:active{background:#99713c}.secondary{background:linear-gradient(#5a4a33,#382d20);border-radius:3px;font-size:12px}
.muted{font:11px/1.7 Verdana,sans-serif!important;color:#bba98b!important}
.menuTabs{gap:6px}.menuTabs button{background:#3a3023;border-color:#80663f;color:#d3bd93;min-height:40px}.menuTabs button[aria-pressed=true]{background:#795f38;border-color:#d0ac6a;color:#ffebbb}
.recipe,.atlasCard,.storageRow{border-color:#8c71483a}.recipe b,.atlasCard b{font:700 15px/1.4 Georgia,serif;color:#ead5a7}.recipe small,.atlasCard small,.storageRow small{font:12px/1.6 Verdana,sans-serif;color:#c7b697}.missing{color:#dfaa8d}
.recipe button,.atlasCard button{border-color:#a0834d;background:linear-gradient(#706044,#4a3b28);min-height:40px;font-size:12px}.recipe .tradeActions{gap:5px}
.objectiveCard,.buildingCard,.equippedOutfit{background:#2b251b77;border-color:#8c724d;border-radius:3px}
.objectiveCard h3{margin:8px 0}.objectiveCard>small{font:9px Verdana,sans-serif;color:#bda377;letter-spacing:1.4px}
.outfitCard{background:linear-gradient(#53472f,#30271b);border-radius:3px;border-color:#8b7346}.outfitCard[aria-pressed=true]{background:#76603566;border-color:#d9b773}
.outfitCard b{color:#e6c787;font-size:17px}.outfitCard small{color:#c9bba0;font-size:12px}.outfitBonuses{font-size:12px;color:#d9c89c}.outfitPreview{border-radius:3px}.personalOutfit{background:linear-gradient(#80703955,#332b21)}
.inventoryHeading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:22px 0 9px}.inventoryHeading>span{display:flex;align-items:center;gap:7px;font:10px Verdana,sans-serif;letter-spacing:1.4px;color:#c9ae75}.inventoryHeading .classicIcon{width:19px;height:22px}.inventoryHeading small{font:10px Verdana,sans-serif;color:#b8a789}
.classicInventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px;border:2px solid #867049;background:#29251be6;box-shadow:inset 0 0 0 2px #18160f}
.panel .inventorySlot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:78px;padding:8px 4px 5px;border:1px solid #7c674238;border-radius:2px;background:radial-gradient(circle at 50% 30%,#645d4322,#231e15);box-shadow:inset 0 0 0 1px #14100822;min-width:0}
.inventorySlot>span{color:var(--item)}.inventorySlot .classicIcon{width:33px;height:36px}.inventorySlot>b{position:absolute;top:4px;left:6px;font:700 10px Verdana,sans-serif;color:#edd177;text-shadow:1px 1px #20160a}
.inventorySlot>small{font:9px/1.25 Verdana,sans-serif;color:#c9ba9c;max-width:100%;text-align:center}.inventorySlot[aria-pressed=true]{border-color:#d5ad63;background:#68533266}.emptySlot{opacity:.5;min-height:78px}
.inventoryDetail{min-height:68px;padding:13px 4px;margin-bottom:6px}.inventoryDetail b,.inventoryDetail span{display:block}.inventoryDetail b{font:700 16px Georgia,serif;color:#e5c485}.inventoryDetail span{font:12px/1.65 Verdana,sans-serif;color:#c8b696;margin-top:5px}
.junkSlot{opacity:.74}.junkGrid .inventoryItem{background:#2b2419;border-color:#6f5a36}.inventoryItem{border-radius:3px;font-size:12px}.inventoryItem b{font-size:13px}.inventoryItem small{font-size:11px}
.classicSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}.classicSummary span{font:10px/1.5 Verdana,sans-serif;text-align:center;padding:12px 4px;border:1px solid #7d6743;background:#29251a;color:#bbab8b}
.classicSummary b{display:block;font:700 25px/1.3 Georgia,serif;color:#e3c681;margin-bottom:4px}
.classicSkills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border:2px solid #89724b;background:#28231a}
.panel .classicSkills button{display:grid;grid-template-columns:27px 1fr;gap:4px 8px;align-items:center;padding:12px 8px;background:linear-gradient(#554c36,#393322);border:1px solid #87714755;border-radius:2px;text-align:left;min-height:81px;min-width:0}
.classicSkills button>span{color:var(--skill);grid-row:1/3}.classicSkills .classicIcon{width:26px;height:29px}.classicSkills b{font:10px/1.2 Verdana,sans-serif;color:#d6c4a3;overflow-wrap:anywhere}
.classicSkills strong{font:700 21px Georgia,serif;color:#efdab0}.classicSkills strong small{font:10px Verdana,sans-serif;color:#b5a783;margin-left:4px}.classicSkills button[aria-pressed=true]{background:#786440;border-color:#d2b070;box-shadow:inset 0 0 0 1px #e4c27033}
.skillFocus{padding:16px;margin-top:14px;border:1px solid #92784d;background:#2b241c}.skillFocus>div:first-child{display:flex;align-items:center;gap:10px;color:#d2b878}.skillFocus h3{margin:0}.skillFocus h3 span{font:11px Verdana,sans-serif;margin-left:6px;color:#bda785}.skillFocus .track{height:7px;background:#19170f;border:1px solid #857345;margin:10px 0}.skillFocus .track i{background:#ad9454}.skillFocus>small{font:11px Verdana,sans-serif;color:#c5b593}.skillFocus em{display:block;font:11px Verdana,sans-serif;color:#dbd3a0;margin-top:11px}
.npcDialogue{display:flex;align-items:flex-start;gap:15px;margin:15px 0 23px}.npcPortrait{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:67px;height:77px;background:radial-gradient(circle,var(--npc),#322b21);border:2px solid #b1945a;box-shadow:inset 0 0 0 3px #322b21;color:#e9d8a5}.npcPortrait .classicIcon{width:37px;height:41px}.npcDialogue small{font:10px Verdana,sans-serif;color:#c2a67a;letter-spacing:.4px}.npcDialogue p{margin:5px 0 0!important;font:13px/1.8 Georgia,serif!important;color:#e8d7b3}
.parchment{padding:19px 20px;background:linear-gradient(105deg,#d3bb8d,#ead9af 48%,#cdb482);color:#3c3020;border:1px solid #ac8b51;box-shadow:inset 0 0 24px #ad834755,0 3px 7px #21160a33}
.parchment>small{font:9px Verdana,sans-serif;letter-spacing:1.1px;color:#7e6138}.parchment h3{margin:8px 0 12px;color:#503820;font:700 22px Georgia,serif}.parchment p{color:#4d3d26;font:13px/1.75 Georgia,serif}.parchment .primary{margin-bottom:0;background:linear-gradient(#80663c,#513c23);border-color:#997240;color:#f3deb1;font-size:12px}
.questChecklist{list-style:none;padding:0;margin:16px 0;font:12px/1.9 Verdana,sans-serif;color:#82503b}.questChecklist li:before{content:"○";margin-right:7px}.questChecklist .done{color:#526633}.questChecklist .done:before{content:"✓"}.questReward{font:11px/1.6 Verdana,sans-serif;color:#725228;padding-top:12px;border-top:1px solid #8e69364d}
.dialogueChoices{display:grid;gap:7px;margin-top:20px}.dialogueChoices button{display:flex;gap:12px;align-items:center;justify-content:center;color:#ead19c;background:linear-gradient(#5b4b32,#362d21);min-height:45px}.dialogueChoices .classicIcon{width:22px;height:25px}
.villageQuestHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:26px}.villageQuestHeading h3{margin:0}.villageQuestHeading>span{font:10px Verdana,sans-serif;color:#c0a46e}
.villageQuest{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px;border-bottom:1px solid #7b653e50}.villageQuest b{font:700 16px Georgia,serif;color:#c69a85}.villageQuest.active b{color:#e4c17e}.villageQuest.completed b{color:#a9bb7d}.villageQuest small{display:block;font:11px/1.5 Verdana,sans-serif;color:#bca785;margin-top:4px}.villageQuest button{padding:6px 14px;flex-shrink:0}
.bankIntro{font-size:12px!important}.bankBalance{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #877042;background:#292219;color:#dec078}.bankBalance>span{font:10px Verdana,sans-serif;color:#c8b692}.bankBalance .classicIcon{width:21px;height:24px}.bankBalance b{font:700 20px Georgia,serif}.bankQuantity{margin:16px 0}
.bankRow{display:flex;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #7d673e44}.bankRow>span{width:29px;flex-shrink:0}.bankRow>div{flex:1;min-width:0}.bankRow b{font:700 16px Georgia,serif}.bankRow small{display:block;font:10px/1.5 Verdana,sans-serif;color:#bba88a;margin-top:4px}.bankRow button{padding:7px 12px;font-size:11px;flex-shrink:0}
.atlasStats span{background:#2a251b;border-color:#7f6741;color:#c7b99a}.atlasStats b{color:#e6c982}.atlasCard button{background:#5c4c31}#mapCanvas{border-color:#ad915a;border-radius:3px}
.welcome{position:relative;max-width:470px;padding:30px 38px;border:2px solid #ad915d;background:linear-gradient(140deg,#493b29ee,#251f17f5);box-shadow:inset 0 0 0 4px #20190f,0 15px 60px #0008;max-height:calc(100dvh - 36px);overflow:auto}
.welcome:before,.welcome:after{content:"✦";position:absolute;top:10px;color:#9e7f47;font-size:12px}.welcome:before{left:12px}.welcome:after{right:12px}
.welcome h1{font:700 40px Georgia,serif;color:#e8cd8c;letter-spacing:4px;text-shadow:0 3px 1px #1c140b;margin:9px 0 4px}.welcome .bigRune{display:flex;width:63px;height:74px;margin:19px auto 7px;padding:10px;border:1px solid #a89059;background:linear-gradient(#687140,#3a442b);box-shadow:inset 0 0 0 3px #25261a;color:#e2cb8d;align-items:center;justify-content:center;font-size:42px}
.welcome .bigRune .classicIcon{width:40px;height:46px}.welcome .eyebrow{font:9px Verdana,sans-serif;letter-spacing:2.1px;color:#b99f72}.welcome .subtitle{font:11px Verdana,sans-serif!important;color:#c5aa73;letter-spacing:3px!important;margin:12px 0 20px!important}.welcome p{font:16px/1.7 Georgia,serif;color:#daccac;margin:12px 0}
.playerField{font:11px Verdana,sans-serif;color:#c7b28b;margin:23px auto 10px;max-width:280px}.playerField input{background:#1f1b14;border-color:#8a744e;border-radius:2px;color:#f6e3b7;box-shadow:inset 0 2px 5px #0006;min-height:44px;font-size:15px}.playerField input:focus{outline-color:#d9b977}.playerField input::placeholder{color:#857758}.onlineIntro{font:10px/1.5 Verdana,sans-serif;color:#b2bd91;margin:12px auto 17px}.welcome .primary{font-size:13px;letter-spacing:.6px}
.instructions{gap:30px;margin:22px 0}.instructions small{font:10px Verdana,sans-serif;color:#c6b798}.note{font:10px/1.7 Verdana,sans-serif!important;color:#a99574!important}
.classicFeatures{display:flex;justify-content:center;gap:19px;margin:22px 0;color:#c4ab76}.classicFeatures>span{display:flex;flex-direction:column;align-items:center;gap:7px;font:10px Verdana,sans-serif}.classicFeatures .classicIcon{width:23px;height:27px}
.simpleHud #classicStatus,.placing #classicStatus{display:none}.simpleHud .quest{display:none}.placing #walkHint{display:none}
#walkHint{position:absolute;left:18px;top:190px;color:#c8b891;font:9px Verdana,sans-serif;text-shadow:0 1px 2px #2b200d;display:none}
@media(min-width:1000px) and (min-height:650px){#joystick{bottom:35px;left:32px;opacity:.6;width:100px;height:100px}#stick{left:25px;top:25px}.quickEat{bottom:153px;left:57px}#actions{bottom:32px;right:30px}#resources{bottom:104px}#target{bottom:153px}#targetMeter{bottom:121px}.bottomHint{bottom:10px}#cameraControls{top:235px;right:24px}#waypoint{top:76px}#toast{top:118px}#skillNotice{top:160px}}
@media(orientation:portrait) and (max-width:700px){
  #hud{padding:14px}.brand{gap:6px;max-width:calc(100% - 190px)}.brand b{font-size:16px;letter-spacing:1.5px}.brand small{font-size:9px;letter-spacing:.5px}.brand .crest{width:28px;height:32px;padding:3px}.crest .classicIcon{width:20px;height:24px}
  .headerActions{gap:4px}.headerActions .square{width:31px;height:33px;font-size:18px}.onlineStatus{max-width:83px;min-height:33px;padding:4px 6px!important;font-size:10px!important}
  .stats{top:69px;left:14px;width:165px;padding:9px 10px}.stats small{font-size:9px}.stats b{font-size:12px}.stats>div{margin-bottom:6px}
  #classicStatus{top:178px;left:14px;font-size:9px;gap:9px}#classicStatus .classicIcon{width:13px;height:15px}
  #miniMapButton{top:72px;right:16px;width:104px;height:104px;border-width:5px}
  .quest{top:202px;left:14px;width:193px;max-width:calc(100% - 138px);padding:9px 11px}.quest>span{font-size:8px}.quest b{font-size:15px;margin:4px 0}.quest small{font-size:11px;line-height:1.45;display:block}.quest .track{margin-top:7px}
  #compass{display:none}#waypoint{top:302px;left:50%;width:max-content;max-width:calc(100% - 34px);font-size:10px;padding:6px 9px}#toast{top:341px;font-size:11px;max-width:calc(100% - 32px)}#skillNotice{top:378px;font-size:11px}#boss{top:418px}
  nav{width:calc(100% - 28px);bottom:max(13px,env(safe-area-inset-bottom));gap:3px;padding:5px}nav button{height:53px;gap:3px}nav small{font-size:9px}nav .classicIcon{width:21px;height:24px}
  #resources{bottom:max(91px,calc(env(safe-area-inset-bottom) + 78px));font-size:11px;gap:10px;padding:7px 11px}
  #joystick{left:18px;bottom:max(140px,calc(env(safe-area-inset-bottom) + 125px));width:106px;height:106px}#stick{width:42px;height:42px;left:30px;top:30px}
  #actions{right:18px;bottom:max(140px,calc(env(safe-area-inset-bottom) + 125px));width:148px;height:153px}#act{width:77px;height:77px}#magic,#dodge,#bowShot{width:58px;height:58px;font-size:25px}#magic{right:0}#dodge{top:93px}#actions small{font-size:9px}.quickEat{left:45px;bottom:max(259px,calc(env(safe-area-inset-bottom) + 245px));width:49px;height:49px}
  #target{bottom:max(312px,calc(env(safe-area-inset-bottom) + 296px));font-size:11px;max-width:calc(100% - 34px);padding:5px 9px}#targetMeter{bottom:max(276px,calc(env(safe-area-inset-bottom) + 262px));width:127px;padding:4px 8px}
  #cameraControls{top:191px;right:19px;gap:5px}#cameraControls button{width:30px;height:30px;font-size:17px;border-radius:2px;background:#423627db;border-color:#9a8155}
  #saveState{bottom:2px;right:14px;font-size:8px}.bottomHint{display:none}.panel{padding:21px 16px;max-height:calc(100dvh - 30px);width:100%}.overlay{padding:14px}.panel h2{font-size:23px}.panel p{font-size:12px}.classicSummary span{font-size:9px}.classicSummary b{font-size:23px}
  .welcome{padding:25px 24px;max-width:410px}.welcome h1{font-size:32px;letter-spacing:3px}.welcome p{font-size:15px}.welcome .bigRune{width:53px;height:64px}.welcome .subtitle{font-size:10px!important;letter-spacing:2px!important}.classicFeatures{gap:17px}.welcome .playerField{margin-top:18px}
  .panel .classicSkills button{grid-template-columns:23px 1fr;padding:10px 6px;gap:4px 5px;min-height:79px}.classicSkills .classicIcon{width:22px;height:26px}.classicSkills b{font-size:9px}.classicSkills strong{font-size:19px}.classicSkills strong small{font-size:9px;margin-left:2px}
  .panel .inventorySlot,.emptySlot{min-height:71px}.inventorySlot .classicIcon{width:29px;height:32px}.inventorySlot>small{font-size:8px}.classicInventory{gap:4px;padding:6px}.inventoryHeading small{font-size:9px}.bankRow b{font-size:14px}.bankRow button{padding:5px 8px}.parchment{padding:16px}.parchment h3{font-size:20px}.npcPortrait{width:53px;height:64px}.npcDialogue{gap:11px}.npcDialogue p{font-size:13px!important}.villageQuest b{font-size:15px}
}
@media(orientation:portrait) and (max-height:740px){.quest{top:197px}.quest>span{display:none}.quest small{font-size:10px}.quest b{font-size:14px}#waypoint{top:286px}#toast{top:322px}#skillNotice{top:358px}#boss{top:398px}.welcome .bigRune{margin-top:14px}.welcome .classicFeatures{margin:15px 0}.welcome .instructions{display:none}}
@media(orientation:portrait) and (max-width:370px){.brand b{font-size:14px}.brand .crest{display:none!important}.brand small{font-size:8px}.headerActions .square{width:29px}.onlineStatus{max-width:74px}.stats{width:149px}#miniMapButton{width:93px;height:93px}.quest{width:180px;max-width:calc(100% - 121px)}nav small{font-size:8px}#actions{right:13px}#joystick{left:13px}#resources{gap:7px;font-size:10px}.classicSkills{grid-template-columns:repeat(3,minmax(0,1fr))}.classicSkills strong small{display:none}.bankRow{gap:5px}}
@media(orientation:landscape) and (max-height:600px){
  #hud{padding-top:10px}.brand b{font-size:16px}.brand small{font-size:9px}.brand .crest{width:29px;height:34px;padding:3px}.crest .classicIcon{width:21px;height:26px}.headerActions .square{width:34px;height:34px}.onlineStatus{font-size:11px!important;min-height:34px;max-width:113px}
  .stats{top:59px;left:16px;width:153px;padding:7px 10px}.stats small{font-size:9px}.stats>div{margin-bottom:4px}#classicStatus{top:137px;left:17px;font-size:9px;gap:8px}#classicStatus .classicIcon{width:13px;height:14px}
  #miniMapButton{top:61px;right:18px;width:95px;height:95px;border-width:4px}.quest{top:60px;left:auto;right:130px;width:199px;padding:8px 10px}.quest>span{display:none}.quest b{font-size:14px;margin:0}.quest small{font-size:10px;line-height:1.5}.quest .track{margin-top:6px}#compass{display:none}
  nav{width:min(354px,calc(100% - 294px));padding:5px;gap:3px;bottom:12px}nav button{height:49px}nav small{font-size:9px}nav .classicIcon{width:19px;height:22px}
  #joystick{bottom:19px;width:96px;height:96px;left:23px}#stick{width:40px;height:40px;left:26px;top:26px}#actions{bottom:18px;right:22px;width:141px;height:145px}#act{width:70px;height:70px}#bowShot,#magic,#dodge{width:55px;height:55px;font-size:23px}#magic{right:0}#dodge{top:89px}#actions small{font-size:9px}.quickEat{bottom:130px;left:46px;width:47px;height:47px}
  #waypoint{top:155px;max-width:45vw;font-size:10px;padding:6px 10px}#toast{top:194px;font-size:11px;max-width:47vw}#skillNotice{top:231px;font-size:11px}#resources{bottom:83px;font-size:10px;padding:5px 10px;gap:9px}#target{bottom:134px;font-size:11px;max-width:43vw;padding:4px 9px}#targetMeter{bottom:102px;width:128px;padding:4px 8px}#targetCount{font-size:9px}
  #cameraControls{top:170px;right:20px;flex-direction:row;gap:4px}#cameraControls button{width:30px;height:30px;font-size:17px;border-radius:2px;background:#423627db;border-color:#9a8155}#saveState{font-size:8px}.bottomHint{display:none}#boss{top:156px}.placing #placementControls{width:min(400px,calc(100% - 260px))}.placing #joystick{bottom:20px}
  .welcome{padding:18px 32px;max-width:450px}.welcome h1{font-size:27px;margin:0}.welcome .eyebrow,.welcome .bigRune,.welcome .classicFeatures,.welcome .instructions{display:none}.welcome .subtitle{font-size:9px!important;margin:6px 0 10px!important;letter-spacing:2px!important}.welcome p{font-size:13px;margin:6px 0}.welcome .playerField{margin:12px auto 7px;font-size:10px}.welcome .onlineIntro{margin:9px 0}.welcome .note{font-size:9px!important}.welcome .primary{min-height:43px;margin:10px 0}.panel{padding:21px;max-height:calc(100dvh - 28px)}
}
@media(orientation:landscape) and (max-height:390px){.quest small{display:none}.quest{width:179px}#classicStatus{display:none}#waypoint{top:128px}#toast{top:166px}#skillNotice{top:203px}.welcome p:not(.subtitle){display:none}.welcome .note{display:none}.welcome .playerField{margin-top:8px}#cameraControls{top:158px}}
@media(orientation:landscape) and (max-width:650px){.quest{width:160px;right:123px}.stats{width:143px}nav small{display:none}nav{width:calc(100% - 284px);gap:2px;padding:4px}.brand small{display:none}.headerActions .square{width:32px}#cameraControls{flex-direction:column;top:166px;right:15px}#classicStatus{font-size:8px;gap:6px}}
@media(prefers-reduced-motion:reduce){button,.track i{transition:none}}

/* Compact controls preserve the mobile world view. */
#actions #bowAuto{top:70px;left:0;width:64px;height:28px;padding:0;border-radius:4px!important;font:600 12px/1 Verdana,sans-serif!important;color:#e8dab8;background:linear-gradient(#514b32,#302d21)}
#actions #bowAuto[aria-pressed=true]{border-color:#d8dfa1;background:linear-gradient(#7c8750,#414e29);color:#fff2c3}
#bowShot.held{border-color:#f1d48c!important;filter:brightness(1.25)}
#voiceToggle[data-state=on]{color:#e0efae;border-color:#c5d68e!important;background:linear-gradient(#5b6840,#303d25)!important}
#voiceToggle[data-state=muted]{border-color:#dfbb78!important}
#voiceToggle[data-state=error]{border-color:#dba27e!important;font-size:18px}
.voiceParticipant{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #bba57755;font-size:14px}
.voiceParticipant span{min-width:0;overflow-wrap:anywhere}.voiceParticipant button{min-height:40px;flex-shrink:0;font-size:14px;padding:6px 10px}
.voiceVolume{display:flex;flex-direction:column;gap:12px;font-size:14px;margin:20px 0}.voiceVolume input{width:100%;min-height:38px;accent-color:#c9ab63}
#voiceMessage{font-size:14px;line-height:1.6;min-height:24px}
.voiceMicTest{display:flex;flex-direction:column;gap:8px;padding:14px;background:#6877421a;border:1px solid #88744466;border-radius:8px;margin:14px 0;font-size:14px}
.voiceMicTest meter{width:100%;height:22px;accent-color:#60733d}.voiceMicTest small{font-size:12px;line-height:1.5}
@media(orientation:portrait) and (max-width:700px){.brand{max-width:calc(100% - 225px);min-width:0}.brand>div{min-width:0}.brand b,.brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#actions #bowAuto{top:62px;width:58px;height:27px;font-size:11px!important}}
@media(orientation:portrait) and (max-width:480px){.brand .crest{display:none!important}.brand b{font-size:14px;letter-spacing:.5px}.brand{max-width:calc(100% - 208px)}.headerActions{gap:3px}.headerActions .square{width:29px}.onlineStatus{max-width:74px}}
@media(orientation:landscape) and (max-height:600px){#actions #bowAuto{top:59px;width:55px;height:26px;font-size:11px!important}}
