*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#191c16;color:#fff7e9;font-family:Georgia,serif}#viewport{position:fixed;inset:0}canvas{display:block}header{position:fixed;top:24px;left:28px;right:28px;display:flex;align-items:center;gap:15px;pointer-events:none;text-shadow:0 2px 12px #0008}.mark{border:1px solid #eee8;padding:9px 14px;font-size:28px}small{font:10px Arial,sans-serif;letter-spacing:2.5px;color:#dbcfb5}h1{font-size:24px;letter-spacing:4px;margin:7px 0}h1 i{font-size:15px;letter-spacing:0;font-weight:normal;margin-left:12px;color:#e1cfad}.metrics{margin-left:auto;display:flex;gap:18px;font:11px Arial;letter-spacing:1px}aside{position:fixed;top:140px;left:28px;width:250px;background:linear-gradient(90deg,#182017ba,#18201700);padding:20px;border-left:2px solid #d4b379}h2{font-size:30px;font-weight:normal;line-height:1.18;margin:16px 0}p{font-size:14px;line-height:1.65;color:#e1dacb}#objective{font:12px Arial;color:#f3d89e;line-height:1.6;border-top:1px solid #fff3;padding-top:15px}#status{font:10px Arial;color:#d0ccbe;margin-top:12px;line-height:1.5}footer{position:fixed;bottom:20px;left:28px;right:28px;display:flex;align-items:end;justify-content:space-between;gap:15px;font:11px Arial;line-height:2;text-shadow:0 1px 5px #000}footer span{color:#d3cfbf}b{color:#ffe3a8}button,select{background:#1e281de0;color:#efe4ce;border:1px solid #d4b37966;padding:11px 12px;font:11px Arial;cursor:pointer;border-radius:3px}.settings{display:flex;gap:7px}button:hover{background:#526043}#prompt{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);font:14px Arial;background:#1b231bdd;border:1px solid #d4b37966;padding:13px 20px;border-radius:4px;display:none}#loading{position:fixed;inset:0;background:#192018;display:grid;place-items:center;text-align:center;transition:opacity .7s}#loading.hide{opacity:0;pointer-events:none}.bar{height:2px;width:280px;background:#fff2;margin:24px auto}.bar span{display:block;height:100%;width:35%;background:#d8bb83;animation:load 1.5s infinite alternate}@keyframes load{to{width:100%}}@media(max-width:800px){aside{top:100px;width:200px;padding:12px}h2{font-size:23px}footer{flex-direction:column;align-items:start}.metrics{flex-direction:column;gap:6px}}
header{background:linear-gradient(#17201755,#17201700);padding:10px;top:14px;left:18px;right:18px}footer>div:first-child{max-width:440px}.settings button{white-space:nowrap}.settings{flex-wrap:wrap;justify-content:flex-end}aside{width:220px;top:120px}aside h2{font-size:26px}body:has(#view:focus-visible) #view{outline:2px solid #ead3a1}
#vitals{font:11px Arial;line-height:1.7;color:#eedbb3}#healthbar{width:100%;height:6px;accent-color:#8baf68;margin:10px 0 16px}#battle{position:fixed;top:120px;right:24px;width:270px;background:#182018ec;padding:18px;border:1px solid #b7a177}#battleinfo{font:12px Arial;line-height:1.8;margin:15px 0}#targets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.selected{border-color:#ffe2a1;background:#536242}#battle p{font:11px Arial}#cinematic{position:fixed;inset:0;pointer-events:none;border-top:70px solid #080908;border-bottom:70px solid #080908;display:flex;flex-direction:column;justify-content:end;align-items:center;padding:20px;font:18px Georgia}#cinematic p{font:12px Arial;color:#dfd6c2}[hidden]{display:none!important}#status{font-size:9px}
#startscreen{position:fixed;inset:0;z-index:20;background:linear-gradient(90deg,#080f0df2 0%,#0b1510b8 45%,#11180d18 100%),linear-gradient(0deg,#080f0dd9,transparent 50%);padding:40px 7vw;display:flex;flex-direction:column;justify-content:space-between}.titlemeta{font:10px Arial;letter-spacing:4px;color:#c7b58b}.startcopy{margin-top:4vh}.startcopy h1{font:clamp(75px,13vw,160px) Georgia;letter-spacing:.13em;margin:20px 0 10px;color:#efd6a1;text-shadow:0 4px 40px #0006}.startcopy small{letter-spacing:5px}.titlerule{height:1px;background:linear-gradient(90deg,#c8a866,transparent);width:330px}.startcopy p{font-size:21px;line-height:1.6;color:#dad6c7;letter-spacing:1px}.startcopy #play{display:block;margin-top:28px;padding:18px 70px;border:1px solid #c7a667;background:#aa8b4d22;letter-spacing:5px;font:13px Arial;transition:background .3s,transform .3s}.startcopy #play:hover:enabled{background:#c6a36655;transform:translateX(5px)}#play:disabled{opacity:.45;cursor:wait}#musicstatus{display:block;font:10px Arial;margin-top:16px;color:#a9b2a1;letter-spacing:1px}.startbottom{font:10px Arial;letter-spacing:4px;color:#d5c7a7;display:flex;justify-content:space-between;border-top:1px solid #d6bc8133;padding-top:20px}#introoverlay{display:none;position:fixed;inset:0;z-index:19;border-top:55px solid #090d09;border-bottom:55px solid #090d09;pointer-events:none;padding:35px 7vw;justify-content:end;flex-direction:column;background:linear-gradient(0deg,#071008a0,transparent 40%)}#introoverlay h2{font-size:48px;margin:10px 0}#introoverlay p{margin:0 0 14px}.introtrack{width:200px;height:2px;background:#fff3}.introtrack span{height:100%;display:block;background:#d4b379;width:0}#skipintro{position:absolute;right:25px;bottom:25px;pointer-events:auto}#mute{position:fixed;right:25px;top:25px;z-index:30;opacity:.85}body[data-phase=play] #mute{top:85px}body[data-phase=menu] header,body[data-phase=menu] aside,body[data-phase=menu] footer,body[data-phase=intro] header,body[data-phase=intro] aside,body[data-phase=intro] footer{display:none}body[data-phase=intro] #startscreen,body[data-phase=play] #startscreen{display:none}body[data-phase=intro] #introoverlay{display:flex}body[data-phase=menu] #loading{z-index:0;pointer-events:none;opacity:0}body[data-phase=intro] #loading{display:none}@media(max-width:700px){.startcopy h1{font-size:70px}.startcopy #play{padding:16px 35px}.startcopy p{font-size:18px}}

#goal{display:none;position:fixed;top:26px;left:26px;color:#fff2d4;background:#191b16b8;padding:13px 20px;border-left:2px solid #c6a567;font:16px Georgia,serif;pointer-events:none}body[data-phase="play"] #goal{display:block}#pausemenu{display:none;position:fixed;inset:6vh 8vw;background:#151913ed;border:1px solid #887354;padding:24px;overflow:auto;z-index:30;backdrop-filter:blur(9px)}body[data-phase="play"][data-paused="true"] #pausemenu{display:block}#pausemenu header,#pausemenu aside,#pausemenu footer,#pausemenu #battle{position:static;display:block;width:auto;max-width:none;margin:18px 0;padding:14px;border:0;background:transparent}#pausemenu header{display:flex}#pausemenu aside h2,#pausemenu aside>small,#pausemenu aside>p,#pausemenu header h1,#pausemenu header .mark{display:none}#pausemenu footer .settings{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#pausemenu #battle[hidden]{display:none}#prompt{display:none!important}body[data-phase="play"] #mute{display:none}#cinematic div,#cinematic p{display:none}body[data-paused="true"] #goal{display:none}#pausemenu h2{margin:0 0 15px;font:28px Georgia,serif}

#loading.hide{display:none}

#hud{display:none;position:fixed;left:26px;bottom:24px;width:210px;background:#141c16c9;padding:15px;border-left:2px solid #b69b64;font:11px Arial,sans-serif}body[data-phase=play] #hud{display:block}#hud label{display:block;margin-bottom:10px;color:#d7cfbc}#hud label span{float:right}#hud progress{display:block;width:100%;height:7px;margin-top:5px;accent-color:#8baf68}#hud #hudhealth{accent-color:#b96052}#hud #hudenergy{accent-color:#c8b86d}#partyhud{font-size:11px;color:#cfbe99;line-height:1.7}#campnotice{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background:#141b15cc;padding:12px 18px;font:13px Arial;color:#efdfbd;max-width:55vw;text-align:center}#dialogue{position:fixed;z-index:40;bottom:8vh;left:20vw;right:20vw;background:#172017f5;border:1px solid #ac925d;padding:28px;box-shadow:0 10px 80px #0008}#dialogue h2{margin:10px 0}#dialogue p{font-size:16px}#deathscreen{position:fixed;z-index:100;inset:0;display:grid;place-content:center;background:#0a0c09ec;text-align:center}#deathscreen h1{font-size:40px;letter-spacing:1px}body[data-paused=true] #hud,body[data-paused=true] #campnotice,body[data-dialog=true] #campnotice{display:none}@media(max-width:650px){#hud{width:165px;left:15px;bottom:15px}#dialogue{left:5vw;right:5vw}#campnotice{bottom:200px;width:80vw;max-width:80vw}}

@media(min-width:651px){#dialogue{left:max(270px,20vw);right:8vw}}

#dayclock{display:none;position:fixed;top:26px;right:26px;width:220px;padding:14px 17px;background:#141c16cc;border-right:2px solid #b69b64;color:#eedfbf;font:13px Georgia,serif}body[data-phase=play] #dayclock{display:block}#clockevent{font:12px Arial;margin-top:9px;color:#e6cca0}#dayclock progress{display:block;width:100%;height:4px;margin:10px 0;accent-color:#b89a5b}#dayclock small{font:9px Arial;letter-spacing:1px}body[data-paused=true] #dayclock{display:none}#dialoguechoices{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}#rollresult{font:12px Arial;color:#e2c48c;line-height:1.5}#dialogue{max-height:80vh;overflow:auto}@media(max-width:650px){#dayclock{width:175px;right:12px;top:90px}#goal{font-size:13px;max-width:90vw}}

#hud,#dayclock,#goal{z-index:3}#cinematic{z-index:2}body[data-cutscene=true] #dayclock,body[data-cutscene=true] #goal{top:85px}body[data-cutscene=true] #hud{bottom:85px}

#inventory{padding:14px 18px;background:#201d17;border:1px solid #655338;border-radius:8px;margin:12px 0;color:#ece2cc}#inventory p{font-size:13px;line-height:1.6}#recipes{display:flex;gap:8px;flex-wrap:wrap}#recipes button:disabled{opacity:.4}

/* Original engraved Roman capitals and gilded fantasy framing. */
:root{--gate-gold:#c4a16a;--gate-ink:#121319}h1,h2,h3,#dialogue small{font-family:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}button,select{border-color:#8c734d;background:linear-gradient(180deg,#34302b,#191b20);color:#eee0bf}button:hover:enabled{border-color:#e4c78c;box-shadow:inset 0 0 16px #d7af6a18,0 0 12px #d7af6a18}#startscreen{background:radial-gradient(ellipse at 35% 45%,#15192355,#080b13bb 75%),linear-gradient(90deg,#080b13e8,transparent);align-items:center;text-align:center;padding:30px 6vw}.titlemeta{letter-spacing:5px;color:#bfa981}.startcopy{margin:0}.gatecrest{color:#c9a770;font-size:48px;line-height:1;text-shadow:0 0 35px #b48b5555}.gatecrest:before,.gatecrest:after{content:"";display:inline-block;width:90px;height:1px;background:linear-gradient(90deg,transparent,#b1905a);vertical-align:middle;margin:0 20px}.gatecrest:after{transform:rotate(180deg)}.startcopy h1{margin:15px 0;line-height:.83;letter-spacing:.07em;text-shadow:0 3px 2px #080b16,0 0 24px #111}.startcopy h1 span{display:block;font-size:clamp(32px,6vw,65px);font-weight:normal;letter-spacing:.17em;color:#e7d4ac}.startcopy h1 strong{display:block;font-size:clamp(85px,15vw,150px);font-weight:normal;margin-top:14px;color:#c7a16a;text-shadow:0 1px #f8e6bd,0 5px 3px #080b16,0 0 35px #000}.titlerule{width:100%;background:linear-gradient(90deg,transparent,#b99a64,transparent);margin:20px auto}.startcopy p{font-size:17px;line-height:1.45;margin:18px 0}.startcopy #play{margin:22px auto 0;min-width:290px;clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%);font-family:Georgia,serif;background:linear-gradient(180deg,#51402a99,#151722cc);padding:16px 65px}.startcopy #play:hover:enabled{transform:translateY(-2px)}.startbottom{width:100%}#pausemenu,#dialogue{background:linear-gradient(145deg,#1b1e26f2,#111319f5);border:1px solid #ae8b55;box-shadow:inset 0 0 0 4px #181a20,inset 0 0 0 5px #66523455,0 20px 80px #0009}#pausemenu h2,#dialogue h2{color:#e3c795;letter-spacing:1px}#carrypanel{padding:14px 18px;margin:14px 0;border:1px solid #66523b;background:#17191ed9;color:#e3d8bc}#carrypanel label{display:inline-flex;gap:8px;margin:7px 10px 7px 0;align-items:center}#carrypanel p{font-size:13px;line-height:1.5}#carrypanel select{max-width:230px;padding:7px}#hud progress{accent-color:#c0a269}@media(max-height:700px){.gatecrest{font-size:30px}.startcopy h1 strong{font-size:90px}.startcopy h1 span{font-size:38px}.startcopy p{font-size:15px;margin:12px}.startcopy #play{margin-top:12px;padding-top:12px;padding-bottom:12px}}@media(max-width:600px){.gatecrest:before,.gatecrest:after{width:45px;margin:0 12px}.titlemeta{font-size:8px;letter-spacing:3px}#carrypanel label{display:flex}}
#pause-tabs{display:flex;gap:10px;margin:0 0 20px;position:sticky;top:-24px;background:#171a17;padding:15px 0;z-index:2}#pause-tabs button{font-size:15px;padding:13px 20px}#pause-tabs button[aria-pressed="true"]{background:#71542d;border-color:#f3d494;color:#fff4d3}#pausemenu [hidden]{display:none!important}#pausemenu h3{font-size:24px;color:#f0d494}#journal{max-width:1000px;margin:auto}#journal h4{font-size:18px;color:#dcc692;margin:22px 0 10px}.journalintro{color:#adafa3}#journalobjectives{background:#27271e;border-left:4px solid #d0ac62;padding:18px 35px;line-height:1.8}#journalpeople{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.personentry{border:1px solid #5b513e;padding:15px;background:#1d211b}.personentry b{display:block;font:20px Georgia;color:#f0dbaf}.personentry span{display:block;color:#c3bc9d;margin-top:7px}.personentry p{font-size:13px;line-height:1.6}#journalentries details{margin:12px 0;border:1px solid #534c3c;padding:15px}#journalentries summary{cursor:pointer;font-size:18px;color:#e9cc90}#journalentries li{padding:8px 0;line-height:1.6}#journalentries time{color:#bea674;font-size:12px;margin-right:8px}#craftinggoal{padding:18px 22px;border:2px solid #c6a364;background:linear-gradient(110deg,#4c3b24,#23271e);margin:20px 0}#craftinggoal small{letter-spacing:2px;color:#e0bb73}#craftinggoal h4{font:26px Georgia;margin:10px 0;color:#fff0c8}#craftinggoal p{font-size:15px!important;max-width:800px}#recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.recipe-card{border:1px solid #716047;border-radius:6px;background:#262921;padding:20px;display:flex;flex-direction:column}.recipe-card h4{font:21px Georgia;color:#f1d5a0;margin:0 0 8px}.recipe-card p{min-height:40px}.recipe-card ul{list-style:none;padding:0}.recipe-card li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #fff1;font-size:14px;gap:10px}.recipe-card .enough{color:#b2d99d}.recipe-card .short{color:#efb69b}.recipe-card .recipe-status{font-size:14px!important;min-height:0;margin-top:auto}.recipe-card.ready{border-color:#a2ba75}.recipe-card button{width:100%;padding:13px 10px;font-size:14px}.recipe-card button:disabled{opacity:.7!important;color:#b8b1a0}.supplychip{display:inline-block;border:1px solid #5f563f;border-radius:4px;padding:8px 12px;margin:4px;background:#31342a}.supplychip b{font-size:20px;margin-right:7px;color:#e9cd8f}.emptybag{font-size:15px;color:#c9c1aa}#npcfocus{position:fixed;z-index:8;transform:translate(-50%,-100%);background:#17190fe0;border:1px solid #bc9e67;padding:5px 12px;color:#f9e5bd;pointer-events:none;font:15px Georgia}#npcfocus[hidden]{display:none}#cooking{margin-top:24px;padding-top:18px;border-top:2px solid #9b8050}#cooking button{font-size:14px;padding:12px 16px;margin:5px}#companionpacks{padding:20px;margin-top:20px;border:1px solid #716047}
#recipes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}#craftfeedback:empty{display:none}#craftfeedback{color:#c8edae;border-top:1px solid #fff3;padding-top:10px;font-weight:bold}@media(max-width:600px){#recipes{grid-template-columns:1fr}#pausemenu{inset:3vh 3vw;padding:16px}#pause-tabs{flex-wrap:wrap}}
#dialogue [hidden]{display:none!important}#actionfeedback{position:fixed;z-index:45;top:130px;left:50%;transform:translateX(-50%);max-width:580px;padding:16px 22px;background:#201e17ed;border:1px solid #d3b67d;color:#fff0ca;font:17px Georgia;text-align:center;box-shadow:0 5px 30px #0008}#actionfeedback[hidden]{display:none}.escape-step{padding:12px;margin:8px 0;border-left:3px solid #c6a56a;background:#28291f}.escape-step.done{border-color:#8cb97b;color:#b9d6a3}

button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ffe0a0;outline-offset:4px;box-shadow:0 0 20px #e0b76b66}.recipe-card.ready{border:2px solid #d7b45f;background:linear-gradient(135deg,#353020,#1b1a17)}.recipe-card.ready button{background:#705b2d;color:#fff4d5;font-weight:bold}.recipe-card ul{list-style:none;padding:0}.recipe-card li{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid #ffffff15}.recipe-card .short{color:#e6a195}.recipe-card .enough{color:#b5d4a1}#craftfeedback:not(:empty){padding:14px;border:1px solid #d7b45f;background:#40371f;color:#ffe2a0}#pickup-feed>div{animation:supply-arrive .22s ease-out}@keyframes supply-arrive{from{transform:translateX(25px);opacity:0}to{transform:translateX(0);opacity:1}}

#controller-layout{margin:20px 0;padding:22px;border:1px solid #b3975a;background:linear-gradient(135deg,#27251c,#171819)}#controller-layout h3{margin:0 0 10px;color:#f4d88b;font-size:26px}#controller-layout h4{color:#ebce8b;font-size:19px;margin:15px 0}.controller-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px}#controller-layout dl{display:grid;grid-template-columns:minmax(130px,.85fr) 1.4fr;gap:0;margin:0}#controller-layout dt,#controller-layout dd{margin:0;padding:9px 0;border-bottom:1px solid #ffffff15}#controller-layout dt{font-weight:bold;color:#efe1be}#controller-layout dd{color:#d2cec1}.pad-cross{color:#8dc3ff}.pad-circle{color:#ff9994}.pad-triangle{color:#95deb1}.pad-square{color:#e9a3de}.pad-cross,.pad-circle,.pad-triangle,.pad-square{font-size:23px;display:inline-block;width:25px}.controller-note{font-size:15px;color:#c3b797}#controller-status{padding:12px;border-left:3px solid #b3975a;font-size:15px;overflow-wrap:anywhere}@media(max-width:750px){.controller-columns{grid-template-columns:1fr;gap:5px}#controller-layout{padding:15px}}

#battle{z-index:22;top:auto;bottom:18px;right:18px;width:min(650px,calc(100vw - 36px));max-height:44vh;overflow:auto;background:#121711f5;border:2px solid #c3a665;box-shadow:0 6px 35px #000b}#battle>button{margin:5px}#battleinfo{font-size:17px;color:#ffe1a0}#targets{grid-template-columns:repeat(3,1fr)}body[data-combat="true"] #goal{max-width:380px}body[data-paused="true"] #battle{display:none}#targets button{font-size:13px}

#battleinfo{white-space:pre-line}#battle>button:disabled{opacity:.45}#battle>small{color:#e9d49b;letter-spacing:.15em}

#combat-turn-banner{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:24;background:#18261df5;border:2px solid #e8c66b;padding:15px 24px;color:#ffe8a3;font:bold 19px Georgia;text-align:center;max-width:60vw;pointer-events:none}#escape-route{position:fixed;left:24px;bottom:30px;z-index:21;background:#131d16e8;border:1px solid #d7b46c;padding:16px;width:330px;color:#fff0cc}#shed-waypoint{position:fixed;z-index:20;background:#201909e8;border:1px solid #ffd37a;color:#ffd37a;padding:8px;pointer-events:none}.damage-number{position:fixed;z-index:28;color:#ff7777;text-shadow:0 2px 4px #000;font:bold 30px Georgia;pointer-events:none}body[data-paused="true"] #combat-turn-banner,body[data-paused="true"] #escape-route{display:none}#battle{max-height:50vh}#battle button{min-height:42px}

#inventoryitems,.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.item-card{display:flex;flex-direction:column;gap:8px;min-height:115px;padding:14px;border:1px solid #786344;border-radius:5px;background:linear-gradient(145deg,#302d24,#171b18)}.item-card small{font:bold 20px Georgia;color:#bda373}.item-card strong{font-size:14px}.item-card b{align-self:flex-end;color:#ffe2a1}.item-card span{font-size:12px;color:#ab9f87}#battle-inventory-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#battle-inventory-tools select{max-width:150px}#combat-load{width:100%;font-size:12px}#combat-turn-banner{font-size:16px;padding:10px 18px}#escape-route{font-size:14px;width:290px}#battle{width:min(620px,calc(100vw - 36px))}

.upgrade-choice{display:inline-block;min-width:180px;max-width:260px;padding:14px;margin:5px;border-color:#b18e50;text-align:left}#goal{max-width:350px;font-size:14px}

#party-control{position:fixed;bottom:18px;left:18px;z-index:20;background:#131b16ed;padding:12px;border:1px solid #aa8b51;max-width:420px}#party-control small{display:block;font-size:11px;margin-top:6px}#party-control button{margin:3px;font-size:12px}body[data-paused="true"] #party-control{display:none}#escape-route{bottom:160px}

.character-inventory-layout{display:grid;grid-template-columns:66px minmax(240px,1.4fr) minmax(180px,1fr) minmax(190px,.9fr);gap:16px;align-items:start;background:radial-gradient(ellipse at 55% 25%,#554b37a8,transparent 65%),linear-gradient(130deg,#332f27,#171c18);padding:18px;border:1px solid #8b7449;border-radius:8px}.character-rail{display:flex;flex-direction:column;gap:8px}.party-portrait-button{padding:4px!important;width:62px;font-size:10px!important;overflow:hidden}.party-portrait-button img{display:block;width:50px;height:64px;object-fit:cover;object-position:50% 18%;margin:auto}.party-portrait-button[aria-pressed="true"]{border:2px solid #efd497;background:#6b5831}.character-bag header{border-bottom:1px solid #93794e;padding-bottom:10px;margin-bottom:12px}.character-bag h3{margin:0 0 8px;font-size:21px}.character-bag small{font-size:12px;color:#cfb98b}.character-bag .item-grid{grid-template-columns:repeat(6,minmax(35px,1fr));gap:4px}.character-bag .item-card{position:relative;height:54px;min-height:54px;padding:4px;gap:0;justify-content:center;border-color:#8c7859;border-radius:2px;background:linear-gradient(140deg,#635d45,#242b22)}.character-bag .item-card small{font:bold 19px Georgia;color:#e1d2ad;align-self:center}.character-bag .item-card strong{font:9px Arial;text-align:center;overflow:hidden;max-height:20px}.character-bag .item-card b{position:absolute;bottom:1px;right:3px;font:11px Arial;text-shadow:1px 1px black}.character-bag .item-card b span{display:none}.character-bag .empty-slot{background:#141a15aa;border-color:#554f3c}.character-portrait{position:relative;text-align:center;min-height:410px}.character-portrait h3{font-size:26px;color:#eedba9;margin:5px}.character-portrait>img{width:100%;max-height:380px;object-fit:contain;mix-blend-mode:screen}.equipment-slots{display:grid;grid-template-columns:1fr 1fr;gap:7px}.equipment-slots span{display:block;background:#161c16bf;border:1px solid #806d4c;padding:8px;font:11px Arial;color:#b9aa8a}.equipment-slots b{display:block;color:#f4dfae;margin-top:6px}.character-stats{font:12px Georgia;line-height:1.8}.character-stats h3{font-size:25px;color:#e8c87b;margin:5px}.character-stats .upgrade-choice{width:100%;min-width:0;padding:9px;margin:3px 0;font:11px Arial}.character-stats h4{border-bottom:1px solid #7a6946;padding-bottom:8px;color:#d8c49c}.character-role{font-style:italic;color:#d2b98e}.inventory-transfer-row{font:11px Arial}.inventory-transfer-row span{min-width:85px!important}.inventory-transfer-row button{font-size:10px;padding:6px}#party-stats>.character-inventory-layout{margin-top:8px}@media(max-width:1000px){.character-inventory-layout{grid-template-columns:56px minmax(210px,1fr) minmax(150px,.8fr);gap:10px;padding:10px}.character-stats{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px}.character-stats p{width:100%}.character-stats .upgrade-choice{width:30%}.party-portrait-button{width:52px}.party-portrait-button img{width:42px}.character-bag .item-grid{grid-template-columns:repeat(5,1fr)}}

.item-card svg{width:38px;height:38px;filter:drop-shadow(1px 2px 2px #0008)}.character-bag .item-card svg{width:33px;height:33px}.character-bag .item-card small{line-height:0}.character-bag .item-card strong{font-size:8px}.character-bag .item-card{height:59px;min-height:59px}

#party-crafting{padding:16px;border:1px solid #8c7551;background:linear-gradient(130deg,#302e24,#151d19)}#party-crafting header h3{font:30px Georgia;color:#efdbad;margin:0 0 12px}.craft-workspace{display:grid;grid-template-columns:minmax(240px,1fr) minmax(230px,.8fr);gap:28px}.craft-bag,.craft-combination{padding:18px;border:1px solid #9a8359;background:#11191499}.craft-bag h4,.craft-combination h4{font:22px Georgia;margin:0 0 12px}.craft-supply-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px;min-height:280px;align-content:start;margin:18px 0}.craft-supply-grid button{position:relative;display:flex;flex-direction:column;align-items:center;height:92px;padding:6px;background:linear-gradient(140deg,#55513c,#252b22)}.craft-supply-grid svg{width:36px;height:36px}.craft-supply-grid strong{font:10px Arial;margin-top:5px}.craft-supply-grid b{position:absolute;right:5px;bottom:4px;font:12px Arial;color:#ffe8ae}.ingredient-slot{position:relative;min-height:80px;border:1px solid #8d7855;margin:0 0 20px;padding:12px;background:#293025}.ingredient-slot strong{display:block;color:#e4cda0;margin-bottom:5px}.ingredient-slot p{font:12px Arial;color:#b8ad92}.ingredient-slot div{display:flex;align-items:center;gap:9px}.ingredient-slot svg,.craft-result svg{width:32px;height:32px}.ingredient-slot input{width:60px;padding:5px;background:#151c16;color:#f3deac;border:1px solid #80704d;margin:6px}.ingredient-slot button{padding:5px;font-size:11px}.combination-plus{position:absolute;top:-25px;right:20px;color:#d4b778;font-size:25px}.combination-equals{display:block;font-size:28px;text-align:center;color:#e5c781}.craft-result{min-height:95px;padding:15px;border:2px solid #b69655;background:#363a25}.craft-result strong{display:block;font:20px Georgia}.craft-result p,.craft-workshop-feedback{font:13px Arial;line-height:1.5}.craft-known{margin-top:20px}.craft-known button{display:block;width:100%;text-align:left;font-size:12px;margin:6px 0}#combine-items{margin:15px 6px 6px 0;border-color:#d0ab62;background:#554c2b}#inventory:has(#party-crafting)>#inventoryitems,#inventory:has(#party-crafting)>#inventorynote,#inventory:has(#party-crafting)>#recipes,#inventory:has(#party-crafting)>#craftinggoal{display:none}#party-crafting small{font:12px Arial;color:#bead87}@media(max-width:700px){.craft-workspace{grid-template-columns:1fr;gap:14px}.craft-supply-grid{min-height:160px}}

/* A quiet dialogue ribbon keeps the scene visible. */
#dialogue{left:18%;right:10%;bottom:3vh;max-height:43vh;padding:16px 22px;background:linear-gradient(90deg,rgba(14,12,10,.91),rgba(14,12,10,.76));border:0;border-top:1px solid #bba07166;border-radius:2px;box-shadow:0 8px 25px #0005;backdrop-filter:none;overflow:hidden}
#dialogue>small{display:none}#dialogue h2{font-size:18px;margin:0 0 5px;color:#dfc48b}#dialogue #talktext{font-size:19px;line-height:1.45;margin:0 0 9px;max-height:11vh;overflow:auto}#conversation-options{max-height:23vh;overflow-y:auto;padding-right:8px;scrollbar-color:#aa8c54 transparent}#dialogue #smalltalk,#dialogue #dialoguechoices{display:block;margin:0}#conversation-options button{display:block;width:100%;text-align:left;border:0;background:transparent;box-shadow:none;padding:5px 10px;color:#f0e7d5;font-size:17px;line-height:1.35;border-radius:2px;margin:0}#conversation-options button::before{content:attr(data-choice-number) '. ';color:#d3b87c}#conversation-options button:hover,#conversation-options button:focus-visible{color:#ffe2a0;background:#bd9a4926;outline:1px solid #cdb57666}#dialogue #talkclose{background:none;border:0;font-size:13px;color:#b8aa92;margin:7px 0 0;padding:3px 10px}#report-direction{position:fixed;z-index:12;transform:translateX(-50%);color:#ffe2a0;background:#19150ddb;border:1px solid #c8a45d88;padding:7px 12px;border-radius:4px;font-size:15px;pointer-events:none;white-space:nowrap}body[data-dialog=true] #report-direction{visibility:hidden}@media(max-width:700px){#dialogue{left:4%;right:4%;bottom:2vh;padding:12px;max-height:48vh}#dialogue #talktext{font-size:16px}#conversation-options button{font-size:15px}}

.inventory-item-picture{width:48px;height:48px;object-fit:contain;display:block;margin:auto}

.craft-supply-grid button{position:relative;min-height:132px}.craft-supply-grid button strong{display:block;padding-right:10px}.craft-supply-grid button b{position:absolute;right:7px;bottom:5px;font-size:17px}.craft-supply-grid .inventory-item-picture{width:64px;height:64px;border-radius:3px;margin:0 auto 8px}

#battle{position:fixed;left:auto;right:14px;bottom:14px;top:auto;width:min(360px,30vw);max-height:34vh;overflow:auto;padding:10px;background:#151910d9;border:1px solid #ac925566;box-shadow:0 3px 12px #0005;font-size:12px}#battle button{min-height:30px;padding:5px 8px;font-size:12px}#battleinfo{font-size:12px;line-height:1.4}#targets{grid-template-columns:repeat(2,1fr);gap:3px;max-height:70px;overflow:auto}#battle-inventory-tools{font-size:11px;gap:4px}#battle-inventory-tools select{max-width:120px;font-size:11px}#combat-load{margin:3px}#combat-turn-banner{top:12px;padding:7px 12px;font-size:14px;border-width:1px}#forest-exit-marker{position:fixed;z-index:20;transform:translateX(-50%);padding:7px 12px;color:#ffe0a1;background:#171d15dc;border:1px solid #bda15c88;pointer-events:none;font:14px Georgia}body[data-paused=true] #forest-exit-marker{display:none}@media(max-width:700px){#battle{width:45vw;max-height:30vh}}

/* Shared Chapter I palette: warm wood, parchment and restrained brass. */
:root{--camp-paper:#eadbb9;--camp-gold:#b99860;--camp-wood:#30251b;--camp-ink:#17130f}
button,select{font-family:Georgia,serif;color:var(--camp-paper);background-color:#30271ee8;border-color:#8d744b}
button:hover:not(:disabled){background-color:#51402d;border-color:#d0b57d}
button:focus-visible,select:focus-visible{outline:2px solid #eed19a;outline-offset:3px}
#pausemenu{background:linear-gradient(135deg,#292017f5,#15120ff5);border-color:var(--camp-gold);color:var(--camp-paper)}
#pausemenu h2,#pausemenu h3{color:#efd59e}
#pausemenu section{border-color:#77603e}
.inventory-slot,.craft-supply-grid button{background:linear-gradient(150deg,#3e3324,#221c15);border-color:#89724b;color:var(--camp-paper)}
#dialogue{color:var(--camp-paper);border-top-color:#b9986070}
#dialogue button{background:transparent}
#battle{background:linear-gradient(135deg,#292016f2,#15120fec);border-color:#9d804f;color:var(--camp-paper)}

#pause-tabs{background:#261e17}
#journalobjectives,.personentry,.recipe-card,.supplychip{background:#30271d}
#party-crafting{background:linear-gradient(130deg,#382b20,#1c1712)}
.craft-bag,.craft-combination{background:#1b1510a8}
.ingredient-slot{background:#34291e}
.craft-result{background:#403322}
#craftinggoal{background:linear-gradient(110deg,#4c3b24,#211b14)}
#pausemenu{scrollbar-color:#9d8053 #211b14;scrollbar-width:thin}

#hud,#dayclock,#chapterobjective{background:linear-gradient(130deg,#2b221bd9,#16120ed9);border-color:#927749;color:#eadbb9}

/* Compact chapter HUD: leave the character and center of the screen unobstructed. */
body[data-phase="play"] #goal{left:16px;top:16px;transform:none;width:min(295px,32vw);font:13px/1.45 Georgia;padding:10px 12px;background:#171b16cf;border:1px solid #84734d;text-align:left}
body[data-phase="play"] #dayclock{right:16px;top:16px;padding:10px 12px;font:12px Georgia;max-width:225px}
body[data-phase="play"] #hud{left:16px;bottom:16px;padding:10px 12px;width:185px;font:11px Georgia}
#escape-route{left:16px;top:76px;bottom:auto;width:min(280px,30vw);padding:8px 12px;font:12px/1.45 Georgia;background:#171b16c9;border:1px solid #84734d;pointer-events:none}
#escape-route strong{font-size:12px;letter-spacing:.06em}#escape-route p{margin:5px 0}#escape-route button{pointer-events:auto;font-size:12px;padding:6px 8px;min-height:28px}
#party-control{left:218px;bottom:16px;padding:7px;max-width:370px;background:#171b16cf}#party-control small{font-size:10px}#combat-turn-banner{font:14px Georgia;padding:8px 14px;border-width:1px}
@media(max-width:700px){body[data-phase="play"] #goal{width:43vw;max-width:none}#escape-route{width:42vw;max-width:none;top:105px;font-size:11px}#party-control{left:205px;max-width:calc(100vw - 225px)}}

#partyhud{position:fixed;left:218px;bottom:92px;display:grid;grid-template-columns:repeat(2,154px);gap:5px;pointer-events:none}.party-status-card{white-space:pre-line;text-align:center;background:#171b16cf;border:1px solid #84734d;padding:8px;color:#eadbb9;font:11px/1.6 Georgia}body[data-paused="true"] #partyhud{display:none}@media(max-width:700px){#partyhud{left:205px;grid-template-columns:repeat(2,minmax(90px,1fr));width:calc(100vw - 225px)}.party-status-card{font-size:10px;padding:5px}}

#partyhud{bottom:155px}

/* ==========================================================================
   AAA PRESENTATION OVERHAUL — CINEMATIC HUD, POST-FX & TACTICAL DECK
   ========================================================================== */
:root {
 --font-display: 'Cinzel', 'Palatino Linotype', Georgia, serif;
 --font-serif: 'Cormorant Garamond', Georgia, serif;
 --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
 --aaa-gold: #d8b574;
 --aaa-gold-bright: #ffe4a8;
 --aaa-gold-dim: rgba(216, 181, 116, 0.35);
 --aaa-obsidian: rgba(14, 16, 15, 0.84);
 --aaa-obsidian-deep: rgba(10, 12, 11, 0.94);
 --aaa-crimson: #c94a3d;
 --aaa-amber: #d9a441;
 --aaa-emerald: #64b875;
}

body {
 font-family: var(--font-serif);
 -webkit-font-smoothing: antialiased;
 text-rendering: optimizeLegibility;
}

/* Screen-Space Cinematic Post-Processing Overlay */
#aaa-overlay {
 position: fixed;
 inset: 0;
 pointer-events: none;
 z-index: 2;
 overflow: hidden;
}
.aaa-vignette {
 position: absolute;
 inset: 0;
 background: radial-gradient(ellipse at center, transparent 56%, rgba(6, 8, 7, 0.42) 86%, rgba(4, 5, 5, 0.78) 100%);
}
.aaa-damage-pulse {
 position: absolute;
 inset: 0;
 opacity: 0;
 background: radial-gradient(ellipse at center, transparent 45%, rgba(185, 28, 22, 0.55) 100%);
 transition: opacity 0.35s ease-out;
}
.aaa-damage-pulse.active {
 animation: aaa-hit-flash 0.42s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes aaa-hit-flash {
 0% { opacity: 0.85; transform: scale(1.01); }
 100% { opacity: 0; transform: scale(1); }
}
.aaa-lowhealth-pulse {
 position: absolute;
 inset: 0;
 opacity: 0;
 background: radial-gradient(ellipse at center, transparent 42%, rgba(145, 16, 16, 0.65) 100%);
 transition: opacity 0.15s linear;
}
.aaa-sunflare {
 position: absolute;
 top: -15%;
 left: 10%;
 width: 80%;
 height: 45%;
 background: radial-gradient(ellipse at 50% 0%, rgba(255, 224, 166, 0.08), transparent 70%);
}

/* Typography & Interactive Controls */
h1, h2, h3, #combat-turn-banner, .startcopy h1 {
 font-family: var(--font-display);
}
button, select {
 font-family: var(--font-sans);
 font-weight: 500;
 letter-spacing: 0.03em;
 border: 1px solid rgba(212, 179, 121, 0.42);
 background: linear-gradient(180deg, rgba(46, 39, 30, 0.92), rgba(22, 19, 16, 0.96));
 box-shadow: inset 0 1px 0 rgba(255, 236, 196, 0.14), 0 4px 14px rgba(0, 0, 0, 0.45);
 transition: all 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}
button:hover:not(:disabled) {
 border-color: var(--aaa-gold-bright);
 background: linear-gradient(180deg, rgba(78, 63, 44, 0.96), rgba(36, 29, 22, 0.98));
 box-shadow: inset 0 1px 0 rgba(255, 240, 200, 0.28), 0 0 18px rgba(216, 181, 116, 0.25), 0 6px 16px rgba(0, 0, 0, 0.55);
 transform: translateY(-1px);
}
button:active:not(:disabled) {
 transform: translateY(0);
}

/* Title / Start Screen Polish */
#startscreen {
 background:
  radial-gradient(ellipse at 50% 38%, rgba(28, 34, 28, 0.25) 0%, rgba(8, 11, 14, 0.82) 72%, rgba(5, 7, 9, 0.96) 100%),
  linear-gradient(180deg, rgba(6, 8, 10, 0.75) 0%, transparent 35%, rgba(6, 8, 10, 0.88) 100%);
 backdrop-filter: blur(2px);
}
.startcopy h1 span {
 font-family: var(--font-display);
 font-weight: 600;
 letter-spacing: 0.26em;
 color: #efe0be;
 text-shadow: 0 4px 24px rgba(0, 0, 0, 0.85);
}
.startcopy h1 strong {
 font-family: var(--font-display);
 font-weight: 700;
 background: linear-gradient(180deg, #fff1cf 0%, #d9b574 52%, #9a7438 100%);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 filter: drop-shadow(0 8px 32px rgba(0, 0, 0, 0.9));
}
.startcopy #play {
 font-family: var(--font-display);
 font-weight: 600;
 letter-spacing: 0.22em;
 border: 1px solid #dfb974;
 background: linear-gradient(180deg, rgba(96, 74, 42, 0.85), rgba(26, 22, 18, 0.95));
 box-shadow: 0 0 32px rgba(216, 181, 116, 0.22), inset 0 1px 0 rgba(255, 242, 210, 0.35);
}
.startcopy #play:hover:enabled {
 background: linear-gradient(180deg, rgba(128, 98, 54, 0.95), rgba(42, 33, 24, 0.98));
 box-shadow: 0 0 42px rgba(235, 198, 128, 0.42), inset 0 1px 0 rgba(255, 246, 220, 0.55);
 transform: translateY(-2px) scale(1.02);
}

/* HUD Objective Tracker, Day Clock & Vitals */
body[data-phase="play"] #goal {
 font: 600 13px/1.45 var(--font-sans);
 letter-spacing: 0.015em;
 background: linear-gradient(135deg, rgba(18, 22, 19, 0.88), rgba(12, 14, 13, 0.78));
 border: 1px solid rgba(216, 181, 116, 0.38);
 border-left: 3px solid var(--aaa-gold);
 border-radius: 4px;
 box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
 backdrop-filter: blur(8px);
 padding: 11px 15px;
 transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
}
#goal.aaa-goal-flash {
 animation: aaa-goal-pulse 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes aaa-goal-pulse {
 0% { border-color: #ffe8a8; box-shadow: 0 0 24px rgba(255, 224, 150, 0.45); transform: translateX(4px); }
 100% { transform: translateX(0); }
}

body[data-phase="play"] #dayclock {
 font: 500 12px/1.4 var(--font-sans);
 background: linear-gradient(135deg, rgba(18, 22, 19, 0.88), rgba(12, 14, 13, 0.78));
 border: 1px solid rgba(216, 181, 116, 0.35);
 border-right: 3px solid var(--aaa-gold);
 border-radius: 4px;
 box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
 backdrop-filter: blur(8px);
}
#clocktime {
 font-family: var(--font-display);
 font-weight: 600;
 font-size: 13px;
 letter-spacing: 0.06em;
 color: var(--aaa-gold-bright);
}

/* Custom AAA Vitals HUD Bars */
body[data-phase="play"] #hud {
 background: linear-gradient(145deg, rgba(16, 20, 18, 0.88), rgba(10, 13, 12, 0.82));
 border: 1px solid rgba(216, 181, 116, 0.34);
 border-left: 3px solid var(--aaa-gold);
 border-radius: 5px;
 box-shadow: 0 10px 32px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.07);
 backdrop-filter: blur(8px);
 padding: 11px 13px;
}
#hud label {
 font: 600 10px/1.2 var(--font-sans);
 text-transform: uppercase;
 letter-spacing: 0.08em;
 color: #dfd4be;
 margin-bottom: 7px;
}
#hud label:last-of-type {
 margin-bottom: 2px;
}
#hud label span {
 font-variant-numeric: tabular-nums;
 color: var(--aaa-gold-bright);
}
#hud progress, .compact-vitals progress {
 -webkit-appearance: none;
 appearance: none;
 width: 100%;
 height: 6px;
 border-radius: 99px;
 overflow: hidden;
 background: rgba(255, 255, 255, 0.1);
 border: 1px solid rgba(0, 0, 0, 0.6);
 box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.7);
}
#hud progress::-webkit-progress-bar, .compact-vitals progress::-webkit-progress-bar {
 background: rgba(10, 12, 11, 0.75);
}
#hud #hudhealth::-webkit-progress-value, .compact-vitals label:first-child progress::-webkit-progress-value {
 background: linear-gradient(90deg, #96271f, #e05344);
 box-shadow: 0 0 8px rgba(224, 83, 68, 0.6);
 transition: width 0.25s ease;
}
#hud #hudenergy::-webkit-progress-value {
 background: linear-gradient(90deg, #8b7a2b, #e3c852);
 transition: width 0.25s ease;
}
#hud #hudhunger::-webkit-progress-value {
 background: linear-gradient(90deg, #8c5e2a, #dfa055);
 transition: width 0.25s ease;
}

/* Interaction & Context Prompts */
#campnotice, #prompt {
 font: 500 13px/1.4 var(--font-sans);
 letter-spacing: 0.02em;
 background: linear-gradient(180deg, rgba(20, 25, 22, 0.92), rgba(12, 15, 13, 0.95));
 border: 1px solid rgba(216, 181, 116, 0.5);
 border-radius: 6px;
 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.65), 0 0 16px rgba(216, 181, 116, 0.12);
 backdrop-filter: blur(8px);
 color: #fff4db;
}

/* AAA Dialogue Presentation */
#dialogue {
 background: linear-gradient(180deg, rgba(14, 16, 18, 0.94) 0%, rgba(9, 10, 12, 0.98) 100%);
 border: 1px solid rgba(216, 181, 116, 0.52);
 border-top: 2px solid var(--aaa-gold);
 border-radius: 6px;
 box-shadow: 0 20px 65px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 240, 200, 0.12);
 backdrop-filter: blur(12px);
 padding: 20px 26px;
}
#dialogue h2 {
 font-family: var(--font-display);
 font-size: 21px;
 font-weight: 700;
 letter-spacing: 0.08em;
 color: var(--aaa-gold-bright);
 margin: 0 0 2px;
}
.aaa-talk-role {
 font: 600 10px/1.2 var(--font-sans);
 letter-spacing: 0.16em;
 color: #b9a47c;
 margin-bottom: 10px;
 text-transform: uppercase;
}
#dialogue #talktext {
 font-family: var(--font-serif);
 font-size: 20px;
 line-height: 1.5;
 color: #f5ecda;
}
#conversation-options button {
 font-family: var(--font-serif);
 font-size: 18px;
 padding: 7px 12px;
 border-left: 2px solid transparent;
 transition: all 0.15s ease;
}
#conversation-options button:hover, #conversation-options button:focus-visible {
 border-left-color: var(--aaa-gold-bright);
 background: linear-gradient(90deg, rgba(216, 181, 116, 0.18), transparent);
 padding-left: 16px;
 outline: none;
}

