/* Compact management screens and persistent post-battle overlays. */
:root{--panel-soft:#172a3a}button:focus-visible,summary:focus-visible{outline:3px solid #a4e8d3;outline-offset:3px}button,summary{-webkit-tap-highlight-color:transparent}summary{cursor:pointer}.app{max-width:1280px}#content{max-width:1060px;margin:auto;min-height:480px}.section-heading h2{font-size:24px}.section-heading .primary{flex-shrink:0}.badge{display:inline-block;font-size:10px;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 9px;vertical-align:middle}.sub-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 10px}.sub-heading h3{margin:0}.wide{width:100%}.selected{border-color:var(--accent)!important;background:#223f46!important}.management-tabs{display:flex;gap:8px;margin:0 0 25px}.management-tabs button{display:flex;gap:10px;align-items:center;flex:1;background:#132433;border-color:var(--line)}.tab-number{font-size:10px;opacity:.6}.confirmation-dot{margin-left:auto;color:var(--muted)}.confirmation-dot.done{color:var(--accent)}.hero-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hero-tab{display:grid;justify-items:center;gap:1px;border-color:var(--line);background:#152535;padding:10px}.hero-tab .portrait{width:35px;height:38px}.hero-tab.selected{box-shadow:inset 0 -2px 0 var(--hero)}.hero-tab strong{font-size:13px}.hero-tab small{font-size:10px}.protocol-stack{display:grid;gap:10px}.rule-card{display:flex;background:linear-gradient(110deg,#1a2e40,#142434);border:1px solid var(--line);border-radius:13px;overflow:hidden}.rule-open{flex:1;text-align:left;border:0;background:transparent;padding:14px 18px;font-weight:400;border-radius:0}.rule-open:hover:not(:disabled){background:#203a4b}.rule-title{display:flex;align-items:center;gap:10px}.order{display:grid;place-items:center;background:#263e4d;border-radius:7px;width:28px;height:28px;flex-shrink:0}.edit-cue{font-size:10px;color:var(--muted);margin-left:auto}.rule-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 0 38px}.rule-summary div{display:flex;flex-direction:column;gap:3px;font-size:12px}.rule-summary small{font-size:9px;letter-spacing:1.2px}.priority-arrows{display:flex;flex-direction:column;justify-content:center;padding:8px;gap:5px;border-left:1px solid #31485a80}.priority-arrows button{padding:4px 10px;background:transparent;border-color:transparent}.flow-hint{font-size:11px;margin:9px 0 18px}.preset-section{border-top:1px solid var(--line)}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preset-card{display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;background:#142433;border-color:var(--line);padding:13px}.preset-card>span{grid-row:span 2;font-size:24px;color:var(--accent)}.preset-card strong{font-size:12px}.preset-card small{font-size:10px}.preset-rule{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.preset-rule small{display:block;margin-top:4px}
.expedition-map{position:relative;aspect-ratio:700/720;max-width:610px;width:100%;margin:-15px auto 0;background:radial-gradient(ellipse at 50% 85%,#32645525,transparent 60%)}.map-paths{position:absolute;inset:0;width:100%;height:100%}.map-paths line{stroke:#344b5b;stroke-width:2;stroke-dasharray:5 7}.map-paths line.traveled{stroke:#8ad6bb;stroke-dasharray:none}.map-node{position:absolute;transform:translate(-50%,-50%);width:49px;height:49px;padding:7px;border-radius:50%;display:grid;place-items:center;border:2px solid #44586a;background:#172737}.map-node svg{width:100%;height:100%}.map-node:disabled{opacity:.55}.map-node.reachable{background:#244f48;border-color:#91e4c5;box-shadow:0 0 0 7px #7fd7b70b,0 0 25px #83ddbb30;color:#c1f6df}.map-node.reachable:hover{transform:translate(-50%,-50%) scale(1.12)}.map-node.visited{color:#9de3c5;border-color:#81b7a4;opacity:1}.map-node.elite{border-radius:13px;color:#e5ad91}.cleared-tick{font-size:22px}.floor-label{position:absolute;left:0;width:100%;text-align:center;pointer-events:none;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#9bb0bf}.floor-label span{color:var(--accent);margin-right:5px}.map-key{display:flex;gap:22px;justify-content:center;color:var(--muted);font-size:11px;margin-top:0}
.loadout-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:22px;margin-top:20px}.stats{justify-content:center}.paperdoll{display:grid;grid-template-columns:minmax(95px,1fr) minmax(70px,1fr) minmax(95px,1fr);grid-template-rows:repeat(3,minmax(105px,auto));gap:10px;max-width:560px;margin:auto}.paperdoll-hero{grid-column:2;grid-row:1/4;align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.paperdoll-hero .portrait{width:100%;max-width:135px;height:160px;filter:drop-shadow(0 0 20px #94d2d327)}.paperdoll-hero strong{color:var(--hero);font-size:21px}.visual-slot{border:1px solid var(--line);border-radius:11px;background:#142434;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.visual-slot.can-place{border-color:#72b69a}.slot-head{grid-column:1;grid-row:1}.slot-chest{grid-column:3;grid-row:1}.slot-main{grid-column:1;grid-row:2}.slot-off{grid-column:3;grid-row:2}.slot-hands{grid-column:1;grid-row:3}.slot-feet{grid-column:3;grid-row:3}.slot-button{display:flex;flex-direction:column;align-items:center;width:100%;border:0;background:transparent;padding:7px;gap:2px}.slot-button small{font-size:9px;text-transform:uppercase;letter-spacing:1px}.slot-button>span{font-size:11px;font-weight:500;line-height:1.2}.slot-art{width:44px;height:44px;color:#c3deec}.slot-art svg{width:100%;height:100%}.slot-art.empty{opacity:.2}.socket-row{display:flex;justify-content:center;gap:4px;min-height:20px;padding-bottom:4px;font-size:17px}.empty-gem{color:#647e91}.socket{border-radius:5px;background:#0c1b28;border:1px solid #476373;padding:0 7px;font-size:19px;min-height:28px;line-height:1}.inspect-panel{align-self:stretch;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.inspect-panel h3{margin-top:8px}.inspect-panel p{font-size:12px}.inspect-item-icon{width:75px;height:75px;color:#c7e3f1;margin:auto}.inspect-item-icon svg{width:100%;height:100%}.item-metrics{width:100%;max-width:250px;margin:18px auto}.item-metrics>div{display:flex;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid #31485a99;font-size:12px}.item-metrics b{margin-left:auto}.item-metrics small{min-width:32px;text-align:right}.positive{color:#8cd8b5}.negative{color:#eea390}.equip-actions{display:grid;gap:8px;width:100%;margin-top:18px}.empty-inspector{max-width:220px}.empty-inspector>span{font-size:46px;color:#496c80}.collection-panel{border-top:1px solid var(--line);margin-top:25px}.item-collection,.nexus-collection{display:flex;gap:8px;flex-wrap:wrap;min-height:75px}.collection-item{background:#182b3c;border-color:var(--line);width:96px;display:flex;flex-direction:column;align-items:center;padding:10px 5px;gap:6px}.collection-item svg{height:40px;width:40px}.collection-item span{font-size:10px;line-height:1.2}.nexus-tile{width:120px;background:#182b3c;border-color:var(--line);display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 7px}.nexus-tile>b{font-size:27px}.nexus-tile strong{font-size:11px}.nexus-emblem{font-size:55px;line-height:1.2;margin:8px auto 12px}.placement-effect{margin:16px 0}.inspect-panel details{margin:18px 0;text-align:left;width:100%;font-size:12px}.inspect-panel details p{margin-top:12px}.inspect-panel summary{color:var(--muted)}
.ready-header{text-align:center;margin:35px auto 25px;max-width:650px}.ready-header h2{font-size:35px;margin-top:9px}.ready-header p{font-size:13px}.fight-block{text-align:center}.fight-button{display:block;width:100%;max-width:480px;margin:0 auto;background:linear-gradient(130deg,#338574,#205c54);border:1px solid #7ed8bd;box-shadow:0 8px 35px #6ddbb71a;font-size:43px;letter-spacing:8px;padding:22px;border-radius:15px;color:#d7fff0}.fight-button span{font-size:32px;letter-spacing:0;margin-left:15px}.fight-button:disabled{opacity:.55}.edit-links{display:flex;justify-content:center;gap:9px;margin:13px 0}.edit-links button{font-size:11px;background:#172a3a;border-color:var(--line);padding:9px 12px}.faceoff{margin:40px 0;display:grid;grid-template-columns:1fr 35px 1fr;gap:15px;align-items:center}.party-line{display:flex;justify-content:space-evenly;gap:8px}.party-line>div,.party-line>button{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;flex:1;min-width:0}.party-line>button{border:0;background:transparent;padding:8px 3px}.party-line b{font-size:12px;font-weight:600}.party-line small{font-size:10px}.party-line .portrait{height:90px;width:70px}.enemies .portrait{color:#d4a49f}.vs{color:#57768a;font-weight:800;font-size:18px;text-align:center}.battle-grid{grid-template-columns:1fr}.battle-log-panel>summary{color:var(--muted);font-size:12px;padding:10px}#combat-log{height:280px}
dialog{max-height:92vh;padding:28px;border-color:#416477;background:linear-gradient(145deg,#1b3041,#101d2c);box-shadow:0 20px 100px #0008;overscroll-behavior:contain}dialog::backdrop{background:#060e19b8;backdrop-filter:blur(4px)}.management-modal{width:calc(100% - 32px);max-width:1120px}.reward-modal{max-width:820px;width:calc(100% - 32px)}.detail-modal{max-width:550px}.level-modal{max-width:1100px;width:calc(100% - 32px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.dialog-heading h2{margin:3px 0 0}.dialog-heading>button{background:transparent}.reward-heading{text-align:center;margin:8px 0 25px}.reward-heading h2{font-size:32px;margin:5px 0}.reward-heading p{font-size:12px;margin:0}.loot-list{max-width:530px;margin:auto;display:grid;gap:12px}.loot-row{display:flex;align-items:center;gap:18px;padding:18px;text-align:left;background:#1b3244;border-color:#3d596b}.loot-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.loot-row strong{font-size:16px}.loot-row>b{margin-left:auto;font-size:20px;color:var(--accent)}.loot-row.collected{opacity:.65;background:#18362f;border-color:#3d7865}.loot-icon{display:grid;place-items:center;width:44px;height:44px;font-size:32px;color:#dfc18b}.loot-icon svg{width:40px;height:40px}.reward-footer{display:flex;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.reward-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reward-choice{display:flex;flex-direction:column;text-align:center;align-items:center}.reward-choice h3{font-size:16px}.reward-choice details{text-align:left;font-size:11px;margin:10px 0 16px}.reward-choice details p{margin:9px 0}.reward-choice .primary{margin-top:auto}.reward-choice .item-metrics{margin-top:10px}.back-link{margin-bottom:16px;background:transparent;border:0;padding-left:0}.level-heroes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.level-heroes .portrait{width:42px;height:48px}.level-heroes .hero-title{gap:7px}.level-heroes .hero-title h3{font-size:15px;margin:0}.level-heroes .attribute{font-size:12px;padding:7px 0}.level-heroes .attribute button{padding:4px 10px}.modal-error{background:#54362e;border:1px solid #b88061;border-radius:8px;padding:12px;color:#ffe1d3}
@media(max-width:800px){.loadout-layout{grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);gap:14px}.paperdoll{gap:7px}.faceoff{grid-template-columns:1fr;gap:20px}.party-line{max-width:450px;width:100%;margin:auto}.party-line .portrait{height:65px;width:55px}.level-heroes{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-choice-grid{gap:8px}.reward-choice{padding:10px}.reward-choice .inspect-item-icon{width:55px;height:55px}}
@media(max-width:600px){.app{padding:14px}.header-right{gap:6px}.pill{font-size:10px;padding:5px 9px}#manage,#begin-battle{font-size:11px}#navigation{min-height:38px;margin:12px 0 16px}.section-heading{gap:12px;margin-bottom:16px}.section-heading h2{font-size:22px}.section-heading p{font-size:12px}.section-heading .primary{width:100%}.management-tabs{gap:5px;margin-bottom:18px}.management-tabs button{font-size:11px;padding:10px 7px;gap:5px}.tab-number{display:none}.hero-tabs{gap:5px}.hero-tab{padding:8px 3px}.hero-tab .portrait{width:29px;height:32px}.hero-tab strong{font-size:11px}.hero-tab small{font-size:9px}.sub-heading{align-items:flex-start}.sub-heading h3{font-size:14px}.sub-heading>small{font-size:9px;text-align:right;max-width:115px}.rule-open{padding:11px}.rule-title{gap:7px;font-size:12px}.rule-summary{margin-left:0;gap:10px}.rule-summary div{font-size:11px}.priority-arrows{padding:3px}.priority-arrows button{padding:7px}.edit-cue{font-size:9px}.preset-grid{gap:5px}.preset-card{padding:10px 7px;grid-template-columns:1fr;gap:4px}.preset-card>span{display:none}.preset-card strong{font-size:11px}.loadout-layout{grid-template-columns:1fr}.paperdoll{grid-template-columns:1fr .85fr 1fr;max-width:420px}.paperdoll-hero .portrait{height:125px}.paperdoll-hero strong{font-size:18px}.inspect-panel{min-height:150px;padding:16px}.empty-inspector{max-width:100%}.empty-inspector>span{display:none}.empty-inspector p{margin-bottom:0}.item-metrics{margin:10px auto}.equip-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-item{width:81px}.nexus-tile{width:100px}.map-node{width:40px;height:40px;padding:5px}.floor-label{font-size:8px}.expedition-map{margin:0 auto 12px}.map-key{font-size:10px;gap:14px}.fight-button{font-size:35px;padding:24px 15px}.edit-links{gap:5px}.edit-links button{font-size:10px;padding:8px}.ready-header h2{font-size:29px}.ready-header{margin-top:20px}.faceoff{margin:27px 0}.reward-modal,.management-modal,.level-modal{width:calc(100% - 16px);padding:17px;max-height:95vh}.reward-heading h2{font-size:27px}.loot-row{padding:14px;gap:12px}.loot-row strong{font-size:14px}.reward-choice-grid{grid-template-columns:1fr}.reward-choice{padding:16px}.reward-choice .item-metrics{max-width:100%}.reward-footer button{font-size:12px}.dialog-heading{gap:8px}.dialog-heading>.eyebrow{font-size:8px}.dialog-heading>button{font-size:11px}.detail-modal{padding:20px}.level-heroes{gap:8px}.level-heroes .card{padding:10px}.level-heroes .hero-title{flex-direction:column;text-align:center}.level-heroes .attribute b{margin-right:8px}.level-heroes .attribute button{padding:4px 8px}.level-heroes .attribute{font-size:11px}}
