/* Interface proportions matched to the inspected Void Idle desktop capture.
   Original branding, artwork, and functional solo controls are retained. */
:root{--bg:#0f0d0d;--panel:#1f1717;--line:#5f3333;--gold:#cd3039;--muted:#a07e7c;--text:#ddd3bb;--green:#50c695;--red:#d26969;--tool-border:#6a191e66}
body{background:#0d0b0b;font-size:12px}button{background:linear-gradient(#351d1dcc,#1a1414ee);border-color:#633636;border-radius:4px;color:#cfbaa2;padding:7px 11px;box-shadow:inset 0 1px #c42e370c}button:hover{background:linear-gradient(#542d2d,#261d1d);border-color:#a5272e}button.active{background:linear-gradient(90deg,#6c191e88,#341c1c);color:#d9c8b4;border-color:#99242b}.primary{background:linear-gradient(#c0a586,#b32a32);border-color:#d1bda6;color:#211506}.primary:hover{background:#c9b296}button:disabled{opacity:.4}.section-head h2,h2,h3,h4{color:#cdb89f}.section-head h2{font-size:23px}.eyebrow{color:#c72f38}.tiny{font-size:9px}.panel{background:linear-gradient(135deg,#2d2323db,#151111e8);border-color:#6a191e88;border-radius:6px;padding:16px}.chip{background:#2c2222aa;border-color:#721b20;color:#cdb79d}.notice{background:#42232377;border-color:#841f25;color:#d0bba3}.meter{background:#0d0b0bd9;height:5px;border-radius:3px}.meter i{background:linear-gradient(90deg,#2d876b,#50d4a1)}.quest-dot{background:#a93236;color:#f3eee8;border-radius:12px;padding:2px 6px;font-size:9px;float:right}.scroll-view{background:linear-gradient(#140f0fb0,#130f0ff2);padding:21px 23px;scrollbar-color:#6a2a2e #1a1414}
#app{--journal-height:166px;height:100dvh;grid-template-columns:180px minmax(0,1fr) 300px;grid-template-rows:46px 44px minmax(0,1fr) var(--journal-height);background:#151010}#app.journal-collapsed{--journal-height:32px}#nav{grid-column:1;grid-row:1/5;padding:0 6px 12px;gap:0;background:linear-gradient(110deg,#1f1717,#0e0c0c);border-right:1px solid #8c2127;overflow:auto;scrollbar-width:thin;scrollbar-color:#4e2226 transparent}.brand{height:61px;flex-shrink:0;display:flex;align-items:center;gap:7px;padding:10px 6px;font-size:17px;letter-spacing:.7px;text-align:left;border-bottom:1px solid #63363666;line-height:1.05}.brand-emblem{font-size:29px;margin:0;color:#c0a585;text-shadow:0 0 15px #c12d3655}.brand small{font-family:var(--font);font-size:6px;letter-spacing:.75px;margin-top:7px;color:#8b6764}.desktop-navigation{display:flex;flex-direction:column}.desktop-navigation>button{margin-top:6px}.desktop-navigation nav{display:block}.desktop-navigation button{display:flex;align-items:center;gap:8px;width:100%;border-color:transparent;background:transparent;border-radius:3px;box-shadow:none;text-align:left;padding:7px 8px;min-height:32px;font-size:11px}.desktop-navigation button:hover{background:#552e2e44}.desktop-navigation button.active{background:linear-gradient(90deg,#5e333388,#2c222288);border-color:#902228}.desktop-navigation button .nav-icon{font-size:16px;width:22px;flex-shrink:0;filter:drop-shadow(0 1px 2px #000)}.desktop-navigation button>span:last-child{flex:1;font-size:11px}.nav-section{font-family:var(--title);color:#c7af93;font-size:10px;letter-spacing:1.4px;padding:11px 9px 6px;border-top:1px solid #751b2155;margin-top:5px}.nav-section>span{float:right;font-size:8px;color:#876462}.nav-foot{margin:14px 8px 0;padding-top:10px;border-color:#562e2e;font-size:8px;color:#866361}.mobile-navigation{display:none}.nav-foot .pill{font-size:7px}.notice-save{background:#3d9b64;border-color:#51c687;color:#eef7dc;padding:6px 12px;font-weight:600;font-size:11px}
#status{grid-column:2/4;grid-row:2;background:linear-gradient(90deg,#292020eb,#1b1515e8),url('assets/bamboo-clearing.webp') center/cover;padding:6px 21px;gap:10px;border-bottom:1px solid #98242b;justify-content:flex-start;min-width:0}.level-control{padding:1px 4px;border:0;box-shadow:none;color:#c7af93;font-size:12px;white-space:nowrap;background:transparent}.xp-block{width:230px;display:flex;align-items:center;gap:8px;flex-shrink:0}.xp-block>.meter{width:105px;margin:0;height:6px}.xp-block .status-label{font-size:7px;letter-spacing:2px}.xp-detail{font-size:7px;color:#d0c2a3;white-space:nowrap}.header-rates{font-size:8px;color:#43c58e;white-space:nowrap}.header-reset{padding:0 3px;border:1px solid #67181d;color:#8f6a68;font-size:9px;background:transparent}.header-vitals{margin-left:auto;flex-shrink:0}.header-vitals>div{display:flex;align-items:center;gap:6px;height:15px}.header-vitals>div>span{width:15px;font-size:6px;letter-spacing:1.5px;color:#bba683}.header-vitals small{font-size:7px;width:55px;color:#c4ad87}.header-bar{width:110px;height:7px;background:#0d0e13;border:1px solid #372b2b;border-radius:5px;overflow:hidden}.header-bar i{height:100%;display:block}.header-bar.health i{background:linear-gradient(90deg,#d84848,#f37469)}.header-bar.mana i{background:linear-gradient(90deg,#2c80d7,#72b9fb)}.status-activity{border-left:1px solid #7f1e2455;padding-left:11px;color:#69cb8d;font-size:10px;letter-spacing:.4px;max-width:270px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-dot{width:5px;height:5px;box-shadow:0 0 8px #56be73}.mobile-currency{display:none}
#view{grid-column:2;grid-row:3;min-height:0;min-width:0;background:#120e0e}#bag{grid-column:3;grid-row:3;padding:16px 12px 12px;border-left:1px solid #902228;background:linear-gradient(#291f1fe6,#211919f2),url('assets/bamboo-clearing.webp') 76% center/auto 100%;min-width:0}.bag-heading{margin-bottom:15px;min-height:33px;align-items:flex-start}.bag-heading h3{font-family:var(--font);font-size:16px;letter-spacing:3px;font-weight:700;color:#cc3039}.inventory-wallet{display:flex;flex-direction:column;text-align:right;gap:4px;font-size:10px;color:#cbb49a}.inventory-wallet>span:last-child{color:#b899d5;font-size:9px}.tabs{margin-bottom:9px;padding-bottom:9px;border-color:#7c1d2355}.tabs button{border-radius:3px;padding:6px;font-size:10px;background:#161111aa}.tabs button.active{background:#59303088;border-color:#95232a}.bag-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.bag-tools button{font-size:9px;padding:5px 8px;background:#46262666;border-color:#8d212766}.bag-count{width:100%;padding-top:5px;border-top:1px solid #811e2466;font-family:var(--title);font-size:10px;color:#bd2c35}.bag-items{min-height:50px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item-tile{min-height:76px;border-width:1px;border-color:color-mix(in srgb,var(--rarity),#3b2020 30%);background:linear-gradient(140deg,#171c20f2,#0e0c0c);border-radius:4px;box-shadow:inset 0 0 0 2px #0005,0 2px 3px #0003}.item-tile .item-symbol{font-size:33px;line-height:39px;color:#c4aa8c;filter:drop-shadow(0 2px 2px #000)}.item-tile small{font-size:8px}.item-tile .item-upgrade{color:#72d58f;font-size:12px}.item-tile:hover{background:#423232;border-color:var(--rarity)}.bag-actions{gap:5px;border-top:1px solid #63363677;margin-top:10px}.bag-actions button{font-size:9px;padding:6px}.resource-row{border-color:#6a191e66}.resource-row b{color:#cdb79e}.mobile-bag{background:linear-gradient(#291f1f,#181212)!important}.empty{color:#9e7b79}.goal-box{background:#381e1ec9;border-color:#7e5d5b}
#journal{grid-column:2/4;grid-row:4;min-height:0;display:flex;flex-direction:column;background:linear-gradient(#211a1af5,#0f0d0d);border-top:1px solid #8d2128;border-bottom:1px solid #572f2f;overflow:hidden}.journal-tabs{height:32px;min-height:32px;display:flex;align-items:center;gap:8px;padding:3px 9px;border-bottom:1px solid #8d212766;background:#1b1414e6}.journal-tabs .row{gap:7px}.journal-tabs button{font-size:8px;letter-spacing:.7px;padding:4px 3px;background:transparent;border-color:transparent;box-shadow:none;border-radius:0}.journal-tabs button.active{color:#c7ae91;border-bottom-color:#ae2931}.journal-tabs>button:last-child{margin-left:auto}.journal-save{margin-left:auto;color:#799b59;font-size:8px}.journal-feed{flex:1;min-height:0;overflow:auto;padding:4px 12px;scrollbar-width:thin;scrollbar-color:#69191d transparent}.log-line{display:flex;align-items:baseline;gap:7px;padding:3px 4px;font-size:10px;line-height:1.45;border-bottom:1px solid #791c2211}.log-line:nth-child(even){background:#6e1a1f11}.log-line time{font-size:7px;color:#8b6765;width:49px;flex-shrink:0}.log-line b{font-size:9px;letter-spacing:.4px;color:#bea282}.log-line span{color:#d2bea7}.log-line.loot span{color:#cf343d}.log-line.level span{color:#8fc995}.log-line.danger span{color:#df8981}.log-empty{padding:15px;color:#956f6d;font-size:10px}.log-footer{display:flex;justify-content:space-between;gap:12px;padding:7px 14px;font-size:9px;color:#9a7674;border-top:1px solid #67181d66;background:#111416}.log-footer>span{color:#74836a;white-space:nowrap}.journal-collapsed .journal-feed,.journal-collapsed .log-footer{display:none}.forest{display:none}.bar{height:15px;background:#0b0d14;border-color:#7d5d5b;border-radius:3px}.bar i{background:linear-gradient(90deg,#a91b1c,#d03d3d)}.bar.mana i{background:linear-gradient(90deg,#2869aa,#73bfff)}.status-tag{font-size:6px;padding:2px 4px;border-radius:3px}.status-badges{gap:3px}.encounter-banner{background:#1f1818ed;border-color:#9f252d;top:23px;left:16px;right:16px;padding:7px 10px}.imbue-toggle{color:#c5ac8f;border-color:#861f26;background:#1c1616}.mode-toggle{font-size:9px;background:#181313d1;border-color:#a5272e66;padding:6px 9px}.drop-btn{top:6px;right:6px;width:15px;height:15px;font-size:9px;color:#bfa484;background:#0d0b0bc9;border-color:#9f252d77}.zone-progress{height:20px;margin-top:5px;font-size:8px;gap:8px;color:#c5ac8f}.zone-progress .meter{max-width:130px;background:#130e0e}.zone-progress .link{font-size:8px}.zone-progress>span:first-child{font-size:7px}
/* Profession pages and secondary screens share the same material palette. */
.gathering-view{background:linear-gradient(#171212c7,#100d0de0),url('assets/bamboo-clearing.webp') center/cover}.gathering-title{text-align:center;position:relative;padding:0 0 14px}.gathering-title h2{font-size:25px;letter-spacing:2px;color:#d8c6b2;margin-bottom:14px}.gathering-title>.row{justify-content:center;margin-top:9px;gap:12px}.gathering-xp{display:flex;align-items:center;gap:14px;max-width:560px;margin:auto}.gathering-xp>.meter{margin:0;flex:1;height:13px;border:1px solid #4d5d48}.gathering-xp>span{font-size:9px;color:#e1dfce;min-width:120px}.gathering-live{color:#67ce9c;font-size:10px}.gather-stop{background:#bf5533;color:#efe8df;border-color:#e1844e;font-size:10px;padding:5px 10px}.gathering-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:5px;border:1px solid #7e2a2e;border-radius:7px;background:#201919ad;margin-bottom:16px}.gathering-toolbar button{font-size:10px;border-color:transparent;background:transparent;padding:7px 10px}.gathering-toolbar button.active{border-color:#7e2a2e;background:#582f2f88}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-card{display:flex;align-items:center;flex-direction:column;min-height:245px;padding:10px 12px;border:1px solid #563a38;border-radius:6px;background:linear-gradient(#2b212199,#151111cb);box-shadow:0 4px 8px #0005}.resource-card.selected{border-color:#63ca91;background:linear-gradient(#48373770,#1d1717d9);box-shadow:inset 0 0 0 1px #549768,0 0 12px #56b08044}.resource-card:disabled{opacity:.42}.resource-art{height:135px;width:100%;max-width:250px;flex:1}.resource-art svg{width:100%;height:100%;filter:drop-shadow(0 3px 4px #0009)}.resource-card h3{font-family:var(--font);font-size:12px;color:#e7ddd1;margin:5px 0}.resource-owned{font-family:var(--title);font-size:15px;font-weight:400;color:#e0d3c4}.resource-state{font-size:7px;color:#d3c1ab;border:1px solid #7a1d2255;padding:3px 7px;margin-top:6px;border-radius:10px;background:#191313}.resource-card.selected .resource-state{color:#75d49c}.resource-cycle{width:100%;margin-top:9px;display:flex;align-items:center;gap:9px}.resource-cycle>.meter{margin:0;flex:1;height:4px}.resource-cycle>span{font-size:7px;color:#b1aa8c;white-space:nowrap}.resource-card>small{font-size:8px;color:#b3a180;margin-top:8px;align-self:flex-start}.profession-crafting .gather-grid{display:none}.profession-crafting>.section-head h2{font-size:26px}.profession-crafting .section-head{border-bottom:1px solid #6a2a2e55;padding-bottom:13px}.recipe{background:linear-gradient(#281f1fdd,#161111ee);border-color:#563a38;border-radius:5px}.recipe h4{font-size:12px;color:#cfbba3}.recipe .costs{color:#bfae8b}.missing{color:#c87965}.recipe-filters{gap:6px}.recipe-filters button{font-size:10px;padding:6px 10px}.profession-progress{background:#1b1515aa;padding:11px;border:1px solid #69191d;border-radius:5px}.gather-card{background:linear-gradient(#3c2121e3,#191414e8);border-color:#801e24}.stat-row{border-color:#6b191e55}.equip-slot{background:linear-gradient(#261d1d,#141010);border-color:#6e1a1f}.equip-slot strong{font-family:var(--font)}.equip-slot .icon{filter:drop-shadow(0 2px 2px #000);color:#c3a98b}.node{background:linear-gradient(#2a2121,#181212);border-color:#6a191e}.node.learned{background:linear-gradient(#3e2222,#1a1414);border-color:#7e2a2e}.node-icon{background:#1d1616;border-color:#7e2a2e;color:#d3c1ab}.loadout-card{background:#191313cc;border-color:#6a191e}.guardian-automation{border-color:#791c22}.weapon-rack button{background:#191414;border-color:#721b20}.tool-slot{background:linear-gradient(#292020,#1b1515);border-color:#6e1a1f}.tool-summary{background:linear-gradient(#351c1c,#1b1515)}.tool-slot small{color:#bba47c}.tool-bonuses>div{border-color:#701a1f}.codex-zone{background:linear-gradient(110deg,#3d2121,#191414);border-color:#6e2428}.codex-monster{background:#251d1d;border-color:#6e1a1f}.codex-monster p,.guardian-dossier>p,.hunter-panel p{color:#c4b18b}.town-intro{background:linear-gradient(110deg,#4f2b2b,#251c1c);border-color:#7e2a2e}.quest-card,.shop-card,.collection-card{background:linear-gradient(#281f1f,#181313);border-color:#6c191e}.quest-card.ready{border-color:#a8343a}.dialog{background:linear-gradient(135deg,#1e2434,#121927);border:1px solid #8e2a2f;border-radius:7px;box-shadow:0 16px 75px #000c;color:#d4cfbd}.dialog h2{color:#e2d5c6}.dialog h3{color:#d6c6ae}.dialog p,.dialog .small.muted{color:#b5b5a6}.dialog .detail-stat{background:#111725;border-color:#513f3f}.dialog input,.dialog select{background:#0c121c;border-color:#594240;color:#d9cfb1}.dialog .resource-row{border-color:#523f3f}.dialog .notice{background:#542d2d22}.overlay{background:#04070ac9;backdrop-filter:blur(3px)}.offline-summary>div{background:#1f1818;border-color:#614947}.offline-summary b{color:#cab398}.settings-row label{color:#b6b3a1}.toast{background:#211a1a;border-color:#8e2a2f;color:#d9c8b5;border-radius:4px}.recovery{background:#191414da}.positive{color:#73c69b}.negative{color:#d18776}#tab-control{background:#331c1c;border-color:#8b6765;color:#d7c5b0}
@media(min-width:1600px){#app{grid-template-columns:190px minmax(0,1fr) 330px;--journal-height:180px}.brand{font-size:19px}.desktop-navigation button{min-height:35px;font-size:12px}.desktop-navigation button>span:last-child{font-size:12px}.resource-card{min-height:280px}.resource-art{height:170px}}
@media(max-width:1200px) and (min-width:761px){#app{grid-template-columns:154px minmax(0,1fr) 242px;--journal-height:140px}.brand{font-size:14px}.brand small{font-size:5px}.desktop-navigation button{min-height:30px;padding:6px}.desktop-navigation button>span:last-child{font-size:10px}.nav-section{font-size:9px}.header-rates,.header-reset,.xp-detail{display:none}.xp-block{width:135px}.header-vitals{margin-left:auto}.header-bar{width:85px}.status-activity{max-width:160px;font-size:8px}#status{padding-left:11px;padding-right:11px}.zone-progress{font-size:7px}.zone-progress>span:first-child{display:none}.inventory-wallet{font-size:9px}.bag-heading h3{font-size:14px}.item-grid{gap:6px}.item-tile{min-height:65px}.item-tile .item-symbol{font-size:27px;line-height:32px}.item-tile small{font-size:7px}.resource-grid{gap:11px}.resource-card{min-height:220px;padding:9px}.resource-art{height:110px}.resource-card h3{font-size:10px}.gathering-title h2{font-size:22px}}
@media(max-height:760px) and (min-width:761px){#app{--journal-height:125px;grid-template-rows:35px 37px minmax(0,1fr) var(--journal-height)}.notice-save{padding:4px 9px;font-size:9px}.brand{height:50px}.desktop-navigation button{min-height:27px;padding-top:5px;padding-bottom:5px}.nav-section{padding-top:8px;margin-top:3px}.log-line{padding:2px 4px;font-size:9px}.log-footer{padding:5px 12px}}

/* Original raster sprites occupy equal atlas cells; layout matches SVG fallbacks. */
.game-sprite{display:block;width:100%;height:100%;background-size:300% 200%;background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #0008)}.codex-art .game-sprite,.guardian-art .game-sprite,.detail-art .game-sprite{width:100%;height:100%}.detail-art>.game-sprite{width:200px;height:160px;margin:auto}
@media(min-width:1201px){.desktop-navigation button>span:last-child{font-size:12px}.bag-heading h3{font-size:18px}.mode-toggle{font-size:10px}.log-line{font-size:11px}.journal-tabs button{font-size:9px}.log-line b{font-size:10px}.log-line time{font-size:8px}.log-footer{font-size:10px}.bag-tools button{font-size:10px}.item-tile small{font-size:9px}.bag-count{font-size:11px}.header-rates{font-size:9px}.status-activity{font-size:11px}.hero-weapon{font-size:10px}}
@media(min-width:1600px){}
@media(max-width:1200px) and (min-width:761px){}
@media(max-height:760px) and (min-width:761px){}

@media(min-width:1201px){.gathering-live{font-size:11px}.resource-card h3{font-size:13px}.resource-owned{font-size:17px}.resource-card>small{font-size:9px}.resource-cycle>span{font-size:8px}.resource-state{font-size:8px}}
svg.game-sprite{background:none;overflow:hidden}
/* v0.7: intrinsic sprite fitting and bounded content tracks. */
#view{container-type:size}.zone-progress{margin:0;min-width:0;overflow:hidden}.zone-progress>span{white-space:nowrap}.zone-progress .link{white-space:nowrap}.header-vitals{min-width:0}.inventory-wallet{flex-shrink:0}.bag-heading h3{min-width:0}.item-tile{min-width:0;overflow:hidden}.item-tile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-card{min-width:0}.resource-art{min-width:0}.resource-art svg{overflow:visible}.tool-slot-copy{min-width:0}.loadout-card{min-width:0}.loadout-card .row{flex-wrap:wrap}.dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:1200px) and (min-width:761px){}

@media(max-height:760px) and (min-width:761px){}
@media(max-height:620px) and (min-width:761px){#app{--journal-height:32px}.journal-feed,.log-footer{display:none}}


@media(max-height:520px){#view{overflow:auto}}
/* The image row may shrink; the name{grid-template-rows:minmax(0,1fr) auto}



.expanded-journal{margin-top:14px;max-height:55dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#791c22 transparent}.expanded-journal .log-line{font-size:11px;padding:7px 3px}.expanded-journal .log-line time{font-size:8px;min-width:48px}.journal-tabs>button[data-action="openLog"]{margin-left:auto}.journal-tabs>button[data-action="toggleJournal"]{margin-left:0}
@media(min-width:761px) and (max-height:620px){.journal-tabs>button[data-action="toggleJournal"]{display:none}}

/* v0.8: original painted equipment, fitted independently of text and rarity. */
.equipment-art{display:block;width:56px;height:56px;max-width:100%;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 3px #0008);pointer-events:none}
.item-tile .item-symbol{display:grid;place-items:center;height:53px;line-height:normal;filter:none;width:100%;margin:0}.item-tile .equipment-art{width:53px;height:53px}.item-tile{min-height:88px;padding-top:5px;padding-bottom:6px}
.equip-slot>.icon{display:grid;place-items:center;width:48px;min-width:48px;height:48px}.equip-slot .equipment-art{width:48px;height:48px}.equip-slot>span:last-child{min-width:0}.equip-slot strong{overflow-wrap:anywhere}
.item-preview{display:grid;place-items:center;flex-shrink:0;width:96px;height:96px;border:1px solid var(--rarity);border-radius:7px;background:radial-gradient(circle,#66181d55,#0f0d0d);box-shadow:inset 0 0 18px #0008}.item-preview .equipment-art{width:88px;height:88px}
.weapon-rack button{display:flex;flex-direction:column;align-items:center;gap:5px}.weapon-rack .equipment-art{width:50px;height:50px}.weapon-choice .icon{display:grid;place-items:center}.weapon-choice .equipment-art{width:64px;height:64px}.collection-symbol{display:grid;place-items:center;flex-shrink:0;min-width:56px}.collection-symbol .equipment-art{width:56px;height:56px}


/* Item artwork is the inventory tile; names belong in its tooltip and inspection. */
.item-tile{position:relative;min-height:80px;padding:9px 4px 5px}.item-tile .item-symbol{height:64px}.item-tile .equipment-art{width:64px;height:64px}.item-tile small.item-tier{position:absolute;top:4px;left:5px;font-size:8px;line-height:1;padding:2px 3px;background:#0f0c0cc9;border:1px solid #8c686644;border-radius:3px;color:#c9b195;z-index:1}.item-tile .item-upgrade{position:absolute;right:5px;bottom:5px}

/* Nine Graves: the opening mystery also lives in the field guide. */
.founding-story{margin:18px 0 22px}.founding-story .eyebrow{display:block;margin-bottom:8px}.founding-story h3{margin:0 0 10px}.founding-story p{margin:0}


#bag{display:flex;flex-direction:column;min-height:0;overflow:hidden}.bag-items{flex:1;min-height:0;overflow:auto}.bag-actions{flex-shrink:0}

/* Keep every combat control within the narrow centre panel. */
@container (max-width:700px){
}
