:root{
  --ink:#171b16;--panel:rgba(30,37,29,.92);--panel2:rgba(49,60,44,.94);
  --gold:#d6bf73;--cream:#f0ead3;--muted:#b7bba8;--red:#a94f43;--green:#758d50;
}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:#11160f;color:var(--cream);font-family:Georgia,serif}
button{font:inherit;color:var(--cream);background:#384632;border:1px solid #71805f;border-radius:8px;padding:8px 10px;cursor:pointer}
button:hover{background:#46553e}.hidden{display:none!important}
#game{position:absolute;inset:0;width:100%;height:100%;image-rendering:auto;touch-action:none}
#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 52%,rgba(8,10,7,.42) 100%)}
.glass{background:linear-gradient(180deg,rgba(37,45,34,.94),rgba(23,29,22,.94));border:1px solid rgba(190,178,128,.32);box-shadow:0 12px 35px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(5px)}
#hud{position:absolute;left:18px;top:18px;width:290px;display:flex;gap:12px;padding:10px;border-radius:14px}
.portrait{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:22px;background:#566a45;border:2px solid #bda966}
.hud-main{flex:1}.hud-row{display:flex;justify-content:space-between;margin:1px 0 7px}.hud-row span{color:var(--gold)}
.bar{height:18px;background:#161b16;border:1px solid #4f5d48;border-radius:999px;overflow:hidden;position:relative}.bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8f4038,#b95c4d)}.bar.energy{height:8px;margin-top:6px}.bar.energy i{background:linear-gradient(90deg,#6e8249,#95a75c)}.bar b{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;text-shadow:0 1px 2px #000}
#quest-card{position:absolute;left:18px;top:96px;width:290px;padding:10px 12px;border-radius:12px;display:grid;gap:3px}#quest-card small{color:var(--gold);font-size:10px;letter-spacing:.16em}#quest-card span{font-size:12px;color:#d5d7ca;line-height:1.35}#quest-reward{font:10px/1.35 Arial,sans-serif;color:#d8c071;font-style:normal;border-top:1px solid #ffffff16;margin-top:4px;padding-top:5px}
#minimap-wrap{position:absolute;right:18px;top:18px;width:210px;padding:9px;border-radius:50% 50% 14px 14px;text-align:center}#minimap{width:190px;height:190px;border-radius:50%;border:2px solid #9f8e5d;background:#1c251c;cursor:crosshair;touch-action:none}#region-label{display:block;margin-top:4px;color:var(--gold);font-weight:700}
#inventory,#skills,#rewards{position:absolute;right:18px;top:245px;width:260px;padding:10px;border-radius:12px}#inventory header,#skills header,#rewards header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}#rewards{width:390px;max-height:calc(100vh - 270px);overflow:auto}#inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.slot{height:48px;border:1px solid #5a674e;border-radius:8px;background:#252d22;display:grid;place-items:center;position:relative;font-size:21px}.slot small{position:absolute;right:4px;bottom:2px;font:700 10px Arial;color:#f3e6b0}.slot:hover{outline:1px solid #bda966}
#skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.skill-row{padding:7px;border:1px solid #56624f;border-radius:7px;background:#22291f;display:flex;justify-content:space-between}.skill-row b{color:var(--gold)}
#chat{position:absolute;left:18px;bottom:92px;width:min(470px,46vw);height:110px;border-radius:12px;padding:9px 34px 9px 9px;overflow:hidden}#log{height:100%;overflow:auto;font:12px/1.45 Arial;color:#e5e5d9}#log div{margin-bottom:3px}.system{color:#d1bb77}.danger{color:#e98b75}.loot{color:#a7c77e}.overlay-close,.panel-close{min-width:26px;width:26px;height:26px;padding:0;display:grid;place-items:center;border-radius:50%;font:700 16px Arial}.overlay-close{position:absolute;right:6px;top:6px;z-index:4}.panel-header-actions{display:flex;gap:7px;align-items:center}.view-glyph{font:700 18px Arial}body.ui-clean #hud,body.ui-clean #quest-card,body.ui-clean #minimap-wrap,body.ui-clean #chat,body.ui-clean #inventory,body.ui-clean #skills,body.ui-clean #rewards,body.ui-clean #target-card,body.ui-clean #camera-panel{display:none!important}
#action-bar{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;padding:7px;border-radius:14px;gap:6px}#action-bar button{width:68px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:18px}#action-bar small{font-size:10px;color:#d5d9c8;margin-top:2px}#camera-panel{position:absolute;left:50%;bottom:88px;transform:translateX(-50%);width:min(330px,calc(100vw - 18px));padding:10px;border-radius:12px;z-index:25}#camera-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.camera-grid button{min-height:42px;font:700 12px Arial,sans-serif}.camera-grid .camera-reset{grid-column:1/-1}
#target-card{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:300px;padding:10px;border-radius:12px;text-align:center}#target-card strong{display:block;margin-bottom:6px}
#boss-hud{position:absolute;left:50%;top:14px;transform:translateX(-50%);width:min(640px,58vw);text-align:center;text-shadow:0 2px 3px #000}#boss-hud small{display:block;color:#c39a72;letter-spacing:.25em}#boss-hud strong{display:block;font-size:25px;margin:2px 0 7px}.boss-bar{height:18px;border:2px solid #766151;background:#1a1815}.boss-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#58362d,#a6533d)}#boss-phase{font-size:11px;color:#d7c6aa}
#tooltip{position:absolute;pointer-events:none;z-index:30;padding:7px 9px;border-radius:7px;background:#121712e8;border:1px solid #776d4c;color:#eee5c9;font:12px Arial}
#modal-backdrop{position:absolute;inset:0;background:#05070488;display:grid;place-items:center;z-index:40}#modal{width:min(520px,90vw);padding:22px;border-radius:15px}#modal h3{color:var(--gold);margin-top:0}#modal p{line-height:1.5;color:#dddccb}
#title-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 45%,rgba(46,63,37,.78),rgba(10,14,9,.98)),linear-gradient(#26301f,#0f140d);z-index:50;text-align:center;padding:25px}
.title-emblem{font-size:54px;color:#c9b163;text-shadow:0 0 30px #9e8c51}.title-screen{}.title-actions{display:flex;gap:10px;margin-top:20px}#title-screen h1{font-size:64px;letter-spacing:.14em;margin:0;color:#e9dfbd;text-shadow:0 5px 0 #4f4a39,0 10px 30px #000}#title-screen h2{font-size:18px;letter-spacing:.5em;color:#bca868;margin:4px 0 18px}#title-screen p{max-width:520px;color:#c9cabc;line-height:1.5}#title-loading{width:min(520px,88vw);margin-top:18px;text-align:left}.title-loading-row{display:flex;justify-content:space-between;gap:12px;font:700 12px Arial,sans-serif;color:#e8ddb7}.title-loading-row b{color:var(--gold)}.title-progress{height:12px;margin-top:7px;border:1px solid #756b4d;border-radius:999px;overflow:hidden;background:#151a13;box-shadow:inset 0 1px 4px #0008}.title-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#657d48,#d6bf73);transition:width .16s ease-out}.title-loading-detail{display:block;margin-top:6px;color:#aeb7a4;font:11px Arial,sans-serif}.title-actions button.loading{min-width:150px}
@media(max-width:800px){#inventory{display:none}#quest-card{width:240px}#hud{width:240px}#minimap-wrap{transform:scale(.78);transform-origin:top right}#chat{width:58vw;height:90px}.title-actions{flex-direction:column}}

.slot .item-icon{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 2px #0008)}

.ui-icon-img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 1px 1px #0008)}

#rewards-body{font:12px/1.4 Arial,sans-serif;color:#d9dccf}.reward-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.reward-stat{background:#222a20;border:1px solid #526049;border-radius:8px;padding:8px}.reward-stat b{display:block;color:#e2c871;font-size:14px}.reward-stat span{display:block;color:#aeb6a5;font-size:10px;margin-top:2px}.reward-note{padding:8px;border:1px solid #675f43;background:#29291f;border-radius:8px;color:#c9c9b7;margin:8px 0}.market-chart{height:88px;background:#182018;border:1px solid #4f5b48;border-radius:8px;margin:8px 0;overflow:hidden}.market-chart svg{width:100%;height:100%}.market-chart .grid{stroke:#ffffff12}.market-chart .area{fill:#c7ad4b22}.market-chart .line{fill:none;stroke:#d6bf73;stroke-width:2}.market-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.market-actions button.buy{border-color:#698c5e}.market-actions button.sell{border-color:#9a6658}.reward-controls{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.reward-controls button{font-size:11px;padding:6px 8px}.reward-ledger{display:grid;gap:5px;margin-top:8px}.reward-event{background:#222920;border:1px solid #4f5b48;border-radius:7px;padding:7px}.reward-event b{color:#e3d28e}.reward-event small{display:block;color:#aeb5a6;margin-top:2px}.reward-earned{margin-top:10px;padding:7px 9px;border:1px solid #8c7a49;border-radius:7px;background:#3a3623;color:#e8d17e;font:700 12px Arial,sans-serif}#reward-float{position:absolute;z-index:45;left:50%;top:145px;transform:translate(-50%,-8px);padding:8px 12px;border-radius:9px;background:#262d21ed;border:1px solid #b29b57;color:#ecd37a;font:700 13px Arial,sans-serif;opacity:0;pointer-events:none;transition:.2s}#reward-float.show{opacity:1;transform:translate(-50%,0)}#reward-float small{display:block;color:#cfd3c4;font-weight:400;margin-top:2px}.market-regime{text-transform:uppercase;letter-spacing:.08em;color:#d6bf73;font-size:10px}.market-return.up{color:#9cca78}.market-return.down{color:#e28a74}
@media(max-width:800px){#rewards{right:8px;top:185px;width:min(380px,calc(100vw - 16px));max-height:calc(100vh - 280px)}#action-bar{max-width:calc(100vw - 12px);overflow-x:auto}#action-bar button{flex:0 0 62px}#camera-panel{bottom:86px;width:min(300px,calc(100vw - 16px))}}

.eligibility-box{margin:8px 0;padding:9px;border-radius:8px;border:1px solid #6b7052;background:#20271d}.eligibility-box>b{display:block;color:#e0c66e;margin-bottom:3px}.eligibility-box small{display:block;color:#b9c0b0;margin:2px 0}.wallet-row{display:grid;grid-template-columns:auto 1fr auto;gap:6px;margin-top:7px}.wallet-row input{min-width:0;background:#161c15;border:1px solid #56624f;border-radius:7px;color:#eee7d2;padding:7px 8px;font:12px Arial,sans-serif}.wallet-row button{font-size:10px;padding:6px 7px}

#gp-count{font:700 11px Arial,sans-serif;color:var(--gold);margin-left:auto;margin-right:8px}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.modal-actions button{font:12px/1.25 Arial,sans-serif;min-height:42px}
@media(max-width:560px){.modal-actions{grid-template-columns:1fr}}

@media(max-width:800px){#inventory,#skills{display:block;right:8px;top:185px;width:min(300px,calc(100vw - 16px));max-height:calc(100vh - 280px);overflow:auto}}

.pack-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.pack-tools button{font:10px Arial,sans-serif;padding:6px 7px}.wallet-security-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(520px,88vw);margin-top:12px}.wallet-security-row small{grid-column:1/-1;text-align:center;color:#aeb7a4;font:11px Arial,sans-serif}.wallet-security-row.compact{width:auto;margin:0 0 9px}.wallet-security-row.compact button{font:10px Arial,sans-serif;padding:6px}.wallet-security-row.secured small{color:#9fca7a}.wallet-security-row.warning small{color:#e7bd71}button:disabled{opacity:.45;cursor:not-allowed}

.bar.energy{height:12px}.bar.energy b{font-size:8px;color:#eef2d8;letter-spacing:.04em}
#toggle-run .run-glyph{font-size:20px;line-height:20px;color:#c9cfa2;text-shadow:0 1px 2px #0008}
#toggle-run.active{border-color:#b9b764;background:#526141;box-shadow:inset 0 0 0 1px #d6c96b44}
#toggle-run.active .run-glyph{color:#f0db72}

.reward-hero{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px;border:1px solid #6f6545;border-radius:10px;background:#24281e;margin-bottom:9px}.rune-token{display:flex;align-items:center;gap:9px}.rune-token strong{display:block;color:#efd889;font-size:15px}.rune-token strong small{font-size:9px;letter-spacing:.08em;color:#b8ad83}.rune-token em{display:block;font:10px Arial,sans-serif;color:#aaa98e;margin-top:2px}.rune-coin{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:2px solid #f0cd55;background:radial-gradient(circle at 35% 30%,#fff0a7 0 9%,#d6a930 33%,#806017 68%,#3e2d0b 100%);box-shadow:inset 0 0 0 3px #9b7420,0 2px 7px #0008;color:#5a3b08;font:900 22px Georgia,serif;text-shadow:0 1px #f8dd7e}.reward-rp{text-align:right}.reward-rp b{display:block;color:#f0cf70;font-size:18px}.reward-rp span{font:9px Arial,sans-serif;color:#aeb6a5}.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.reward-grid>div{background:#20271d;border:1px solid #4e5a47;border-radius:7px;padding:7px}.reward-grid small{display:block;color:#9fa99b;font:9px Arial,sans-serif}.reward-grid b{display:block;color:#e4dec5;font-size:12px;margin-top:2px}.reward-rule{margin:8px 0;padding:8px;border:1px solid #6b6041;border-radius:8px;background:#2a291f}.reward-rule strong{color:#e4c86f}.reward-rule p{margin:4px 0 5px;color:#c5c6b7}.reward-rule small,.distribution-note,.distribution-security small{display:block;color:#aeb5a6}.distribute-rewards{width:100%;min-height:40px;border-color:#b0923f;background:#3a3521;color:#f0d680;font-weight:800}.distribution-note{text-align:center;margin:5px 0}.distribution-security{margin-top:6px;padding-top:6px;border-top:1px solid #ffffff12}.reward-error{margin-top:8px;padding:7px;border:1px solid #8e6659;background:#34231f;border-radius:7px;color:#e8a48f}.owner-console{margin-top:10px;border:1px solid #796a42;border-radius:8px;padding:8px;background:#211f18}.owner-console summary{cursor:pointer;color:#efce6d;font-weight:800}.owner-console>small{display:block;color:#b0aa91;margin:5px 0 8px}.owner-console label{display:grid;gap:3px;margin:6px 0;color:#bfc4b5;font:10px Arial,sans-serif}.owner-console input,.owner-console select{width:100%;box-sizing:border-box;background:#151a13;border:1px solid #56604a;border-radius:6px;color:#eee7d2;padding:7px;font:11px Arial,sans-serif}.owner-console button{width:100%;margin-top:7px}.server-save-only{font:10px Arial,sans-serif;color:#aeb5a6;text-align:center;padding:4px 0}

/* Boss combat HUD: keep player HP and boss HP in separate screen zones. */
#hud,#quest-card,#minimap-wrap{z-index:20}
#boss-hud{z-index:24;pointer-events:none}
@media(max-width:800px){
  #boss-hud{left:50%;right:auto;top:auto;bottom:94px;transform:translateX(-50%);width:min(520px,calc(100vw - 18px));padding:7px 10px;border:1px solid rgba(190,178,128,.28);border-radius:10px;background:linear-gradient(180deg,rgba(24,29,22,.82),rgba(14,17,13,.82));backdrop-filter:blur(3px)}
  #boss-hud small{font-size:8px;letter-spacing:.18em}
  #boss-hud strong{font-size:17px;margin:1px 0 4px}
  .boss-bar{height:13px}
  #boss-phase{font-size:9px}
  body.boss-active #chat{bottom:168px;height:72px}
}
