:root{--paper:#f6f1e7;--paper-2:#ede5d5;--card:#fbf8f1;--ink:#1e1a16;--ink-2:#4a423a;--muted:#6e6458;--line:color-mix(in srgb, var(--ink) 14%, transparent);--line-strong:color-mix(in srgb, var(--ink) 32%, transparent);--clay:#c9573a;--clay-ink:#ae4529;--clay-fill:#ae4529;--on-clay:#fff;--tone:color-mix(in srgb, var(--ink) 16%, transparent);--panel-shadow:4px 4px 0 var(--ink);--ctl-shadow:3px 3px 0 var(--ink);--ctl-shadow-accent:3px 3px 0 var(--clay);--chip-shadow:2px 2px 0 var(--ink);--hero-shadow:6px 6px 0 var(--ink);--accent-shadow:4px 4px 0 var(--clay);--print-ink:#1e1a16;--print-paper:#fdfbf6;--backdrop:#100e0b99;--r:3px;--hand:"LXGW WenKai Screen", "Kaiti SC", "STKaiti", "KaiTi", serif;--sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--num:"Inter Variable", "LXGW WenKai Screen", "KaiTi", sans-serif;--gap:8px;--ctl:44px;--u:1px}:root[data-theme=dark]{--paper:#15130f;--paper-2:#1e1b16;--card:#1b1814;--ink:#efe7d8;--ink-2:#cfc5b4;--muted:#978c7c;--clay:#e2774f;--clay-ink:#ee8d67;--clay-fill:#e2774f;--on-clay:#1e1a16;--tone:color-mix(in srgb, var(--paper) 12%, #fff 12%);--panel-shadow:4px 4px 0 #000, 0 0 0 1px color-mix(in srgb, var(--ink) 20%, transparent);--ctl-shadow:3px 3px 0 #000;--chip-shadow:2px 2px 0 #000;--hero-shadow:6px 6px 0 #000}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper) radial-gradient(var(--tone) 1px, transparent 1.4px) 0 0 / 8px 8px;color:var(--ink);font:400 15px/1.6 var(--sans);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;overflow:hidden}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--hand);font-weight:400;line-height:1.2}button{font:inherit;color:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}#app,.screen{position:fixed;inset:0}.screen{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.btn{min-height:var(--ctl);font:400 17px/1 var(--hand);background:var(--card);color:var(--ink);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--ctl-shadow);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 20px;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn.primary{background:var(--ink);color:var(--paper);box-shadow:var(--ctl-shadow-accent)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.tile:focus-visible,.ico:focus-visible,.act:focus-visible{outline:2px solid var(--clay);outline-offset:2px}.btn-col{gap:12px;display:grid}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.back{font:400 15px/1 var(--hand);color:var(--muted);text-underline-offset:3px;text-decoration:underline}.title-panel{aspect-ratio:3/2;border:3px solid var(--print-ink);width:min(100%,150dvh - 60px,1240px);box-shadow:var(--hero-shadow);background:var(--print-paper);position:relative;overflow:hidden}.title-key{object-fit:cover;width:100%;height:100%}.title-card{background:var(--card);border:2px solid var(--ink);width:min(320px,34%);min-width:232px;box-shadow:var(--panel-shadow);scrollbar-width:thin;gap:clamp(8px,1.2vw,14px);max-height:90%;padding:clamp(12px,2vw,22px);display:grid;position:absolute;top:5%;left:3.2%;overflow:auto}.title-card h1{font-size:clamp(30px,4.4vw,52px)}.kicker{font:400 13px/1.3 var(--hand);color:var(--clay-ink)}.lede{color:var(--ink-2);font-size:14px;line-height:1.6}.sheet{background:var(--card);border:3px solid var(--ink);width:min(100%,1120px);height:min(100%,720px);box-shadow:var(--hero-shadow);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.sheet-head{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding:10px 16px;display:flex}.sheet-head h2{margin-right:auto;font-size:clamp(20px,3vw,28px)}.sheet-body{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-height:0;padding:16px;overflow:auto}.deploy{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;height:100%;display:grid}.heroes{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:10px;display:grid}.tile{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);cursor:pointer;box-shadow:var(--chip-shadow);justify-items:center;gap:4px;min-width:0;padding:6px;display:grid}.tile img{aspect-ratio:1;object-fit:cover;background:var(--paper-2);border:1px solid var(--line-strong);width:100%}.tile b{font:400 15px/1.2 var(--hand)}.tile small{color:var(--muted);font-size:12px;line-height:1.2}.tile[aria-pressed=true]{box-shadow:var(--accent-shadow);border-color:var(--clay)}.opts{gap:10px;margin-top:14px;display:grid}.seg{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg .btn{flex-direction:column;gap:3px;min-height:56px;padding:6px}.seg .btn small{font:400 12px/1.2 var(--sans);color:inherit;opacity:.8}.seg .btn[aria-pressed=true]{background:var(--clay-fill);color:var(--on-clay)}.stars{gap:2px;display:inline-flex}.stars img{width:16px;height:16px}.stars img.off{filter:grayscale();opacity:.28}.detail{border:2px solid var(--ink);background:var(--paper-2);scrollbar-width:thin;grid-template-columns:minmax(0,1fr) 34%;align-content:start;gap:10px;min-height:0;padding:14px;display:grid;position:relative;overflow:auto}.detail .stand{align-self:start;width:100%}.detail h3{font-size:26px}.detail .sub{color:var(--clay-ink);font:400 14px/1.3 var(--hand)}.detail dl{gap:8px;margin:10px 0 0;display:grid}.detail dt{font:400 15px/1.2 var(--hand)}.detail dd{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.quote{font:400 15px/1.4 var(--hand);color:var(--ink-2);margin-top:10px}.perk-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.perk{border:2px solid var(--ink);background:var(--card);box-shadow:var(--chip-shadow);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.perk img{width:52px;height:52px}.perk b{font:400 16px/1.2 var(--hand);display:block}.perk small{color:var(--ink-2);font-size:13px;line-height:1.4}.perk.on{background:var(--paper-2)}.tabs{gap:8px;display:flex}.tabs .btn{min-height:36px;box-shadow:var(--chip-shadow);padding:0 14px;font-size:15px}.tabs .btn[aria-selected=true]{background:var(--clay-fill);color:var(--on-clay)}.dex{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.dex-card{border:2px solid var(--ink);background:var(--card);grid-template-columns:64px minmax(0,1fr);gap:10px;min-height:92px;padding:8px;display:grid}.dex-card canvas,.dex-card img{background:var(--paper-2);border:1px solid var(--line-strong);object-fit:contain;width:64px;height:64px}.dex-card b{font:400 15px/1.2 var(--hand);display:block}.dex-card small{color:var(--ink-2);font-size:12px;line-height:1.45;display:block}.tag{font:400 12px/1.5 var(--hand);background:var(--ink);color:var(--paper);padding:0 6px;display:inline-block}#s-battle{padding:12px}#stage{aspect-ratio:8/5;border:3px solid var(--print-ink);width:min(100%,160dvh - 38.4px);box-shadow:var(--hero-shadow);touch-action:none;background:#2a3a22;position:relative;overflow:hidden;container-type:inline-size}#cv{cursor:pointer;width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none;--b:clamp(44px, 6cqw, 60px);position:absolute;inset:0}#hud>*{pointer-events:auto}.top-l,.top-r{gap:6px;display:flex;position:absolute;top:8px}.top-l{left:8px}.top-r{right:8px}.chip{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);height:34px;box-shadow:var(--chip-shadow);font:800 italic 16px/1 var(--num);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.chip img{width:20px;height:20px}.chip.w-gold{min-width:76px}.chip.w-wave{min-width:86px}.chip.w-life{min-width:62px}.chip.bump{animation:.25s bump}@keyframes bump{40%{background:var(--clay-fill);color:var(--on-clay)}}.ico{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);width:40px;height:34px;box-shadow:var(--chip-shadow);cursor:pointer;font:800 italic 14px/1 var(--num);place-items:center;padding:0;display:grid}.ico img{width:20px;height:20px}.ico[aria-pressed=false] img{opacity:.35}.call{background:var(--ink);min-width:188px;height:40px;color:var(--paper);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--ctl-shadow-accent);font:400 16px/1 var(--hand);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.call img{width:20px;height:20px}.call:active{box-shadow:none;transform:translate(calc(2px - 50%),2px)}.bossbar{background:var(--card);border:2px solid var(--ink);width:min(44%,420px);height:30px;box-shadow:var(--chip-shadow);align-items:center;display:grid;position:absolute;top:10px;left:50%;transform:translate(-50%)}.bossbar i{background:var(--clay);width:100%;position:absolute;inset:0 auto 0 0}.bossbar span{text-align:center;font:400 15px/1 var(--hand);position:relative}.dock{align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:8px;left:8px}.herocard{grid-template-columns:var(--b) minmax(0, 1fr);width:calc(var(--b) + 108px);height:var(--b);background:var(--card);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--chip-shadow);cursor:pointer;text-align:left;gap:6px;padding:0 6px 0 0;display:grid;overflow:hidden}.herocard[aria-pressed=true]{border-color:var(--clay);box-shadow:2px 2px 0 var(--clay)}.herocard img{width:var(--b);object-fit:cover;border-right:2px solid var(--ink);height:100%}.herocard.dead img{filter:grayscale()}.herocard div{align-content:center;gap:2px;min-width:0;display:grid}.herocard b{font:400 14px/1.1 var(--hand);white-space:nowrap}.meter{border:1px solid var(--ink);background:var(--paper-2);height:6px;overflow:hidden}.meter i{background:#4fa257;height:100%;display:block}.meter.xp{height:4px}.meter.xp i{background:var(--clay)}.act{width:var(--b);height:var(--b);background:var(--card);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--chip-shadow);cursor:pointer;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.act img{object-fit:contain;width:62%;height:62%}.act em{font:400 12px/1.25 var(--hand);text-align:center;background:var(--card);white-space:nowrap;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.act i{background:#1e1a169e;height:0;position:absolute;inset:auto 0 0}.act kbd{font:800 italic 12px/1 var(--num);color:var(--muted);position:absolute;top:1px;left:3px}:root[data-input=touch] .act kbd{display:none}.act.armed{border-color:var(--clay);box-shadow:2px 2px 0 var(--clay)}.act.ready{animation:.4s ready}@keyframes ready{50%{background:var(--clay)}}.banner{background:var(--ink);max-width:76%;color:var(--paper);font:400 clamp(15px, 2.2cqw, 20px)/1.3 var(--hand);box-shadow:var(--accent-shadow);text-align:center;padding:6px 16px;animation:3.4s both slide;position:absolute;top:56px;left:50%;transform:translate(-50%);pointer-events:none!important}.banner.warn,.banner.boss{background:var(--clay-fill);color:var(--on-clay);box-shadow:4px 4px 0 var(--print-ink)}@keyframes slide{0%{opacity:0;transform:translate(-50%,-8px)}8%,90%{opacity:1;transform:translate(-50%)}to{opacity:0}}.tip{background:var(--print-paper);width:min(34%,280px);color:var(--print-ink);border:2px solid var(--print-ink);font:400 15px/1.4 var(--hand);border-radius:14px;padding:8px 12px;position:absolute;bottom:8px;right:8px;pointer-events:none!important}.einfo{background:var(--card);border:2px solid var(--ink);width:248px;box-shadow:var(--chip-shadow);gap:2px;padding:8px 10px;display:grid;position:absolute;bottom:8px;right:8px}.einfo b{font:400 16px/1.2 var(--hand)}.einfo small{color:var(--ink-2);font-size:12px;line-height:1.5}.pop{background:var(--card);border:2px solid var(--ink);width:268px;box-shadow:var(--panel-shadow);z-index:3;gap:6px;padding:8px;display:grid;position:absolute}.pop-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pick{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);cursor:pointer;text-align:left;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:5px;min-width:0;height:56px;padding:3px 5px;display:grid}.pick img{object-fit:contain;width:40px;height:40px}.pick b{font:400 14px/1.15 var(--hand);white-space:nowrap;display:block}.pick small{font:800 italic 13px/1.2 var(--num);color:var(--clay-ink)}.pick.poor{opacity:.55}.pick:hover{border-color:var(--clay)}.pop-head{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;display:grid}.pop-head img{object-fit:contain;width:44px;height:44px}.pop-head b{font:400 17px/1.2 var(--hand);display:block}.pop-head small,.pop-desc{color:var(--ink-2);font-size:12px;line-height:1.4;display:block}.stat{font:700 13px/1 var(--num);font-variant-numeric:tabular-nums;gap:10px;display:flex}.stat span{align-items:center;gap:3px;display:inline-flex}.stat img{width:15px;height:15px}.pop-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pop-row .btn{min-height:38px;box-shadow:var(--chip-shadow);padding:0 6px;font-size:15px}.overlay{background:var(--backdrop);z-index:5;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.dialog{background:var(--card);border:3px solid var(--ink);width:min(420px,92%);max-height:100%;box-shadow:var(--hero-shadow);text-align:center;scrollbar-width:thin;justify-items:center;gap:12px;padding:18px;display:grid;overflow:auto}.dialog h2{font-size:clamp(26px,4cqw,36px)}.dialog .big-stars{gap:8px;display:flex}.dialog .big-stars img{width:48px;height:48px;animation:.35s both pop}.dialog .big-stars img.off{filter:grayscale();opacity:.25;animation:none}@keyframes pop{0%{transform:scale(0)rotate(-30deg)}70%{transform:scale(1.25)}}.dialog .btn-row{justify-content:center}.dialog p{color:var(--ink-2);font-size:14px}.loading{background:var(--paper);z-index:6;font:400 18px/1.4 var(--hand);place-items:center;display:grid;position:absolute;inset:0}#rotate{z-index:20;background:var(--paper);font:400 20px/1.4 var(--hand);place-items:center;display:none;position:fixed;inset:0}@media (orientation:portrait) and (width<=640px){#rotate{display:grid}}@media (height<=520px){.screen{padding:4px}#s-battle{padding:0}#stage{box-shadow:none;border-width:0;width:min(100%,160dvh)}.chip{height:30px;font-size:14px}.ico{width:36px;height:30px}.call{min-width:150px;height:34px;font-size:14px}.title-panel{width:auto;max-width:100%;height:100%}.deploy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.sheet-body{padding:8px}.heroes{gap:6px}.tile small{display:none}.banner{top:44px}.sheet{height:100%}}@media (prefers-reduced-motion:reduce){.banner,.chip.bump,.act.ready,.dialog .big-stars img{animation-duration:10ms}}
