/* Bottom HUD: portrait cards, left challenge entry, right growth actions. */
:root{--console:calc(202px * var(--battle-ui-scale))}
.battle-console{width:1184px;height:202px;grid-template-columns:256px minmax(0,1fr) 164px;overflow:visible}
.battle-console>.hero-info{padding:12px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:0}.hero-info .order-buttons{display:none}
.hero-summary{align-items:flex-start;gap:10px;min-height:128px}.hero-info #portrait{width:128px;height:128px}.hero-vitals b{font-size:21px}.hero-vitals .hero-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hero-stats{gap:6px;margin-top:8px}.hero-stats span{white-space:nowrap}.hero-stats span,.hero-stats b{font-size:14px}
.hero-info #portrait>span{top:4px;left:4px;right:auto;bottom:auto;font-size:12px;padding:1px 4px;z-index:4}
#details-button{display:block;margin-top:4px;padding:2px 5px;font-size:12px;color:#ddcb98;background:#27332a;border-color:#6d7559}#details-button kbd{padding:0 3px}
#hero-portrait-live{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#portrait.portrait-live>.hero-portrait{visibility:hidden}#portrait>span{z-index:1}.hero-vitals>div:first-child{display:block}.hero-vitals #state-label{display:none}
.upgrade-progress{grid-column:1/-1;margin:0;font-size:13px;color:#c4d0b1}#upgrade-candidates button:disabled{opacity:.65;cursor:default}
.battle-console>.build-slots{padding:10px 12px;display:grid;grid-template-rows:20px minmax(0,1fr) 35px;gap:6px;min-height:0}.card-slots{height:100%;min-height:0;margin:0;gap:6px;grid-template-columns:repeat(8,minmax(0,1fr))}
.card-slots>.held-card,.card-slots>.empty-card{position:relative;height:100%;min-height:0;padding:7px 5px 38px;border:1px solid #697550;background:linear-gradient(160deg,#394631,#15251c);border-radius:2px;box-shadow:inset 0 0 0 3px #101d1766}
.card-slots>.empty-card{background:#15231b88;border-color:#3c5038;display:grid;place-items:center;padding:0}
.card-slots>.empty-card i{font-size:16px;color:#7e8d6c;font-style:normal}
.card-slots>.held-card img{position:static;display:block;width:100%;height:100%;max-height:64px;object-fit:contain;margin:0 auto}
.card-slots>.held-card>span{position:absolute;inset:auto 3px 8px;font-size:12px;line-height:17px;white-space:normal;max-height:34px;text-align:center;color:#eee2bb}
.card-slots>.held-card>small{font-size:11px;top:3px;right:3px}
.hero-bars{margin:0;display:grid;grid-template-rows:18px 13px;gap:4px;min-height:0}.hero-bars .health-bar,.hero-bars .mana-bar{height:100%;margin:0;min-height:0}.hero-bars .health-bar span,.hero-bars .mana-bar span{display:grid;place-items:center;font-size:11px;line-height:1}
.shortcut-reminders{position:absolute;left:calc(50% - 744px);bottom:20px;width:140px;zoom:var(--battle-ui-scale);display:grid;grid-template-columns:1fr;gap:10px;font-size:15px;line-height:22px;color:#e1dfbc;text-shadow:0 1px 3px #000,0 0 5px #000;pointer-events:none}.shortcut-reminders>span{white-space:nowrap}
.shortcut-reminders small{color:#dabd74}.shortcut-reminders.dash-cooldown>span:first-child{color:#9b9d88}
.inventory-slots{margin-top:9px;gap:5px}.inventory-slots>span,.inventory-slots>button{height:42px}
#shop-button{margin-top:14px;width:100%;height:30px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;background:#26352b;border:1px solid #69744e}#shop-button.active{border-color:#d9bf77}
#shop-button[hidden]{display:none!important}
.right-tools{display:flex;flex-direction:row;position:absolute;left:calc(50% + 338px);right:auto;top:auto;bottom:220px;gap:10px;pointer-events:none}
.right-tools #draw-button,.right-tools #upgrade-button{position:relative;inset:auto;min-width:0;width:106px;height:68px;margin:0;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:linear-gradient(145deg,#394638f5,#17251cf5);border:1px solid #a39a68;color:#f3e4b8;font-size:17px;box-shadow:inset 0 0 0 2px #151f16}
.right-tools #draw-button>img{display:none}.right-tools #draw-button>span{display:block;font-size:17px}.right-tools #draw-price,.right-tools #upgrade-button small{font-size:12px;line-height:16px;color:#b8ccb0;margin:0}.right-tools kbd{position:absolute;top:5px;right:5px;padding:1px 4px;font-size:12px}
.right-tools #upgrade-button.ready{border-color:#dce6a7;box-shadow:inset 0 0 0 2px #151f16,0 0 12px #c9dca033}
.challenge-tools{position:absolute;left:calc(50% - 580px);bottom:220px;display:flex;gap:10px;zoom:var(--battle-ui-scale);pointer-events:auto}
#challenge-button{width:106px;height:68px;padding:9px 13px;text-align:left;font-size:17px;color:#eadcb9;background:linear-gradient(145deg,#394638f5,#17251cf5);border:1px solid #a39a68;box-shadow:inset 0 0 0 2px #151f16}
#challenge-button span{display:block;font-size:12px;color:#b6c0a5;margin-top:7px}
#challenge-list{display:grid;gap:8px;min-height:100px;align-content:center;color:#aebfa5;text-align:center}
#initial-skill-status{display:none}#hud>.minimap-wrap{width:164px;height:164px}
#opening-status{left:12px;top:52px;min-width:0;padding:7px 10px;background:#17251dba;font-size:12px}#opening-status b{font-size:12px}#opening-status span{font-size:11px}
.growth-rail{top:123px}#evolution-button{top:auto;bottom:calc(var(--console) + 100px)}
#draw-dialog,.opening-choice{bottom:calc(var(--console) + 91px);max-height:calc(100vh - var(--console) - 130px)}
#draw-dialog .choice-card{min-height:350px}#draw-dialog .draw-footer{padding-bottom:20px}
#base-world-health{position:absolute;z-index:0;box-sizing:border-box;width:210px;padding:5px 7px 7px;transform:translate(-50%,-100%);border:1px solid #b2ae7e;border-radius:5px;background:#09100ee8;box-shadow:0 2px 7px #000a,inset 0 0 0 1px #000b;color:#f6ecd1;text-align:center;font-size:14px;text-shadow:0 1px 3px #000;pointer-events:none}
/* World plates remain below controls; body-level game dialogs own layers 200+. */
#hud>.battle-console,#hud>.challenge-tools,#hud>.game-top,#hud>.right-tools,#hud>.minimap-wrap,#hud>.dps-widget,#hud>#inspection,#hud>#world-event-control,#hud>#toast,#hud>#mode-hint{z-index:20}
#base-world-health>span{display:block;font-size:16px;font-weight:800;line-height:24px;letter-spacing:2px}
#base-world-health .base-health-track{position:relative;height:18px;overflow:hidden;background:#21191af2;border:1px solid #020604;box-shadow:0 0 0 1px #c4c5a858;border-radius:2px}
#base-world-health .base-health-track>i{display:block;height:100%;background:linear-gradient(#ffffff55,transparent 45%,#0004),var(--base-health-color,#65d873)}
#base-world-health .base-health-track>small{display:block;position:absolute;inset:0;font-size:14px;line-height:18px;font-weight:800;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 2px #000,1px 0 2px #000}
#base-world-health.selected{border-color:#e2ed9c;box-shadow:0 0 10px #c5e68f66,inset 0 0 0 1px #000b}
#inspection{top:90px;right:14px}
#game-cursor{position:fixed;inset:0 auto auto 0;margin:0;padding:0;border:0;background:transparent;overflow:visible;width:22px;height:28px;z-index:11000;pointer-events:none;filter:drop-shadow(0 1px 2px #000)}#game-cursor svg{width:100%;height:100%}#game-cursor::backdrop{background:transparent;pointer-events:none}
.mouse-captured,.mouse-captured *{cursor:none!important}button.pointer-hover{filter:brightness(1.22);border-color:#e5cf8a}.bond-entry.pointer-hover .bond-tooltip{display:block;opacity:1;visibility:visible}
#settings-dialog .setting button{padding:6px 12px}#help-dialog{width:540px}.control-row{min-height:31px}
#details-dialog{width:min(980px,94vw);max-width:none;padding:26px;background:linear-gradient(140deg,#24362a,#12221a)}
#details-dialog,#collection-dialog,#challenge-dialog{zoom:var(--battle-ui-scale);max-height:85vh;overflow:auto}
.details-heading{display:flex;justify-content:space-between;align-items:center;padding-right:28px;margin-bottom:18px}.details-heading h2{margin:0 0 6px;font-size:26px}.details-heading p{margin:0;font-size:13px;color:#b2c2a2}.details-heading>span{font-size:12px;color:#c4c59e}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.attribute-group{border:1px solid #60745277;background:#0c191655;padding:13px 14px}.attribute-group h3{margin:0 0 11px;font-size:15px;color:#dfcb8e}.attribute-group dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 8px;font-size:12px}.attribute-group dt{color:#b7c5aa}.attribute-group dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:#edf0d7;max-width:160px}.attribute-group .attribute-note{font-size:11px;color:#94a58c;line-height:1.5;margin:11px 0 0}
.record-group{margin-top:20px}.record-group h3{font-size:17px;color:#e0cc90}.record-group>p{font-size:13px;color:#b8c4ab}.absorbed-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:12px}.absorbed-cards button{height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px;background:linear-gradient(#35482f,#17251b);border:1px solid #7e8d5c}.absorbed-cards img{width:64px;height:64px}.absorbed-cards span{font-size:13px}.absorbed-cards small{font-size:11px;color:#a8cc8d}
.card-flight{position:fixed;z-index:120;pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;padding:6px;background:linear-gradient(145deg,#587344,#1c3021);border:2px solid #e6cf88;box-shadow:0 0 24px #e6cf8866;color:#fff0bb;text-align:center;transform-origin:center}
.card-flight img{width:65%;max-height:65%;object-fit:contain}.card-flight b{font-size:13px;line-height:17px}.card-awaiting-arrival{visibility:hidden}.card-landed{animation:card-land .65s ease-out}.absorption-arrived{animation:absorption-arrived 1.2s ease-out}
@keyframes card-land{0%{box-shadow:0 0 28px #f2df96;filter:brightness(1.8)}100%{box-shadow:none;filter:brightness(1)}}
@keyframes absorption-arrived{0%,35%{color:#f8e9a3;box-shadow:0 0 24px #e0d58a88}100%{box-shadow:none}}
@media(max-width:1000px){.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-console{width:1080px;grid-template-columns:240px minmax(0,1fr) 148px}.right-tools{left:calc(50% + 318px)}.challenge-tools{left:calc(50% - 540px)}#hud>.minimap-wrap{bottom:calc(var(--console) + 103px);width:125px;height:125px}.hero-summary{gap:7px}.hero-info #portrait{width:120px;height:120px}.hero-stats span,.hero-stats b{font-size:13px}}
@media(max-width:1000px){.shortcut-reminders{left:8px;bottom:14px;width:140px}}
@media(max-height:760px){#draw-dialog .choice-card{min-height:315px}#draw-dialog .card-members{display:none}#draw-dialog .card-title-row{padding:7px 12px}#draw-dialog .card-copy{gap:6px}#draw-dialog .card-section p{font-size:13px}#draw-dialog .card-title-row h3{font-size:20px}.opening-draw-heading{padding:6px 10px;margin-bottom:7px}.opening-draw-heading b{font-size:14px}#draw-dialog .draw-footer button{height:34px}}
@media(prefers-reduced-motion:reduce){.card-landed,.absorption-arrived{animation-duration:.15s}}

/* Incoming card remains visible until the complete group reaches the bond button. */
.card-slots{position:relative}.card-collecting{visibility:hidden}.card-slots>.pending-card-slot{position:absolute;right:0;bottom:calc(100% + 8px);width:calc((100% - 42px)/8);height:112px;border-color:#e6cf88;z-index:3}

#base-world-health .base-healing{display:block;margin-top:4px;padding:3px 5px;background:#152a16da;border:1px solid #bdc27d75;color:#e7f4a1;font-size:11px;font-style:normal;white-space:nowrap}#base-world-health .base-healing[hidden]{display:none}
