/* Hero selection, with shop and skill details in dialogs. */
.title-screen-link{align-self:flex-start;margin:0 0 14px;color:#dbc18a;text-decoration:none;font-size:14px;line-height:1.5}.title-screen-link:hover{text-decoration:underline}.title-screen-link:focus-visible{outline:2px solid #edcd85;outline-offset:4px}
#app.setup-mode{height:auto;min-height:100dvh;max-width:none;background:radial-gradient(ellipse at 50% 15%,#33553845,transparent 70%),#101e17}
.setup-mode>.battlefield,.setup-mode>.command-bar,.setup-mode>.control-strip{display:none}
.setup-mode>.topbar{height:78px;flex-basis:78px;justify-content:center}
.setup-mode .topbar .scoreboard,.setup-mode .topbar .header-actions{display:none}
.setup-mode .brand{min-width:0}.setup-mode .brand-subtitle{letter-spacing:.24em}
.setup-shell{width:min(1180px,100%);margin:0 auto;padding:25px 28px 0;display:flex;flex-direction:column;flex:1}
.setup-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}
.setup-progress button{display:flex;align-items:center;gap:11px;padding:13px 10px;border:0;border-bottom:2px solid #70835e40;background:transparent;text-align:left;color:#98a68d;font-size:13px;min-width:0}
.setup-progress button b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #a894613f;font-size:12px}
.setup-progress button.current{border-color:#d9bd7b;color:#f0dfb7}.setup-progress button.current b{background:#d9bd7b;color:#182b1c;border-color:#d9bd7b}.setup-progress button.completed{color:#b2c799;border-color:#8ba67677}.setup-progress button:disabled:not(.current){opacity:.45}.setup-progress button:enabled:hover{background:#b7a2600c;color:#e8d3a1}
.setup-page-container{flex:1;padding-bottom:25px}.setup-page{width:100%;animation:page-arrival .22s ease-out}
.setup-mode .selection-backdrop{position:static;inset:auto;display:block;padding:0;background:transparent;backdrop-filter:none;overflow:visible;z-index:auto}
.setup-mode .selection-panel{width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:30px;outline:0;box-shadow:0 12px 50px #03110a40}
.setup-mode .selection-heading{margin-bottom:25px}.setup-mode .selection-heading h2{font-size:43px;margin:12px 0}.setup-mode .selection-heading p{font-size:15px}
.setup-mode .hero-grid{overflow:visible;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:15px}
.setup-mode .hero-art{height:172px}.setup-mode .hero-card h3{font-size:29px;min-height:60px}.setup-mode .hero-card-copy{padding:13px 14px 16px}.setup-mode .hero-title{font-size:12px;min-height:34px}.setup-mode .hero-card:disabled{cursor:default}.setup-mode .hero-card:disabled:not(.selected){opacity:.55}.setup-mode .hero-card:disabled:hover{transform:none}
.setup-mode .selected-skill-preview{padding-top:24px;gap:14px}.setup-mode .preview-skill{height:50px;width:55px}.setup-mode .preview-skill .skill-emblem{width:37px;height:37px}
.setup-mode .selection-bottom{margin-top:18px;padding-top:17px}.setup-mode .selection-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.setup-mode .selection-summary p{font-size:14px;max-width:680px}.setup-mode .selection-links{margin:0;white-space:nowrap}.setup-mode .selection-links a{font-size:12px}
.setup-mode .selection-notes{margin-top:15px}.setup-mode .art-loading-status{margin-top:16px}
.shop-content{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}.skills-content>p{font-size:14px;line-height:1.6;color:#c4ccba}.skills-content>.primary-button{margin-top:24px;width:100%}
.setup-page>.skills-content,.setup-page>.shop-content{padding:30px;background:linear-gradient(125deg,#23392df9,#11251ffb 65%);border:1px solid #b6a16b99;box-shadow:0 12px 50px #03110a40;overflow:visible}
.setup-page [data-close]{display:none!important}.setup-page .dialog-heading{margin:0 0 12px}.setup-page h2{font:500 43px/1.1 var(--serif);color:#f0e2bc;margin:8px 0 13px}.setup-page .skills-content>p{font-size:15px;line-height:1.7;color:#b7c7ab}
.setup-page .skill-codex{margin:28px 0 20px;gap:16px}.setup-page .codex-skill{padding:23px;min-height:185px;gap:17px}.setup-page .codex-skill h3{font-size:28px}.setup-page .codex-skill p{font-size:14px}.setup-page .codex-emblem{flex-basis:55px;width:55px;height:55px;padding:5px}.setup-page .codex-emblem>.skill-emblem{width:43px;height:43px}.setup-page .skill-targeting{font-size:11px}.setup-page .skill-meta{font-size:12px}.setup-page .codex-note{font-size:13px!important;margin-bottom:14px}
.setup-page .shop-header{gap:20px}.setup-page .shop-header h2{font-size:43px}.setup-page .shop-gold{font-size:28px;padding-top:8px}.setup-page .shop-hero-line{font-size:13px;gap:7px 18px}.setup-page .shop-category-list{padding:23px 0 16px;gap:8px}.setup-page .shop-category{font-size:13px;padding:10px 13px}
.setup-page .shop-layout{grid-template-columns:minmax(0,1fr) 320px;min-height:340px;max-height:none;overflow:visible;flex:none;padding:18px 0;align-items:start}.setup-page .shop-catalog{max-height:430px;min-height:340px}.setup-page .shop-detail{max-height:430px;min-height:340px}.setup-page .catalog-item{min-height:94px}.setup-page .catalog-copy strong{font-size:14px}.setup-page .catalog-copy small{font-size:12px}.setup-page .shop-inventory{gap:10px}.setup-page .shop-inventory .inventory-slot{min-height:85px}.setup-page .shop-inventory .slot-name{font-size:11px}.setup-page .shop-inventory-heading{margin:20px 0 12px}.setup-page .shop-footer .shop-message{font-size:12px}.setup-page .shop-footer>a{display:block}
.setup-navigation{position:sticky;bottom:0;z-index:10;display:grid;grid-template-columns:100px minmax(0,1fr) minmax(220px,auto);align-items:center;gap:22px;padding:18px 22px;margin:0 -5px;background:#13251ef5;border:1px solid #b29a5b66;border-bottom:0;backdrop-filter:blur(8px);box-shadow:0 -8px 30px #06180c66}
.setup-back{background:none;border:1px solid #a893624d;color:#cfc8aa;font-size:13px;padding:12px 14px;min-height:45px}.setup-back:hover{border-color:#d8bd7b;color:#f0dfb4}.setup-summary{grid-column:2;display:flex;flex-direction:column;gap:5px;min-width:0}.setup-summary strong{font:600 24px/1.1 var(--serif);color:#e5d5ae}.setup-summary span{font-size:12px;color:#a8b99b}.setup-navigation .primary-button{grid-column:3;min-height:48px;padding:12px 21px}.setup-mode[data-page=heroes] .setup-summary{grid-column:1/3}
.setup-live-note{display:flex;align-items:center;gap:15px;padding:14px 17px;margin-bottom:20px;border:1px solid #b7a26866;background:#a9994d0f;font-size:12px;color:#c1c9af;line-height:1.5}.setup-live-note span{flex:1}.setup-live-note button{padding:7px 0;background:none;border:0;color:#e0c487;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;font-size:12px}
@keyframes page-arrival{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.setup-mode .hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-mode .hero-art{height:150px}.setup-mode .hero-card h3{font-size:27px;min-height:57px}.setup-page .codex-skill{padding:17px;gap:12px}.setup-page .codex-emblem{flex-basis:47px;width:47px;height:47px;padding:4px}.setup-page .codex-emblem>.skill-emblem{width:37px;height:37px}.setup-page .shop-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.setup-page .shop-catalog{grid-template-columns:1fr}.setup-page .shop-category{font-size:12px;padding:9px 11px}}
@media(max-width:640px){
 .setup-mode>.topbar{height:68px;flex-basis:68px;padding:13px 18px;flex-wrap:nowrap}.setup-mode .brand{flex:none}.setup-mode .brand h1{font-size:21px}.setup-mode .brand-subtitle{font-size:10px;letter-spacing:.22em}
 .setup-shell{padding:12px 13px 0}.setup-progress{gap:5px;margin-bottom:15px}.setup-progress button{padding:9px 3px;gap:6px;flex-direction:column;justify-content:center;font-size:10px;text-align:center}.setup-progress button b{width:24px;height:24px;flex-basis:24px;font-size:10px}.setup-page-container{padding-bottom:17px}
 .setup-mode .selection-panel{padding:21px 13px 18px;min-height:0}.setup-mode .selection-heading{margin-bottom:19px}.setup-mode .selection-heading h2{font-size:33px;margin:9px 0}.setup-mode .selection-heading p{font-size:13px}.setup-mode .selection-heading .eyebrow{font-size:10px;letter-spacing:.12em}
 .setup-mode .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.setup-mode .hero-art{height:144px}.setup-mode .hero-card-copy{padding:10px}.setup-mode .hero-card h3{font-size:25px;min-height:54px}.setup-mode .hero-title{font-size:11px}.setup-mode .hero-role{font-size:10px}.setup-mode .selected-skill-preview{padding-top:19px;gap:12px}.setup-mode .preview-skill{height:44px;width:49px}.setup-mode .preview-skill .skill-emblem{width:33px;height:33px}
 .setup-mode .selection-summary{flex-direction:column;gap:12px}.setup-mode .selection-summary p{font-size:13px}.setup-mode .selection-bottom{margin-top:15px;padding-top:14px}.setup-mode .art-loading-status{font-size:10px;line-height:1.5}.setup-mode .selection-notes{font-size:9px}
 .setup-page>.skills-content,.setup-page>.shop-content{padding:22px 15px}.setup-page h2,.setup-page .shop-header h2{font-size:34px}.setup-page .skills-content>p{font-size:14px}.setup-page .dialog-heading .eyebrow{font-size:10px}.setup-page .skill-codex{grid-template-columns:1fr;gap:12px;margin-top:23px}.setup-page .codex-skill{min-height:0;padding:18px 13px;gap:13px}.setup-page .codex-skill h3{font-size:28px}.setup-page .codex-skill p{font-size:13px;line-height:1.7}.setup-page .skill-targeting{font-size:10px}.setup-page .skill-meta{font-size:11px}
 .setup-page .shop-header{gap:10px}.setup-page .shop-header .eyebrow{font-size:9px;letter-spacing:.1em}.setup-page .shop-header h2{font-size:31px}.setup-page .shop-gold{font-size:23px;padding-top:3px}.setup-page .shop-hero-line{font-size:11px;gap:5px 12px}.setup-page .shop-category-list{padding:18px 0 12px;gap:5px}.setup-page .shop-category{font-size:11px;padding:8px 10px}
 .setup-page .shop-layout{display:flex;flex-direction:column;min-height:0;max-height:none;overflow:visible;padding:13px 0;gap:14px}.setup-page .shop-catalog{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-height:330px;min-height:0;overflow:auto;flex-shrink:1;padding-right:3px}.setup-page .catalog-item{min-height:98px;grid-template-columns:30px minmax(0,1fr);padding:9px 6px;gap:5px}.setup-page .catalog-copy strong{font-size:12px}.setup-page .catalog-copy small{font-size:11px}.setup-page .shop-detail{min-height:0;max-height:none;width:100%;overflow:visible}.setup-page .shop-inventory{gap:5px}.setup-page .shop-inventory .inventory-slot{min-height:57px}.setup-page .shop-inventory .slot-name{font-size:8px}.setup-page .shop-footer{flex-wrap:wrap}.setup-page .shop-footer .shop-message{flex-basis:100%;font-size:11px}.setup-page .shop-footer>a{font-size:12px}.setup-page .shop-inventory-heading{margin-top:16px}
 .setup-navigation{grid-template-columns:80px minmax(0,1fr);gap:11px;padding:12px 13px;margin:0 -5px}.setup-navigation .primary-button{grid-column:1/-1;grid-row:2;min-height:46px;font-size:14px}.setup-summary{grid-column:2;text-align:right;gap:4px}.setup-summary strong{font-size:22px}.setup-summary span{font-size:11px}.setup-back{font-size:12px;min-height:39px;padding:9px 12px}.setup-mode[data-page=heroes] .setup-summary{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;text-align:left;gap:12px}.setup-mode[data-page=heroes] .setup-summary strong{font-size:23px}.setup-mode[data-page=heroes] .setup-summary span{white-space:nowrap}
 .setup-live-note{flex-wrap:wrap;gap:8px 14px;padding:13px;font-size:11px}.setup-live-note span{flex-basis:100%}.setup-live-note button{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.setup-page{animation:none}}
