:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"PingFang SC",sans-serif;color:#eadfd4;background:#111827;--gold:#eed2a1;--muted:#a8adbd}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,a,select{-webkit-touch-callout:none}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #f4d2a2;outline-offset:4px}header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,env(safe-area-inset-right)) 0 max(28px,env(safe-area-inset-left));border-bottom:1px solid #dcc5ac20;background:#141c2c;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:#eddfcc;text-decoration:none;letter-spacing:.16em;font-size:11px}.brand b{font-weight:400;color:#a4a7b8}.tools{display:flex;gap:8px;align-items:center}.tools button{height:32px;min-width:36px;background:#ffffff06;border:1px solid #e5d3be22;border-radius:6px;color:#c6c9d4;font-size:13px}.tools button[aria-pressed=true]{background:#e6c795;color:#242b3d;border-color:#f4d8ac}.tools svg{width:21px;height:21px;display:block;margin:auto}#arena{position:relative;height:calc(100dvh - 58px);width:100%;isolation:isolate;overflow:hidden}canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#172034}.grain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#111a2930,transparent 30%,transparent 70%,#111a2930);z-index:2}.panel{position:absolute;inset:0;z-index:10;background:linear-gradient(90deg,#101a2be6 0%,#121b2cba 45%,#10182a99 100%);display:grid;place-items:center}.panel-inner{width:min(1120px,92%);max-height:100%;overflow:auto;touch-action:pan-y}.menu-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;padding:32px 0 52px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;color:#ddbe90;margin:0 0 20px;text-transform:uppercase}h1{white-space:pre-line;font-family:Georgia,"Songti SC",serif;letter-spacing:-.035em;font-size:clamp(40px,5.7vw,78px);line-height:1.06;font-weight:400;margin:20px 0 25px}h2{font-family:Georgia,"Songti SC",serif;font-size:35px;font-weight:400;margin:20px 0}.intro{font-size:14px;line-height:1.9;color:#b7b6c2;max-width:350px}.rule-line{height:1px;width:60px;background:#e6c79566;margin:30px 0 18px}.menu-best{font-size:11px;letter-spacing:.05em;color:#d4bc9f}.selection{align-self:center}#fighters{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.fighter{position:relative;background:linear-gradient(160deg,#283247ad,#1b2338b0);border:1px solid #c5b7b930;color:#e6d9cc;padding:14px 5px 12px;border-radius:4px;overflow:hidden;min-width:0;transition:background .2s,border-color .2s,transform .2s}.fighter[aria-pressed=true]{border-color:#e9c99a;background:linear-gradient(150deg,#6d5a4d55,#263047c9);transform:translateY(-5px);box-shadow:0 6px 24px #0003}.fighter canvas{position:relative;inset:auto;width:100%;height:112px;background:transparent;object-fit:contain}.fighter span{display:block;font-family:Georgia,serif;font-size:20px;margin-top:5px}.fighter small{display:block;font-size:9px;color:#b8b4bd;margin-top:6px;white-space:nowrap}.options{display:flex;gap:16px;margin:24px 0 18px}.options label{flex:1;display:block;font-size:10px;color:#b0aebe}.options span{display:block;margin-bottom:8px}select{width:100%;border:1px solid #c7b8b52b;border-radius:3px;padding:9px 10px;background:#1a2335;color:#d9c9b6;font-size:12px}.primary,.secondary,.quiet{padding:13px 22px;border:0;border-radius:3px;font-size:12px;min-height:43px}.primary{width:100%;background:#edd0a0;color:#202638;font-weight:700;letter-spacing:.06em}.primary:hover{background:#ffe2b1}.secondary{width:100%;background:#d4c4b215;color:#d9c7b1;border:1px solid #d7c5b42a;margin-top:10px}.quiet{display:block;margin:9px auto 0;background:transparent;color:#aaa9ba}.control-hint{font-size:10px;line-height:1.6;color:#d2c0a6;margin:14px 0 5px}.skill-hint{font-size:9px;color:#9c9faf;line-height:1.6}.menu-bottom{position:absolute;bottom:20px;left:4%;right:4%;display:flex;justify-content:space-between;color:#8e94a8;font-size:9px;letter-spacing:.1em}.shade{background:#101828c9;backdrop-filter:blur(9px)}.dialog{width:min(460px,90vw);padding:30px}.dialog p{color:#aeb0bf;line-height:1.7;font-size:13px}.dialog .eyebrow{color:#d2b180;font-size:10px}#hud{position:absolute;top:22px;left:30px;right:30px;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.fighter-hud{width:205px}.identity{display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.1em;color:#f0d5af;margin-bottom:8px}.identity small{font-size:9px}.meter{height:12px;background:#0c1627aa;border:1px solid #c3bbad55;position:relative;overflow:hidden;transform:skewX(-10deg)}.meter span{display:block;height:100%;width:100%;transition:width .12s}.health span{background:linear-gradient(90deg,#a56f66,#db9b81)}.meter b{position:absolute;inset:0;text-align:center;font-size:8px;line-height:11px;font-weight:500;color:#fff2d7}.mana{height:6px;margin-top:5px;border-color:#b1bedc33}.mana span{background:#88a7d5}.guard{height:3px;margin-top:4px;border:0}.guard span{background:#d7c8a0}.stage-hud{text-align:center;text-shadow:0 2px 8px #111c30}.stage-hud small{display:block;font-size:8px;letter-spacing:.25em;color:#d3b991}.stage-hud b{display:block;font-family:Georgia,"Songti SC",serif;font-weight:400;font-size:20px;margin:4px 0}.stage-hud span{font-size:9px;letter-spacing:.15em;color:#bdc2d1}.score-hud{text-align:right;min-width:110px}.score-hud small{display:block;font-size:9px;letter-spacing:.2em;color:#b7b9c8}.score-hud b{font:24px Georgia,serif;color:#e6c79f}.results{display:flex;justify-content:space-between;margin:30px 0}.results b{font:30px Georgia,serif;display:block;color:#edcfa3}.results small{font-size:10px;color:#9da4b6;display:block;margin-top:6px}#play-hint{position:absolute;bottom:18px;left:30px;z-index:3;font-size:10px;color:#b5bccab0;pointer-events:none}#touch{position:absolute;inset:0;z-index:5;pointer-events:none}#stick{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:118px;height:118px;border:1px solid #e6d2b34d;border-radius:50%;background:#17213733;pointer-events:auto;touch-action:none;display:grid;place-items:center}.stick-ring{border:1px solid #e6d2b31c;border-radius:50%;width:76px;height:76px;position:absolute}#knob{width:48px;height:48px;background:radial-gradient(circle at 35% 25%,#d4c4b466,#c9b79a30);border:1px solid #f6e4c77a;border-radius:50%;box-shadow:0 2px 14px #121c35a1;pointer-events:none}#stick i{position:absolute;font-size:20px;color:#e2ceb933;font-style:normal;pointer-events:none}#actions{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));width:180px;height:150px;pointer-events:none}#actions button{position:absolute;border:1px solid #e6d2b366;background:#1c293c6b;color:#e4d4bb;border-radius:50%;width:58px;height:58px;pointer-events:auto;touch-action:none;box-shadow:0 3px 12px #0d192433}#actions button b{display:block;font-size:24px;font-weight:400;line-height:26px}#actions button span{display:block;font-size:9px;margin-top:0}#actions #attack{width:76px;height:76px;right:0;bottom:0;background:#d4ad7555;border-color:#f0d0a288}#jump{right:0;bottom:91px}#guard{right:93px;bottom:38px}#actions button.pressed{background:#efcf9dc9!important;color:#182239;transform:scale(.94)}#rotate{position:absolute;inset:0;z-index:25;background:#141f33f2;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:30px;text-align:center}#rotate h2{font-size:28px}#rotate p{max-width:290px;font-size:13px;color:#aeb4c5;line-height:1.8}.phone-icon{font-size:44px;color:#edcfa3}body.playing .seo-info-toggle{opacity:.85}.game-info-content{touch-action:pan-y!important;user-select:text!important} @media(max-height:600px){header{height:42px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.brand{font-size:9px;gap:8px}.brand img{width:24px;height:24px}.tools button{height:28px;min-width:31px}#arena{height:calc(100dvh - 42px)}.menu-inner{width:92%;gap:35px;padding:20px 0 30px;grid-template-columns:.85fr 1.25fr}.eyebrow{font-size:8px;margin-bottom:11px}h1{font-size:42px;margin:12px 0}.intro{font-size:11px;line-height:1.7;margin:0;max-width:260px}.rule-line{margin:15px 0 10px}.menu-best{font-size:9px}.fighter{padding:4px 3px 8px}.fighter canvas{height:70px}.fighter span{font-size:15px;margin:0}.fighter small{font-size:7px;margin-top:3px}.options{margin:12px 0;gap:12px}.options span{margin-bottom:4px}select{padding:6px 8px;font-size:10px}.primary{min-height:35px;padding:9px 15px;font-size:11px}.control-hint{margin-top:8px;font-size:8px}.skill-hint{font-size:8px;margin:4px 0}.menu-bottom{bottom:8px;font-size:7px}#hud{top:12px;left:18px;right:18px}.fighter-hud{width:160px}.identity{font-size:10px;margin-bottom:5px}.stage-hud b{font-size:15px}.score-hud b{font-size:19px}.score-hud{min-width:90px}#stick{width:96px;height:96px;right:max(18px,env(safe-area-inset-right));bottom:12px}#knob{width:40px;height:40px}#actions{transform:scale(.85);transform-origin:bottom left;bottom:12px}#play-hint{font-size:8px;bottom:12px;left:18px;max-width:40%}.dialog{padding:14px 24px}.dialog h2{font-size:26px;margin:13px 0}.results{margin:15px 0}}@media(max-width:620px) and (orientation:portrait){.menu-inner{grid-template-columns:1fr}.menu-copy{display:none}.menu-bottom{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body.touch-device #play-hint{left:50%;transform:translateX(-50%);text-align:center;max-width:40%}

