
/* v90 patch */
:root{
  --font-display: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  --text-strong:#fbfdff;
  --panel-glow:0 0 0 1px rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.36);
}
html,body{font-family:var(--font-display);color:var(--text-strong);text-rendering:optimizeLegibility}
body{background:
  radial-gradient(circle at top, rgba(120,225,255,.10), transparent 30%),
  linear-gradient(180deg,#08101d,#0c1324 45%,#090f1a)}
.muted{color:#c1c9eb}
.small{font-size:13px;line-height:1.5}
.hero-card,.card,.sheet,.battle-wrap,.dashboard-hero,.command-card{box-shadow:var(--panel-glow)}
.panel-title{font-size:20px;letter-spacing:.02em}
.section-head .badge,.battle-meta .badge,.stage-banner .badge{background:#101a35;color:#e7eeff;border-color:#385088}
.badge{font-weight:800}
button.primary,button.secondary,button.ghost,button.warn,button.danger{font-weight:900;letter-spacing:.01em}
button.primary{box-shadow:0 8px 20px rgba(75,196,255,.18)}
button.secondary{box-shadow:0 8px 20px rgba(102,219,114,.15)}
input,select,textarea{font-size:16px;color:#f8fbff}
input::placeholder,textarea::placeholder{color:#8f9bc8}
.kpi strong{font-size:28px}
.menu-btn small{line-height:1.4;color:#d0d8f9}
.menu-btn-v90{background:
  linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
  linear-gradient(135deg,rgba(120,225,255,.08),transparent 45%)}
.job-focus-card{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(120,225,255,.12),rgba(141,255,147,.08));border:1px solid rgba(120,225,255,.22);margin-top:12px}
.job-focus-label{font-size:12px;color:#c8d7ff;text-transform:uppercase;letter-spacing:.08em}
.job-focus-title{font-size:28px;font-weight:900;margin-top:4px}
.job-focus-side{display:grid;place-items:end;align-content:center;text-align:right}
.stat-card-v90 strong{font-size:30px}
.gear-card-v90 strong,.job-card-v90 .title,.inventory-row-v90 .title{font-size:18px}
.gear-card-v90,.job-card-v90,.inventory-row-v90,.forge-panel-v90{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.job-card-v90.current{outline:2px solid rgba(120,225,255,.45)}
.inventory-row-v90{align-items:flex-start}
.inventory-row-v90 small{display:block;line-height:1.55}
.rarity-common{border-color:rgba(255,255,255,.10)}
.rarity-rare{border-color:rgba(120,225,255,.30); box-shadow:0 0 0 1px rgba(120,225,255,.12)}
.rarity-epic{border-color:rgba(191,168,255,.34); box-shadow:0 0 0 1px rgba(191,168,255,.12)}
.rarity-legend{border-color:rgba(255,212,121,.44); box-shadow:0 0 0 1px rgba(255,212,121,.18)}
.rarity-myth{border-color:rgba(255,153,209,.48); box-shadow:0 0 0 1px rgba(255,153,209,.20)}
.forge-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.forge-kpis > div{background:#0d1630;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}
.forge-kpis strong{font-size:24px}
.skill-chip{padding:14px 15px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08)}
.skill-chip strong{font-size:17px}
.skill-chip.locked{opacity:.72}
.battle-stage{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}
.battle-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(5,8,18,.16),rgba(5,8,18,.44)),
    linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.24));
  pointer-events:none;
  z-index:0;
}
.battle-stage > *{position:relative;z-index:2}
.battle-stage[data-theme="beginner"],
.battle-stage[data-theme="forest"]{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),
    url('/assets/bg/forest.png');
}
.battle-stage[data-theme="ruins"],
.battle-stage[data-theme="abyss"]{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),
    url('/assets/bg/ruins.png');
}
.battle-stage[data-theme="volcano"]{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),
    url('/assets/bg/volcano.png');
}
.battle-stage[data-theme="arena"]{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),
    url('/assets/bg/arena.png');
}
.chest-card{min-height:96px;background:
  linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),
  linear-gradient(135deg,rgba(255,212,121,.18),transparent 55%)}
.chest-card .title{font-size:18px}
.chest-card.legend,.chest-card.myth{background:
  linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),
  linear-gradient(135deg,rgba(255,212,121,.22),rgba(255,153,209,.12))}
.auth-shell .hero-card,.auth-shell .card{backdrop-filter:blur(10px)}
.hero-card .hero-title{font-size:clamp(30px,5vw,48px)}
@media (max-width:720px){
  .panel-title{font-size:18px}
  .small{font-size:12px}
  .job-focus-card{display:grid;grid-template-columns:1fr}
  .job-focus-title{font-size:24px}
  .forge-kpis{grid-template-columns:1fr}
  .battle-top strong{font-size:18px}
  .battle-stage{min-height:330px}
  .battle-stage::before{background:
    linear-gradient(180deg,rgba(5,8,18,.12),rgba(5,8,18,.52)),
    linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.30))}
}
