.health-bar{position:relative;overflow:hidden}.health-bar i{position:absolute;inset:0 auto 0 0;transition:width .15s ease-out}.health-bar #health-lag{background:#edc795;transition:width .75s .15s ease-out}.health-warning{display:block;font-size:12px;color:#ffbcc2;margin-top:7px;text-shadow:0 1px 3px #000}.health-warning[hidden]{display:none}.wave-label.imminent{color:#ffd1b1;border-bottom:1px solid #d47b63;padding-bottom:4px}
.encounter-banner{position:absolute;top:125px;left:50%;transform:translate(-50%,-8px);max-width:calc(100vw - 28px);min-width:260px;padding:14px 30px;text-align:center;background:linear-gradient(90deg,#1b122500,#1b1225ef 15%,#1b1225ef 85%,#1b122500);border-block:1px solid #daa17177;opacity:0;transition:opacity .25s,transform .3s;pointer-events:none}.encounter-banner.visible{opacity:1;transform:translate(-50%,0)}.encounter-banner small{display:block;letter-spacing:.2em;color:#e2bc91;font-size:12px;margin-bottom:6px}.encounter-banner strong{font-size:22px;letter-spacing:.04em;color:#fff0d3;font-weight:600}
.volume-control{margin:24px 0 13px;text-align:left}.volume-control label{display:flex;align-items:center;justify-content:space-between;font-size:15px}.volume-control output{font-size:14px;font-variant-numeric:tabular-nums;color:#e0c587}.volume-control input{width:100%;height:40px;accent-color:#d8ba7f;cursor:pointer}.setting-help{text-align:left;font-size:13px;color:#c0b5c7;line-height:1.7;margin:16px 0}.settings-panel .settings-row{min-height:60px}.settings-panel .btn-secondary{min-width:76px;min-height:44px}.settings-panel .btn-secondary[aria-pressed=true]{border-color:#c5ac7455;color:#edd39b;background:#d7b87510}
.build-summary{text-align:left;border-block:1px solid #d1b57430;padding:16px 0;margin-top:20px}.build-summary h3{font-size:14px;font-weight:500;color:#dac299;margin:0 0 12px}.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.build-grid>span{background:#e4c98a08;padding:9px;font-size:12px;display:flex;gap:5px;justify-content:space-between;color:#d3c9dc}.build-grid b{font-weight:400;color:#bfa879;white-space:nowrap}.build-summary p{font-size:12px;color:#ad9bb7;line-height:1.6;margin:13px 0 0}.build-relics{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;margin-top:12px;color:#a6d9c5}
.reduced-effects *{animation:none!important;transition:none!important}.card:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.dash-btn:focus-visible{outline:2px solid #f1dcab;outline-offset:4px}.card{transition:border-color .2s,transform .2s,background .2s}.card:hover{transform:translateY(-3px)}.btn-primary:active,.dash-btn:active{transform:scale(.97)}
.encounter-banner{z-index:4}
@media(max-width:600px){}
@media(max-height:460px) and (min-width:601px){}
@media(max-width:600px){.encounter-banner{top:132px;padding:11px 20px;min-width:250px}.encounter-banner strong{font-size:19px}.settings-panel{padding:22px 18px}.volume-control{margin-top:18px}.settings-panel .settings-row{min-height:55px}.health-warning{font-size:11px}.build-grid{gap:6px}.build-grid>span{padding:8px;font-size:12px}.game-tip{padding:10px 13px;background:#100c1ee6;border:1px solid #bea06b30;line-height:1.5}}
@media(max-height:460px) and (min-width:601px){.encounter-banner{top:138px;padding:8px 25px}.encounter-banner small{font-size:11px;margin-bottom:4px}.encounter-banner strong{font-size:18px}.dash-btn{right:156px;bottom:max(18px,env(safe-area-inset-bottom));width:62px;height:62px}.game-tip{bottom:100px}.equipment{max-width:55%}.biome-label{display:none}.quest-strip{top:92px}.health-warning{font-size:11px}}
@media(prefers-reduced-motion:reduce){.card,.btn-primary,.dash-btn,.encounter-banner{transform:none!important;transition:none!important}.encounter-banner{left:15px;right:15px;width:auto;min-width:0}.card:hover{transform:none}}

/* Signature skill controls: keep the movement thumb, minimap and attacks separate. */
.combat-actions{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(100px,calc(env(safe-area-inset-bottom) + 85px));display:flex;gap:14px;align-items:flex-end;pointer-events:none}
.combat-actions .dash-btn{position:relative;inset:auto;width:66px;height:66px;flex:none}.combat-actions .dash-btn small{font-size:12px}
.ultimate-btn{position:relative;width:90px;height:90px;flex:none;border-radius:20px;border:1px solid var(--ult-color);background:conic-gradient(color-mix(in srgb,var(--ult-color) 40%,#16111e) var(--ult-charge,40%),#17121fed 0);box-shadow:inset 0 0 0 5px #14101cdf,0 4px 20px #0005;color:#ece2ef;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;pointer-events:auto;touch-action:none;cursor:pointer}
.ultimate-btn .ult-icon{font:27px Georgia,serif;line-height:1;color:var(--ult-color)}.ultimate-btn b{font-size:14px;font-weight:600}.ultimate-btn small{font-size:12px;font-variant-numeric:tabular-nums;color:#d1c9d8}.ultimate-btn kbd{font:11px monospace;border:1px solid #c3b39b60;border-radius:3px;padding:0 3px;margin-left:2px}
.ultimate-btn.ready{background:linear-gradient(145deg,#fff0be,var(--ult-color));color:#261c25;box-shadow:inset 0 0 0 4px #20151c22,0 0 22px color-mix(in srgb,var(--ult-color) 30%,transparent)}.ultimate-btn.ready .ult-icon,.ultimate-btn.ready small{color:#3b2937}.ultimate-btn.active{border-color:#fff2c8}.ultimate-btn:focus-visible{outline:2px solid #fff0c6;outline-offset:4px}.ultimate-btn:active{transform:scale(.97)}
.ultimate-notice{position:absolute;left:50%;top:210px;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:9px 22px;text-align:center;background:#171021eb;border-block:1px solid #e2c48d70;color:#ffe5af;font-size:15px;line-height:1.5;opacity:0;transition:opacity .2s;pointer-events:none}.ultimate-notice.visible{opacity:1}.ultimate-shield{display:block;color:#b3e6fa;font-size:12px;margin:5px 0}.ultimate-shield[hidden]{display:none}
.ultimate-detail{text-align:left;margin-top:14px;padding:13px 12px;background:#ceb2ed09;border-left:2px solid var(--hero-color,#d5bd87)}.ultimate-detail>span{display:block;font-size:12px;color:#bdb0cd;margin-bottom:6px}.ultimate-detail>b{display:block;font-size:16px;color:var(--hero-color,#edce96);font-weight:600}.ultimate-detail>p{font-size:14px;line-height:1.65;color:#d5cadc;margin:8px 0}.ultimate-detail>small{font-size:12px;line-height:1.55;color:#aa9db9;display:block}.roster-detail .trait-box p{min-height:0}.roster-detail .roster-portrait{height:185px}.roster-detail .roster-portrait canvas{max-height:190px}
@media(max-width:600px){.combat-actions{right:max(15px,env(safe-area-inset-right));bottom:max(104px,calc(env(safe-area-inset-bottom) + 84px));gap:10px}.combat-actions .dash-btn{width:58px;height:58px}.ultimate-btn{width:76px;height:80px;border-radius:17px}.ultimate-btn kbd{display:none}.ultimate-notice{top:206px;width:max-content;font-size:14px;padding:8px 14px}.game-tip{bottom:198px;max-width:calc(100vw - 145px);left:15px;transform:none}.roster-detail .roster-portrait{height:165px}.roster-detail .roster-portrait canvas{max-height:170px}.ultimate-detail{padding:11px}.ultimate-detail>p{font-size:14px}}
@media(max-height:460px) and (min-width:601px){.combat-actions{right:156px;bottom:max(18px,env(safe-area-inset-bottom));gap:12px}.combat-actions .dash-btn{width:60px;height:60px}.ultimate-btn{width:72px;height:74px;border-radius:15px}.ultimate-btn kbd{display:none}.ultimate-btn .ult-icon{font-size:24px}.ultimate-notice{top:200px;font-size:14px;padding:5px 16px}.equipment{max-width:46%}}
@media(pointer:coarse){.ultimate-btn kbd{display:none}}

/* Keepsakes and weapon awakenings */
.lobby-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.lobby-carry{color:var(--mint)!important;max-width:340px;overflow-wrap:anywhere}.evolved-slot{border-color:#e4cd95;color:#fff0b8;box-shadow:inset 0 0 12px #e0bb6322}.evolution-hint{display:block;color:#edce8e;margin-top:7px;font-size:12px}.evolution-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.evolution-card{border-color:var(--rarity);min-height:265px}.evolution-card .card-icon,.evolution-card .card-level{color:var(--rarity)}.evolution-index-title{font-size:16px;margin:25px 0 14px}.build-carry{color:var(--mint)!important}
.collection-overlay{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.collection-panel{width:min(1100px,100%);max-height:100%;overflow:auto;touch-action:pan-y;padding:26px;scrollbar-color:#6b5b73 #17141d}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.collection-heading h2{font-size:25px}.collection-heading .subtext{margin-bottom:0}.collection-heading button{flex-shrink:0}.collection-loadout{display:flex;align-items:center;gap:16px;padding:12px 16px;margin:20px 0;border:1px solid #a8d6c133;background:#89dbbf08;flex-wrap:wrap}.collection-loadout>span{color:var(--muted);font-size:12px}.collection-loadout b{font-size:14px;color:var(--mint)}.collection-loadout button{margin-left:auto;min-height:44px}.collection-layout{display:grid;grid-template-columns:252px minmax(0,1fr);gap:22px;align-items:start}.carry-detail{border:1px solid var(--rarity);padding:22px 18px;text-align:center;background:linear-gradient(150deg,#322d3c88,#15131c);position:sticky;top:0}.rarity-label{font-size:11px;letter-spacing:.08em;color:var(--rarity)}.carry-emblem{display:grid;place-items:center;width:88px;height:112px;margin:20px auto;border:1px solid var(--rarity);color:var(--rarity);font-size:44px;background:#12101aaa;box-shadow:inset 0 0 24px #ffffff08}.carry-detail h3{font-size:20px;margin:0 0 13px}.carry-effect{font-size:13px;line-height:1.85;min-height:60px;color:#e0d9e6}.copy-meter{display:flex;flex-direction:column;gap:8px;margin:20px 0}.copy-meter b{font-size:13px;color:var(--rarity)}.copy-meter span{font-size:11px;color:var(--muted)}.carry-detail .btn-primary{min-width:0;width:100%;padding:14px 8px;letter-spacing:0;font-size:14px}.carry-detail .panel-note{line-height:1.7}.collection-list{max-height:505px;overflow:auto;padding:0 6px 5px 2px;scrollbar-color:#6b5b73 #17141d;touch-action:pan-y}.rarity-group h3{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:8px;margin:0 0 11px}.rarity-group h3 small{font-size:10px;font-weight:400;color:var(--muted)}.rarity-group+.rarity-group{margin-top:22px}.carry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.carry-tile{position:relative;padding:14px 6px 12px;min-height:114px;border:1px solid #ffffff18;background:#17141daa;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:border-color .15s}.carry-tile.owned{border-color:color-mix(in srgb,var(--rarity) 40%,transparent)}.carry-tile.inspected{border-color:var(--rarity);outline:1px solid var(--rarity);background:#ffffff07}.carry-glyph{font-size:26px;line-height:1;color:var(--rarity)}.carry-tile b{font-size:11px;line-height:1.5;word-break:keep-all}.carry-tile small{font-size:10px;color:var(--muted)}.carry-tile.unowned .carry-glyph{opacity:.4}.carry-selected{position:absolute;right:4px;top:4px;font-size:9px;color:var(--mint);background:#142720;padding:2px 4px}.collection-rules{margin-top:22px;border-top:1px solid #ffffff16;padding-top:15px;color:var(--muted);font-size:12px;line-height:1.8}.collection-rules summary{cursor:pointer;min-height:44px;color:#cdc2d7;padding:8px 0}.collection-rules p{margin:8px 0}.card-reward{margin:20px 0 0;border:1px solid var(--rarity);background:#ffffff03;padding:16px;text-align:left}.card-reward-title{display:flex;align-items:center;gap:14px;margin-top:12px}.card-reward-title>span{font-size:32px;color:var(--rarity)}.card-reward h3{font-size:17px;margin:0}.card-reward h3 small{display:block;font-size:11px;color:var(--rarity);margin-top:5px;font-weight:400}.card-reward p{font-size:12px;line-height:1.7;color:#d7cddd;margin:12px 0 8px}.card-reward>small{font-size:11px;color:var(--muted)}.card-reward button{display:block;width:100%;margin-top:14px;padding:10px;font-size:12px}.result-panel{max-height:100%;overflow:auto;touch-action:pan-y}.collection-panel button:disabled{cursor:default}
@media(max-width:700px){.lobby-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-panel{padding:18px 14px}.collection-heading{align-items:flex-start;gap:10px}.collection-heading h2{font-size:20px}.collection-heading .eyebrow{font-size:10px;letter-spacing:.16em}.collection-heading button{padding:9px 10px;font-size:12px}.collection-heading .subtext{font-size:12px}.collection-layout{grid-template-columns:1fr;gap:20px}.carry-detail{position:static;display:grid;grid-template-columns:64px 1fr;column-gap:15px;text-align:left;padding:16px}.carry-detail .rarity-label,.carry-detail h3,.carry-detail .carry-effect,.carry-detail .copy-meter{grid-column:2}.carry-emblem{grid-column:1;grid-row:1/5;width:62px;height:84px;font-size:31px;margin:5px 0}.carry-detail h3{font-size:18px;margin:7px 0}.carry-detail .carry-effect{min-height:0;margin:3px 0;font-size:12px}.carry-detail .copy-meter{margin:10px 0;gap:5px}.carry-detail .btn-primary,.carry-detail .panel-note{grid-column:1/-1}.carry-detail .panel-note{margin:10px 0 0;font-size:11px}.collection-list{max-height:none;overflow:visible;padding:0}.collection-loadout{padding:8px 10px;gap:6px 12px;margin:16px 0}.collection-loadout b{font-size:12px}.collection-loadout button{font-size:11px}.carry-tile{min-height:108px}.collection-rules{font-size:11px}.result-panel{padding-top:18px;padding-bottom:18px}.result-crest{font-size:35px}.result-panel .stats{margin:20px 0}}
@media(max-width:600px){.evolution-cards{grid-template-columns:1fr}.evolution-card{min-height:165px}.evolution-card .card-desc{display:block;margin:5px 0 10px}.evolution-card .card-icon{top:36px}.lobby-carry{max-width:210px;font-size:10px!important}}
@media(max-height:540px) and (min-width:701px){.collection-panel{padding:16px}.collection-list{max-height:260px}.carry-emblem{height:64px;width:56px;font-size:28px;margin:10px auto}.carry-detail{padding:14px}.carry-effect{min-height:0}.copy-meter{margin:12px 0}.collection-heading h2{font-size:20px}.collection-loadout{margin:12px 0}.evolution-panel{max-height:100%;overflow:auto;touch-action:pan-y}.evolution-card{min-height:190px;padding:17px}.evolution-card .card-icon{height:35px;font-size:27px}}

.journey-summary .lobby-carry{display:block;flex-basis:100%}.collection-panel .btn-primary{cursor:pointer}.collection-panel .btn-primary:disabled{cursor:default}

.supporter-panel{max-height:100%;overflow:auto;touch-action:pan-y}.supporter-benefits{text-align:left;margin:18px 0;border-top:1px solid #ffffff18}.supporter-benefits p{padding:13px 0;margin:0;border-bottom:1px solid #ffffff18}.supporter-benefits b{display:block;color:var(--gold);font-size:15px}.supporter-benefits span{display:block;margin-top:7px;font-size:14px;color:var(--muted);line-height:1.7}.supporter-panel .panel-note{line-height:1.7}.supporter-panel .panel-buttons{margin-top:18px}#retry-reward[hidden],#refresh-product[hidden]{display:none}
