:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070a14;color:#f7f8ff}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#070a14}button,input{font:inherit}button{border:1px solid #44507a;background:#11182d;color:#fff;border-radius:12px;padding:.72rem 1rem;font-weight:750;cursor:pointer}button:hover{background:#192342}button.active{outline:2px solid #7ce8ff;background:#12324a}#game{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.hidden{display:none!important}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(50,85,170,.28),rgba(5,7,16,.92));z-index:10}.card{width:min(540px,calc(100% - 32px));padding:34px;border:1px solid #27345f;border-radius:28px;background:rgba(11,15,30,.94);box-shadow:0 30px 80px #0008}.eyebrow{letter-spacing:.2em;font-size:.72rem;color:#7ce8ff}.card h1{font-size:clamp(2.4rem,10vw,4.8rem);line-height:.9;margin:18px 0}.card h1 span{color:#7ce8ff}.card p{color:#aeb9d8;line-height:1.65}.card input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #34436f;background:#090d1a;color:white;margin:14px 0}.card button{width:100%;background:linear-gradient(135deg,#1f72ff,#00bed6);border:0;padding:15px}.card small{display:block;margin-top:12px;color:#7480a3;line-height:1.5}#topbar{position:absolute;z-index:4;top:max(12px,env(safe-area-inset-top));left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}#topbar>div{background:#080d1ad9;border:1px solid #283352;border-radius:14px;padding:10px 14px;backdrop-filter:blur(10px)}#topbar span{margin-left:12px;color:#7ce8ff;font-size:.75rem}.hud{position:absolute;z-index:5;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center}.wallet{background:#080d1ad9;border:1px solid #283352;border-radius:12px;padding:9px 12px;color:#ffd36b}.hint{background:#080d1ad9;border:1px solid #283352;border-radius:12px;padding:9px 12px;color:#b9c4df}.mobile{display:none}.roster{position:absolute;z-index:5;left:18px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:8px}.monster-card{width:150px;background:#080d1ae8;border:1px solid #2e3b62;border-radius:16px;padding:10px;backdrop-filter:blur(10px)}.monster-card.active{border-color:#7ce8ff;box-shadow:0 0 0 2px #7ce8ff33}.monster-card .bar{height:7px;background:#232c45;border-radius:9px;overflow:hidden;margin-top:6px}.monster-card .bar>i{display:block;height:100%;background:#61e59d}.monster-card .energy>i{background:#6bc4ff}.monster-card small{display:block;color:#96a4c7;margin-top:4px}.command-bar{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:100px;display:flex;gap:6px;background:#080d1ae8;padding:8px;border:1px solid #2e3b62;border-radius:16px}.command-bar button{padding:.55rem .75rem}.skills{position:absolute;z-index:5;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px}.skill-btn{min-height:66px;text-align:left}.skill-btn small{display:block;color:#8ea0c7;margin-top:3px}.battle-help{position:absolute;z-index:4;top:70px;left:50%;transform:translateX(-50%);background:#080d1abf;border:1px solid #29375d;border-radius:12px;padding:8px 12px;color:#9daccc;font-size:.8rem;white-space:nowrap}.joystick{position:absolute;z-index:6;left:22px;bottom:24px;width:118px;height:118px;border:1px solid #536083;border-radius:50%;background:#0b1020aa;touch-action:none}.joystick:before{content:"";position:absolute;inset:29px;border:1px dashed #46557d;border-radius:50%}#stick{position:absolute;width:48px;height:48px;border-radius:50%;background:#7ce8ff55;border:1px solid #7ce8ff;left:35px;top:35px}#toast{position:absolute;z-index:20;top:80px;right:18px;max-width:340px;background:#0d1428e8;border:1px solid #394c7a;border-radius:12px;padding:10px 14px;opacity:0;transform:translateY(-6px);transition:.18s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:760px){.desktop{display:none}.mobile{display:block}.hud{right:12px;bottom:18px}.hud .hint{display:none}.roster{left:8px;right:8px;bottom:148px;gap:5px}.monster-card{width:calc((100vw - 26px)/3);padding:7px;font-size:.78rem}.command-bar{left:auto;right:8px;transform:none;bottom:82px;max-width:calc(100vw - 160px);overflow-x:auto}.command-bar button{font-size:.72rem;padding:.5rem .62rem}.skills{right:8px;bottom:8px;grid-template-columns:repeat(2,86px)}.skill-btn{min-height:60px;font-size:.72rem}.battle-help{display:none}.joystick:not(.hidden){display:block}#worldHud{left:auto}.card{padding:24px}}
.passive-chip{min-height:52px;border:1px solid #725fc7;background:#17122dd9;border-radius:12px;padding:8px 10px;color:#d9d1ff}.passive-chip strong,.passive-chip small{display:block}.passive-chip strong{font-size:.68rem;letter-spacing:.12em;color:#a997ff}.passive-chip small{margin-top:4px}

.battle-meta{position:absolute;z-index:6;top:68px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:999px;border:1px solid #3a4b74;background:#080d1ae8;color:#b9d9ff;font-weight:800;letter-spacing:.08em;pointer-events:none}.battle-meta:empty{display:none}.battle-meta.danger{color:#ffb0b8;border-color:#a94355;background:#2a1018e8}

.rating{background:#121126d9;border:1px solid #5a4f8d;border-radius:12px;padding:9px 12px;color:#cbbdff}

.zone-name,.zone-select{background:#080d1ad9;border:1px solid #283352;border-radius:12px;padding:9px 12px;color:#dbe8ff}.zone-name{font-weight:800;color:#8aeaff}.zone-select{max-width:210px;cursor:pointer}.zone-select option{background:#0b1020;color:#fff}@media(max-width:760px){.zone-name{display:none}.zone-select{max-width:132px;padding:8px;font-size:.72rem}}

.roster-panel{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 28px));max-height:min(76vh,680px);overflow:auto;background:#080d1af2;border:1px solid #394c7a;border-radius:20px;padding:16px;box-shadow:0 24px 80px #000a;backdrop-filter:blur(14px)}.roster-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.roster-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.roster-slot{text-align:left}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.collection-card{text-align:left;min-height:70px}.collection-card strong,.collection-card small{display:block}.collection-card small{margin-top:6px;color:#91a2c9}.collection-card:disabled{opacity:.55;cursor:default}@media(max-width:760px){.roster-panel{top:44%;max-height:72vh;padding:12px}.roster-slots{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-card{font-size:.72rem}}

.banner-select,.pity-status{background:#080d1ad9;border:1px solid #283352;border-radius:12px;padding:9px 12px;color:#dbe8ff}.pity-status{color:#ffcf76;font-size:.78rem}.quest-panel{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 28px));max-height:76vh;overflow:auto;background:#080d1af2;border:1px solid #394c7a;border-radius:20px;padding:16px;box-shadow:0 24px 80px #000a}.quest-list{display:grid;gap:8px}.quest-item{border:1px solid #2e3b62;border-radius:14px;padding:12px;background:#0b1122}.quest-item strong,.quest-item small{display:block}.quest-item small{color:#91a2c9;margin:5px 0}.quest-item.complete{border-color:#5ecb8a}.quest-item.claimed{opacity:.6}@media(max-width:760px){.banner-select{max-width:110px;font-size:.68rem}.pity-status{display:none}.quest-panel{top:44%;padding:12px}}

.monster-details{margin-top:14px;border-top:1px solid #2e3b62;padding-top:14px;display:grid;gap:10px}.monster-detail-head strong,.monster-detail-head small{display:block}.monster-detail-head small{color:#91a2c9;margin-top:4px}.monster-detail-actions,.training-grid,.evolution-row{display:flex;gap:8px;flex-wrap:wrap}.training-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.evolution-row{align-items:center;justify-content:space-between}.evolution-row small{color:#d8c28a}.collection-card.active{outline:2px solid #7ce8ff;background:#12324a}@media(max-width:760px){.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monster-details button{font-size:.7rem;padding:.55rem}.evolution-row{align-items:stretch;flex-direction:column}}

.story-objective{max-width:300px;background:#10172ad9;border:1px solid #4e6695;border-radius:12px;padding:9px 12px;color:#cfe4ff;font-size:.78rem}.npc-dialogue{position:absolute;z-index:14;left:50%;bottom:12%;transform:translateX(-50%);width:min(600px,calc(100vw - 28px));background:#080d1af5;border:1px solid #6f6138;border-radius:18px;padding:16px;box-shadow:0 24px 80px #000a}.npc-dialogue p{color:#e8e2ca;line-height:1.7;margin:8px 0}.main-story{border-color:#6c5c9f;background:#171329}@media(max-width:760px){.story-objective{position:absolute;left:8px;top:64px;max-width:65vw;font-size:.66rem}.npc-dialogue{bottom:18%;padding:12px}}

.tutorial-guide{position:absolute;z-index:7;top:68px;left:18px;width:min(420px,calc(100vw - 36px));display:grid;gap:4px;padding:10px 14px;border:1px solid #4f6f9d;border-radius:14px;background:#081323e8;box-shadow:0 10px 32px #0006;backdrop-filter:blur(10px);pointer-events:none}.tutorial-guide strong{color:#8aeaff;font-size:.82rem}.tutorial-guide span{color:#d8e6ff;font-size:.76rem;line-height:1.45}@media(max-width:760px){.tutorial-guide{top:62px;left:8px;width:calc(100vw - 16px);padding:8px 10px}.tutorial-guide strong{font-size:.72rem}.tutorial-guide span{font-size:.67rem}}


.history-panel{position:fixed;z-index:25;inset:8vh 7vw;max-width:980px;margin:auto;background:rgba(8,13,25,.97);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:12px 0}
.history-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:58px}
.history-row small{opacity:.72}
.replay-viewer{display:grid;gap:10px;margin-top:14px}
#replayCanvas{width:100%;height:auto;max-height:55vh;background:#09111f;border:1px solid rgba(255,255,255,.12);border-radius:12px}
.replay-controls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
#replayTimeline{width:100%}
.replay-meta{font-size:13px;opacity:.82}
@media(max-width:760px){.history-panel{inset:6vh 3vw;padding:12px}.history-list{grid-template-columns:1fr}.replay-controls{grid-template-columns:auto 1fr}.replay-controls #replayTime{grid-column:1/-1;text-align:right}}
.audio-settings{position:relative;background:#080d1ad9;border:1px solid #283352;border-radius:12px;padding:7px 10px;color:#dbe8ff}.audio-settings summary{cursor:pointer;font-weight:750}.audio-settings[open]{display:grid;gap:6px;min-width:190px}.audio-settings label{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:6px;font-size:.72rem}.audio-settings input[type="range"]{width:100%}.audio-settings .audio-mute{grid-template-columns:auto 1fr}@media(max-width:760px){.audio-settings{max-width:92px;padding:7px;font-size:.7rem}.audio-settings[open]{position:absolute;right:0;bottom:48px;min-width:190px;background:#080d1af5}}
.settings-button{position:absolute;z-index:9;top:max(68px,calc(env(safe-area-inset-top) + 54px));right:14px}.settings-panel{position:absolute;z-index:30;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:80vh;overflow:auto;background:#080d1af7;border:1px solid #394c7a;border-radius:20px;padding:16px;box-shadow:0 24px 80px #000a;display:grid;gap:12px}.settings-panel>label{display:grid;grid-template-columns:minmax(130px,.8fr) 1fr;gap:10px;align-items:center}.key-bindings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.key-binding{display:flex;justify-content:space-between;align-items:center;gap:8px}.key-binding button{min-width:78px}html[data-reduced-flash="true"] *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}html[data-reduced-flash="true"] .battle-meta.danger{background:#24151ae8}html[data-reduced-shake="true"] #game{transform:none!important}html[data-colorblind="deuteranopia"]{--ally:#4da3ff;--enemy:#ffb000}html[data-colorblind="protanopia"]{--ally:#3f9fff;--enemy:#ffd23f}html[data-colorblind="tritanopia"]{--ally:#00b8a9;--enemy:#ff6b9d}@media(max-width:760px){html[data-left-handed="true"] .joystick{left:auto;right:22px}html[data-left-handed="true"] .skills{right:auto;left:8px}html[data-left-handed="true"] .command-bar{right:auto;left:8px;transform:none}.settings-button{top:58px;right:8px;padding:.5rem .7rem}.settings-panel{top:46%;padding:12px}.settings-panel>label{grid-template-columns:1fr}.key-bindings{grid-template-columns:1fr}}


.public-test-tools{max-width:min(560px,92vw);background:rgba(8,12,25,.86);border:1px solid rgba(124,232,255,.28);border-radius:10px;padding:7px 9px}.public-test-tools summary{cursor:pointer;font-weight:700}.public-test-row{display:flex;gap:6px;align-items:center;margin-top:7px}.public-test-row select{min-width:0;flex:1}.tactical-slow{margin-top:8px}.collection-card:has(+ .unused-public-test-selector){outline:none}@media(max-width:720px){.public-test-row{display:grid;grid-template-columns:1fr 1fr}.public-test-tools{font-size:.9rem}}