/* Tactical Combat Turn Banner & Command Deck */
#combat-turn-banner {
 font-family: var(--font-display);
 font-weight: 600;
 letter-spacing: 0.09em;
 background: linear-gradient(180deg, rgba(20, 28, 22, 0.94), rgba(11, 15, 12, 0.96));
 border: 1px solid var(--aaa-gold);
 border-radius: 4px;
 box-shadow: 0 10px 35px rgba(0, 0, 0, 0.75), 0 0 20px rgba(216, 181, 116, 0.18);
 backdrop-filter: blur(8px);
}
#battle {
 background: linear-gradient(145deg, rgba(18, 22, 19, 0.94), rgba(10, 12, 11, 0.97));
 border: 1px solid rgba(216, 181, 116, 0.55);
 border-radius: 6px;
 box-shadow: 0 16px 48px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 240, 200, 0.1);
 backdrop-filter: blur(10px);
}
#battle button[data-hotkey]::before {
 content: attr(data-hotkey);
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 17px;
 height: 17px;
 margin-right: 7px;
 border-radius: 3px;
 background: rgba(216, 181, 116, 0.18);
 border: 1px solid rgba(216, 181, 116, 0.45);
 color: var(--aaa-gold-bright);
 font: 700 10px/1 var(--font-sans);
}
#targets button.selected {
 border-color: #ff7b6b;
 background: linear-gradient(180deg, rgba(115, 34, 28, 0.9), rgba(58, 18, 15, 0.95));
 box-shadow: 0 0 14px rgba(255, 92, 77, 0.35);
}

/* Floating Damage Numbers */
.damage-number {
 display: flex;
 flex-direction: column;
 align-items: center;
 font-family: var(--font-display);
 font-weight: 700;
 font-size: 28px;
 color: #ff6b5e;
 text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 16px rgba(255, 65, 50, 0.45);
 pointer-events: none;
 will-change: transform, opacity;
}
.damage-number.heavy-hit {
 font-size: 34px;
 color: #ffb347;
 text-shadow: 0 3px 12px rgba(0, 0, 0, 0.98), 0 0 22px rgba(255, 165, 50, 0.65);
}
.damage-number.magic-hit {
 font-size: 32px;
 color: #ffe885;
 text-shadow: 0 3px 14px rgba(0, 0, 0, 0.95), 0 0 24px rgba(255, 230, 120, 0.8);
}
.damage-number small {
 font: 700 9px/1 var(--font-sans);
 letter-spacing: 0.18em;
 color: #fff2d6;
 margin-top: 2px;
}