/* Generous, separated thumb targets; no scale reduction on short screens. */
#stick{width:140px;height:140px;right:max(26px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom))}#knob{width:54px;height:54px}.stick-ring{width:92px;height:92px}
#actions{width:230px;height:190px;left:max(22px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));transform:none}#actions button{width:68px;height:68px;background:#25334b88}#actions #attack{width:86px;height:86px;right:0;bottom:0;background:#b98c5077}#jump{right:4px;bottom:108px}#guard{right:116px;bottom:8px}#ranged{right:112px;bottom:108px;background:#5c649888!important}#actions button span{font-size:10px}#actions button b{font-size:27px}
@media(max-height:600px){#stick{width:124px;height:124px;bottom:max(16px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}#knob{width:48px;height:48px}#actions{width:210px;height:166px;left:max(18px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));transform:none}#actions button{width:64px;height:64px}#actions #attack{width:80px;height:80px}#jump{right:0;bottom:96px}#guard{right:102px;bottom:10px}#ranged{right:88px;bottom:96px}}

@media(max-width:700px){body.touch-device #play-hint{display:none}}

#actions #ranged b{font-size:23px;line-height:23px}#ranged-cost{display:block;font-size:8px;line-height:12px;color:#e6d6bb}#actions button.cooling{opacity:.7;filter:saturate(.5)}
