/* Production Hero Hall. Uses the village's existing oak, leather and brass assets. */
.hh-live{width:100%;min-width:0;color:#e7d2ac;font:16px/1.5 Georgia,serif}
.hh-live .hh-layout{display:block}.hh-live .hh-menu{position:static;width:100%;margin:0 0 12px;padding:7px;box-sizing:border-box}.hh-live .hh-menu-title,.hh-live .hh-bag-count{display:none}
.hh-live .hh-menu nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.hh-live .hh-nav-entry{min-height:52px;padding:6px;justify-content:center;font-size:16px;gap:7px;box-sizing:border-box}.hh-live .hh-nav-entry>img{width:28px;height:28px}.hh-live .hh-nav-entry>i{display:none}
.hh-live .hh-heading{margin:0 3px 12px}.hh-live .hh-heading h1{font-size:32px}.hh-live .hh-heading>button{min-width:90px;align-self:center}
.hh-live .hh-overview{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}.hh-live .hh-portrait-scene{height:480px;background:linear-gradient(#17200e00,#070e06aa),url('assets/hero-wardrobe-background-v1.webp') center/cover}.hh-live .hh-figure{left:12%;right:12%;top:2%;bottom:13%}.hh-live .hh-equipment{margin-top:12px}
.hh-live button.hh-gear{border-radius:0;text-align:left;color:inherit;width:100%;cursor:pointer;font-family:Georgia,serif}.hh-live button.hh-gear:hover{outline:1px solid #edc87b;outline-offset:-3px}.hh-live .hh-stats small{font-size:16px}.hh-live .hh-class-perk p{font-size:17px}.hh-live .hh-selected-skills strong{font-size:16px}.hh-live .hh-preparation small{font-size:15px}.hh-live .hh-preparation strong{font-size:20px}
.hl-overview-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:12px}.hl-overview-actions button{min-width:150px}
.hl-item-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(350px,1.1fr);gap:15px;align-items:start;margin-top:12px;min-width:0}.hl-item-layout>.panel{min-width:0;margin:0}
.hh-live .panel{background:#17100c;border:8px solid #98713c;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/8px;border-radius:0;box-shadow:none;padding:16px}
.hh-live h2{font:700 27px/1.2 Georgia,serif;color:#eed4a7}.hh-live .panel header{flex-wrap:wrap}.hh-live .panel p{font-size:17px;line-height:1.6}.hh-live .slot-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.hh-live .slot-tabs button{min-height:42px;font:15px Georgia;padding:6px 10px}.hh-live input,.hh-live select{font:16px/1.4 Georgia;min-height:44px;box-sizing:border-box;width:100%}.hl-search-label{display:block;margin:8px 0 5px;color:#c7ac81;font-size:15px}
.hh-live .inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:none;overflow:visible;margin-top:14px}.hh-live .inventory-cell{min-height:175px;position:relative;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--rarity) 15%,transparent),transparent 70%),url('assets/item-vitrine-woodland-v1.svg') center/cover;border:1px solid var(--rarity);border-radius:4px;box-shadow:inset 0 0 12px #0005;color:#ead3aa}.hh-live .inventory-cell .item-art{width:84px;height:84px;max-width:100%;flex:none}.hh-live .inventory-cell>strong{font:15px/1.3 Georgia;margin:5px 0;text-align:center}.hh-live .inventory-cell>b{position:absolute;right:5px;top:3px;font-size:13px}.hh-live .inventory-cell.selected{outline:2px solid #dfbb77;outline-offset:2px}.hl-item-quality{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;color:var(--rarity);margin-top:auto}.hl-item-quality img{width:27px;height:27px;object-fit:contain}.hl-equipped-mark{font:12px Georgia;color:#f1d693;margin-top:5px}.hh-live .page-controls{margin-top:14px;align-items:center;gap:8px}.hh-live .page-controls button{font-size:15px;min-height:42px}.hh-live .item-workbench{min-height:250px;max-height:none;overflow:hidden}.hh-live .item-workbench .showpiece{width:190px;height:190px}.hh-live .workbench-caption{font-size:17px}.hh-live .item-detail .actions{display:flex;flex-wrap:wrap;gap:8px}.hh-live .item-detail .actions>button{min-height:44px}.hh-live .item-detail details{margin-top:14px}.hh-live .item-detail summary{font-size:18px;min-height:36px;cursor:pointer}.hh-live .gem-options{display:flex;flex-wrap:wrap}.hl-equipment-guide>button{margin:8px 8px 0 0}
.hh-live .skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hh-live .skills-grid label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border:5px solid #95703d;border-image:url('assets/woodland-frame-inset-c-v1.webp') 86 fill/5px;background:#17100c;border-radius:0;padding:14px;cursor:pointer}.hh-live .skills-grid label:has(input:checked){outline:1px solid #d2a65c;outline-offset:-5px;background-color:#6a471e55}.hh-live .skills-grid input{width:20px;min-height:20px;accent-color:#d5a74d;grid-column:1;grid-row:1}.hh-live .skills-grid .ability-art,.hh-live .skills-grid .class-ability{grid-column:2;width:64px;height:64px;margin:0 auto}.hh-live .skills-grid strong,.hh-live .skills-grid small{grid-column:1/-1}.hh-live .skills-grid strong{font:700 20px Georgia}.hh-live .skills-grid small{font:16px/1.5 Georgia;color:#ccb48d}
.hl-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hl-goal{display:flex;gap:14px;align-items:center;padding:16px;border:5px solid #97703b;border-image:url('assets/woodland-frame-inset-c-v1.webp') 86 fill/5px;background:#120e09}.hl-goal>img{width:75px;height:75px;object-fit:contain;flex:none}.hl-goal>div{flex:1;min-width:0}.hl-goal h3{font-size:22px}.hl-goal p{font-size:16px!important;margin:7px 0}.hl-goal-progress{display:flex;align-items:center;gap:10px;color:#ceb17d}.hl-goal progress{width:100%;max-width:230px;height:10px;accent-color:#d2a14d}.hl-goal.is-complete{box-shadow:inset 0 0 25px #ad7b2522}
.hl-meal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:15px}.hl-meal-intro{display:flex;align-items:center;gap:22px}.hl-meal-intro>img{width:150px;height:150px;object-fit:contain}.hl-meal-intro>div{min-width:0;flex:1}.hl-meal-intro label{display:block;margin:14px 0 6px}.hl-meal-intro button{margin-top:12px}.hl-meal-pet{display:flex;align-items:center;gap:12px}.hl-meal-pet .pet-art{width:90px;height:90px}.hl-connected-menu{margin-bottom:12px}.hl-detail-back{margin-bottom:10px}
@media(max-width:1250px){.hh-live .hh-nav-entry{font-size:14px;flex-direction:column;gap:3px}.hh-live .inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hh-live .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-live .hh-overview{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}}
@media(max-width:850px){body[data-hero-hall=true] .main-content,body[data-hero-hall=true] .view-content{height:auto!important;max-height:none!important;overflow:visible!important;display:block!important;flex:none!important}body[data-hero-hall=true] .main-content{padding-bottom:85px!important}.hh-live .hh-menu{padding:5px;margin-bottom:10px}.hh-live .hh-menu nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.hh-live .hh-nav-entry{min-height:61px;padding:5px 2px;font-size:12px}.hh-live .hh-nav-entry>img{width:26px;height:26px}.hh-live .hh-heading h1{font-size:26px}.hh-live .hh-heading{gap:7px}.hh-live .hh-overview,.hl-item-layout,.hl-meal-layout{grid-template-columns:minmax(0,1fr)}.hh-live .hh-portrait-scene{height:350px}.hh-live .hh-figure{left:16%;right:16%;top:1%;bottom:15%}.hh-live .hh-information .hh-battle,.hh-live .hh-information .hh-preparation,.hh-live .hh-attributes .hh-class-perk{display:block}.hh-live .hh-stats img,.hh-live .hh-stats .hh-stat-armor{display:block}.hh-live .hh-stats small{font-size:13px}.hh-live .hh-class-perk p{font-size:16px}.hh-live .hh-selected-skills strong{font-size:13px}.hh-live .hh-selected-skills>div{flex-direction:column}.hh-live .hh-equipment-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hh-live button.hh-gear{display:grid;grid-template-columns:48px minmax(0,1fr);gap:5px}.hh-live .hh-gear>strong{display:block;font-size:14px}.hh-live .hh-gear>small{font-size:12px}.hh-live .hh-ready{font-size:12px}.hh-live .panel{padding:12px}.hh-live .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-live .inventory-cell{min-height:180px}.hh-live .inventory-cell .item-art{width:100px;height:100px}.hh-live .inventory-cell>strong{font-size:16px}.hh-live .skills-grid{grid-template-columns:minmax(0,1fr)}.hh-live .skills-grid label{grid-template-columns:24px 64px minmax(0,1fr);padding:12px}.hh-live .skills-grid .ability-art,.hh-live .skills-grid .class-ability{grid-column:2;grid-row:1/3}.hh-live .skills-grid strong{grid-column:3;grid-row:1}.hh-live .skills-grid small{grid-column:1/-1;grid-row:3}.hl-goal-grid{grid-template-columns:minmax(0,1fr)}.hl-goal{padding:10px;gap:9px}.hl-goal>img{width:52px;height:52px}.hl-goal h3{font-size:20px}.hl-meal-intro{flex-direction:column;gap:8px}.hl-meal-intro>img{width:120px;height:120px}.hl-overview-actions{display:grid;grid-template-columns:1fr}.hh-live .hh-level>div:first-child{font-size:14px}.hh-live .item-detail .showpiece{max-width:100%}.hh-live .hh-preparation>div{grid-template-columns:minmax(0,1fr);gap:12px}}
@media(prefers-reduced-motion:reduce){.hh-live *{animation:none!important;transition:none!important}}
.hh-live .item-workbench{background:radial-gradient(ellipse,#765b3030,transparent 70%),url('assets/item-vitrine-woodland-v1.svg') center/cover!important;border:1px solid #9f7e49!important;border-radius:0}.hh-live .workbench-caption{background:#120e09!important;color:#e2c79a}.hh-live .pips i{border-color:#a8864f;background:#18120c}.hh-live .pips i.filled{background:#ddb15c}.hh-live .item-detail .positive{color:#d9c487}
@media(max-width:850px){body[data-hero-hall=true]{overflow-y:auto!important;height:auto!important;min-height:100dvh}body[data-hero-hall=true] #app{height:auto!important;min-height:100dvh;display:block!important}.hh-live .inventory-grid{height:auto!important;max-height:none!important;grid-template-rows:none!important;grid-auto-rows:auto!important}.hh-live .inventory-cell{min-height:195px!important;height:auto!important;overflow:hidden!important}.hh-live .item-detail{overflow:visible!important}.hh-live .hh-portrait-panel{overflow:hidden}}
.hh-live .mobile-leaf,.hh-live .mini-stats>div{background:#17100c!important;border:6px solid #99713c;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/6px;border-radius:0}.hh-live .gallery-arrow{background:#17100c!important;border:5px solid #99713c;border-image:url('assets/woodland-frame-inset-c-v1.webp') 86 fill/5px;border-radius:0;color:#e8c98f}.hh-live .leaf-tabs{gap:5px}
@media(max-width:850px){body[data-hero-hall=true] .mobile-nav{position:fixed!important;left:0;right:0;bottom:0;z-index:60;width:100%;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom)}.hh-live .mobile-section{height:auto!important;max-height:none!important;overflow:visible!important}.hh-live .mobile-leaf{height:auto!important;max-height:none!important;min-height:260px;overflow:visible!important}.hh-live .leaf-pager{margin-top:10px}}
body[data-hero-hall=true] #toast{background:#17100c;border:5px solid #99713c;border-image:url("assets/woodland-frame-inset-c-v1.webp") 86 fill/5px;color:#ecd2a3;font:16px/1.5 Georgia,serif}
/* One scroll owner: main content stays reachable even while the root page is locked. */
@media(max-width:850px){
 html:has(body[data-hero-hall=true]){height:100%;overflow:hidden!important}
 body[data-hero-hall=true]{height:100dvh!important;min-height:0!important;overflow:hidden!important}
 body[data-hero-hall=true] #app{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden}
 body[data-hero-hall=true] .main-content{height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:4px 5px 14px!important;scroll-padding-bottom:14px}
 body[data-hero-hall=true] .view-content{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:block!important}
 body[data-hero-hall=true] .mobile-nav{position:relative!important;inset:auto!important;z-index:60;min-height:52px;margin:0;width:100%}
 body[data-hero-hall=true] .test-banner{font-size:10px;min-height:18px;margin:0 0 4px;padding:2px 4px}
 .hh-live .hh-menu{margin-bottom:5px;padding:3px;border-width:5px}
 .hh-live .hh-nav-entry{min-height:44px;padding:2px;font-size:11px;gap:1px}
 .hh-live .hh-nav-entry>img{width:19px;height:19px}
 .hh-live .hh-heading{margin:0 2px 5px;min-height:29px}
 .hh-live .hh-heading h1{font-size:22px;margin:0}
 .hh-live .hh-heading>div>span,.hh-live .hh-ready{display:none}
 .hh-live .hh-overview{gap:5px}
 .hh-live .hw-stage,.hh-live .hh-portrait-scene{height:clamp(125px,calc(100dvh - 565px),250px)!important;min-height:0!important}
 .hh-live .hw-window-top{padding:5px 8px;min-height:22px;box-sizing:border-box}
 .hh-live .hw-window-top>strong{font-size:16px}
 .hh-live .hh-figure{top:1%;bottom:20%;left:20%;right:20%}
 .hh-live .hh-nameplate{bottom:3px}.hh-live .hh-nameplate h2{font-size:18px}.hh-live .hh-nameplate p{font-size:11px;margin:1px 0}
 .hh-live .hh-level{padding:5px 9px}.hh-live .hh-level>div:first-child{font-size:11px}.hh-live .hh-xp-track{margin-top:4px;height:7px;padding:1px}
 .hh-live .hh-information .hh-battle,.hh-live .hh-information .hh-preparation,.hh-live .hh-attributes .hh-class-perk,.hh-live .hh-attributes>header,.hh-live .hh-stats img,.hh-live .hh-stats .hh-stat-armor,.hh-live .hl-overview-actions{display:none!important}
 .hh-live .hh-information{gap:0}.hh-live .hh-attributes{padding:4px;border-width:5px}.hh-live .hh-stats{margin:0;gap:3px}.hh-live .hh-stats>div{padding:3px 2px}.hh-live .hh-stats small{font-size:11px}.hh-live .hh-stats strong{font-size:23px;margin:0}
 .hh-live .hh-equipment{margin-top:5px;padding:4px;border-width:5px}.hh-live .hh-equipment>header{margin-bottom:3px;padding-bottom:3px}.hh-live .hh-equipment h3{font-size:16px}.hh-live .hh-equipment-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
 .hh-live button.hh-gear{display:flex;flex-direction:column;gap:1px;padding:2px;border-width:4px;min-height:53px}.hh-live .hh-gear>small{font-size:10px}.hh-live .hh-gear>div{width:32px;height:32px}.hh-live .hh-gear>strong{display:none}.hh-live .hh-gear b{font-size:10px}
}
@media(max-width:850px) and (orientation:landscape){.hh-live .hh-overview{grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr)}.hh-live .hw-stage,.hh-live .hh-portrait-scene{height:180px!important}.hh-live .hh-menu nav{grid-template-columns:repeat(8,minmax(0,1fr))}.hh-live .hh-nav-entry>img{display:none}}
@media(max-width:850px){
 body[data-hero-hall=true] .main-content{margin:0!important;align-self:stretch!important;height:100%!important;max-height:100%!important;box-sizing:border-box}
 .hh-live .hh-overview{grid-template-columns:minmax(0,1fr) 82px;align-items:stretch}
 .hh-live .hw-stage,.hh-live .hh-portrait-scene{height:clamp(150px,calc(100dvh - 525px),305px)!important}
 .hh-live .hh-information,.hh-live .hh-attributes{height:100%;box-sizing:border-box;min-height:0}
 .hh-live .hh-stats{height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:3px}
 .hh-live .hh-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 0}
 .hh-live .hw-window-top{gap:3px;padding:5px}.hh-live .hw-window-top>span:first-child{font-size:8px;letter-spacing:.5px}.hh-live .hw-window-top>strong{font-size:14px}.hh-live .hw-live-mark{font-size:9px}
}
@media(max-width:850px) and (orientation:landscape){.hh-live .hw-stage,.hh-live .hh-portrait-scene{height:180px!important}}
