/* Player-intent UI contract. This file owns the final presentation layer. */
:root{
  --intent-bg:#070811;
  --intent-panel:#10131f;
  --intent-panel-2:#151927;
  --intent-panel-3:#0b0e18;
  --intent-line:#2a3040;
  --intent-line-soft:#202636;
  --intent-text:#eef0f6;
  --intent-muted:#8f98ab;
  --intent-faint:#697287;
  --intent-gold:#d9a948;
  --intent-gold-hot:#f0ca72;
  --intent-good:#78c46b;
  --intent-bad:#df766f;
  --intent-blue:#78b7da;
  --intent-radius:9px;
  --intent-shadow:0 14px 38px #0005;
}

html,body{background:radial-gradient(1000px 680px at 72% -20%,#28345a33,transparent 58%),var(--intent-bg);color:var(--intent-text)}
button,input,select{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--intent-gold-hot);outline-offset:2px}
.hidden{display:none!important}

.app{grid-template-columns:252px minmax(0,1fr);grid-template-rows:64px auto minmax(0,1fr)}
.sidebar{padding:14px 12px 28px;background:linear-gradient(180deg,#0d101b,#070912);border-right-color:var(--intent-line)}
.rail-brand{min-height:58px;margin-bottom:12px}
.nav-title{margin:16px 10px 6px;color:var(--intent-faint);font-size:10px}
.nav button{min-height:42px;margin:2px 0;border-radius:8px;color:#aab1c0}
.nav button:before{background:#ffffff07}
.nav button.active{background:linear-gradient(90deg,#d9a9481b,#ffffff04);box-shadow:inset 3px 0 var(--intent-gold)}
.nav .cultivation-nav-entry,.nav .battle-nav-entry{position:relative}.nav-alert{display:none;margin-left:auto;padding:2px 5px;border:1px solid #d94b4b;border-radius:99px;background:#7d1e26;color:#ffe1d7;font-size:9px;font-weight:800;line-height:1.2;box-shadow:0 0 10px #e3484866}.cultivation-nav-entry.breakthrough-ready .nav-alert,.battle-nav-entry.tribulation-ready .tribulation-nav-alert{display:inline-flex}.cultivation-nav-entry.breakthrough-ready:after,.battle-nav-entry.tribulation-ready:after{content:"";width:7px;height:7px;margin-left:3px;border-radius:50%;background:#ff4f4f;box-shadow:0 0 9px #ff4f4f;animation:nav-alert-pulse 1.5s ease-in-out infinite}@keyframes nav-alert-pulse{50%{opacity:.45;transform:scale(.82)}}
.sect-nav-entry.is-hidden{display:none!important}

.topbar{padding:0 22px;background:#0b0e18f5;border-bottom-color:var(--intent-line)}
.topbar-title{min-width:180px}
.topbar-title h2{font-size:17px}
.resources{overflow:hidden}
.pill{min-width:70px;border-color:var(--intent-line-soft);background:#111522;color:var(--intent-faint)}
.pill strong{color:var(--intent-text)}
.account-pill{display:none;grid-template-columns:auto auto auto auto;gap:7px;min-width:auto}
.account-pill.online{display:grid}
.account-pill button{min-height:32px;padding:4px 8px;border:1px solid var(--intent-line);border-radius:6px;background:#ffffff08;color:#cfd3dc;cursor:pointer}
.account-pill .account-danger{color:#e6a09b;border-color:#6d363c;background:#4d22272e}

.global-activity-ribbon{padding:9px 22px;border-bottom-color:var(--intent-line);background:#090c16f2}
.activity-glyph{border-color:#7f622d;background:#d9a94817;color:var(--intent-gold-hot)}
.global-activity-ribbon .activity-now-grid{grid-template-columns:minmax(230px,1fr) auto auto auto}
.global-activity-ribbon .activity-now{display:grid;gap:7px}
.global-activity-ribbon .activity-now-head{display:none}
.global-activity-ribbon .activity-buttons{display:flex;gap:6px}
.global-activity-ribbon .pbar{height:6px}
.global-activity-ribbon .life-queue{display:none}
.global-activity-ribbon .btn{min-height:36px;padding:6px 9px}

.main{padding:22px 24px 34px}
.section{width:min(1380px,100%)}
.section.active{gap:14px}
.screen-head{min-height:56px;grid-template-columns:48px 1fr}
.screen-head-crest{width:48px;height:48px;border-radius:11px}
.screen-head h1{font-size:21px}
.screen-head p{margin-top:4px}

.card,.battle.info-battle,.life-shell{border-color:var(--intent-line);border-radius:11px;background:linear-gradient(180deg,var(--intent-panel-2),var(--intent-panel));box-shadow:var(--intent-shadow)}
.card-title{min-height:44px;padding:11px 15px;border-bottom-color:var(--intent-line-soft);background:#ffffff04}
.body{padding:15px}
.subtle{color:var(--intent-muted)}
.btn,.fight-btn,.life-gold,.life-queue-add{min-height:38px;border-radius:8px}
.btn.gold,.fight-btn,.life-gold{border-color:#916e2d;background:linear-gradient(180deg,var(--intent-gold-hot),var(--intent-gold));color:#261b08}
.btn.gold:hover,.fight-btn:hover,.life-gold:hover{border-color:#b68c38;background:linear-gradient(180deg,#ffe7a2,#e4b24e);color:#261b08;filter:none}
.btn:disabled,.fight-btn:disabled,.life-gold:disabled,.life-queue-add:disabled{opacity:.48;filter:saturate(.45);cursor:not-allowed}
.btn:disabled:hover,.fight-btn:disabled:hover,.life-gold:disabled:hover,.life-queue-add:disabled:hover{border-color:#4a4d58;background:#30333c;color:#d4cdbf;filter:none}

/* Combat feedback is anchored to the portrait, compact and always one number. */
.combat-damage-number{right:auto!important;display:block!important;width:max-content;min-width:0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;color:#ffe08a;font:900 22px/1 "Arial Narrow","Microsoft YaHei",sans-serif;letter-spacing:0;text-shadow:0 2px 2px #000,0 0 7px #8a4f16;filter:none;animation:combat-damage-float .82s ease-out forwards!important;transform-origin:center;will-change:transform,opacity}
.combat-damage-number.miss{color:#c8d3df;font-size:15px;text-shadow:0 2px 2px #000,0 0 6px #6b7f96}
.combat-damage-number.to-player{color:#ff8a83;text-shadow:0 2px 2px #000,0 0 7px #7e1f29}
.combat-damage-number.critical{color:#fff0a8;font-size:26px;text-shadow:0 2px 2px #000,0 0 9px #d86b22}
.shana-sword-projectile{position:absolute;z-index:29;display:block;pointer-events:none;transform-origin:center;will-change:transform,opacity;filter:drop-shadow(0 0 7px rgba(116,232,255,.9)) drop-shadow(0 2px 4px rgba(0,0,0,.85))}
.shana-sword-projectile>.item-artwork{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important}
.star-gate-sword{isolation:isolate}
.star-gate-charge-aura{position:absolute;z-index:28;border:2px solid var(--sword-accent,#bdefff);border-radius:50%;pointer-events:none;opacity:.65;transform:translate(-50%,-50%) scale(.6);box-shadow:0 0 8px var(--sword-accent,#bdefff),inset 0 0 8px var(--sword-accent,#bdefff);animation:star-gate-charge-aura .5s ease-in-out forwards}
@keyframes star-gate-charge-aura{0%{opacity:.65;transform:translate(-50%,-50%) scale(.6)}75%{opacity:.95;transform:translate(-50%,-50%) scale(.96)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
.star-gate-sword-rotor{position:absolute;z-index:1;inset:0;display:block;transform-origin:center;will-change:transform}
.star-gate-sword-rotor>.item-artwork{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important}
.star-gate-sword-charge{position:absolute;z-index:0;left:50%;top:50%;width:58%;height:58%;border:1px solid var(--sword-accent,#bdefff);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.35);box-shadow:0 0 5px var(--sword-accent,#bdefff);pointer-events:none}
.star-gate-sword.sword-charging .star-gate-sword-charge{animation:star-gate-sword-charge .5s ease-out forwards}
.star-gate-sword.sword-multiple .star-gate-sword-charge{display:none}
.star-gate-sword.sword-charging .star-gate-sword-rotor{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px var(--sword-accent,#bdefff))}
.star-gate-sword::before{content:"";position:absolute;z-index:-1;inset:5%;border-radius:50%;background:radial-gradient(circle,var(--sword-accent,#bdefff) 0,transparent 68%);opacity:0;filter:blur(3px);pointer-events:none}
.star-gate-sword.sword-glow::before{opacity:.23;animation:star-gate-sword-glow .28s ease-in-out infinite alternate}
.star-gate-sword.sword-trail::after{content:"";position:absolute;z-index:-2;right:72%;top:47%;width:68%;height:7%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--sword-accent,#bdefff));opacity:.45;filter:blur(2px);transform-origin:right center;pointer-events:none}
.star-gate-sword.sword-tinted .item-artwork{filter:sepia(.3) saturate(1.7) hue-rotate(var(--sword-hue,0deg)) brightness(1.15) drop-shadow(0 0 4px var(--sword-accent,#bdefff))}
.star-gate-sword.sword-ghost{opacity:.42;filter:drop-shadow(0 0 5px var(--sword-accent,#bdefff)) blur(.2px)}
.star-gate-sword.sword-companion .star-gate-sword-rotor{opacity:.42}
.shana-sword-impact{position:absolute;z-index:30;display:block;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff 0 7%,var(--sword-accent,#bdefff) 8% 24%,transparent 64%),conic-gradient(from 15deg,transparent 0 8%,var(--sword-accent,#bdefff) 9% 12%,transparent 13% 25%,var(--sword-accent,#bdefff) 26% 30%,transparent 31% 48%,var(--sword-accent,#bdefff) 49% 53%,transparent 54% 70%,var(--sword-accent,#bdefff) 71% 75%,transparent 76%);mix-blend-mode:screen;filter:drop-shadow(0 0 8px var(--sword-accent,#bdefff));animation:star-gate-sword-impact .36s ease-out forwards}
@keyframes star-gate-sword-glow{to{opacity:1;transform:scale(1.18)}}
@keyframes star-gate-sword-charge{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}45%{opacity:1;transform:translate(-50%,-50%) scale(.88)}100%{opacity:.9;transform:translate(-50%,-50%) scale(1)}}
@keyframes star-gate-sword-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}24%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.28) rotate(38deg)}}
.combat-caster-gear{position:absolute;z-index:28;display:grid;place-items:center;pointer-events:none;transform-origin:center;will-change:transform,opacity}
.combat-cast-glow{position:absolute;inset:-32%;width:164%;height:164%;object-fit:contain;opacity:.88;mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(255,207,79,.88));animation:combat-cast-glow-spin 1.8s linear infinite}
.combat-caster-art{position:relative;z-index:1;display:block;width:62%;height:62%;filter:drop-shadow(0 0 7px rgba(255,236,166,.95)) drop-shadow(0 2px 4px rgba(0,0,0,.85))}
.combat-caster-art>.item-artwork{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important}
@keyframes combat-cast-glow-spin{to{transform:rotate(360deg)}}
.combat-damage-digit{display:none!important}
@keyframes combat-damage-float{0%{opacity:0;transform:translate(calc(-50% + var(--damage-shift-x,0px)),5px) scale(.88)}18%{opacity:1;transform:translate(calc(-50% + var(--damage-shift-x,0px)),0) scale(1)}72%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--damage-shift-x,0px)),-34px) scale(1.04)}}

/* Combat: current state first, target choice second. */
.battle.info-battle{padding:51px 16px 16px;background:radial-gradient(800px 320px at 50% 110%,#b35e2c1b,transparent 64%),linear-gradient(#171b2b,#0a0c15)}
.combat-static-grid{gap:14px}
.combat-panel{background:#05071066;border-color:var(--intent-line-soft)}
.combat-static{grid-template-columns:88px minmax(0,1fr)}
.portrait-frame{width:84px;height:84px}
.monster-rank-frame{
  --monster-rank-bg:#f4f4f0;
  --monster-rank-border:#d8d8d1;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:var(--monster-rank-border)!important;
  background:var(--monster-rank-bg)!important;
  box-shadow:inset 0 0 0 1px #ffffff54,0 0 12px #0004;
}
.monster-rank-frame>img{
  position:relative;
  z-index:1;
  display:block;
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding:2px;
  object-fit:contain;
  background:transparent!important;
  filter:drop-shadow(0 2px 2px #0007);
}
.rank-bg-普通{--monster-rank-bg:#f4f4f0;--monster-rank-border:#d8d8d1}
.rank-bg-精英{--monster-rank-bg:linear-gradient(145deg,#173a24,#39ae62);--monster-rank-border:#66d886}
.rank-bg-稀有{--monster-rank-bg:linear-gradient(145deg,#142d57,#3d82db);--monster-rank-border:#76b5ff}
.rank-bg-首领{--monster-rank-bg:linear-gradient(145deg,#352057,#8654c5);--monster-rank-border:#c59cff}
.rank-bg-统领{--monster-rank-bg:linear-gradient(145deg,#5a3d0a,#d8a83d 58%,#ffe498);--monster-rank-border:#ffd66f}
.rank-bg-统帅{--monster-rank-bg:linear-gradient(145deg,#57151a,#d43e47 58%,#ff8b78);--monster-rank-border:#ff8d83}
.rank-bg-传奇{--monster-rank-bg:linear-gradient(135deg,#df494f 0 33%,#f0c94d 33% 66%,#4c86e8 66%);--monster-rank-border:#ffe58a}
.rank-bg-七彩{--monster-rank-bg:conic-gradient(from 210deg,#ef5350,#ff9f43,#f6d64a,#55c97a,#49b8e8,#5e6fd8,#b65bd5,#ef5350);--monster-rank-border:#fff3b0}
.rank-chip.rank-普通{border-color:#c7c9cc;color:#f2f2ee}
.rank-chip.rank-精英{border-color:#4eaf6b;color:#81e19b}
.rank-chip.rank-稀有{border-color:#4f88ce;color:#85bdff}
.rank-chip.rank-首领{border-color:#8658bb;color:#c9a0ff}
.rank-chip.rank-统领{border-color:#d0a143;color:#ffdc7f}
.rank-chip.rank-统帅{border-color:#c94a51;color:#ff8d87}
.rank-chip.rank-传奇{border-color:#ffe58a;background:linear-gradient(90deg,#df494f,#f0c94d,#4c86e8);color:#fff;text-shadow:0 1px 2px #000}
.battle-bottom{position:static;margin-top:12px}
.action-seq{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));margin-top:12px}
.combat-primary-controls{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--intent-line-soft)}
.combat-primary-controls .btn{min-width:170px}
.hunt-head{padding:12px 15px}
.hunt-list{padding:0 15px}
.hunt-row{grid-template-columns:54px minmax(180px,1.2fr) minmax(150px,.8fr) minmax(170px,1fr) minmax(170px,.76fr);gap:12px;align-items:center}
.hunt-row .hunt-actions{display:grid;gap:7px}
.hunt-row .fight-btn{width:100%;min-width:0}
.hunt-plan,.plan-control{display:grid;grid-template-columns:64px minmax(94px,1fr);align-items:stretch}
.hunt-plan input,.plan-control input{width:100%;min-width:0;border:1px solid var(--intent-line);border-right:0;border-radius:8px 0 0 8px;background:#070a12;color:var(--intent-text);padding:7px 8px;text-align:center}
.hunt-plan button,.plan-control button{min-width:0;border-radius:0 8px 8px 0}
.combat-details-grid{grid-template-columns:minmax(220px,.72fr) minmax(360px,1.35fr) minmax(220px,.72fr)}

/* Character and progression. */
.single-avatar{grid-template-columns:minmax(0,520px)}
.avatar-preview{justify-content:flex-start;gap:16px;padding:18px}
.attr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.aff-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.quest-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border-bottom:1px solid var(--intent-line-soft)}
.quest-card:last-child{border-bottom:0}
.quest-kind{color:var(--intent-gold-hot);font-size:11px;letter-spacing:.08em}
.quest-progress{height:7px;margin-top:8px;border-radius:8px;background:#050711;overflow:hidden}
.quest-progress i{display:block;height:100%;background:linear-gradient(90deg,#ad7b2d,var(--intent-gold-hot))}

/* Inventory: compact scan first, selected details second. */
.inventory-tabs{display:flex}
.inventory-tabs button{width:190px}
.inventory-panel{gap:14px}
.item-grid{grid-template-columns:repeat(auto-fill,minmax(86px,104px));gap:9px}
.inventory-slot{min-height:112px;padding:8px 7px;border-color:var(--intent-line-soft);background:radial-gradient(120% 120% at 50% 0,#ffffff0c,#0004)}
.inventory-slot:hover{border-color:#626b7e}
.item-icon{width:46px;height:46px}
.item-actions .btn{min-height:32px}
.gear-inventory{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.gear-grid,.wear-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}
.gear-slot{min-height:124px}
.gear-slot.empty{display:flex;flex-direction:column;justify-content:space-between;color:var(--intent-faint)}
.slot-help{margin-top:10px;font-size:11px;color:var(--intent-muted)}

/* World: scene decision includes full known roster and direct travel. */
.browser-shell{grid-template-columns:minmax(270px,340px) minmax(0,1fr)}
.browser-list{max-height:72vh}
.browser-item{padding:11px 12px}
.detail-hero{grid-template-columns:repeat(4,minmax(0,1fr))}
.scene-roster{display:grid;gap:8px}
.scene-roster-row{display:grid;grid-template-columns:52px minmax(150px,1fr) minmax(170px,.8fr) minmax(180px,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#080a1466}
.scene-roster-row img{width:48px;height:48px;object-fit:contain;border-radius:7px;background:#05070e}
.scene-roster-row .roster-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.scene-roster-row .roster-action{min-width:112px}
.scene-primary-action{width:100%;margin-top:12px}

/* One activity card = one decision. */
.life-shell{min-height:600px}
.life-work{padding:15px}
.life-hero{display:grid;grid-template-columns:54px minmax(170px,1fr) minmax(230px,.9fr);gap:12px;padding:13px 0}
.life-main-progress{grid-column:2/4}
.life-tech-strip{display:flex;gap:6px;overflow-x:auto;padding:9px 0 3px;scrollbar-width:thin}
.life-tech{flex:0 0 auto}
.life-tools{grid-template-columns:minmax(220px,1fr) 150px auto;margin:12px 0}
.recipe-grid,.mine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:11px}
.recipe-card,.mine-card{display:flex;flex-direction:column;min-height:0;padding:13px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#080a1466}
.recipe-card.ready{border-color:#5f5b4a;box-shadow:inset 3px 0 var(--intent-gold)}
.recipe-title,.mine-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px}
.recipe-title .ico{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#d9a94816;font-size:19px}
.recipe-title b,.mine-head b{font-size:14px}
.recipe-source{margin-top:5px;color:var(--intent-muted);font-size:11px}
.materials-block{margin-top:10px;padding:8px 9px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#05070e80}
.materials-title{margin-bottom:5px;color:var(--intent-faint);font-size:10px;letter-spacing:.08em}
.material-line{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.material-line .enough{color:var(--intent-good)}
.material-line .short{color:var(--intent-bad)}
.recipe-effects,.mine-yields{min-height:40px;margin:9px 0 0;color:#d6dae3;font-size:12px}
.recipe-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}
.recipe-metric{padding:7px;border:1px solid var(--intent-line-soft);border-radius:7px;background:#ffffff04}
.recipe-metric span{display:block;color:var(--intent-faint);font-size:9px}
.recipe-metric b{display:block;margin-top:2px;font-size:11px}
.recipe-blocker{min-height:31px;margin:1px 0 8px;color:var(--intent-bad);font-size:11px}
.recipe-blocker.ready{color:var(--intent-good)}
.recipe-primary{width:100%;margin-top:auto}
.recipe-primary .life-gold{width:100%}
.recipe-plan{display:grid;grid-template-columns:112px minmax(0,1fr);margin-top:7px}
.plan-stepper{display:grid;grid-template-columns:30px minmax(0,1fr) 30px}
.plan-stepper button{min-width:0;border:1px solid var(--intent-line);background:#111522;color:var(--intent-text);cursor:pointer}
.plan-stepper button:first-child{border-radius:8px 0 0 8px}
.plan-stepper button:last-child{border-radius:0;border-left:0}
.recipe-plan input{min-width:0;width:100%;border:1px solid var(--intent-line);border-left:0;border-right:0;border-radius:0;background:#060810;color:var(--intent-text);padding:8px 2px;text-align:center}
.recipe-plan .life-queue-add{min-width:0;border-radius:0 8px 8px 0}
.craft-options{margin-top:9px;border-top:1px solid var(--intent-line-soft);padding-top:8px}
.craft-options summary{color:var(--intent-muted);font-size:11px;cursor:pointer}
.recipe-options{margin-top:8px}
.recipe-footer{margin-top:8px;padding-top:8px;border-top:1px solid var(--intent-line-soft);color:var(--intent-faint);font-size:10px}
.life-zone{border-color:var(--intent-line-soft)}

/* Combat: the battle stays primary while live context remains visible at the right. */
.combat-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,344px);align-items:start;gap:16px}
.combat-main{min-width:0;display:grid;gap:14px}
.combat-sidebar{min-width:0;position:sticky;top:12px}
.combat-sidebar .combat-details-grid{display:grid;grid-template-columns:1fr;gap:12px}
.combat-sidebar .combat-details-grid .karma-summary{grid-column:auto}
.combat-sidebar .card{margin:0}
.combat-sidebar .list{padding:10px 13px}
.combat-sidebar .combat-details-grid .log{height:clamp(190px,30vh,340px)}
.battle.info-battle{overflow:visible}
.battle-v9 .battle-bottom{position:static;left:auto;right:auto;bottom:auto;margin-top:12px}
.battle-v9 .action-seq{margin-top:12px}
.battle-v9 .combat-primary-controls{margin-top:12px}
.enemy-identity{margin-bottom:8px}
.enemy-identity .trait-list{min-height:22px;margin-top:5px}

/* Monster identity and loot are separate decision layers. */
.hunt-row{grid-template-columns:52px minmax(170px,1fr) minmax(130px,.62fr) minmax(230px,1.05fr) minmax(132px,.55fr);align-items:center}
.monster-identity{min-width:0}
.monster-traits{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.monster-trait{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #72593c;border-radius:999px;background:#d9a94810;color:#e5c985;font-size:10px;line-height:1.25}
.rank-odds{line-height:1.65}
.rank-odds .encounter-line{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.rank-odds .encounter-chip{padding:2px 6px;border:1px solid var(--intent-line-soft);border-radius:999px;background:#ffffff05;color:var(--intent-muted);font-size:10px}
.loot-table{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.loot-entry{min-width:64px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:5px;padding:5px 6px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#06081080}
.loot-entry .loot-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:#d9a94812;color:var(--intent-gold-hot)}
.loot-entry .loot-icon .ui-icon{width:16px;height:16px}
.loot-entry b{display:block;max-width:92px;overflow:hidden;color:var(--intent-text);font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.loot-entry small{display:block;margin-top:2px;color:var(--intent-gold-hot);font-size:9px}
.scene-roster-row{grid-template-columns:52px minmax(180px,1fr) minmax(150px,.65fr) minmax(240px,1.1fr) auto}
.scene-roster-row .roster-portrait,.scene-roster-row .roster-portrait img{width:48px;height:48px}

/* A small built-in vector icon language keeps attributes and item types scannable. */
.ui-icon{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;color:currentColor}
.ui-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.attr-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px}
.attr-card>.ui-icon{width:34px;height:34px;padding:7px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#d9a94812;color:var(--intent-gold-hot)}
.attr-card .attr-copy{min-width:0}
.base-stat-row .stat-label{display:flex;align-items:center;gap:8px}
.base-stat-row .ui-icon{width:24px;height:24px;padding:4px;border-radius:7px;background:#ffffff07;color:#98bfe0}
.derived-box{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px}
.derived-box>.ui-icon{width:36px;height:36px;padding:8px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#d9a94810;color:var(--intent-gold-hot)}
.derived-box>div>span{display:block}
.derived-box>div>b{display:block;margin-top:2px}
.aff .top{align-items:center}
.aff .aff-name{display:flex;align-items:center;gap:7px}
.aff .ui-icon{width:25px;height:25px;padding:4px;border-radius:7px;background:#ffffff08;color:#9ac9df}

/* Inventory modes and categories are two distinct choices. */
.inventory-category-tabs{display:flex;gap:6px;overflow-x:auto;margin:12px 0;padding:2px 1px 5px;scrollbar-width:thin}
.inventory-category-tabs button{min-width:max-content;min-height:34px;padding:6px 11px;border:1px solid var(--intent-line-soft);border-radius:999px;background:#ffffff05;color:var(--intent-muted);cursor:pointer}
.inventory-category-tabs button:hover{border-color:var(--intent-line);color:var(--intent-text)}
.inventory-category-tabs button.active{border-color:var(--intent-gold);background:#d9a94818;color:var(--intent-gold-hot);box-shadow:inset 0 0 0 1px #d9a9481a}
.inventory-category-tabs button .category-count{margin-left:4px;color:var(--intent-faint);font-size:9px}
.inventory-slot[hidden],.gear-item[hidden],[data-inventory-section][hidden]{display:none!important}
.item-icon{position:relative;overflow:hidden}
.item-icon .ui-icon{width:27px;height:27px}
.item-icon .item-mark{position:absolute;right:2px;bottom:1px;color:#fff5d4;font:700 8px/1 var(--intent-display);text-shadow:0 1px 2px #000}
.item-icon[data-visual-variant="1"]{color:#86c7e7;background:#52a8d21b}
.item-icon[data-visual-variant="2"]{color:#9ed39b;background:#65a65d1b}
.item-icon[data-visual-variant="3"]{color:#e6bd76;background:#d99f481b}
.item-icon[data-visual-variant="4"]{color:#ca9be9;background:#9c61c51b}
.item-icon[data-visual-variant="5"]{color:#e78d8d;background:#c755551b}
.gear-card-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:7px}
.gear-card-head .item-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#d9a94812;color:var(--intent-gold-hot)}
.gear-card-head .item-icon .ui-icon{width:27px;height:27px}

/* Mobile: five high-frequency destinations plus an explicit system sheet. */
.mobile-more-panel{display:none}
@media(max-width:900px){
  .app{grid-template-columns:1fr;grid-template-rows:56px auto minmax(0,1fr)}
  .main{padding:14px 10px 84px}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;overflow:visible;padding:6px 7px calc(6px + env(safe-area-inset-bottom,0px))}
  .mobile-nav button{min-width:0;width:100%;min-height:48px;display:grid;justify-items:center;gap:2px;padding:4px 2px;font-size:10px}
  .mobile-nav button:before{width:24px;height:24px}
  .mobile-more-panel{position:fixed;inset:auto 8px calc(68px + env(safe-area-inset-bottom,0px)) 8px;z-index:590;display:block;max-height:min(70vh,620px);overflow:auto;padding:12px;border:1px solid var(--intent-line);border-radius:14px;background:#0b0e18f7;box-shadow:0 24px 70px #000c;backdrop-filter:blur(14px)}
  .mobile-more-panel.hidden{display:none!important}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 10px}
  .mobile-more-head button{border:1px solid var(--intent-line);border-radius:7px;background:#ffffff08;color:var(--intent-text);padding:6px 9px}
  .mobile-more-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .mobile-more-nav button{display:grid;place-items:center;gap:5px;min-height:62px;padding:7px 4px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#ffffff05;color:var(--intent-text)}
  .mobile-more-nav button:before{content:attr(data-icon);width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#d9a94815;color:var(--intent-gold-hot)}
  .topbar{padding:0 10px}
  .resources .pill:nth-child(n+3):not(.account-pill){display:none}
  .global-activity-ribbon{padding:7px 10px}
  .global-activity-ribbon .activity-now-grid{grid-template-columns:minmax(140px,1fr) auto auto}
  .combat-workspace{grid-template-columns:1fr}
  .combat-sidebar{position:static}
  .combat-static-grid,.combat-details-grid{grid-template-columns:1fr}
  .hunt-row{grid-template-columns:46px minmax(0,1fr)}
  .hunt-row .rank-odds,.hunt-row .loot-table,.hunt-row .hunt-actions{grid-column:2}
  .scene-roster-row{grid-template-columns:46px minmax(0,1fr)}
  .scene-roster-row>.rank-odds,.scene-roster-row>.loot-table,.scene-roster-row .roster-action{grid-column:2}
  .detail-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .browser-shell{grid-template-columns:1fr}
  .life-hero{grid-template-columns:48px minmax(0,1fr)}
  .life-level-meta,.life-main-progress{grid-column:1/3}
  .life-tools{grid-template-columns:1fr 120px}
  .life-count{grid-column:1/3}
  .recipe-grid,.mine-grid{grid-template-columns:1fr}
  .attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:520px){
  .topbar-title{min-width:0}
  .account-pill{display:none!important}
  .activity-glyph{display:none}
  .global-activity-ribbon{grid-template-columns:1fr}
  .combat-static{grid-template-columns:70px minmax(0,1fr)}
  .portrait-frame{width:68px;height:68px}
  .combat-primary-controls .btn{width:100%}
  .mobile-more-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .inventory-tabs button{width:auto;flex:1}
  .item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gear-grid,.wear-grid,.gear-inventory{grid-template-columns:1fr}
  .recipe-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Final inventory management: search + real groups + compact, selectable cards. */
.inventory-toolbar{display:flex;align-items:center;gap:12px;margin:14px 0 4px}
.inventory-search,.equipment-search,.scene-search{min-width:0;display:flex;align-items:center;gap:9px;border:1px solid var(--intent-line);border-radius:9px;background:#080b14;padding:0 11px}
.inventory-search{width:min(520px,100%)}
.inventory-search .ui-icon,.equipment-search .ui-icon,.scene-search .ui-icon{width:18px;height:18px;color:var(--intent-faint)}
.inventory-search input,.equipment-search input,.scene-search input{width:100%;min-width:0;height:42px;border:0;outline:0;background:transparent;color:var(--intent-text)}
.inventory-panel{display:grid;gap:16px;padding:14px;border:1px solid var(--intent-line);border-radius:11px;background:#0a0d17}
.inventory-group-stack{display:grid;gap:16px}
.inventory-group{display:grid;gap:8px}
.inventory-group[hidden]{display:none!important}
.inventory-group-title{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:0 3px 6px;border-bottom:1px solid var(--intent-line-soft)}
.inventory-group-title span{font-weight:750;color:#d9ddea}
.inventory-group-title small{color:var(--intent-faint)}
.inventory-card[hidden]{display:none!important}
.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,112px));gap:8px}
.inventory-slot{min-height:100px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.inventory-slot:hover,.inventory-slot.selected,.gear-item.selected{border-color:#8b713b;background:#d9a9480c;transform:translateY(-1px)}
.item-artwork{width:50px;height:50px;padding:7px;border:1px solid hsl(var(--item-hue) 44% 42% / .58);border-radius:10px;background:radial-gradient(circle at 35% 25%,hsl(var(--item-accent) 75% 70% / .25),transparent 38%),linear-gradient(145deg,hsl(var(--item-hue) 50% 34% / .42),#080b14);color:hsl(var(--item-hue) 72% 74%);box-shadow:inset 0 0 18px #ffffff08}
.item-artwork.pixel-tier-art{display:inline-block;box-sizing:border-box;padding:0;background-color:#080d17;background-repeat:no-repeat;background-size:500% 200%;image-rendering:pixelated;image-rendering:crisp-edges;box-shadow:inset 0 0 0 1px #ffffff0b,0 5px 14px #0007}
.recipe-title>.pixel-tier-art{grid-column:1;width:54px;height:54px;max-width:54px;overflow:hidden;flex:0 0 54px;border-radius:9px}.mine-head>.pixel-tier-art{width:54px;height:54px;flex:0 0 54px;border-radius:10px}.recipe-title:has(>.pixel-tier-art){grid-template-columns:54px minmax(0,1fr) auto;column-gap:14px;row-gap:6px}.mine-head:has(>.pixel-tier-art){grid-template-columns:54px minmax(0,1fr) auto;gap:12px}.recipe-title>b,.mine-head>b{position:relative;z-index:1;min-width:0;overflow-wrap:anywhere;line-height:1.35}.plot-row>.pixel-tier-art{width:44px;height:44px;flex:0 0 44px;border-radius:9px}.plot-row.growing{grid-template-columns:44px minmax(150px,.8fr) minmax(180px,1.2fr) auto}
.item-artwork svg{width:100%;height:100%;display:block;fill:hsl(var(--item-hue) 56% 42% / .22);stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.item-name strong{top:5px;right:6px;padding:1px 5px;border:1px solid #ffffff16;border-radius:999px;background:#070910d9;color:#f3d992}
.inventory-card .item-actions{max-height:none;overflow:visible;opacity:1;pointer-events:auto;padding-top:5px;transition:none}
.gear-inventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.gear-item{min-height:126px;cursor:pointer;padding:10px}
.gear-card-head{grid-template-columns:50px minmax(0,1fr)}
.gear-card-head .item-artwork{width:50px;height:50px}
.gear-card-head b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Scene browser: region → second-level scene → roster → enter. */
.scene-browser{display:grid;gap:14px}
.scene-breadcrumb{display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border:1px solid var(--intent-line);border-radius:9px;background:#0d101b;color:var(--intent-faint)}
.scene-breadcrumb button{border:0;background:transparent;color:var(--intent-muted);cursor:pointer;padding:5px 7px;border-radius:6px}
.scene-breadcrumb button:hover,.scene-breadcrumb button.active{background:#d9a94814;color:var(--intent-gold-hot)}
.scene-breadcrumb b{color:var(--intent-text)}
.scene-search{width:min(560px,100%)}
.scene-level-list{display:grid;gap:10px}
.scene-level-head{display:flex;align-items:end;justify-content:space-between;gap:12px}
.scene-level-head>div{display:grid;gap:2px}
.scene-level-head span{color:var(--intent-gold-hot);font-size:10px;letter-spacing:.12em}
.scene-level-head b{font-size:17px}
.scene-level-head small{color:var(--intent-muted)}
.scene-region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.scene-region-card,.scene-place-card{position:relative;display:grid;align-items:center;gap:12px;width:100%;min-width:0;border:1px solid var(--intent-line);border-radius:11px;background:linear-gradient(145deg,#171b2a,#0b0e18);color:var(--intent-text);text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.scene-region-card{grid-template-columns:52px minmax(0,1fr);min-height:92px;padding:14px}
.scene-region-card:hover,.scene-place-card:hover{border-color:#806b40;transform:translateY(-1px);background:linear-gradient(145deg,#1a2030,#0d101a)}
.scene-region-card.current,.scene-place-card.current{box-shadow:inset 3px 0 var(--intent-gold)}
.scene-card-icon,.scene-place-art{display:grid;place-items:center;border:1px solid #79612f;border-radius:10px;background:#d9a94812;color:var(--intent-gold-hot)}
.scene-card-icon{width:52px;height:52px}.scene-card-icon .ui-icon{width:28px;height:28px}
.scene-region-card>span:nth-child(2){display:grid;gap:5px}.scene-region-card small,.scene-place-card small{color:var(--intent-muted)}
.scene-region-card em{position:absolute;right:9px;top:8px;color:var(--intent-gold-hot);font-size:9px;font-style:normal}
.scene-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.scene-place-card{grid-template-columns:62px minmax(0,1fr);min-height:108px;padding:12px}
.scene-place-art{width:62px;height:74px;background:radial-gradient(circle,#d9a94824,transparent 64%),#090c15}.scene-place-art .ui-icon{width:32px;height:32px}
.scene-place-copy{display:grid;gap:5px}.scene-place-copy b{font-size:15px}.scene-place-copy>span{display:flex;gap:6px;flex-wrap:wrap}.scene-place-copy em{padding:2px 6px;border:1px solid var(--intent-line-soft);border-radius:999px;font-size:9px;font-style:normal}
.scene-detail-card,.scene-monster-section{border:1px solid var(--intent-line);border-radius:11px;background:linear-gradient(180deg,#151927,#0c0f19);overflow:hidden}
.scene-detail-card>header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--intent-line-soft);background:radial-gradient(500px 120px at 12% 0,#d9a94814,transparent)}
.scene-detail-card h2{margin:3px 0 0;font-size:24px}.scene-detail-card header small{color:var(--intent-gold-hot)}
.current-scene-badge{padding:5px 9px;border:1px solid #80642f;border-radius:999px;background:#d9a94812;color:var(--intent-gold-hot);font-size:11px}
.scene-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px}
.scene-facts>div{display:grid;gap:4px;min-height:66px;padding:10px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#080b14}
.scene-facts span{color:var(--intent-muted);font-size:10px}.scene-facts b{font-size:14px}
.scene-condition{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:0 14px 14px;padding:11px;border-left:3px solid var(--intent-gold);background:#d9a9480b}.scene-condition span{color:var(--intent-muted)}
.scene-detail-card>.meta-chips{padding:0 14px 14px}
.scene-monster-section{padding:14px}.scene-monster-section .scene-level-head{margin-bottom:10px}
.scene-roster-row{grid-template-columns:52px minmax(170px,1fr) minmax(140px,.65fr) minmax(230px,1fr)}
.scene-enter-bar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #7c622e;border-radius:11px;background:#11131ef2;box-shadow:0 14px 40px #000a;backdrop-filter:blur(12px)}
.scene-enter-bar>div{display:grid;gap:3px}.scene-enter-bar span{color:var(--intent-muted);font-size:11px}.scene-enter-bar .btn{min-width:150px}

/* Equipment management: current slots left, candidates right. */
.equipment-workspace{display:grid;grid-template-columns:minmax(410px,.78fr) minmax(440px,1.22fr);gap:14px;align-items:start}
.equipment-current,.equipment-library{margin:0!important}
.equipment-current{position:sticky;top:12px}
.equipment-mode-tabs{display:flex;gap:5px}
.equipment-mode-tabs button{min-height:30px;padding:4px 9px;border:1px solid var(--intent-line-soft);border-radius:7px;background:#080b14;color:var(--intent-muted);cursor:pointer}
.equipment-mode-tabs button.active{border-color:#80642f;background:#d9a94814;color:var(--intent-gold-hot)}
.equipment-slot-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.equipment-slot{position:relative;min-width:0;border:1px solid var(--intent-line-soft);border-radius:9px;background:#090c15;overflow:hidden}
.equipment-slot.selected{border-color:#9b7833;box-shadow:inset 3px 0 var(--intent-gold)}
.equipment-slot-select{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:88px;padding:10px 8px;border:0;background:transparent;color:var(--intent-text);text-align:left;cursor:pointer}
.equipment-slot-art{display:grid;place-items:center;width:48px;height:56px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#ffffff05;color:var(--intent-faint)}
.equipment-slot-art>.item-artwork{width:48px;height:56px;border:0}.equipment-slot-art>.ui-icon{width:26px;height:26px}
.equipment-slot-copy{display:grid;gap:2px;min-width:0}.equipment-slot-copy small{color:var(--intent-muted)}.equipment-slot-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-slot-copy span{color:var(--intent-faint);font-size:10px}.equipment-slot-copy em{color:#e8bd6e;font-size:10px;font-style:normal}
.equipment-slot.has-gear .equipment-slot-select{padding-bottom:35px}.equipment-slot-actions{position:absolute;right:7px;bottom:7px;display:flex;gap:5px}.equipment-change,.equipment-remove{border:1px solid var(--intent-line-soft);border-radius:5px;padding:3px 7px;font-size:9px;cursor:pointer}.equipment-change{background:#262c3a;color:#e4c678}.equipment-remove{background:#49252a;color:#e9a6a0}
.equipment-stat-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.equipment-stat-summary>div{display:grid;gap:2px;padding:8px;border:1px solid var(--intent-line-soft);border-radius:7px;background:#ffffff04}.equipment-stat-summary span{color:var(--intent-muted);font-size:9px}.equipment-stat-summary b{font-size:12px}
.equipment-search{width:100%;margin-bottom:10px}
.equipment-selection-context{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;border:1px solid #735a2b;border-radius:8px;background:#d9a9480c}.equipment-selection-context span,.equipment-selection-context small{color:var(--intent-muted);font-size:10px}.equipment-selection-context b{color:var(--intent-gold-hot)}
.equip-candidate-list{display:grid;gap:8px;max-height:70vh;overflow:auto;padding-right:2px}
.equip-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#090c15}
.equip-candidate:hover{border-color:#65583c}
.equip-candidate-main{grid-column:1/-1;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:9px}.equip-candidate-main>.item-artwork{width:50px;height:50px}.equip-candidate-main>div{display:grid;gap:3px;min-width:0}.equip-candidate-main>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equip-candidate-main>div>span{color:var(--intent-muted);font-size:10px}
.equip-candidate>.gear-summary,.equip-candidate>.gear-lines{min-width:0}.equip-candidate>.btn{align-self:end;min-width:86px}
.compare-up,.compare-down,.compare-even{padding:3px 7px;border-radius:999px;font-size:10px}.compare-up{background:#24573466;color:#8ddd98}.compare-down{background:#612d3266;color:#eb938c}.compare-even{background:#ffffff08;color:var(--intent-muted)}

@media(max-width:1180px){
  .equipment-workspace{grid-template-columns:1fr}
  .equipment-current{position:static}
  .equip-candidate-list{max-height:none}
}
@media(max-width:900px){
  .scene-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scene-roster-row{grid-template-columns:46px minmax(0,1fr)}
  .scene-roster-row>.rank-odds,.scene-roster-row>.loot-table{grid-column:2}
  .scene-enter-bar{bottom:72px}
  .inventory-toolbar{align-items:stretch;flex-direction:column}.inventory-search{width:100%}
}
@media(max-width:560px){
  .item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .inventory-panel{padding:9px}
  .scene-region-grid,.scene-card-grid{grid-template-columns:1fr}
  .scene-facts{grid-template-columns:1fr 1fr}
  .scene-enter-bar{align-items:stretch;flex-direction:column}.scene-enter-bar .btn{width:100%}
  .equipment-workspace{grid-template-columns:1fr}.equipment-slot-board{grid-template-columns:1fr 1fr}.equipment-slot-select{grid-template-columns:36px minmax(0,1fr);min-height:78px;padding:8px 6px}.equipment-slot-art{width:36px;height:46px}.equipment-slot-art>.item-artwork{width:36px;height:46px}.equipment-slot-copy span{display:none}.equipment-stat-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .equipment-selection-context{grid-template-columns:1fr}.equip-candidate{grid-template-columns:1fr}.equip-candidate-main{grid-template-columns:44px minmax(0,1fr)}.equip-candidate-main>.item-artwork{width:44px;height:44px}.equip-candidate-main>.compare-up,.equip-candidate-main>.compare-down,.equip-candidate-main>.compare-even{grid-column:2}.equip-candidate>.btn{width:100%}
}

/* 五类场景与场景内事务 */
.scene-category-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:8px;border:1px solid var(--intent-line-soft);border-radius:14px;background:#080d18b8}
.scene-category-tabs button{min-height:42px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--intent-muted);font-weight:700;cursor:pointer}
.scene-category-tabs button:hover{border-color:var(--intent-line-soft);color:var(--intent-text)}
.scene-category-tabs button.active{border-color:#9c7937;background:linear-gradient(180deg,#d9a9482e,#d9a9480f);color:var(--intent-gold-hot)}
.scene-place-card.locked{opacity:.72}
.secret-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.secret-entry-card{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;min-height:92px;padding:14px;text-align:left;border:1px solid var(--intent-line-soft);border-radius:14px;background:linear-gradient(145deg,#21193ed9,#0b1220eb);color:var(--intent-text);cursor:pointer}
.secret-entry-card:hover{border-color:#9774d6;transform:translateY(-1px)}
.secret-entry-card>span:last-child{display:grid;gap:5px}.secret-entry-card b{font-size:16px}.secret-entry-card small{color:var(--intent-muted)}.secret-entry-card em{color:#bd9cff;font-style:normal;font-size:12px}
.market-shell{border:1px solid var(--intent-line-soft);border-radius:16px;overflow:hidden;background:#080d18b8}
.market-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--intent-line-soft);background:linear-gradient(120deg,#d9a94824,transparent)}
.market-head small{display:block;color:var(--intent-muted);margin-bottom:3px}.market-head h2{margin:0;font-size:22px}.market-head>span{color:var(--intent-gold-hot);font-weight:800}
.scene-npc-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;background:var(--intent-line-soft);border-bottom:1px solid var(--intent-line-soft)}
.scene-npc-tabs button{min-height:66px;padding:10px 8px;border:0;background:#101827;color:var(--intent-muted);cursor:pointer}
.scene-npc-tabs button b,.scene-npc-tabs button small{display:block}.scene-npc-tabs button b{color:var(--intent-text);margin-bottom:4px}.scene-npc-tabs button.active{background:#d9a94821;box-shadow:inset 0 -2px var(--intent-gold)}.scene-npc-tabs button.active b{color:var(--intent-gold-hot)}
.npc-content{padding:16px}.npc-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.npc-title b{font-size:18px}.npc-title span{display:block;color:var(--intent-muted);font-size:12px;margin-top:3px}
.exchange-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}
.exchange-offer{display:grid;align-content:start;gap:11px;min-width:0;min-height:184px;padding:14px;border:1px solid var(--intent-line-soft);border-radius:12px;background:linear-gradient(145deg,#111a2a,#0b101d);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.exchange-offer:hover,.exchange-offer:focus-visible{border-color:#9b7b3b;background:linear-gradient(145deg,#172237,#0d1321);transform:translateY(-1px);outline:0}
.exchange-offer>b{font-size:15px;color:var(--intent-text)}.exchange-offer p{min-height:38px;margin:0;color:var(--intent-muted);font-size:12px;line-height:1.55}.exchange-offer>span{color:var(--intent-gold-hot);font-size:12px}.exchange-offer .btn{width:100%}
.exchange-offer-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.exchange-offer-head>.item-artwork{width:52px;height:52px}.exchange-offer-head>div{display:grid;gap:4px;min-width:0}.exchange-offer-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.exchange-offer-head span{color:var(--intent-muted);font-size:11px}
.exchange-offer-summary{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#070b14}.exchange-offer-summary span{color:var(--intent-muted);font-size:10px}.exchange-offer-summary b{flex:0 0 auto;color:var(--intent-gold-hot);font-size:12px}
.exchange-offer-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,.75fr);align-items:center;gap:8px;margin-top:auto}.exchange-offer-actions>span{color:var(--intent-faint);font-size:10px}.exchange-offer-actions .btn{margin:0}
.mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mission-card{padding:14px;border:1px solid var(--intent-line-soft);border-radius:12px;background:#101827c7}
.mission-card header{display:flex;justify-content:space-between;gap:10px}.mission-card header span{color:var(--intent-gold-hot);font-size:12px}.mission-card p{margin:9px 0;color:var(--intent-text);line-height:1.5}.mission-card small{display:block;color:var(--intent-muted);margin-top:7px}
.sect-entry-info{margin-top:10px;padding-top:9px;border-top:1px solid var(--intent-line-soft);font-size:12px;line-height:1.55}.sect-entry-info p{margin:0 0 7px}.sect-entry-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--intent-muted)}.sect-entry-legacy{margin-top:5px;color:var(--intent-text)}.sect-entry-conditions-title{display:block;margin-top:10px;color:var(--intent-gold-hot)}.sect-entry-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:5px}.sect-entry-conditions span{overflow-wrap:anywhere}.sect-entry-exam{margin-top:7px;color:var(--intent-text)}.sect-entry-info small{line-height:1.45}
@media(max-width:600px){.sect-entry-conditions{grid-template-columns:1fr}}
.mission-progress{height:6px;border-radius:999px;background:#080d17;overflow:hidden}.mission-progress i{display:block;height:100%;background:linear-gradient(90deg,#826426,var(--intent-gold))}.mission-actions{display:flex;gap:8px;margin-top:11px}.mission-actions .btn{min-height:34px}
.secret-node-section{margin-top:12px}.secret-node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.secret-node{display:grid;gap:9px;padding:14px;border:1px solid var(--intent-line-soft);border-radius:12px;background:#151124d1}
.secret-node header{display:flex;justify-content:space-between;gap:8px}.secret-node header span{color:#bd9cff;font-size:12px}.secret-node p{min-height:38px;margin:0;color:var(--intent-muted);font-size:12px;line-height:1.55}.secret-node small{color:var(--intent-gold-hot)}
.dungeon-stage-list{display:grid;gap:8px;margin-top:12px}.dungeon-stage-list>article{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--intent-line-soft);border-radius:11px;background:#101827b8}.dungeon-stage-list>article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d9a94821;color:var(--intent-gold-hot);font-weight:800}.dungeon-stage-list b,.dungeon-stage-list small{display:block}.dungeon-stage-list small{color:var(--intent-muted);margin-top:3px}
@media(max-width:900px){.scene-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.secret-entry-list,.mission-list{grid-template-columns:1fr}.exchange-grid,.secret-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.scene-category-tabs{display:flex;overflow-x:auto;padding:6px}.scene-category-tabs button{flex:0 0 auto;padding:0 14px}.scene-npc-tabs{display:flex;overflow-x:auto}.scene-npc-tabs button{flex:0 0 118px}.market-head{align-items:flex-start}.exchange-grid,.secret-node-grid{grid-template-columns:1fr}.npc-title{align-items:flex-start;flex-direction:column}.secret-entry-list{grid-template-columns:1fr}}

/* 战斗循环与自动吃药 */
.combat-plan-card{overflow:visible}.combat-plan-head{flex-wrap:wrap}.combat-plan-tabs{display:flex;gap:5px}.combat-plan-tabs button,.combat-picker-kinds button{min-height:32px;padding:6px 12px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#080b14;color:var(--intent-muted);font-weight:700;cursor:pointer}.combat-plan-tabs button.active,.combat-picker-kinds button.active{border-color:#987532;background:#d9a9481c;color:var(--intent-gold-hot)}
.combat-plan-panel{display:none;padding:14px 16px 16px}.combat-plan-panel.active{display:block}.combat-plan-copy{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.combat-plan-copy b{color:var(--intent-text);font-size:15px}.combat-plan-copy span{color:var(--intent-muted);font-size:11px}
.combat-rotation-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.combat-rotation-slot{position:relative;min-width:0;min-height:118px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#090c15;overflow:hidden}.combat-rotation-slot.active{border-color:#a68135;box-shadow:inset 3px 0 var(--intent-gold)}.combat-rotation-slot.dragging{opacity:.55}.combat-rotation-slot.drag-target{border-color:#63b9d6}
.combat-slot-select{display:grid;align-content:start;gap:5px;width:100%;min-height:86px;padding:12px 11px 8px;border:0;background:transparent;color:var(--intent-text);text-align:left;cursor:pointer}.combat-slot-select small{color:var(--intent-faint);font-size:9px;letter-spacing:.12em}.combat-slot-select b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--intent-text)}.combat-slot-select span{color:var(--intent-muted);font-size:10px;line-height:1.45}.combat-rotation-slot.empty .combat-slot-select{place-content:center;text-align:center;color:var(--intent-muted)}.combat-rotation-slot.empty .combat-slot-select b{color:var(--intent-muted);font-size:20px}.combat-slot-live{display:block;color:var(--intent-faint);font-size:9px}.combat-slot-live.unavailable{color:#d89488}
.combat-slot-actions{display:flex;justify-content:flex-end;gap:4px;padding:0 7px 7px}.combat-slot-actions button{min-width:27px;min-height:24px;padding:2px 6px;border:1px solid var(--intent-line-soft);border-radius:6px;background:#ffffff07;color:var(--intent-muted);font-size:10px;cursor:pointer}.combat-slot-actions button:hover{color:var(--intent-text)}
.auto-medicine-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auto-medicine-rule{display:grid;gap:10px;padding:13px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#090c15}.auto-medicine-rule header{display:flex;align-items:center;justify-content:space-between;gap:10px}.auto-medicine-rule header b{font-size:14px}.medicine-toggle{min-width:66px;min-height:30px;border:1px solid var(--intent-line-soft);border-radius:999px;background:#ffffff08;color:var(--intent-muted);cursor:pointer}.medicine-toggle.enabled{border-color:#397049;background:#1b5e362e;color:#8ddd98}.medicine-condition{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.medicine-condition label{display:grid;gap:5px;color:var(--intent-muted);font-size:10px}.medicine-condition select{min-height:36px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#070914;color:var(--intent-text);padding:6px 9px}.medicine-current{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#ffffff04}.medicine-current b{color:var(--intent-text)}.medicine-current span{color:var(--intent-muted);font-size:10px}
.combat-picker{display:none;position:fixed;inset:0;z-index:1200}.combat-picker.open{display:grid;place-items:center}.combat-picker-backdrop{position:absolute;inset:0;background:#02030ad9;backdrop-filter:blur(6px)}.combat-picker-dialog{position:relative;width:min(920px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 32px));display:grid;grid-template-rows:auto auto auto minmax(120px,1fr) auto;border:1px solid #70592e;border-radius:16px;background:linear-gradient(180deg,#181b2b,#090b14);box-shadow:0 28px 100px #000d;overflow:hidden}
.combat-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid var(--intent-line-soft)}.combat-picker-head small{color:var(--intent-gold-hot)}.combat-picker-head h2{margin:3px 0 0;font-size:21px}.combat-picker-close{width:38px;height:38px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#ffffff08;color:var(--intent-text);font-size:24px;cursor:pointer}.combat-picker-kinds{display:flex;gap:7px;padding:11px 16px;border-bottom:1px solid var(--intent-line-soft)}.combat-picker-filters{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:8px;padding:11px 16px;border-bottom:1px solid var(--intent-line-soft)}.combat-picker-filters label{display:grid;gap:4px;color:var(--intent-muted);font-size:9px}.combat-picker-filters input,.combat-picker-filters select{width:100%;min-height:36px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#070914;color:var(--intent-text);padding:7px 9px}
.combat-picker-list{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px;min-height:200px;padding:13px 16px;overflow:auto}.combat-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#0c101c;color:var(--intent-text);text-align:left;cursor:pointer}.combat-choice:hover{border-color:#8f7136;background:#d9a9480b}.combat-choice-main{display:grid;gap:4px;min-width:0}.combat-choice-main>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.combat-choice-main>span{color:var(--intent-muted);font-size:10px}.combat-choice-tags{display:flex;gap:5px;flex-wrap:wrap}.combat-choice-tags em{padding:2px 6px;border-radius:999px;background:#ffffff08;color:var(--intent-faint);font-size:9px;font-style:normal}.combat-choice-power{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 9px;margin-top:5px;padding:8px 9px;border:1px solid #5e4b2a;border-radius:8px;background:#d9a9480d}.combat-choice-power strong{color:var(--intent-gold-hot);font-size:14px}.combat-choice-power em{color:#9bd8aa;font-size:10px;font-style:normal}.combat-choice-power small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--intent-faint);font-size:9px}.combat-choice-status{align-self:start;color:#82d493;font-size:10px}.combat-choice-status.unavailable{color:#e0998f}.combat-picker-empty{grid-column:1/-1;display:grid;place-items:center;min-height:180px;color:var(--intent-muted);text-align:center}.combat-picker-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:11px 16px;border-top:1px solid var(--intent-line-soft)}.combat-picker-pager span{min-width:92px;text-align:center;color:var(--intent-muted);font-size:11px}
@media(max-width:900px){.combat-rotation-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.auto-medicine-rules{grid-template-columns:1fr}.combat-picker-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.combat-picker-list{grid-template-columns:1fr}.combat-picker-filters{grid-template-columns:1fr 1fr}.combat-picker-filters label:first-child{grid-column:1/-1}}
@media(max-width:520px){.combat-plan-copy{align-items:flex-start;flex-direction:column;gap:3px}.combat-plan-panel{padding:11px}.combat-rotation-slot{min-height:110px}.combat-picker{align-items:end}.combat-picker.open{place-items:end center}.combat-picker-dialog{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.combat-picker-kinds{overflow-x:auto}.combat-picker-kinds button{flex:0 0 auto}.combat-picker-filters{grid-template-columns:1fr}.combat-picker-filters label:first-child{grid-column:auto}.combat-picker-list{padding:10px}.medicine-condition{grid-template-columns:1fr}.medicine-condition .btn{width:100%}}

/* 修炼目标、物品详情与战斗信息采用同一套清晰的视觉层级。 */
.combat-static{align-items:start}.combat-static>div:last-child{min-width:0}.combat-identity{display:grid;align-content:start;gap:4px;min-height:112px;margin-bottom:8px}.combat-identity .combat-title{min-height:30px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.combat-identity .trait-list{min-height:25px;margin-top:2px}.combat-identity+.info-row{margin-top:0}
.cultivation-card{overflow:hidden}.cultivation-focus{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:stretch}.cultivation-visual{position:relative;display:grid;place-items:center;align-content:center;min-height:270px;margin:0;padding:18px;border:1px solid #48677d;border-radius:13px;background:radial-gradient(circle at 50% 44%,#64caff31,transparent 42%),linear-gradient(180deg,#111b29,#080c16);overflow:hidden}.cultivation-visual:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #68d7ff45;border-radius:50%;box-shadow:0 0 40px #51c8ff2d,inset 0 0 32px #51c8ff20}.cultivation-visual img{position:relative;width:min(180px,85%);height:auto;filter:drop-shadow(0 0 14px #6bdcff66)}.cultivation-visual figcaption{position:relative;margin-top:15px;color:#9ecbe0;font-size:11px;letter-spacing:.08em}.cultivation-realm-progress{height:100%;margin:0!important}.cultivation-goal-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(260px,1fr) minmax(260px,1fr);gap:10px;margin-top:12px}.cultivation-goal,.cultivation-bonus{display:grid;align-content:start;gap:10px;min-width:0;min-height:210px;padding:14px;border:1px solid var(--intent-line-soft);border-radius:11px;background:#0b111c}.cultivation-goal>header,.cultivation-bonus>header{display:grid;gap:3px;padding-bottom:9px;border-bottom:1px solid var(--intent-line-soft)}.cultivation-goal>header span,.cultivation-bonus>header span{color:var(--intent-gold-hot);font-weight:800}.cultivation-goal>header b{font-size:13px}.cultivation-bonus>header small{color:var(--intent-muted)}.cultivation-goal-status{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cultivation-goal-status>div{display:grid;gap:4px;padding:9px 10px;border:1px solid var(--intent-line-soft);border-radius:8px;background:#101826}.cultivation-goal-status span,.cultivation-next-key>span{color:var(--intent-muted);font-size:10px}.cultivation-goal-status strong{font-size:13px}.cultivation-next-key{display:grid;gap:5px;min-width:0}.cultivation-next-key strong{font-size:11px;line-height:1.55;text-align:left}.cultivation-next-key small{min-height:14px;color:#d9b45d;font-size:9px;line-height:1.45}.cultivation-goal>.btn{margin-top:auto;width:100%}.cultivation-bonus.next{border-color:#765e2f;background:linear-gradient(145deg,#171510,#0b111c)}.cultivation-bonus-grid{display:flex;align-content:flex-start;gap:7px;flex-wrap:wrap}.cultivation-bonus-grid>span{padding:6px 8px;border:1px solid #3e5363;border-radius:7px;background:#11202b;color:#b9d9e7;font-size:11px}.cultivation-bonus.next .cultivation-bonus-grid>span{border-color:#6f5b32;background:#d9a9480d;color:#f0cf85}
.art-advance-hint{margin:12px 0;padding:10px 12px;border-left:3px solid var(--intent-gold);background:#d9a9480b;color:var(--intent-text);line-height:1.55}.art-growth-table{width:100%;margin-top:9px;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--intent-line-soft);border-radius:9px}.art-growth-table th,.art-growth-table td{padding:9px 10px;border-bottom:1px solid var(--intent-line-soft);text-align:right;font-size:11px}.art-growth-table th:first-child,.art-growth-table td:first-child{text-align:left}.art-growth-table th{background:#080c15;color:var(--intent-muted);font-weight:650}.art-growth-table tr:last-child td{border-bottom:0}.art-growth-table .next-growth{background:#d9a9480a;color:var(--intent-gold-hot);font-weight:800}
.art-progression-details{margin-top:14px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#080d17;overflow:hidden}.art-progression-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:12px 14px;cursor:pointer;color:var(--intent-text);font-weight:750;list-style:none}.art-progression-details summary::-webkit-details-marker{display:none}.art-progression-details summary::after{content:'展开';flex:0 0 auto;padding:4px 9px;border:1px solid #a77b2e;border-radius:999px;color:var(--intent-gold-hot);font-size:11px;font-weight:700}.art-progression-details[open] summary::after{content:'收起'}.art-progression-details summary small{margin-left:auto;color:var(--intent-muted);font-size:11px;font-weight:500}.art-progression-body{display:grid;gap:16px;padding:4px 14px 14px;border-top:1px solid var(--intent-line-soft)}.art-progression-body section{padding-top:12px}.art-progression-body h3{margin:0 0 6px;font-size:14px;color:var(--intent-gold-hot)}
@media(max-width:700px){.art-progression-details summary{align-items:flex-start;flex-wrap:wrap}.art-progression-details summary small{order:3;width:100%;margin-left:0}}
.art-study-panel{display:grid;gap:10px;margin:10px 0 13px;padding:12px;border:1px solid #5f4c2c;border-radius:10px;background:linear-gradient(135deg,#17150f,#0b101a)}.art-study-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.art-study-metrics span{display:grid;gap:3px;padding:8px 9px;border-radius:7px;background:#ffffff05;color:var(--intent-muted);font-size:10px}.art-study-metrics b{color:var(--intent-text);font-size:12px}.art-study-live{display:grid;gap:6px}.art-study-live>div:first-child{display:flex;justify-content:space-between;gap:10px;color:var(--intent-muted);font-size:10px}.art-study-live strong{color:var(--intent-gold-hot)}.art-study-panel .sect-actions{margin:0}.art-study-panel .sect-actions .btn{min-width:110px}
.item-detail-cue{display:block;color:var(--intent-faint);font-size:9px;letter-spacing:.03em}.item-detail-overlay{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:20px;background:#02040bd9;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .16s}.item-detail-overlay.open{opacity:1;pointer-events:auto}.item-detail-sheet{position:relative;width:min(640px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));overflow:auto;border:1px solid #806936;border-radius:16px;background:linear-gradient(180deg,#171c2a,#090c15);box-shadow:0 30px 110px #000e}.item-detail-close{position:absolute;z-index:2;right:13px;top:13px;width:38px;height:38px;border:1px solid var(--intent-line-soft);border-radius:9px;background:#ffffff08;color:var(--intent-text);font-size:25px;cursor:pointer}.item-detail-head{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:15px;padding:20px 64px 18px 20px;border-bottom:1px solid var(--intent-line-soft);background:radial-gradient(440px 150px at 5% 0,#d9a9481c,transparent)}.item-detail-art>.item-artwork{width:82px;height:82px;padding:13px}.item-detail-head small{color:var(--intent-gold-hot)}.item-detail-head h3{margin:4px 0 6px;font-size:22px}.item-detail-meta{color:var(--intent-muted);font-size:11px}.item-detail-body{display:grid;gap:10px;padding:16px 20px 22px}.item-detail-section{padding:13px;border:1px solid var(--intent-line-soft);border-radius:10px;background:#090e18}.item-detail-section h4{margin:0 0 9px;color:var(--intent-gold-hot)}.item-detail-section p{margin:0;color:var(--intent-muted);line-height:1.65}.item-detail-section .gear-summary{margin:0}.item-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.item-detail-facts>span{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:7px;background:#ffffff05;color:var(--intent-muted);font-size:10px}.item-detail-facts b{color:var(--intent-text)}.item-detail-materials{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.item-detail-materials span{padding:5px 8px;border:1px solid var(--intent-line-soft);border-radius:999px;color:var(--intent-muted);font-size:10px}body.item-detail-open{overflow:hidden}
.unified-item-detail{cursor:pointer}.unified-item-detail:not(.recipe-card):not(.mine-card):hover{border-color:#a88742;color:var(--intent-text)}.material-line.unified-item-detail,.life-mat-summary>.unified-item-detail,.loot-entry.unified-item-detail{transition:border-color .15s,background-color .15s}.material-line.unified-item-detail:hover,.life-mat-summary>.unified-item-detail:hover,.loot-entry.unified-item-detail:hover{background:#d9a9480d}.recipe-card.unified-item-detail>.item-detail-cue,.mine-card.unified-item-detail>.item-detail-cue,.exchange-offer.unified-item-detail>.item-detail-cue{margin-top:8px}.view-selected-life-item{flex:0 0 auto}
.process-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #4f806f;border-radius:999px;background:#18372c;color:#8fe0bd;font-size:10px;font-weight:700}
@media(max-width:1050px){.cultivation-focus{grid-template-columns:190px minmax(0,1fr)}.cultivation-goal-grid{grid-template-columns:1fr 1fr}.cultivation-goal{grid-column:1/-1;min-height:auto}}
@media(max-width:700px){.cultivation-focus{grid-template-columns:1fr}.cultivation-visual{min-height:210px}.cultivation-visual img{width:140px}.cultivation-goal-grid{grid-template-columns:1fr}.cultivation-goal{grid-column:auto}.exchange-offer-actions{grid-template-columns:1fr}.exchange-offer-actions>span{display:none}.item-detail-overlay{align-items:end;padding:0}.item-detail-sheet{width:100%;max-height:90vh;border-radius:16px 16px 0 0}.item-detail-head{grid-template-columns:64px minmax(0,1fr);padding:17px 58px 14px 15px}.item-detail-art>.item-artwork{width:64px;height:64px}.item-detail-facts{grid-template-columns:1fr}.art-study-metrics{grid-template-columns:1fr}.art-study-panel .sect-actions{display:grid;grid-template-columns:1fr}.art-study-panel .sect-actions .btn{width:100%}.art-growth-table th,.art-growth-table td{padding:7px 5px;font-size:9px}}
/* V17 loading and breakthrough surfaces */
.boot-loader{position:fixed;inset:0;z-index:99999;display:grid;place-content:center;justify-items:center;gap:14px;background:radial-gradient(circle at 50% 38%,#183b3a 0,#0a1019 34%,#04060b 74%);color:#f7edcf;transition:opacity .45s ease,visibility .45s ease}.boot-loader.done{opacity:0;visibility:hidden;pointer-events:none}.boot-loader-mark{width:84px;height:84px;display:grid;place-items:center;border:1px solid #d7ae55;border-radius:24px;background:#d7ae5518;box-shadow:0 0 55px #54c9c738,inset 0 0 24px #d7ae5528;font:700 46px var(--font-display)}.boot-loader h1{margin:0;font:700 30px var(--font-display);letter-spacing:.18em}.boot-loader p{margin:0;color:#9db3bd}.boot-loader-bar{width:min(360px,72vw);height:8px;overflow:hidden;border:1px solid #ffffff1f;border-radius:999px;background:#0008}.boot-loader-bar i{display:block;width:5%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b77d28,#f1cc68,#72d4ce);transition:width .28s ease}.boot-loader strong{color:#edcb74;font-variant-numeric:tabular-nums}
.breakthrough-panel .body{display:grid;gap:14px}.breakthrough-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.breakthrough-summary>div{padding:12px;border:1px solid var(--hairline);border-radius:var(--r);background:#0003}.breakthrough-summary span,.breakthrough-summary b{display:block}.breakthrough-summary span{color:var(--muted);font-size:12px}.breakthrough-summary b{margin-top:5px;color:var(--gold-bright);font-size:17px}.breakthrough-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.breakthrough-slots label{display:grid;gap:6px;color:var(--muted);font-size:12px}.breakthrough-slots select{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--hairline);border-radius:var(--r);background:#070914;color:var(--ink)}.breakthrough-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.breakthrough-progress{display:grid;gap:8px}.breakthrough-progress>div:first-child{display:flex;justify-content:space-between}.breakthrough-progress.hidden{display:none}.breakthrough-panel.injured{border-color:#a94c55}.breakthrough-panel.ready{border-color:var(--gold-deep);box-shadow:inset 3px 0 var(--gold)}
@media(max-width:720px){.breakthrough-summary,.breakthrough-slots{grid-template-columns:1fr}.boot-loader h1{font-size:24px}}
.tribulation-challenge{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:15px 17px;border:1px solid #934b45;border-radius:12px;background:radial-gradient(circle at 0 0,#8f33272b,transparent 46%),linear-gradient(135deg,#1d1115,#0b1019);box-shadow:inset 3px 0 #d1664d}.tribulation-challenge.hidden{display:none}.tribulation-challenge-copy,.tribulation-reward-head{display:grid;gap:4px}.tribulation-challenge-copy b,.tribulation-reward-head b{color:#f6e7ca;font-size:17px}.tribulation-challenge-copy>span:last-child,.tribulation-reward-head small{color:#e6a890;font-size:12px}.tribulation-challenge>.btn{min-width:112px}.tribulation-reward-head{flex:0 0 190px}.tribulation-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px;flex:1}.tribulation-reward-card{display:grid;align-content:start;gap:7px;min-height:108px;padding:12px;border:1px solid #6f5331;border-radius:9px;background:#0d111b;color:#eee2ca;text-align:left;cursor:pointer}.tribulation-reward-card:hover{border-color:#d3a64e;background:#d3a64e12}.tribulation-reward-card b{color:#f3cc74}.tribulation-reward-card span{color:#b9ad9e;font-size:11px;line-height:1.5}.tribulation-reward-card em{margin-top:auto;color:#e8a76e;font-size:10px;font-style:normal}.battle-nav-entry.tribulation-ready{border-color:#9a403c!important;box-shadow:inset 3px 0 #c95848,0 0 14px #b8403428}.mobile-nav .tribulation-nav-alert{position:absolute;right:2px;top:2px;max-width:42px;white-space:normal;text-align:center}
@media(max-width:850px){.tribulation-challenge{align-items:stretch;flex-direction:column}.tribulation-reward-head{flex:auto}.tribulation-reward-grid{grid-template-columns:1fr}.tribulation-challenge>.btn{width:100%}}
.source-art,.source-art-icon,.source-skill-icon{display:block;background-repeat:no-repeat;background-color:#050812}.owned-art{position:relative;padding-left:66px!important;min-height:62px}.source-art-icon{position:absolute;left:12px;top:10px;width:42px;height:42px;border:1px solid var(--hairline);border-radius:9px}.skill-block{position:relative;min-height:78px;padding-left:82px!important}.source-skill-icon{position:absolute;left:14px;top:14px;width:54px;height:54px;border:1px solid var(--hairline);border-radius:10px}
.hunt-portrait,.portrait-frame,.roster-portrait{position:relative;overflow:hidden}.hunt-portrait img.monster-sprite-sheet,.portrait-frame img.monster-sprite-sheet,.roster-portrait img.monster-sprite-sheet{position:absolute!important;left:0;top:0;width:500%!important;max-width:none!important;height:200%!important;object-fit:fill!important;transform:translate(calc(var(--monster-sprite-column) * -20%),calc(var(--monster-sprite-row) * -50%));transform-origin:0 0;image-rendering:auto}
.maid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 22px}.maid-card,.maid-employed-row{border:1px solid var(--line,#283248);border-radius:14px;background:rgba(9,14,25,.72);padding:14px}.maid-card{display:grid;gap:11px}.maid-card header{display:flex;justify-content:space-between;align-items:center}.maid-portrait{width:132px;height:132px;justify-self:center;border:1px solid #536078;border-radius:12px;background-color:#f9f7f3;background-image:var(--maid-atlas);background-repeat:no-repeat;background-size:800% 800%;background-position:calc(var(--maid-x)*100%/7) calc(var(--maid-y)*100%/7);box-shadow:inset 0 0 0 3px rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.2)}.maid-portrait.compact{width:54px;height:54px;flex:0 0 54px}.maid-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.maid-skills span{display:flex;flex-direction:column;padding:7px;border-radius:8px;background:rgba(29,38,55,.7);font-size:12px}.maid-skills b{font-size:15px;color:#ebc76d}.maid-skills em{font-style:normal;color:#9aabc4;font-size:11px}.maid-hire-days{display:flex;justify-content:space-between;align-items:center}.maid-hire-days input{width:72px}.maid-employed{display:grid;gap:10px}.maid-employed-row{display:grid;grid-template-columns:auto minmax(140px,.7fr) minmax(280px,1.5fr) minmax(130px,.5fr);gap:12px;align-items:center}.maid-employed-row>div:nth-child(2){display:flex;flex-direction:column}.maid-employed-row small{color:#9aabc4;margin-top:4px}@media(max-width:900px){.maid-grid{grid-template-columns:1fr}.maid-employed-row{grid-template-columns:auto 1fr}.maid-employed-row .maid-skills,.maid-employed-row select{grid-column:1/-1}}
.life-maid-panel{display:grid;grid-template-columns:132px minmax(0,1fr) minmax(220px,300px);gap:18px;align-items:center;margin:0 0 18px;padding:18px;border:1px solid rgba(214,169,70,.48);border-radius:16px;background:linear-gradient(135deg,rgba(36,28,21,.96),rgba(12,18,30,.96) 48%,rgba(18,29,37,.96));box-shadow:0 12px 30px rgba(0,0,0,.2)}.life-maid-panel.empty{grid-template-columns:82px minmax(0,1fr) minmax(220px,300px);border-color:var(--line,#283248);background:rgba(10,16,28,.88)}.life-maid-panel .maid-portrait{width:112px;height:112px}.life-maid-empty-mark{display:grid;place-items:center;width:68px;height:68px;border:1px dashed #647089;border-radius:14px;color:#d6a946;font-size:28px;background:rgba(22,30,45,.75)}.life-maid-copy{display:grid;gap:7px;min-width:0}.life-maid-copy>.panel-kicker{color:#d6a946;font-size:12px;letter-spacing:.12em}.life-maid-name{display:flex;align-items:center;gap:10px}.life-maid-name b{font-size:21px}.life-maid-name span{padding:3px 8px;border:1px solid #4c5870;border-radius:999px;color:#b7c2d6;font-size:12px}.life-maid-copy small{color:#9aabc4}.life-maid-stats{display:flex;flex-wrap:wrap;gap:8px}.life-maid-stats span{padding:6px 9px;border-radius:8px;background:rgba(27,38,54,.78);color:#aab9cf;font-size:12px}.life-maid-stats b{color:#efcc72}.life-maid-work{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:3px}.life-maid-work>div{display:grid;gap:2px}.life-maid-work span{color:#94a5bd;font-size:12px}.life-maid-work strong{color:#efcc72;font-size:18px}.life-maid-progress{height:9px;overflow:hidden;border-radius:999px;background:#070b13;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.life-maid-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a87325,#f1cc6c,#8ac79a);transition:width .35s ease}.life-maid-controls{display:grid;gap:10px}.life-maid-controls label{display:grid;gap:6px;color:#9aabc4;font-size:12px}.life-maid-controls select{width:100%;min-width:0;color:#e9edf5;background:#111a29;border:1px solid #3c4961;border-radius:9px;padding:10px}.life-maid-controls option{color:#111827;background:#f6f2e9}.life-maid-controls .btn{width:100%}@media(max-width:920px){.life-maid-panel,.life-maid-panel.empty{grid-template-columns:auto 1fr}.life-maid-controls{grid-column:1/-1}.life-maid-panel .maid-portrait{width:84px;height:84px}}@media(max-width:560px){.life-maid-panel,.life-maid-panel.empty{grid-template-columns:1fr}.life-maid-panel .maid-portrait,.life-maid-empty-mark{justify-self:center}.life-maid-name,.life-maid-work{align-items:flex-start}.life-maid-stats{display:grid;grid-template-columns:1fr}}
.market-sell-grid{align-items:start}.market-sell-card{display:grid;gap:11px}.market-sell-card header{display:flex;justify-content:space-between;gap:10px;align-items:center}.market-sell-card header span{padding:3px 8px;border:1px solid #3a465d;border-radius:999px;color:#aebbd0;font-size:12px}.market-sell-card p{margin:0;color:#aab6c9}.market-sell-card p strong{color:#efcc72}.market-sell-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-sell-quantity{display:grid;grid-template-columns:auto minmax(70px,1fr);align-items:center;gap:10px;color:#98a8bf}.market-sell-quantity input{width:100%;min-width:0;color:#f1f3f7;background:#0c1421;border:1px solid #3b4961;border-radius:8px;padding:9px}.market-sell-confirm{width:100%}
.blueprint-receipt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border:1px solid rgba(214,169,70,.52);border-radius:12px;background:linear-gradient(90deg,rgba(83,59,21,.34),rgba(17,26,39,.86))}.blueprint-receipt>div{display:grid;gap:3px}.blueprint-receipt span{color:#d6a946;font-size:12px}.blueprint-receipt b{color:#f4e5bd;font-size:17px}.blueprint-receipt small{color:#a7b4c8}@media(max-width:640px){.blueprint-receipt{align-items:stretch;flex-direction:column}.blueprint-receipt .btn{width:100%}}
.tribulation-reward-grid{max-height:430px;overflow:auto;padding-right:4px}
.set-row-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.set-row-head>.equipment-recipe-tier-art{width:46px;height:46px;flex:0 0 46px;border-radius:9px}.set-row-head>div{display:grid;gap:3px}.set-row-head span{color:var(--muted);font-size:12px}
.build-tier-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.build-tier-tabs button{border:1px solid #344255;background:#111a26;color:#c7d2df;border-radius:8px;padding:8px 11px}.build-tier-tabs button.active{border-color:#b78c36;color:#f4cf7a}
.cave-page{display:grid;gap:14px}.cave-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cave-summary article{display:grid;gap:5px;padding:14px;border:1px solid #283545;border-radius:12px;background:#101722}.cave-summary span{color:#8395aa}.cave-summary b{font-size:18px;color:#f2d28a}.cave-blank-art,.cave-atlas-icon{width:72px;height:72px;display:block;flex:0 0 72px;border-radius:12px}.cave-blank-art{border:1px solid #293748;background:transparent}.cave-atlas-icon{border:0;background-image:var(--cave-atlas);background-repeat:no-repeat;background-size:500% 200%;background-position:var(--cave-x) var(--cave-y);background-color:transparent;overflow:hidden}.cave-land-tabs,.build-tabs,.cave-slot-summary{display:flex;gap:8px;flex-wrap:wrap}.cave-land-tabs button,.build-tabs button,.cave-slot-summary span{border:1px solid #344255;background:#111a26;color:#c7d2df;border-radius:8px;padding:8px 11px}.cave-land-tabs button.active,.build-tabs button.active{border-color:#b78c36;color:#f4cf7a}.cave-choice-grid,.build-grid,.cave-furniture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.cave-choice-grid article,.build-card,.cave-furniture-grid article{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;align-items:center;padding:12px;border:1px solid #293748;border-radius:12px;background:#0e1621}.cave-choice-grid .cave-blank-art,.cave-choice-grid .cave-atlas-icon,.build-card .cave-blank-art,.build-card .cave-atlas-icon,.cave-furniture-grid .cave-blank-art,.cave-furniture-grid .cave-atlas-icon{grid-row:1/5}.cave-choice-grid small,.build-card small,.cave-furniture-grid small{color:#91a1b4}.cave-choice-grid span,.build-card span{color:#d6b665}.cave-house-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 0}.cave-house-head>div:nth-child(2){display:grid;gap:4px}.cave-house-head b{font-size:22px}.cave-house-head span{color:#8fa0b4}.cave-ship-list{display:grid;gap:9px}.cave-ship-list article{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #293748;border-radius:10px}.cave-ship-list article>div{display:grid;gap:4px;flex:1}.life-tool-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;margin-bottom:12px;border:1px solid #765b27;border-radius:12px;background:#121923}.life-tool-panel>div{display:flex;align-items:center;gap:12px}.life-tool-panel .cave-blank-art,.life-tool-panel .cave-atlas-icon{width:54px;height:54px;flex-basis:54px}.life-tool-panel span{display:grid;gap:3px}.life-tool-panel em{font-style:normal;color:#8fa4b8}.life-tool-panel label{display:grid;gap:5px}.life-tool-panel select{min-width:190px;background:#0d1520;color:#eef3f8;border:1px solid #3b4b60;border-radius:8px;padding:9px}.build-card{grid-template-columns:auto 1fr}.build-card .btn{justify-self:start}.page-heading{display:flex;align-items:center;gap:12px}.page-heading h1,.page-heading p{margin:0}.page-glyph{width:52px;height:52px;display:grid;place-items:center;border:1px solid #a67b27;border-radius:13px;color:#f0c86b;font-size:24px;font-weight:700;background:#161714}@media(max-width:1000px){.cave-summary{grid-template-columns:repeat(2,1fr)}.cave-choice-grid,.build-grid,.cave-furniture-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.cave-summary,.cave-choice-grid,.build-grid,.cave-furniture-grid{grid-template-columns:1fr}.life-tool-panel{align-items:stretch;flex-direction:column}.cave-house-head{grid-template-columns:auto 1fr}.cave-slot-summary{grid-column:1/-1}}
