/* Shared shell: compact navigation, persistent balances and readable panel text. */
:root{--sidebar-width:230px;--content-left:248px}
body{font-size:18px;line-height:1.5}
h1{font-size:32px}h2{font-size:25px}h3{font-size:21px}h4{font-size:19px}
small,.small{font-size:15px}
#sidebar{width:var(--sidebar-width);overflow-x:hidden}
.brand{height:82px}
.brand img{width:100%;height:80px;object-fit:contain}
.nav-item{min-height:48px;padding:5px 13px;gap:13px;font-size:20px;letter-spacing:0;flex-shrink:0;white-space:nowrap}
.nav-item .icon{width:32px;height:34px}
.navigation-icon{object-fit:contain;flex-shrink:0}
.nav-item .navigation-icon{filter:drop-shadow(0 1px 1px #0006)}
.nav-item.active .navigation-icon{filter:brightness(1.1) drop-shadow(0 1px 1px #0008)}
.nav-item.active:after{right:5px;top:13px;font-size:15px}
.sidebar-crest{height:105px;margin-top:auto}
.sidebar-crest img{width:100%;height:94px;object-fit:contain}
#screen{left:var(--content-left);top:66px;bottom:46px}

#topbar{position:absolute;left:var(--content-left);right:18px;top:15px;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;border:0;background:none;box-shadow:none;z-index:5}
.topbar-currencies,.topbar-hunter{display:flex;align-items:center;gap:12px;min-width:0}
.currency{display:flex;align-items:center;gap:7px;min-width:0;padding:3px 10px;border:1px solid #8e795078;background:#161b1680;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.3}
.currency-gold{color:#e3bf68;border-color:#b89c5e88}.currency-points{color:#a9cc86;border-color:#7ea26a88}
.currency-symbol{font-size:20px;line-height:1}
.currency-label{font-size:14px}
.currency strong{font-size:19px;font-weight:600;line-height:1.2}
.currency small{font-size:13px;opacity:.8}
.topbar-hunter{justify-content:flex-end;gap:10px;flex:1}
.hunter-name{min-width:0;max-width:18em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#eee1c3}
.hunter-rank{flex-shrink:0;white-space:nowrap;padding:0;border:0;background:none;color:#d5c48e;font-size:13px;font-variant-numeric:tabular-nums}
.hunter-rank strong{font-weight:500;font-size:16px;margin-left:3px}
.master-rank{color:#acd0ba}

/* Let names and descriptions grow; keep short labels, values and actions intact. */
.panel-title{font-size:21px;gap:10px;line-height:1.4}
.panel-title>span:first-child{min-width:0;overflow-wrap:break-word}
.panel-title>.btn,.panel-title>small{flex-shrink:0}
.btn{white-space:nowrap;font-size:18px}
.btn.tiny{font-size:15px}
.tab{font-size:18px}
.stat-row{font-size:17px;line-height:1.5;gap:9px}
.stat-row>.label{flex-shrink:0;white-space:nowrap}
.stat-row>span:last-child{min-width:0;text-align:right;overflow-wrap:break-word}
.title-band{gap:18px;min-height:86px;padding:10px 16px}
.title-band h1,.title-band.paper-title h1{font-size:30px;line-height:1.3}
.title-band p{font-size:16px;line-height:1.6;margin-top:5px}
.title-band .icon{width:58px;height:58px;flex-shrink:0}
.title-band>div,.smith-header>div,.hunt-objective>div{min-width:0}
.title-band.paper-title{min-height:90px}
.subhead{font-size:19px}
.bottom-hint{gap:16px}
.bottom-hint h3{font-size:20px}.bottom-hint .small{font-size:15px;line-height:1.6}
.hunt-objective h2{font-size:25px;line-height:1.4}
.live-game .hunt-objective p{font-size:16px;line-height:1.5}
.objective-right{min-width:170px;flex-shrink:0}
.objective-right .stat-row{font-size:16px}
.status-hud{grid-template-columns:minmax(250px,.95fr) minmax(175px,.7fr) minmax(340px,1.35fr);gap:12px}
.status-hud h3,.equipment-bottom h3{font-size:21px}
.hud-items{gap:8px}.hud-item{flex:1;min-width:0;font-size:14px}
.hud-item p{line-height:1.4;overflow-wrap:break-word}
.hud-item .slot{width:62px;height:60px;max-width:100%;margin-inline:auto}
.battle-log{font-size:16px;line-height:1.8}
.battle-log .log-line{white-space:normal;overflow-wrap:break-word}
.battle-log time,.battle-log .who{white-space:nowrap;margin-right:8px}
.banner-copy{font-size:21px}.banner-copy p{font-size:15px}
.quest-row{font-size:18px;grid-template-columns:48px minmax(0,1fr) 95px 80px;gap:8px;height:auto;min-height:65px;padding-block:7px}
.quest-row .stars{font-size:21px;white-space:nowrap}
.quest-row>span:last-child{font-size:16px;white-space:nowrap}
.live-game .quest-row strong{line-height:1.5;overflow-wrap:break-word}
.quest-detail .quest-intro{font-size:18px}
/* Content determines the height of each block; the action follows every reward. */
.quest-detail{display:flex;flex-direction:column;gap:8px;overflow:auto;align-items:stretch}
.quest-detail>*{flex:0 0 auto;min-width:0}
.quest-detail>.ribbon{height:auto;min-height:48px}
.quest-detail>h1{line-height:1.4;height:auto;overflow-wrap:anywhere}
.quest-detail .quest-intro{height:auto;line-height:1.6;overflow-wrap:anywhere;white-space:normal}
.quest-detail .quest-targets{height:auto;min-height:240px;flex:1 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.quest-detail .quest-monster>.icon{width:100%;max-width:220px;height:170px}
.quest-detail .quest-map>img{display:block;width:100%;height:170px}
.quest-detail .quest-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.quest-detail .rewards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 7px;align-items:start}
.quest-detail .reward p{overflow-wrap:anywhere}
.quest-detail .reward .slot{max-width:100%;height:64px;width:70px}
.quest-detail .quest-accept{position:static;flex:0 0 auto;align-self:stretch;height:auto;min-height:44px!important;margin:12px 0 0!important}
.smith-header{gap:18px}.smith-header h1{font-size:34px}.smith-header p{font-size:17px}
.smith-motto{font-size:23px;flex-shrink:0}.smith-motto small{font-size:15px}
.reference-tree-panel .weapon-tabs .tab{font-size:16px}
.smith-workshop .smith-main-tabs .tab{font-size:20px}
.skills-header .title-band h1{font-size:30px}
.skills-header .title-band p{font-size:16px}
.live-game .equipment-skill h3{font-size:18px}
.live-game .monster-entry p{font-size:17px;line-height:1.65}
.guild-hero h1{font-size:34px}.guild-hero p{font-size:17px;line-height:1.6}
.gathering-hero h1{font-size:32px}.gathering-hero p{font-size:17px}
.book-header h1{font-size:34px}.book-header p{font-size:18px}
.book-page>.tabs .tab{font-size:20px}
.setting-row{font-size:16px;gap:12px}.setting-card .description{font-size:16px}

/* Equipment rows may contain long names. They must never shrink over their text. */
.equipment-main{display:flex;flex-direction:column;min-height:0}
.equipment-main>.title-band,.equipment-main>.tabs{flex-shrink:0}
.equipment-body{flex:1;height:auto;min-height:0;grid-template-columns:minmax(220px,1.1fr) minmax(145px,1fr) minmax(180px,.9fr);align-items:stretch;gap:12px}
.armor-list{min-height:0;overflow:auto;gap:7px}
.armor-row{min-height:64px;height:auto;flex-shrink:0;gap:9px;padding:6px;align-items:center}
.armor-row>.slot{width:47px;height:47px}
.armor-row p{min-width:0;font-size:16px;line-height:1.5;overflow-wrap:break-word}
.armor-portrait{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.decoration-list{min-width:0;overflow:auto;padding:10px}
.decoration-list h3{font-size:20px}.decoration-list .small{font-size:15px;line-height:1.6}
.decoration-list>.btn{font-size:16px;white-space:normal;line-height:1.5;padding:7px 8px}
.equipment-right{grid-template-rows:minmax(340px,1.1fr) minmax(180px,1fr)}
.equipment-right>.panel:first-child{display:flex;flex-direction:column}
.equipment-detail-body{flex:1;min-height:230px;height:auto;grid-template-columns:minmax(110px,.85fr) minmax(190px,1fr);align-items:center;gap:16px}
.equipment-detail-body>img{display:block;width:100%;height:100%;max-height:330px;min-height:0;margin:0;object-fit:contain;object-position:center;align-self:center;justify-self:center}
.equipment-detail-body>div{min-width:0}
.equipment-detail-body h3{font-size:21px;line-height:1.5;overflow-wrap:break-word}
.equipment-detail-body .stat-row{font-size:17px;min-height:35px;gap:6px}
.equipment-detail-body .stat-row .icon{width:25px;height:25px;flex-shrink:0}
.live-game .equipment-description{font-size:15px;line-height:1.6;padding:8px 0;flex-shrink:0}
.equipment-bottom{grid-template-columns:minmax(265px,.95fr) minmax(270px,1fr) minmax(275px,1fr)}
.equipment-actions>.btn{font-size:19px}
.weapon-art-frame{isolation:isolate;align-items:center;justify-items:center}
.weapon-art-frame>.reference-weapon-art{inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;margin:0}
.weapon-workshop .weapon-overview{grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);align-items:stretch}
.weapon-visual{justify-content:center}
.weapon-visual .weapon-art-frame{flex:1;min-height:180px;height:auto}
.weapon-native-skills{flex-shrink:0}

@media(max-width:1000px),(orientation:portrait){
  body{font-size:16px}
  #game{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-items:start;column-gap:10px}
  #sidebar{display:contents}
  .brand{grid-column:1;grid-row:1;height:64px;min-width:0;background:none}
  .brand img{width:100%;height:64px;object-fit:contain}
  .nav-list{grid-column:1/-1;grid-row:2;min-width:0;margin-top:5px}
  .nav-item{font-size:16px;min-height:44px;padding:5px 10px;gap:7px}
  .nav-item .icon{width:27px;height:28px}
  #topbar{position:relative;inset:auto;grid-column:2;grid-row:1;align-self:center;min-height:0;margin:0;padding:2px 2px 2px 0;gap:12px;flex-direction:row;align-items:center}
  .topbar-currencies{gap:4px;flex-direction:column;align-items:flex-start;flex:0 1 auto}
  .currency{padding:3px 7px;gap:5px}
  .currency-label{font-size:12px}.currency strong{font-size:16px}.currency-symbol{font-size:16px}.currency small{font-size:11px}
  .topbar-hunter{gap:3px;max-width:100%;flex:1;flex-direction:column;align-items:flex-end;text-align:right}
  .hunter-name{font-size:15px;max-width:16em}.hunter-rank{font-size:12px}.hunter-rank strong{font-size:14px}
  #screen{grid-column:1/-1;grid-row:3;inset:auto;padding-top:10px}
  .signature{grid-column:1/-1;grid-row:4}
  .title-band h1,.title-band.paper-title h1{font-size:27px}.title-band p{font-size:15px}
  .title-band.paper-title{min-height:80px}
  .smith-header h1{font-size:29px}.smith-header p{font-size:15px}
  .hunt-objective h2{font-size:23px}
  .objective-right{min-width:0}
  .status-hud,.equipment-bottom{grid-template-columns:1fr}
  .quest-row{grid-template-columns:38px minmax(0,1fr) 75px;font-size:16px}
  .quest-row .stars{font-size:18px}.quest-row>span:last-child{display:none}
  .quest-detail .quest-targets{display:grid;min-height:0;gap:12px}
  .quest-detail .quest-monster{padding-right:12px}
  .equipment-body{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto}
  .armor-list{overflow:visible}.armor-row p{font-size:15px}
  .armor-portrait{min-height:350px;max-height:600px;align-self:center}
  .equipment-detail-body{flex:none;min-height:260px;height:auto;grid-template-columns:minmax(100px,.8fr) minmax(160px,1fr);gap:12px}
  .equipment-detail-body>img{height:260px}
  .equipment-detail-body .stat-row{font-size:15px}
  .weapon-workshop .weapon-overview{grid-template-columns:minmax(0,1fr) minmax(110px,.65fr)}
  .weapon-visual .weapon-art-frame{min-height:180px}
}
@media(max-width:600px){
  #game{grid-template-columns:100px minmax(0,1fr);column-gap:6px}
  .brand,.brand img{height:67px}
  #topbar{gap:8px;padding:0 2px 0 0}
  .topbar-currencies{gap:4px;max-width:62%;flex-shrink:0}
  .topbar-hunter{gap:3px;padding:0;border:0}
  .hunter-name{font-size:13px;max-width:100%}
  .hunter-rank{font-size:10px}.hunter-rank strong{font-size:12px;margin-left:2px}
  .currency{padding:3px 5px;gap:3px;flex-wrap:wrap;justify-content:flex-start;row-gap:1px;max-width:100%}
  .currency-label{font-size:10px}.currency strong{font-size:13px}.currency-symbol{font-size:13px}.currency small{font-size:10px}
  .quest-detail{gap:10px}
  .quest-detail>h1{font-size:27px}
  .quest-detail .quest-targets{display:flex;flex-direction:column;align-items:stretch}
  .quest-detail .quest-monster{padding:0 0 10px;border-right:0;border-bottom:1px solid #947d5560}
  .quest-detail .quest-map>img{height:170px;object-fit:cover}
  .quest-detail .quest-facts>div{font-size:14px;line-height:1.5}
  .quest-detail .quest-facts strong{font-size:16px;line-height:1.5}
  .quest-detail .rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .quest-detail .reward p{font-size:15px;line-height:1.5}
  .equipment-detail-body{grid-template-columns:minmax(90px,.7fr) minmax(155px,1fr);gap:10px}
  .equipment-body{gap:8px}.armor-row{padding:4px;gap:6px}
  .armor-row>.slot{width:38px;height:38px}.armor-row p{font-size:14px}
  .armor-portrait{min-height:280px}
  .equipment-detail-body h3{font-size:19px}
  .weapon-workshop .weapon-overview{grid-template-columns:minmax(0,1fr) 100px;gap:10px}
  .weapon-visual .weapon-art-frame{min-height:150px}
}
