/* Interaction-specific layout supplements the game's visual system. */
.skip-link{position:fixed;top:-100px;left:12px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:12px}
.text-button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;min-height:44px}.brand{border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.brand-edition{display:block;font-size:8px;letter-spacing:1.6px;margin-top:6px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;font-size:10px;letter-spacing:1.2px;border-top:1px solid #202c3720;margin-top:40px}.site-footer>span:first-child{font-weight:900}.hero-detail{max-width:420px;line-height:1.7;font-size:14px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button.large{padding:17px 25px;font-size:16px}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.hero-meta{display:flex;gap:18px;font-size:9px;font-weight:800;letter-spacing:1.4px;margin-top:25px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:5px}.hero-art-caption{position:absolute;bottom:9%;right:8%;font-size:16px;transform:rotate(-6deg);font-weight:900;text-align:center}.hero-art-caption small{font-size:10px;font-weight:500}.floating-label{position:absolute;padding:10px 14px;background:#f7d067;border:2px solid #202c37;box-shadow:3px 3px #202c37;font-size:12px;font-weight:900}.label-top{top:18%;left:3%;transform:rotate(-9deg)}.label-bottom{bottom:20%;right:0;transform:rotate(8deg)}.home-bottom,.career-strip{display:flex;align-items:center;gap:32px}.home-bottom{justify-content:space-between;margin:30px 0}.career-strip strong{font-size:25px}.career-strip small{font-size:11px;font-weight:500;display:block}.disclaimer{font-size:13px;font-style:italic;text-align:right}.intro-panel{position:relative}.number-tag{font-size:11px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;width:27px;height:27px;margin-bottom:12px}.save-warning{padding:12px 16px;background:#fff0bd;border:2px solid #bf8000;display:flex;gap:14px;align-items:center;justify-content:space-between}.resource-button{font:inherit;cursor:pointer;background:inherit}.run-route-label{margin-left:auto;display:flex;flex-direction:column;gap:4px;font-size:12px}.run-route-label span{font-size:11px;opacity:.7}.map-sidebar{display:flex;flex-direction:column;gap:18px}.deck-composition{margin:25px 0}.deck-composition>div{display:flex;gap:10px;align-items:center;font-size:12px;margin:12px 0}.deck-composition strong{margin-left:auto}.family-dot{width:10px;height:10px;border-radius:50%;background:#82949b}.family-dot.momentum{background:#f06449}.family-dot.hedge{background:#76b6a0}.family-dot.short{background:#a699d2}.map-tip{display:flex;gap:12px;padding:10px;font-size:12px;line-height:1.7}.map-tip svg{flex:none;width:24px}.seed-note{font-family:monospace;font-size:11px;overflow-wrap:anywhere;opacity:.7}.map-grid{position:relative;min-height:600px}.map-connections{position:absolute;inset:0;width:100%;height:600px;pointer-events:none}.map-connections path{fill:none;stroke:#bdbaaa;stroke-width:3;stroke-dasharray:7 6}.map-connections .traveled{stroke:#467e69;stroke-width:5;stroke-dasharray:none}.map-row{position:relative;display:flex;justify-content:space-around;height:100px;align-items:center}.map-node{z-index:1}.map-node small{font-size:8px;letter-spacing:1px}.node-symbol svg{width:22px;height:22px}.map-node:disabled:not(.visited){opacity:.48}.node-symbol{display:grid;place-items:center}.enemies{display:flex;justify-content:center;align-items:flex-end;gap:28px;flex:1}.fighter.enemy{font:inherit;color:inherit;border:2px solid transparent;background:none;cursor:pointer;min-width:0;transition:border-color .15s}.fighter.enemy.targeted{border-color:#202c37;border-style:dashed;border-radius:16px}.fighter.enemy.dead{opacity:.25;filter:grayscale(1)}.fighter-vitals{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700}.fighter-vitals svg{width:14px;height:14px;flex:none}.fighter-vitals span{display:flex;align-items:center;gap:5px}.hp-fill{display:block;min-height:100%}.versus{font-size:24px;font-style:italic;font-weight:900;opacity:.22;align-self:center;padding:0 20px}.combat-title h1{font-size:30px}.combat-warning{display:flex;flex-direction:column;gap:4px;font-size:12px}.combat-warning span{font-size:11px;opacity:.7}.pile-counts button{background:transparent;border:none;padding:10px;cursor:pointer;font:inherit;font-size:11px;min-height:44px}.pile-counts strong{display:block;font-size:17px}.hand-hint{text-align:center;font-size:11px;opacity:.8}.hand-hint span{margin-left:12px;opacity:.7}.card{text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0}.card-heading{display:flex;align-items:center;gap:9px}.card-heading strong{line-height:1.1}.card-type{font-size:8px;text-transform:uppercase;letter-spacing:1.4px;font-weight:900;padding:6px 10px}.card-footer{margin-top:auto}.card-art{display:block}.card-copy{display:block}.card-art svg{display:block;width:100%;height:100%}.combat-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-top:22px}.log-panel summary{cursor:pointer;font-size:12px;min-height:44px}.log-panel summary span{display:block;font-size:10px;opacity:.65;margin-top:5px}.log-panel ol{padding-left:20px;max-height:200px;overflow:auto;font-size:11px;line-height:1.7}.target-label{background:#202c37!important;color:#fff!important;font-size:9px!important}.empty-hand{padding:40px;text-align:center;width:100%;border:1px dashed #202c37}.reward-screen{padding:20px 0}.reward-heading{text-align:center}.reward-heading .eyebrow{display:block;margin:18px}.victory-medallion,.result-emblem{display:inline-grid;place-items:center;width:80px;height:80px;border-radius:50%;background:#edcd63;border:2px solid #202c37;box-shadow:4px 4px #202c37}.victory-medallion svg,.result-emblem svg{width:40px;height:40px}.reward-payout{display:flex;justify-content:center;gap:24px;font-size:12px;margin:20px}.reward-payout>span{display:flex;gap:6px;align-items:center}.reward-payout svg{width:18px}.center-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:24px}.reward-cards{justify-content:center;display:flex!important;flex-wrap:wrap}.reward-cards .card{width:210px;min-height:300px}.shop-balance{display:flex;gap:10px;align-items:center;margin-bottom:24px;font-size:13px}.shop-balance svg{width:22px}.choice-icon{display:block}.choice-icon svg{width:34px;height:34px}.choice-card .button{margin-top:auto}.choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.room-screen{text-align:center;padding:35px 0}.room-screen .eyebrow{display:block}.room-art{height:200px;max-width:240px;margin:0 auto}.room-art svg{height:100%;width:100%}.two-choices{max-width:780px;margin:0 auto;text-align:left}.event-choices{text-align:left}.event-story{max-width:670px;margin:0 auto;line-height:1.8}.result-breakdown{font-size:12px;line-height:1.8;max-width:650px;margin:25px auto}.career-stats{margin-bottom:24px}.upgrade-icon svg{width:32px}.upgrade-card{display:flex;align-items:center;gap:15px}.upgrade-card>div{flex:1}.rank-dots{display:flex;gap:5px}.rank-dots i{display:inline-block;width:10px;height:10px;background:#d2d0c3;border-radius:50%}.rank-dots .filled{background:#4e987e}.unlock-list{max-height:340px;overflow:auto}.unlock-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #202c3717;font-size:11px}.unlock-row>div{display:flex;flex-direction:column;gap:5px;flex:1}.unlock-row>span:last-child{font-size:10px}.unlock-row.unlocked>span:first-child{color:#287554}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 15px}.section-heading>span{font-size:12px}.achievement-icon svg{width:28px;height:28px}.collection-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.collection-item .card{width:100%;height:100%}.locked-card{filter:saturate(.25)}.modal.wide{max-width:960px}.modal-cards{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important}.modal-cards .card{width:100%}.card-compare{display:flex;align-items:center;justify-content:center;gap:24px}.card-compare .card{width:210px;min-height:290px;cursor:default}.compare-arrow{font-size:32px}.form-field{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-weight:700;font-size:13px}.form-field input,.form-field select{padding:14px;background:#fffdf5;border:2px solid #202c37;border-radius:7px;font:inherit;width:100%;color:inherit}.check-field{display:flex;gap:12px;align-items:center;font-size:13px;margin:20px 0;min-height:44px}.check-field input{width:19px;height:19px;accent-color:#ef694e}.warning-text{padding:14px;background:#f8dfb0;font-size:13px}.help-rules h3{margin-top:25px}.help-rules p{font-size:14px;line-height:1.8}.keyboard-note kbd{border:1px solid;padding:2px 5px;border-radius:3px}.settings-row p{font-size:12px;opacity:.75}.import-button{position:relative;overflow:hidden;cursor:pointer}.import-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.menu-buttons{display:flex;flex-direction:column;gap:12px}.relic-detail-icon{text-align:center}.relic-detail-icon svg{width:100px;height:100px}.toast.warning{background:#f7d067}.toast.achievement{background:#bde0c7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1:focus{outline:none}button svg,.button svg{pointer-events:none}svg{max-width:100%}
@media(max-width:900px){.combat-bottom{grid-template-columns:1fr}.hero-art-caption{font-size:13px}.versus{padding:0 5px}.enemies{gap:8px}.run-layout{grid-template-columns:1fr!important}.map-sidebar{display:grid;grid-template-columns:1fr 1fr}.map-tip,.seed-note{grid-column:1/-1}.career-strip{gap:20px}.career-strip>.eyebrow{max-width:90px}.hero-meta{gap:10px;font-size:8px}}
@media(max-width:600px){.brand-edition{display:none}.site-footer{flex-wrap:wrap;gap:10px;font-size:9px}.nav-actions .button span{display:none}.nav-actions .button{padding:8px 12px}.home-bottom{align-items:flex-start}.career-strip{flex-wrap:wrap;gap:15px}.career-strip>.eyebrow{max-width:none;width:100%}.disclaimer{display:none}.hero-meta{flex-wrap:wrap}.hero-art-caption{bottom:3%}.label-bottom{right:5%}.run-route-label{order:5;width:100%;margin-left:0;flex-direction:row;justify-content:space-between}.run-topline{flex-wrap:wrap}.resource-pill{padding:8px!important}.resource-pill>span:last-child{font-size:9px}.map-sidebar{grid-template-columns:1fr}.map-grid,.map-connections{min-height:540px;height:540px}.map-row{height:90px}.map-node{max-width:90px}.node-symbol{width:40px;height:40px}.map-node small{font-size:7px}.route-legend{flex-wrap:wrap;gap:10px!important}.combat-title h1{font-size:25px}.arena{padding:15px 5px!important;gap:5px!important}.fighter.player{max-width:115px;flex:0 0 27%}.fighter-art{height:135px!important}.fighter-name{font-size:10px!important}.fighter-vitals{font-size:9px;flex-wrap:wrap}.fighter-vitals svg{width:10px}.intent{font-size:10px!important;padding:6px!important}.intent svg{width:14px!important}.versus{font-size:14px}.enemies{gap:1px}.fighter.enemy{padding:8px 3px;flex:1}.status-chips{gap:3px!important}.status-chips>span{font-size:8px!important}.combat-toolbar{flex-wrap:wrap;padding:12px!important;gap:10px!important}.energy-display{min-width:auto}.combat-warning{font-size:10px}.pile-counts{margin-left:auto}.pile-counts button{padding:5px}.combat-toolbar>.button{width:100%}.hand{justify-content:flex-start!important;padding-bottom:15px!important;scroll-snap-type:x proximity}.hand .card{width:155px;scroll-snap-align:start;min-height:240px}.hand-hint span{display:none}.card-compare{gap:8px}.card-compare .card{width:44%;min-height:280px}.compare-arrow{font-size:20px}.reward-payout{gap:12px;flex-wrap:wrap}.reward-cards .card{width:160px;min-height:260px}.two-choices{grid-template-columns:1fr!important}.screen-title{align-items:flex-start!important;flex-direction:column}.screen-title .badge{align-self:flex-start}.upgrade-card{flex-wrap:wrap}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:20px}.section-heading>span{min-width:80px}.toast-stack{left:12px!important;right:12px!important;bottom:12px!important}.toast{max-width:none!important}.profile-layout{grid-template-columns:1fr!important}}
