:root{color-scheme:dark;--ink:#ece6d5;--muted:#a5a797;--dim:#747c6b;--gold:#c5aa70;--edge:#62553c;--panel:#172019;--red:#9e4940;--green:#829e73;--serif:'Noto Serif SC','Songti SC','SimSun',Georgia,serif;--sans:'Microsoft YaHei',system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0d140f;color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #dfc18a;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.4}button,input,select{-webkit-tap-highlight-color:transparent}button:hover{filter:brightness(1.12)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif)}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:10px;color:var(--gold)}.muted{color:var(--muted)}.gold{color:var(--gold)}.rune{font-size:24px;color:var(--gold)}.line{height:1px;background:linear-gradient(90deg,transparent,#84704c88,transparent)}.loading{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.loading h1{font-size:42px;letter-spacing:.22em}.loading p{color:var(--muted);letter-spacing:.2em}.lobby{min-height:100dvh;height:100dvh;position:relative;overflow:auto;background:linear-gradient(90deg,#0a110ef2,#111a13d9 50%,#0b130fee),linear-gradient(0deg,#080e0de8,transparent 65%),url('./assets/arena.91e888a11e13.webp') center/cover;isolation:isolate}.lobby:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#9d794d16,transparent 55%);z-index:-1}.topbar{max-width:1320px;margin:auto;padding:26px 44px;display:flex;justify-content:space-between;align-items:center}.wordmark{display:flex;align-items:center;gap:13px;font-family:var(--serif);letter-spacing:.14em;font-size:17px}.brand-seal{height:34px;width:34px;border:1px solid #9c855a;transform:rotate(45deg);display:grid;place-items:center}.brand-seal span{transform:rotate(-45deg);color:#d3bc89}.small-actions{display:flex;gap:8px;align-items:center}.text-btn{color:var(--muted);font-size:12px;padding:10px 13px}.text-btn:hover{color:var(--gold)}.build-badge{font-size:10px;letter-spacing:.12em;color:#8e9788;border:1px solid #6e795033;padding:7px 10px}.intro{text-align:center;margin:9px auto 24px}.intro h1{font-size:clamp(34px,4vw,56px);font-weight:600;letter-spacing:.18em;color:#eee5ce;margin:12px 0 11px;text-shadow:0 4px 30px #000}.intro p{color:#b3b4a4;font-size:13px;letter-spacing:.11em}.hero-layout{max-width:1220px;margin:auto;display:grid;grid-template-columns:210px 1fr 250px;gap:30px;align-items:start;padding:0 36px}.section-kicker{font-size:11px;letter-spacing:.16em;color:var(--gold);display:flex;align-items:center;gap:12px;margin:13px 0 24px}.section-kicker:after{content:'';height:1px;background:#87704c50;flex:1}.hero-bio{padding-top:8px}.hero-bio .ordinal{font-family:Georgia,serif;font-size:56px;color:#b8a37b4d;line-height:1}.hero-bio h2{font-size:28px;font-weight:500;margin-top:16px;letter-spacing:.15em}.hero-bio .hero-title{color:var(--gold);font-size:12px;letter-spacing:.15em;margin-top:10px}.hero-bio p{color:#a9b0a0;line-height:2;font-size:12px;margin:21px 0}.hero-bio .hero-skill{border-top:1px solid #665b4144;padding-top:18px;display:flex;gap:12px;align-items:center}.icon-skill{font-size:23px;color:var(--gold);width:40px;height:40px;border:1px solid #8c775548;display:grid;place-items:center;background:#8d754c11}.hero-skill b{font-size:12px;font-weight:400}.hero-skill small{display:block;color:var(--dim);font-size:10px;margin-top:5px}.hero-select{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding-top:11px}.hero-card{height:330px;position:relative;border:1px solid #7563494d;background:linear-gradient(0deg,#182119ee,#25312388 60%,#42402d22);overflow:hidden;transition:transform .25s,border .25s,background .25s;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;padding:0 6px 20px;isolation:isolate}.hero-card:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#aaa56b19,transparent 60%);z-index:-1}.hero-card.selected{border-color:#b69a61;background:linear-gradient(0deg,#252a1f,#343b2980 60%,#8e754321);transform:translateY(-5px);box-shadow:0 0 0 3px #b2985d0a,0 12px 30px #0003}.hero-card.selected:after{content:'✦';position:absolute;top:13px;left:50%;transform:translateX(-50%);color:#d6b97a;font-size:14px}.hero-card:hover{border-color:#a69068}.sprite-portrait{width:220px;height:220px;background-size:600% 400%;background-position:0 0;position:absolute;bottom:65px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 12px 14px #0007)}.hero-card .en{font-family:Georgia,serif;color:#9c9f88;font-size:8px;letter-spacing:.17em;margin-bottom:9px;position:relative}.hero-card h3{font-size:19px;letter-spacing:.12em;font-weight:500;position:relative}.hero-card .type{color:#8b947d;letter-spacing:.1em;font-size:10px;margin-top:9px}.lobby-options{padding-left:18px;border-left:1px solid #70644742}.mode-toggle{display:flex;gap:8px}.mode-toggle button{flex:1;padding:11px 5px;font-family:var(--serif);border:1px solid #6c644544;color:#99a18f;background:#1d281a44;font-size:15px}.mode-toggle button.active{background:#8b72452b;border-color:#9d845b;color:#decca4}.mode-note{color:#8f9986;line-height:1.8;font-size:11px;margin:13px 0 22px;min-height:60px}.difficulty-row{display:flex;gap:6px}.difficulty-row button{width:34px;height:37px;border:1px solid #67704d50;color:#a1a589;font-family:Georgia;font-size:15px;background:#1a241b80}.difficulty-row button.active{border-color:#b5965c;background:#a68a4b24;color:#e8ce94}.difficulty-caption{font-size:11px;color:#c1b58f;margin:10px 0 22px}.chapter-preview{border-top:1px solid #6c654740;padding-top:17px}.chapter-preview .chapter-name{font-family:var(--serif);font-size:18px;margin:9px 0 4px}.chapter-preview small{font-size:11px;color:#8c9581}.chapter-preview .act{font:10px Georgia;letter-spacing:.15em;color:#8d9b80}.launch-area{text-align:center;margin:27px auto 0}.primary-btn{font-family:var(--serif);font-weight:600;letter-spacing:.18em;border:1px solid #c6aa70;padding:15px 44px;min-width:240px;font-size:18px;background:linear-gradient(#b39251,#806330);color:#11190f;box-shadow:inset 0 0 0 3px #cfb37838,0 5px 25px #0006;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.secondary-btn{padding:11px 19px;min-height:42px;border:1px solid #8b785550;background:#b29a6810;color:#d3c6a8}.launch-sub{color:#7e8976;font-size:10px;margin-top:11px;letter-spacing:.13em}.lobby-footer{display:flex;justify-content:space-between;max-width:1220px;margin:23px auto 0;padding:18px 36px;color:#74816d;font-size:10px;letter-spacing:.04em;border-top:1px solid #6c624327}.continue-btn{display:block;margin:12px auto 0;color:#c6b68f;font-size:12px;padding:7px 20px}.play-shell{height:100dvh;background:radial-gradient(ellipse at 50% 40%,#26302266,transparent 70%),#0b110e;display:flex;justify-content:center;align-items:center;gap:24px;padding:16px}.stage-wrap{height:min(calc(100dvh - 32px),960px);aspect-ratio:3/4;position:relative;box-shadow:0 0 0 1px #9a82514d,0 18px 60px #0009;overflow:hidden;background:#263126}.stage-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.stage-wrap:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 3px #120e0855;pointer-events:none}.sidebar{width:210px;align-self:stretch;max-height:960px;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:18px 0}.sidebar .wordmark{font-size:20px;margin-bottom:7px}.sidebar h2{font-size:23px;font-weight:500;letter-spacing:.12em}.side-rule{border-top:1px solid #776c4a44;padding-top:18px}.side-label{font-size:10px;letter-spacing:.2em;color:#8b987e;margin-bottom:11px}.side-value{font-family:Georgia,var(--serif);font-size:28px;color:#d5c79e}.tiny-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.tiny-stats label{font-size:10px;color:#86937b;display:block;margin-bottom:5px}.tiny-stats b{font-size:16px;color:#d0cfb3;font-weight:400}.side-equipment{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.eq-slot{width:100%;aspect-ratio:1;display:grid;place-items:center;border:1px solid #72654666;background:linear-gradient(145deg,#31372955,#11190eaa);position:relative;color:var(--gold)}.eq-slot.empty{border-style:dashed;opacity:.38}.eq-slot svg{width:65%;height:65%}.slot-label{font-size:9px;color:#80906f;text-align:center;margin-top:3px}.active-bond{font-size:12px;padding:9px 0;color:#c9bd98;display:flex;align-items:center;gap:9px;border-bottom:1px solid #6b64462a}.active-bond span{font-size:10px;color:#7b8f70;margin-left:auto}.side-controls{font-size:10px;color:#7a8970;line-height:2.2}.side-controls kbd{padding:1px 4px;border:1px solid #62674855;color:#aaa98d;min-width:17px;display:inline-block;text-align:center;font-family:inherit}.hud-top{position:absolute;top:0;left:0;right:0;padding:15px 17px 20px;background:linear-gradient(#0a120ee3,#0a120e80,transparent);pointer-events:none}.hud-row{display:flex;gap:10px;align-items:center}.hero-emblem{height:38px;width:38px;border:1px solid #aa9162;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);color:#d5bc85;background:#172215}.vitals{flex:1}.vitals-text{display:flex;justify-content:space-between;font-size:10px;color:#d2cbb5;margin-bottom:5px}.hp-track{height:10px;background:#151912;border:1px solid #8d765451;position:relative}.hp-fill{height:100%;background:linear-gradient(0deg,#763e35,#ae6850);width:100%;transition:width .1s}.shield-fill{position:absolute;left:0;top:0;height:100%;background:#b0c2d269}.xp-track{height:3px;background:#243426;margin-top:4px}.xp-fill{height:100%;background:#a8bca2;width:0}.hud-corner{pointer-events:auto;display:flex;gap:6px}.square-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid #a38a5a66;background:#131c16aa;color:#d1b988;font-size:19px}.stage-tag{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b6bba2;margin-top:12px;letter-spacing:.06em}.timer{font-family:Georgia,serif;font-size:19px;color:#e2d7bc}.boss-hud{margin-top:10px;padding:0 30px}.boss-hud p{text-align:center;font-family:var(--serif);font-size:13px;color:#d9c499;letter-spacing:.14em;margin-bottom:5px}.boss-track{height:6px;background:#121610;border:1px solid #7b6441}.boss-track>div{height:100%;background:#a56b4b}.touch-controls{position:absolute;bottom:0;left:0;right:0;height:160px;pointer-events:none;background:linear-gradient(transparent,#09130b60);padding-bottom:env(safe-area-inset-bottom)}.joystick{pointer-events:auto;position:absolute;left:24px;bottom:31px;width:94px;height:94px;border-radius:50%;border:1px solid #b8b79045;background:radial-gradient(#a9ad8333,#0c170c66);touch-action:none}.joystick .knob{position:absolute;width:42px;height:42px;top:25px;left:25px;border:1px solid #c2b78b77;border-radius:50%;background:linear-gradient(135deg,#657050aa,#263d27bb);box-shadow:0 3px 7px #0006}.combat-actions{position:absolute;right:20px;bottom:26px;display:flex;gap:12px;align-items:flex-end}.ability{pointer-events:auto;border-radius:50%;width:64px;height:64px;background:radial-gradient(#4f5840,#172418 70%);border:1px solid #b29c6c;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 3px 12px #0008;overflow:hidden}.ability.hero-ability{width:80px;height:80px}.ability .symbol{font-size:24px;font-family:var(--serif);color:#d6c49b}.ability small{font-size:9px;color:#abb193;margin-top:4px}.ability .cooldown{position:absolute;inset:0;display:none;place-items:center;border-radius:50%;background:#07120bd6;font-family:Georgia;font-size:20px;color:#ddd2b9}.ability .cooldown.active{display:grid}.keyboard-hint{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-size:9px;color:#a0ab8b99;white-space:nowrap}.overlay-layer{position:fixed;inset:0;background:#030a08b5;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:50;padding:22px;animation:fade-in .18s ease}.modal{position:relative;width:min(900px,100%);max-height:92dvh;overflow:auto;background:linear-gradient(120deg,#253024f5,#151e17fa 65%);border:1px solid #9a81534d;box-shadow:0 20px 100px #000a,inset 0 0 0 3px #090e083f;padding:28px 32px}.modal:before{content:'';position:absolute;top:0;left:25%;width:50%;height:1px;background:linear-gradient(90deg,transparent,#d9bd82,transparent)}.modal.small{max-width:500px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #8d785141}.modal-head h2{font-size:25px;font-weight:500;letter-spacing:.13em}.modal-head p{font-size:11px;color:#929f86;margin-top:8px;line-height:1.8}.close-btn{width:36px;height:36px;border:1px solid #80704a66;color:#b6b899;font-size:23px;flex-shrink:0}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:25px;flex-wrap:wrap}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.talent-card{border:1px solid #8a775040;text-align:left;padding:22px 18px;background:linear-gradient(#3b43292a,#0e1b1259);position:relative;min-height:278px;display:flex;flex-direction:column;align-items:flex-start}.talent-card:hover{border-color:#c3a66b;background:linear-gradient(#72603d39,#14251a9a);transform:translateY(-2px)}.talent-card .talent-glyph{width:58px;height:58px;display:grid;place-items:center;font-size:29px;border:1px solid #a78e5c69;background:#b0965c10;color:#d7bb7f;margin-bottom:20px}.talent-card h3{font-size:20px;font-weight:500;margin-bottom:10px;letter-spacing:.07em}.talent-card p{font-size:12px;color:#b1b8a4;line-height:1.9}.talent-card .talent-tags{margin-top:auto;padding-top:18px;color:#c9b884;font-size:10px;display:flex;gap:6px}.tag{padding:3px 7px;border:1px solid #8f81523d;color:#b4bd9d;font-size:10px;display:inline-block;margin:3px 3px 3px 0}.rank-pips{color:#bca367;font-family:Georgia;letter-spacing:.2em;font-size:12px;position:absolute;top:16px;right:14px}.tabs{display:flex;gap:6px;border-bottom:1px solid #70644755;margin-bottom:22px;overflow:auto}.tabs button{padding:10px 18px;white-space:nowrap;color:#95a18a;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:#dcc18a;border-bottom-color:#b4975f}.equipment-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.equipment-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.equipment-tile{display:flex;gap:11px;align-items:center;text-align:left;border:1px solid #75654740;padding:12px;min-height:70px;background:#0d1a1244}.equipment-tile .eq-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center}.equipment-tile svg{width:32px;height:32px}.equipment-tile strong{display:block;font-size:12px;font-weight:400;line-height:1.5}.equipment-tile small{font-size:9px;color:#829377;display:block;margin-top:3px}.equipment-detail{padding:20px;border:1px solid #72684a44;background:#101a1277;min-height:250px}.equipment-detail h3{font-size:20px;font-weight:500;margin-bottom:10px}.item-meta{font-size:10px;color:#839276;margin-bottom:18px}.affix-list{list-style:none;padding:0;margin:13px 0}.affix-list li{padding:7px 0;border-bottom:1px solid #6c72502b;color:#bac4a9;font-size:12px;line-height:1.6}.legend-effect{font-size:12px;color:#d3af6b;line-height:1.9;margin-top:14px;padding-top:12px;border-top:1px solid #8b70434d}.bag-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px}.bag-grid button{aspect-ratio:1;border:1px solid #8a72474d;background:#10211766;display:grid;place-items:center}.bag-grid svg{width:35px;height:35px}.bag-label{margin-top:20px;font-size:11px;color:#88977b}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-box{padding:14px 15px;border:1px solid #6a64432b;background:#12201644}.stat-box b{font-family:Georgia,serif;font-size:23px;font-weight:400;display:block;color:#d0c29b}.stat-box label{display:block;color:#99a78d;font-size:11px;margin-top:6px}.talent-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.talent-entry{border:1px solid #6e67442e;padding:15px;background:#10201644}.talent-entry h3{font-size:15px;font-weight:500;margin-bottom:7px}.talent-entry p{color:#9aaa8d;line-height:1.8;font-size:11px}.bond-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bond-entry{padding:16px;border:1px solid #6f67443e;background:#13211855}.bond-entry.active{border-color:#b49b605d}.bond-entry h3{font-size:16px;font-weight:500;display:flex;justify-content:space-between}.bond-entry h3 span{font-family:Georgia;color:#c7ac70}.bond-entry p{font-size:11px;color:#74866c;line-height:1.9;margin-top:8px}.bond-entry p.on{color:#c9c7a4}.bond-track{display:flex;gap:4px;margin-top:12px}.bond-track i{height:3px;width:30px;background:#45543a}.bond-track i.on{background:#c3a46a}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.shop-item{border:1px solid #7765444d;background:#10201666;padding:16px;text-align:center;position:relative}.shop-item .eq-icon{height:60px;display:grid;place-items:center;margin-bottom:12px}.shop-item svg{width:43px;height:43px}.shop-item h3{font-size:14px;font-weight:500;min-height:36px;line-height:1.6}.shop-item small{display:block;color:#899a79;font-size:9px;margin:6px 0 12px}.shop-item p{font-size:11px;color:#aeb69a;line-height:1.8;min-height:65px;text-align:left}.buy-btn{width:100%;border:1px solid #a68b5066;padding:9px 4px;color:#d4b572;font-family:Georgia;background:#92743b18;margin-top:12px}.camp-summary{display:flex;gap:28px;justify-content:center;margin-bottom:22px}.camp-summary p{font-size:11px;color:#8a9a7a}.camp-summary b{font:21px Georgia;color:#d5c299;margin-left:9px}.shop-item.sold{opacity:.3}.small-note{font-size:11px;color:#89997c;line-height:1.9;margin-top:14px}.settings-row{padding:16px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #6b65432e;gap:20px}.settings-row span{font-size:13px}.settings-row small{display:block;font-size:10px;color:#8b9a7f;line-height:1.7;margin-top:5px}.toggle-btn{padding:8px 16px;border:1px solid #84755255;min-width:65px;color:#bdb791}.toggle-btn.on{background:#63714b33;color:#d0d8b4}.result-seal{text-align:center;font-size:52px;color:#bc9d60;margin:10px 0 12px}.result-title{text-align:center;font-size:33px;font-weight:500;letter-spacing:.2em}.result-desc{text-align:center;color:#9daa8e;line-height:1.9;font-size:12px;margin-top:13px}.countdown{font:110px Georgia;color:#e1c78d;text-shadow:0 3px 30px #000;text-align:center}.countdown-note{color:#b8c6a3;font-size:12px;letter-spacing:.13em;text-align:center;margin-top:14px}.source-row{padding:9px 0;display:flex;justify-content:space-between;font-size:12px;color:#b9c3a4}.source-bar{height:4px;background:#283b25;margin-bottom:10px}.source-bar div{height:100%;background:#ba9f63}.tutorial{max-width:620px}.tutorial ol{padding-left:22px;line-height:2.2;color:#b6c0a6;font-size:13px}.tutorial li{margin:8px 0}.pause-label{font-size:10px;letter-spacing:.16em;color:#b6bd9c;margin-bottom:8px}.footer-note{font-size:10px;color:#7e8d71;text-align:center;line-height:1.8;margin-top:18px}#toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,15px);z-index:100;background:#1f2d20f5;border:1px solid #a18b5355;padding:12px 24px;color:#d2d4b4;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}.hud-small{display:none}.empty-state{padding:40px 0;text-align:center;color:#879b7b;font-size:12px;line-height:2}.danger-btn{color:#c3907d;border-color:#9e614d66}.comparison{font-size:11px;color:#a9bc95;margin-top:8px;line-height:1.9}.step-tag{font-size:10px;color:#8c9e7d;letter-spacing:.15em;text-align:center;margin-bottom:10px}@keyframes fade-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.joystick{opacity:.2}.joystick:hover{opacity:.6}.touch-controls{height:132px}.stage-wrap{min-width:300px}.ability{width:54px;height:54px}.ability.hero-ability{width:68px;height:68px}}
@media(max-width:1100px){.hero-layout{grid-template-columns:170px 1fr 210px;gap:20px;padding:0 24px}.sprite-portrait{width:195px;height:195px}.hero-card{height:300px}.hero-card h3{font-size:16px}.hero-bio h2{font-size:24px}.sidebar{width:165px}.play-shell{gap:16px}.side-equipment{gap:5px}.tiny-stats b{font-size:14px}}
@media(max-width:850px){.topbar{padding:20px 24px}.hero-layout{grid-template-columns:1fr 220px;max-width:780px}.hero-bio{display:none}.hero-card{height:310px}.hero-select{gap:9px}.intro{margin:12px auto 25px}.intro h1{font-size:42px}.lobby-footer{margin-top:18px}.sidebar{display:none}.play-shell{padding:0;gap:0}.stage-wrap{height:100dvh;max-width:100vw;min-width:0}.hud-small{display:inline}.modal{padding:23px}.talent-card{padding:20px 14px}.talent-card h3{font-size:18px}.modal-head h2{font-size:23px}.shop-grid{grid-template-columns:repeat(2,1fr)}.shop-item p{min-height:55px}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.lobby{background-position:center;}.topbar{padding:15px 18px}.wordmark{font-size:14px}.brand-seal{width:28px;height:28px}.small-actions .build-badge{display:none}.text-btn{padding:9px 7px;font-size:11px}.intro{margin:15px auto 19px}.intro h1{font-size:36px;margin:10px 0}.intro p{font-size:10px;letter-spacing:.06em}.intro .eyebrow{font-size:8px}.hero-layout{display:block;padding:0 18px}.hero-select{gap:8px}.hero-card{height:230px;padding-bottom:17px}.sprite-portrait{width:177px;height:177px;bottom:48px}.hero-card h3{font-size:15px}.hero-card .en{font-size:6px;letter-spacing:.06em;margin-bottom:7px}.hero-card .type{font-size:9px}.hero-card.selected{transform:translateY(-3px)}.hero-card.selected:after{top:10px}.lobby-options{margin-top:20px;border-left:0;border-top:1px solid #70644742;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.lobby-options .section-kicker{margin:13px 0 12px}.mode-note{font-size:10px;margin:9px 0 0;min-height:0}.mode-toggle button{font-size:13px;padding:9px 4px}.difficulty-row{gap:5px}.difficulty-row button{width:29px;height:36px}.difficulty-caption{font-size:10px;margin:10px 0 0}.chapter-preview{grid-column:1/-1;display:flex;align-items:center;gap:13px;margin-top:17px;padding-top:13px}.chapter-preview .chapter-name{font-size:15px;margin:0}.chapter-preview small{margin-left:auto;font-size:9px}.chapter-preview .act{font-size:8px}.launch-area{margin-top:21px}.primary-btn{font-size:16px;min-width:230px;padding:14px 36px}.launch-sub{font-size:9px;margin-top:10px}.lobby-footer{margin:16px 18px 0;padding:12px 0;justify-content:center}.lobby-footer span:last-child{display:none}.lobby-footer span{font-size:9px}.stage-wrap{width:100vw;height:100dvh;aspect-ratio:auto}.hud-top{padding-top:calc(12px + env(safe-area-inset-top))}.hud-row{gap:8px}.overlay-layer{padding:13px}.modal{padding:21px 17px;max-height:94dvh}.modal-head{margin-bottom:16px;padding-bottom:15px}.modal-head h2{font-size:21px}.modal-head p{font-size:10px}.talent-grid{grid-template-columns:1fr;gap:10px}.talent-card{min-height:0;padding:17px 16px 16px 82px;display:block}.talent-card .talent-glyph{position:absolute;left:16px;top:19px;width:48px;height:48px;font-size:25px}.talent-card h3{font-size:17px;margin-bottom:7px;padding-right:35px}.talent-card p{font-size:11px;line-height:1.85}.talent-card .talent-tags{padding-top:10px;font-size:9px}.rank-pips{right:10px;top:16px}.tabs{gap:0;margin-bottom:16px}.tabs button{padding:10px 12px;font-size:11px}.equipment-layout{grid-template-columns:1fr;gap:14px}.equipment-slots{gap:7px}.equipment-tile{padding:9px;min-height:61px;gap:7px}.equipment-tile strong{font-size:11px}.equipment-detail{min-height:0;padding:16px}.equipment-detail h3{font-size:18px}.talent-list,.bond-list{grid-template-columns:1fr}.stat-grid{gap:9px}.stat-box{padding:11px}.stat-box b{font-size:21px}.shop-grid{gap:9px}.shop-item{padding:13px 11px}.shop-item .eq-icon{height:46px;margin-bottom:7px}.shop-item h3{font-size:13px;min-height:30px}.shop-item p{font-size:10px;min-height:55px}.shop-item small{font-size:9px}.modal-actions{margin-top:19px}.camp-summary{gap:20px;margin-bottom:16px}.camp-summary b{font-size:18px;margin-left:5px}.joystick{left:23px;bottom:34px}.combat-actions{right:17px;bottom:32px;gap:11px}.keyboard-hint{display:none}.footer-note{font-size:9px}.result-title{font-size:28px}.tutorial ol{font-size:12px}.bag-grid{grid-template-columns:repeat(6,1fr)}.stage-tag{font-size:10px}.countdown{font-size:100px}.touch-controls{height:170px}}
@media(max-width:370px){.sprite-portrait{width:155px;height:155px}.hero-card{height:210px}.hero-card h3{font-size:13px}.hero-select{gap:5px}.lobby-options{gap:0 12px}.difficulty-row button{width:25px}.chapter-preview small{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Four distinct archetypes; keep cards legible on narrow screens. */
.hero-layout{max-width:1450px;grid-template-columns:200px minmax(0,1fr) 220px;gap:24px}.hero-select{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-card{min-width:0}.hero-card .en{font-size:8px;letter-spacing:.08em}.sprite-portrait{width:215px;height:215px}.hero-card h3{font-size:20px}.hero-card .type{font-size:10px}
@media(max-width:1100px){.hero-layout{grid-template-columns:1fr 210px}.hero-bio{display:none}.sprite-portrait{width:180px;height:180px}.hero-card h3{font-size:17px}}
@media(max-width:850px){.hero-layout{display:block}.hero-select{grid-template-columns:repeat(4,minmax(0,1fr))}.lobby-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border:0;padding:0;margin-top:20px}.hero-card{height:260px}.sprite-portrait{width:175px;height:175px}.chapter-preview{margin-top:0}.hero-card .en{font-size:7px}}
@media(max-width:600px){.hero-select{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-card{height:208px}.sprite-portrait{width:170px;height:170px;bottom:36px}.hero-card .en{margin-bottom:4px}.hero-card h3{font-size:17px}.hero-card .type{font-size:9px}.hero-card.selected{transform:none}.lobby-options{grid-template-columns:1fr 1fr;gap:0 18px;margin-top:15px}.chapter-preview{margin-top:15px}.hero-card.selected:after{top:8px}.intro{margin-top:8px}.hero-card{padding-bottom:12px}}
.battle-loading{position:absolute;inset:0;background:#132219ee;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;letter-spacing:.16em;color:#d7c690;pointer-events:auto}.battle-loading b{font:36px Georgia}.battle-loading span{font-size:14px}.battle-notice{position:absolute;top:138px;left:7%;right:7%;z-index:5;pointer-events:none;text-align:center;opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .4s;text-shadow:0 2px 8px #000;background:linear-gradient(90deg,transparent,#142317e8 20%,#142317e8 80%,transparent);padding:15px 10px}.battle-notice.visible{opacity:1;transform:translateY(0)}.battle-notice b{display:block;color:#ead3a0;letter-spacing:.2em;font:23px var(--serif)}.battle-notice span{display:block;margin-top:9px;color:#d0d5b9;font-size:11px;line-height:1.7}.joystick.engaged{opacity:.95}.incoming-summary{margin-top:20px;padding-top:16px;border-top:1px solid #a18b5344}.incoming-summary h3{font-size:15px;font-weight:500;color:#d4bb8a;margin-bottom:8px}.incoming-summary .source-row{font-size:11px;gap:15px}.inspect-item{font:inherit;line-height:inherit;padding:0;color:inherit;text-align:center}.inspect-item:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.battle-notice{top:115px;left:4%;right:4%;padding:12px 10px}.battle-notice b{font-size:19px}.battle-notice span{font-size:10px}.incoming-summary .source-row{font-size:10px}.comparison{line-height:2}}

.battle-notice.boss-intro{top:auto;bottom:170px}@media(max-width:600px){.battle-notice.boss-intro{top:auto;bottom:177px}}
.report-build{border:1px solid var(--line);padding:16px;margin:20px 0}.report-build p{line-height:1.9;color:var(--muted)}.report-timeline{padding-left:22px;max-height:280px;overflow:auto}.report-timeline li{margin:12px 0;padding-left:5px}.report-timeline b,.report-timeline span{display:block;font-size:12px;line-height:1.8}.report-timeline span{color:var(--muted)}.report-note{display:block;font-size:12px;margin-top:18px}.report-note textarea{display:block;box-sizing:border-box;width:100%;margin-top:9px;padding:12px;background:#101b13;border:1px solid #4e5942;color:#e0d9bd;font:inherit;resize:vertical}.report-note textarea:focus{outline:2px solid #c7aa64;outline-offset:2px}@media(max-width:600px){.small-actions .text-btn{padding-left:5px;padding-right:5px;font-size:11px}}
@media(max-width:370px){.topbar{gap:10px;flex-wrap:wrap}.wordmark{white-space:nowrap;flex-shrink:0}.small-actions{width:100%;justify-content:space-between}.small-actions .text-btn{white-space:nowrap;padding:7px 9px;font-size:12px}.mode-toggle button{white-space:nowrap;font-size:11px;padding:9px 5px}}
