/* TAPBORN 2.0.0. Fixed portrait game shell for 360x780 CSS viewport (720x1560 at DPR2).
   Battle is above, the primary attack control lives in the bottom thumb zone.
   No floating dashboard cards, no oversized rounded CTA, no full-page scrolling. */
:root{--void:#070c14;--night:#0d1724;--panel:#101d2b;--panel2:#152335;--line:#30445b;--line-soft:#243447;--paper:#f3e9d4;--sub:#95a4b6;--gold:#e0b979;--gold-light:#ffe2a6;--cyan:#75d4e8;--red:#da6a79;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--paper);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--void);-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{overscroll-behavior:none}button,input{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{opacity:.39;cursor:default}button, a{-webkit-user-select:none;user-select:none}img{display:block}#app{height:100%;width:100%;max-width:560px;margin:0 auto;overflow:hidden;background:#09111d;position:relative;box-shadow:0 0 0 1px #2c3341}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.splash{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:radial-gradient(circle at 50% 40%,#183049,#09131f 64%,#050810);text-align:center}.splash-ring{font:60px Georgia,serif;color:var(--gold);text-shadow:0 0 30px #dfbd8749}.splash-title{font:700 36px Georgia,serif;letter-spacing:2px}.splash-title span{color:var(--gold)}.splash small{font-size:9px;letter-spacing:2.4px;color:#a7b2c4}
/* Login uses original hand-painted assets, not a simulated website hero card. */
.auth{position:absolute;inset:0;overflow:hidden;background:#07101b}.auth-bg{position:absolute;inset:0;background:url('scene-grove.webp') 50% 35% / cover;filter:brightness(.77) saturate(.84)}.auth-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080e17b5 0%,#0a142451 24%,#08111fd8 70%,#080c15 100%)}.auth-figure{position:absolute;width:min(86%,370px);height:70%;object-fit:contain;object-position:bottom right;right:-8%;top:3%;filter:drop-shadow(5px 10px 17px #07101c)}.auth-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0509128a,transparent 23%,#080d1696 56%,#090e17 73%)}.auth-brand{position:absolute;top:calc(env(safe-area-inset-top,0px) + 26px);left:25px;text-shadow:0 2px 13px #000a}.auth-brand small{color:#d5ba88;font-size:8px;letter-spacing:2.2px}.auth-brand h1{font:700 clamp(38px,10vw,52px) Georgia,serif;letter-spacing:1px;line-height:1;margin:8px 0 4px}.auth-brand h1 span{color:var(--gold)}.auth-brand p{font-weight:700;font-size:9px;letter-spacing:1.5px;margin:0;color:#e8dacc}.auth-panel{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:16px;right:16px;border-top:1px solid var(--gold);padding:13px 12px 0;background:linear-gradient(180deg,#101b2cf1,#0a121ff9);box-shadow:0 -9px 45px #050810b3}.auth-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #324153;margin-bottom:12px}.auth-switch button{height:33px;background:transparent;color:#8fa1b4;font-size:10px;font-weight:800;letter-spacing:.8px}.auth-switch button.active{color:var(--gold-light);border-bottom:2px solid var(--gold)}.auth-panel label{display:block;color:#b6c2d1;font-size:9px;font-weight:800;letter-spacing:1px;margin:9px 0 5px}.auth-panel input{width:100%;height:38px;border:1px solid #40536b;border-radius:2px;background:#07101d;color:#fff;padding:0 12px;outline:none;font-size:14px}.auth-panel input:focus{border-color:var(--gold)}.auth-error{font-size:11px;min-height:16px;color:#fd9ca2;margin:5px 0}.auth-enter{height:44px;background:linear-gradient(180deg,#f2d8a1,#b78c52);border:1px solid #f5d9a5;color:#1a1a1c;font-weight:900;font-size:12px;letter-spacing:1px;width:100%;text-align:center;border-radius:2px}.auth-enter span{float:right;margin-right:8px;font-size:18px;line-height:12px}.auth-note{display:block;color:#869bae;font-size:10px;text-align:center;margin-top:12px}
/* Structural game layout in compact vertical slices. CSS pixel height is independent of device physical resolution. */
.game{height:100%;min-height:0;display:grid;grid-template-rows:calc(44px + env(safe-area-inset-top,0px)) 29px minmax(205px,35dvh) 49px minmax(105px,1fr) 75px calc(57px + env(safe-area-inset-bottom,0px));overflow:hidden;background:#09111d}
.topbar{display:flex;gap:8px;align-items:center;padding:env(safe-area-inset-top,0px) 10px 0 10px;background:#0b1522;border-bottom:1px solid #243345;min-width:0}.profile-link{display:flex;align-items:center;gap:6px;min-width:0;background:none;padding:0;flex:0 1 auto}.profile-link img{height:31px;width:31px;object-fit:cover;border:1px solid #947756;border-radius:2px}.profile-text{text-align:left;min-width:0;display:flex;flex-direction:column;gap:0}.profile-text strong{font-size:11px;font-weight:800;max-width:95px;overflow:hidden;text-overflow:ellipsis}.profile-text small{font-size:9px;color:var(--gold);font-weight:700}.wallet{display:flex;align-items:center;justify-content:flex-end;min-width:0;flex:1;gap:6px}.cash{display:flex;align-items:center;gap:4px;min-width:0;max-width:100px;white-space:nowrap}.cash strong{font-size:11px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.cash b{font-size:16px;line-height:1}.coin-icon{color:#ffc978}.dust-icon{color:#6fe0ff}.settings-trigger{width:28px;height:32px;background:none;color:#bacbe0;font-size:23px;padding:0}.stagebar{display:flex;align-items:center;gap:7px;padding:0 10px;background:#142234;border-bottom:1px solid #263f5a;min-width:0}.chapter-dot{font-size:11px;color:#e0c18e}.stagebar strong{font-size:9px;letter-spacing:.6px;color:#ebd8b1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-count{font-size:9px;letter-spacing:.7px;font-weight:800;color:#dfe9f4;margin-left:auto;white-space:nowrap}.stage-pips{display:flex;gap:3px}.stage-pips i{height:5px;width:11px;border:1px solid #658198;background:#354c60;transform:skew(-16deg)}.stage-pips i.done{background:#d9b36d;border-color:#d9b36d}.stage-pips i.boss{background:#b76f8b;border-color:#b76f8b}
/* Painted scene, moving character art & localized slash VFX. */
.arena{position:relative;overflow:hidden;isolation:isolate;background:#0c1b2c}.arena-backdrop{position:absolute;inset:0;background-image:url('scene-grove.webp');background-size:cover;background-position:center 62%;transition:filter 250ms ease;filter:brightness(.84)}.scenery-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080e1ec9,#17294018 38%,#090e13ad 96%),linear-gradient(90deg,#10182b4d,transparent 26%,transparent 70%,#0b101970)}.combat-floor{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(0deg,#080d17d6,transparent);pointer-events:none}.enemy-status{position:absolute;z-index:7;top:9px;left:45%;right:4%;padding:7px 8px 3px 9px;background:linear-gradient(90deg,#071424d8,#07142496 83%,transparent);border-left:2px solid #a88e6b}.enemy-title{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.enemy-title #enemyRank{font-size:7px;letter-spacing:1.3px;font-weight:800;color:#b4cfda}.enemy-title b{overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:11px;letter-spacing:.1px}.enemy-title small{color:#f6c6ba;font-size:9px;margin-left:auto}.health-track{margin-top:5px;height:8px;position:relative;border:1px solid #d3b8a17a;background:#0c111ae8;box-shadow:0 1px 0 #15293c}.health-fill{height:100%;width:100%;background:linear-gradient(90deg,#a74859,#dc7670);transition:width 130ms ease}.health-label{text-align:right;font-size:8px;line-height:13px;color:#c4cddb;letter-spacing:.2px;font-variant-numeric:tabular-nums}.fighter{position:absolute;z-index:3;pointer-events:none;object-fit:contain;object-position:center bottom;will-change:transform;filter:drop-shadow(1px 7px 5px #050b16a6)}.hero-sprite{width:52%;height:86%;left:-7.5%;bottom:5%;animation:hero-breathe 2.4s ease-in-out infinite alternate}.mob-sprite{width:45%;height:67%;right:4%;bottom:9%;animation:mob-breathe 2s ease-in-out infinite alternate}.arena.hit .mob-sprite{animation:mob-hit 180ms ease-out}.arena.slash .hero-sprite{animation:hero-attack 220ms ease-out}.hero-shadow,.mob-shadow{position:absolute;z-index:1;bottom:9%;height:7px;background:#0309148c;border-radius:50%;filter:blur(4px)}.hero-shadow{width:30%;left:9%}.mob-shadow{width:29%;right:10%}.combat-trail{opacity:0;position:absolute;z-index:9;top:36%;left:38%;width:42%;height:20%;transform:rotate(-30deg);border-top:4px solid #d5f6ff;border-radius:50%;filter:drop-shadow(0 0 9px #89d6ff);pointer-events:none}.arena.slash .combat-trail{animation:slash-streak 245ms ease-out}.arena-bottom{position:absolute;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,#06121fc9);color:#beced6;font-size:8px;letter-spacing:1.1px;font-weight:800;padding:12px 10px 7px}.live-dot{display:inline-block;height:5px;width:5px;border-radius:50%;margin-right:6px;background:#75d5bb;box-shadow:0 0 7px #75d5bb}.particle-host{position:absolute;z-index:12;inset:0;overflow:hidden;pointer-events:none}.hit-number{position:absolute;right:17%;top:42%;font:800 18px Georgia,serif;color:#fff3d7;text-shadow:0 1px 3px #08101f,1px 0 6px #000;animation:float-number 680ms ease-out forwards}.hit-number.crit{font-size:24px;color:#ffe08a}.spark{position:absolute;width:4px;height:19px;background:#d8f9ff;left:60%;top:55%;transform:rotate(30deg);box-shadow:0 0 6px #93e8ff;animation:spark 440ms forwards}
@keyframes hero-breathe{0%{transform:translateY(0) rotate(-.5deg)}100%{transform:translateY(-4px) rotate(.7deg)}}@keyframes mob-breathe{0%{transform:translateY(0) scale(1)}100%{transform:translateY(-5px) scale(1.012)}}@keyframes hero-attack{50%{transform:translate(16px,-3px) rotate(2deg)}}@keyframes mob-hit{40%{transform:translateX(10px) rotate(3deg);filter:brightness(2.2) drop-shadow(0 0 10px #b8e8ff)}100%{transform:translateX(0)}}@keyframes slash-streak{0%{opacity:0;transform:translate(-30px,17px) rotate(-30deg) scale(.6)}45%{opacity:1}100%{opacity:0;transform:translate(40px,-25px) rotate(-30deg) scale(1.3)}}@keyframes float-number{0%{opacity:0;transform:translateY(12px) scale(.8)}15%{opacity:1}100%{opacity:0;transform:translateY(-49px)}}@keyframes spark{100%{opacity:0;transform:translate(14px,-38px) rotate(36deg)}}
.tactics{background:#0a1422;display:flex;align-items:center;justify-content:space-between;padding:5px 11px;border-bottom:1px solid #30435a;border-top:1px solid #192737;gap:9px;min-width:0}.skill-container{display:flex;gap:7px;align-items:center}.skill{position:relative;height:36px;width:38px;background:linear-gradient(135deg,#1d334e,#101e31);border:1px solid #526a85;border-radius:2px;box-shadow:inset 0 0 0 1px #111f30;color:#e7d7bf}.skill:nth-child(2){color:#caa2ef}.skill:nth-child(3){color:#ebc777}.skill b{font:24px Georgia,serif;line-height:28px}.skill.locked{filter:grayscale(1);opacity:.5}.skill.recharging{color:#728397}.skill.active{border-color:#f4c17d;box-shadow:inset 0 0 9px #a685429c}.skill-cd{position:absolute;right:1px;bottom:0;font:800 9px system-ui;color:white;text-shadow:0 1px 3px black}.combat-stats{display:flex;flex-direction:column;gap:2px;text-align:right;white-space:nowrap}.combat-stats strong{font-weight:900;font-size:11px;color:#f5deb0}.combat-stats small{font-size:10px;color:#9edbeb;font-weight:800}
/* Dense compact upgrade list; never website-style floating cards. */
.pane{min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#0c1522}.pane-header{height:31px;flex-shrink:0;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #25364b}.pane-heading{display:flex;align-items:baseline;gap:8px;min-width:0}.pane-heading h2{font-size:10px;letter-spacing:1px;color:#f0d6aa;margin:0;white-space:nowrap}.pane-heading span{font-size:9px;white-space:nowrap;color:#8596ad;text-overflow:ellipsis;overflow:hidden}.amount-choices{display:flex;gap:2px}.amount-choices button{height:21px;min-width:28px;padding:0 5px;color:#a7b6c8;background:#192838;font-size:9px;font-weight:800;border:1px solid #2e4155;border-radius:0}.amount-choices button.active{color:#181e23;background:#d6af73;border-color:#edc789}.group-tabs{flex-shrink:0;height:30px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #293e58}.group-tabs button{background:#101e2f;color:#8598b2;font-size:9px;letter-spacing:.2px;font-weight:800;border-right:1px solid #24354a}.group-tabs button.active{color:#e8d5ac;background:#1a2c41;border-bottom:2px solid #d4b279}.pane-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#30465b #101a29;scrollbar-width:thin}.upgrade-row{display:flex;align-items:center;gap:9px;padding:5px 9px;height:49px;border-bottom:1px solid #223346}.upgrade-symbol{flex:0 0 34px;height:34px;display:flex;align-items:center;justify-content:center;font:22px Georgia,serif;color:#d2e3ea;background:linear-gradient(130deg,#253c55,#112136);border:1px solid #344f69}.upgrade-meta{flex:1;min-width:0}.upgrade-meta div{font-weight:800;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upgrade-meta em{color:#c2a47d;font-style:normal;font-size:9px;font-weight:700}.upgrade-meta small{display:block;font-size:9px;line-height:13px;color:#92a2b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buy-button{flex:0 0 74px;max-width:74px;height:35px;border-radius:1px;background:#263344;border:1px solid #445367;color:#c7cfda;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px}.buy-button small{font-size:8px;letter-spacing:.1px}.buy-button strong{font-size:11px;font-weight:900;white-space:nowrap}.buy-button.available{background:linear-gradient(180deg,#e7c996,#ba915a);color:#1b2130;border-color:#ffe0aa}.locked-message{min-height:72px;padding:20px;text-align:center;color:#96aec4;font-size:12px;line-height:1.6}.empty-row{padding:10px 12px;color:#a9b6c8;font-size:11px}
/* Thumb-first attack bar. Visible control is slim, its whole 70px strip is a real touch target. */
.attack-zone{display:grid;grid-template-columns:1fr minmax(175px,61%) 1fr;gap:8px;padding:7px 10px;background:linear-gradient(180deg,#111e2b,#09111b);border-top:1px solid #556c80;align-items:stretch;min-width:0}.attack-side{align-self:center;display:flex;flex-direction:column;gap:3px;min-width:0}.attack-side span{font-size:8px;letter-spacing:.1px;color:#7f94aa}.attack-side b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dcecf1}.attack-side.right{text-align:right}.attack-button{position:relative;min-height:58px;border:1px solid #e0c18f;background:linear-gradient(180deg,#d4a969 0%,#916a40 48%,#694a33 100%);display:flex;gap:8px;justify-content:center;align-items:center;color:#fff6d8;box-shadow:inset 0 0 0 2px #392e2b,inset 0 2px 0 #f8d69f82,0 2px 9px #0008;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);touch-action:manipulation}.attack-button.pressed{background:linear-gradient(180deg,#fae1b2,#b77b45 48%,#86604b);transform:scale(.985)}.attack-glyph{font:29px Georgia,serif;color:#fff1cf;text-shadow:0 1px #362016}.attack-label{text-align:left;display:flex;flex-direction:column}.attack-label strong{font-size:14px;letter-spacing:.8px;font-weight:1000}.attack-label small{font-size:8px;letter-spacing:1.5px;color:#fbe3b8}.attack-chev{position:absolute;right:8px;color:#fff0c5a8;font-size:20px}.nav{display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;background:#0b1420;border-top:1px solid #46556a;padding-bottom:env(safe-area-inset-bottom,0px)}.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;position:relative;border-right:1px solid #18283a;color:#8b9cb2;padding:2px}.nav button.selected{color:#f4d6a1;background:linear-gradient(180deg,#1e3348,#111e30)}.nav button.selected:before{content:"";position:absolute;height:2px;left:6px;right:6px;top:0;background:#eac58a}.nav b{font:24px Georgia,serif;line-height:25px}.nav small{font-size:8px;font-weight:800;letter-spacing:.2px}
/* Non-combat pages inherit the same dense menu surfaces. */
.mini-section{font-size:9px;letter-spacing:1px;color:#c1a578;padding:11px 10px 6px;border-bottom:1px solid #1c2f43;font-weight:800}.hero-intro{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #2a405a;background:linear-gradient(120deg,#16283b,#0d1929)}.hero-intro img{width:59px;height:65px;object-fit:cover;object-position:65% 5%;border:1px solid #566781}.hero-intro h3{margin:0;font:800 15px Georgia,serif}.hero-intro small{color:#abb9c9;font-size:9px}.hero-intro .level-meter{margin:7px 0 2px;width:100%;height:5px;background:#304051}.hero-intro .level-meter i{height:100%;display:block;background:#90d5e9}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid #1f3146;font-size:11px;color:#b9c7d6}.stat-row b{color:#ebdaac}.equipment-row{display:flex;align-items:center;gap:9px;min-height:74px;padding:10px;border-bottom:1px solid #314357}.item-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:43px;border:1px solid #56718a;background:linear-gradient(120deg,#203953,#0d1a2d);font:26px Georgia,serif;color:#e2c992}.item-info{min-width:0;flex:1}.item-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.item-info small{display:block;color:#99aabe;font-size:9px;margin-top:4px}.item-info .rarity{display:block;color:#e7b879;font-size:9px;margin-bottom:2px}.compact-button{flex:0 0 auto;padding:6px 8px;font-size:10px;font-weight:800;background:#20344a;border:1px solid #5c758c;border-radius:1px;color:#e7d2a5}.compact-button.available{background:#ba9057;border-color:#e1bd85;color:#131c25}.quest-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #263749;padding:10px 11px;min-height:61px}.quest-details{flex:1;min-width:0}.quest-details strong{font-size:11px;display:block}.quest-details small{font-size:9px;color:#a6b7c9}.quest-meter{background:#2e4155;height:3px;margin-top:5px;max-width:210px}.quest-meter i{display:block;background:#b7cbe2;height:100%}.world-row{display:flex;gap:10px;align-items:center;min-height:80px;padding:7px 11px;border-bottom:1px solid #293c52;overflow:hidden}.world-row img{width:92px;height:64px;object-fit:cover;border:1px solid #44536a}.world-row strong{display:block;font-size:12px}.world-row small{font-size:9px;color:#9db0c3}.world-row.locked{filter:grayscale(.8);opacity:.5}.relic-row{display:flex;align-items:center;gap:8px;min-height:55px;padding:7px 10px;border-bottom:1px solid #26384c}.relic-row .symbol{font:24px Georgia,serif;width:30px;color:#e4ceae;text-align:center}.relic-row .descr{flex:1;min-width:0}.relic-row strong{display:block;font-size:11px}.relic-row small{font-size:9px;color:#98adc1}.prestige-panel{padding:13px 10px;border-bottom:1px solid #566b80;background:linear-gradient(125deg,#18304c,#101b2a)}.prestige-panel h3{font:700 18px Georgia,serif;margin:0 0 3px;color:#f6deb4}.prestige-panel p{font-size:11px;line-height:1.5;color:#abbdcc;margin:0 0 12px}.prestige-panel button{height:36px;padding:0 13px;font-size:10px;font-weight:800;background:#cba66d;color:#141824;border:1px solid #efca91}.prestige-panel button:disabled{background:#293a4c;border-color:#53677c;color:#9daec1}
.toast-host{position:absolute;z-index:60;top:calc(env(safe-area-inset-top) + 78px);left:50%;transform:translateX(-50%);width:min(94%,380px);display:grid;gap:4px;pointer-events:none}.toast{padding:9px 12px;background:#12283ff0;border:1px solid #678ca9;box-shadow:0 7px 20px #01060d99;color:#ebf3f9;font-size:11px;text-align:center;animation:toast-pop .15s ease-out}.toast.bad{background:#3b2028f2;border-color:#a86d75}.toast.reward{border-color:#d9b674;color:#ffe4b1}@keyframes toast-pop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.overlay{position:absolute;z-index:50;inset:0;background:#03070dbb;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{width:100%;max-width:390px;min-height:230px;border:1px solid #a98c60;background:linear-gradient(148deg,#17283c,#09131f);padding:19px 18px 16px;box-shadow:0 12px 38px #01040bbf}.dialog-kicker{font-size:9px;letter-spacing:1.4px;color:#b1bdc8}.dialog h2{font:700 18px Georgia,serif;margin:7px 0 9px;color:#f2ddb3}.dialog-divider{height:1px;background:linear-gradient(90deg,#c6a16c,transparent);margin-bottom:18px}.dialog #dialogSpeaker{font-size:10px;letter-spacing:1px;color:#e8c387}.dialog p{font-size:13px;line-height:1.7;color:#e2e8f0;min-height:75px}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #31465a;padding-top:12px}.dialog-bottom small{color:#a8bccf;font-size:10px}.dialog-bottom button{border:1px solid #ebca95;background:#c99b60;font-size:11px;font-weight:900;color:#1b222b;padding:9px 18px}.settings-panel{width:100%;max-width:390px;background:#111e2b;border:1px solid #647587;padding:13px}.settings-panel header{display:flex;align-items:center;justify-content:space-between;padding:7px 0 12px;border-bottom:1px solid #43586a;font-size:13px;color:#e7d0a6}.settings-panel header button{background:transparent;font-size:18px}.settings-panel p{font-size:11px;color:#b3c5d5;padding:8px 0;margin:0}.settings-line{width:100%;background:transparent;display:flex;justify-content:space-between;padding:14px 5px;border-bottom:1px solid #324456;font-weight:700;font-size:11px;text-align:left;letter-spacing:.5px}.settings-line span{color:#e7c48b}.settings-panel>small{color:#8099ad;display:block;padding:12px 0 3px;font-size:9px}
@media(max-height:680px){.game{grid-template-rows:calc(40px + env(safe-area-inset-top,0px)) 26px minmax(160px,30dvh) 42px minmax(85px,1fr) 64px calc(52px + env(safe-area-inset-bottom,0px))}.tactics{padding:3px 9px}.skill{height:32px;width:35px}.pane-header{height:27px}.group-tabs{height:27px}.attack-zone{padding:5px 8px}.attack-button{min-height:53px}}
@media(max-height:570px){.game{grid-template-rows:39px 24px minmax(130px,27dvh) 39px minmax(75px,1fr) 58px 47px}.attack-button{min-height:47px}}
@media(min-width:480px){.game{grid-template-rows:54px 34px minmax(235px,37dvh) 53px minmax(160px,1fr) 82px 65px}.attack-zone{grid-template-columns:1fr minmax(205px,47%) 1fr}.fighter.hero-sprite{width:42%;left:0}.fighter.mob-sprite{width:39%}.pane-scroll{font-size:12px}}
@media(prefers-reduced-motion:reduce){.fighter,.arena.hit .mob-sprite,.arena.slash .hero-sprite,.arena.slash .combat-trail{animation:none}.hit-number{animation:none;display:none}}

.mob-sprite.big-boss{width:48%;height:75%;bottom:8%;filter:drop-shadow(0 3px 13px #ad758a70)}
.auto-projectile{position:absolute;z-index:8;left:38%;top:65%;width:22px;height:3px;background:linear-gradient(90deg,transparent,#a1e7ff,#fff);box-shadow:0 0 10px #8edfff;pointer-events:none;transform-origin:center;animation:auto-bolt 540ms ease-out forwards}
@keyframes auto-bolt{0%{opacity:0;transform:translate(0,0) rotate(-15deg) scale(.3)}15%{opacity:1}100%{opacity:0;transform:translate(105px,-54px) rotate(-15deg) scale(1.1)}}
.arena.overdrive .hero-sprite{filter:drop-shadow(0 0 9px #7bbde0b0) drop-shadow(2px 7px 4px #060a13)}
