*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c1016;color:#eaf0f6;font:14px 'Microsoft YaHei',system-ui,sans-serif}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit;cursor:pointer;background:#18202b;border:1px solid #303d4c;padding:8px 13px}button:hover,select:hover{border-color:#b9fa62}a{color:inherit;text-decoration:none}header{height:82px;border-bottom:1px solid #28303a;display:flex;align-items:center;gap:60px;padding:0 5%}.brand{font-size:22px;font-weight:900;display:flex;align-items:center;gap:12px}.logo{background:#c5ff6b;color:#111723;padding:7px;font-weight:1000;box-shadow:3px 3px 0 #59742c}.brand small{font-size:10px;color:#778493;letter-spacing:2px}nav{display:flex;gap:26px;align-items:center;color:#a9b4c2}nav button{border:0;background:none}.version{margin-left:auto;font:11px monospace;color:#8b98a8}i{display:inline-block;width:6px;height:6px;background:#c5ff6b;margin-right:8px;box-shadow:0 0 10px #9cfa80}main{max-width:1320px;margin:auto;padding:40px 50px 0}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.eyebrow{font:10px monospace;letter-spacing:3px;color:#c5ff6b}h1{font-size:37px;line-height:1.35;margin:13px 0}h1 em{font-style:normal;color:#c5ff6b;margin-left:12px}.intro p{color:#8e9cac;margin:0}.intro-right{display:grid;gap:9px;text-align:right;color:#718093;font-size:11px}.intro-right b{font-size:17px;color:#cbd4df}.machine{border:1px solid #3b4859;background:#121922;box-shadow:0 14px 60px #0005}.machine-top{height:52px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font:12px monospace;color:#a5b4c8}.machine-top>div{display:flex;gap:8px}.machine-top button,.machine-top select{font-size:11px;padding:6px 9px}.screen{position:relative;background:#12162c}canvas{width:100%;display:block;image-rendering:pixelated;aspect-ratio:2/1}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(90deg,#0c122680,#15183088);text-align:center}#overlay h2{font-size:70px;letter-spacing:4px;margin:16px 0 0;text-shadow:5px 5px #37315b;font-weight:1000}#overlay h2 span{color:#c5ff6b}#overlay p{letter-spacing:6px;color:#c0c8d8}#overlay button{margin:20px 0;color:#111a10;background:#c5ff6b;border:0;padding:17px 34px;font-size:18px;font-weight:900;box-shadow:4px 4px 0 #526b37}#overlay button span{font:10px monospace;margin-left:30px}#overlay small{color:#9aaac0}.controls{display:flex;justify-content:space-between;padding:15px 18px;color:#94a2b4;font-size:11px;border-top:1px solid #344152}kbd{display:inline-block;background:#202b38;border:1px solid #425063;border-bottom:3px solid #425063;min-width:22px;text-align:center;padding:2px;margin:0 3px;color:#d7e2ee}.section-title{display:flex;align-items:center;justify-content:space-between;margin:32px 0 18px}.section-title h2{font-size:19px}.section-title h2 span{font:10px monospace;color:#68788b;letter-spacing:2px;margin-left:15px}.section-title button{font-size:11px}.active{color:#c5ff6b!important;border-color:#c5ff6b!important}#cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.card{position:relative;text-align:left;padding:0;overflow:hidden;background:#141c27;border:1px solid #303d4c}.card canvas{aspect-ratio:1.7;background:radial-gradient(ellipse at bottom,var(--tint),#17202b 80%)}.card .card-text{padding:11px 13px;border-top:1px solid #303d4c}.card b{display:block;font-size:16px}.card small{display:block;color:#8d9daf;font-size:10px;margin-top:4px}.badge{position:absolute;top:8px;left:8px;background:#c5ff6b;color:#111;padding:3px 6px;font:bold 10px monospace}.badge.p2{left:auto;right:8px;background:#ff8d92}.fighter-info{margin-top:15px;border:1px solid #303d4c;padding:20px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;background:#121922}.fighter-info h3{margin:6px 0;font-size:20px}.fighter-info p{font-size:12px;color:#8f9eb1;margin:7px 0}.fighter-info span{font:10px monospace;color:#c5ff6b}.fighter-info blockquote{color:#b8c6d8;font-size:13px;align-self:center;margin:0;border-left:2px solid #c5ff6b;padding-left:20px}#fighter-skills{display:grid;align-content:center;gap:8px;font-size:12px;color:#a9b7c8}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#617083;font-size:10px;margin:32px 0 22px}footer button{font-size:11px}dialog{max-width:650px;background:#172130;border:1px solid #7e9a68;color:#dfeaf4;padding:28px;line-height:1.9}dialog::backdrop{background:#000b}dialog #close{float:right}.touch{display:none}button:focus-visible,a:focus-visible{outline:2px solid #c5ff6b;outline-offset:3px}@media(max-width:850px){header{gap:18px;padding:0 18px;height:66px}.brand small,.version,nav a{display:none}nav{margin-left:auto}main{padding:25px 16px 0}h1{font-size:25px}h1 em{display:block;margin:0}.intro-right{display:none}.intro p{font-size:12px}#cards{grid-template-columns:repeat(3,1fr)}.fighter-info{grid-template-columns:1fr}.section-title h2 span{display:none}.controls{flex-wrap:wrap;gap:8px}.touch{display:flex;justify-content:space-around;gap:4px;padding:10px}.touch button{touch-action:none;flex:1;padding:12px 0}.machine-top{padding:0 8px}.machine-top>span{display:none}.machine-top>div{width:100%;justify-content:space-between}#overlay h2{font-size:38px}#overlay .eyebrow,#overlay p{display:none}#overlay button{font-size:14px;margin:8px}#overlay small{font-size:9px}footer{flex-wrap:wrap}.screen{overflow:hidden}}

#cards{grid-template-columns:repeat(9,1fr);gap:9px}.card canvas{aspect-ratio:1;background:radial-gradient(ellipse at bottom,var(--tint),#171a2c 85%)}.card .card-text{padding:10px 8px}.card b{font-size:14px}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #a48aff22}.intro .eyebrow{color:#c5a1ff}@media(max-width:1000px){#cards{grid-template-columns:repeat(3,1fr)}}
.card canvas{aspect-ratio:1.21}#game{image-rendering:auto}.machine{box-shadow:0 12px 80px #8060ff14}.brand .logo{background:#c5a1ff}.intro h1 em{color:#d4baff}
/* v3 illustrated roster */
body{background:#0e1726}header{background:#101a2b}main{max-width:1400px}.machine{border-radius:14px;overflow:hidden;border-color:#384d68}.intro h1{font-size:36px}#cards{grid-template-columns:repeat(3,1fr);gap:18px}.card{border-radius:14px;background:#141f33;transition:transform .2s,border-color .2s}.card canvas{aspect-ratio:1.2;image-rendering:auto;background:radial-gradient(ellipse at 50% 85%,var(--tint),#1b2c40 75%)}.card .card-text{padding:20px;min-height:174px}.card b{font-size:24px}.card small{text-transform:uppercase;color:#8cb8dc;font-size:12px;letter-spacing:1px;margin-top:7px}.card p{font-size:12px;color:#9daec5;min-height:32px;line-height:1.7}.skill-tags{display:flex;gap:10px;margin-top:18px}.skill-tags span{font-size:11px;padding:4px 9px;background:#25334c;border:1px solid #354b69;border-radius:4px;color:#b5d3ec}.fighter-id{position:absolute;top:17px;left:17px;font:11px monospace;letter-spacing:2px;color:#8aaac6}.badge{left:auto;right:12px;top:12px;border-radius:4px}.badge.p2{top:36px}.roster-note{color:#8facc7;font-size:12px}.card.active{border-color:#71d9ff!important;box-shadow:0 0 0 1px #71d9ff33}.section-title{margin-top:38px}.section-title h2{font-size:26px}.fighter-info{border-radius:12px;background:#141f33}.card:hover{border-color:#74c3ec;box-shadow:0 10px 40px #0004}@media(max-width:850px){#cards{grid-template-columns:repeat(2,1fr);gap:10px}.card .card-text{padding:12px}.card b{font-size:18px}.card p{display:none}.skill-tags{flex-wrap:wrap;gap:5px}.intro h1{font-size:26px}}@media(max-width:460px){.skill-tags span{font-size:9px;padding:3px}.card small{font-size:10px}.card .card-text{min-height:130px}}

/* Touch layouts, safe-area support and optional landscape arena. */
html{overscroll-behavior:none}.touch button{user-select:none;-webkit-user-select:none;min-height:48px;touch-action:none;font-weight:bold;border-radius:9px}.touch button:active{background:#507c97;color:white;transform:scale(.95)}.controls{gap:10px;flex-wrap:wrap}.advanced-controls{white-space:nowrap}.machine-top{height:auto;min-height:52px}.machine-top>div{flex-wrap:wrap}.roster-note:after{content:' · 防御蓄力后按技能，或残血满能量必杀，探索隐藏招式。';color:#c7afff}
@media(max-width:850px),(pointer:coarse){.touch{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#142035}.touch button:nth-child(n+6){border-color:#8664a5}.controls{font-size:10px}.machine-top>div{gap:5px}.machine-top select{max-width:140px}.intro{margin-bottom:20px}.intro h1{font-size:24px}.intro p{font-size:11px;line-height:1.7}header{height:60px}.brand{font-size:18px}.brand small{display:none}main{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}#overlay h2{font-size:34px}#overlay small{font-size:9px;max-width:90%}.card canvas{min-height:130px}.fighter-info{gap:12px;padding:16px}.section-title{gap:10px}.section-title h2{font-size:19px}}
body.immersive{overflow:hidden}body.immersive header,body.immersive .intro,body.immersive #roster,body.immersive footer{display:none}body.immersive main{padding:0}body.immersive .machine{position:fixed;inset:0;border-radius:0;display:flex;flex-direction:column;z-index:50}body.immersive .screen{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}body.immersive #game{max-height:100%;width:auto;max-width:100%;object-fit:contain}body.immersive .touch{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}body.immersive .controls{display:none}body.immersive .machine-top{min-height:38px;padding:4px 8px}body.immersive .machine-top>span{display:none}body.immersive .machine-top>div{width:100%;justify-content:space-between}body.immersive .touch button{min-height:44px}@media(orientation:portrait){body.immersive .touch{grid-template-columns:repeat(5,1fr)}body.immersive .screen:after{content:'建议旋转手机横屏，视野更宽';position:absolute;bottom:10px;font-size:11px;color:#a9c7e1;pointer-events:none}}

#fighter-skills{line-height:1.75;font-size:11px;gap:14px}#fighter-skills b{color:#dbe9ff}.fighter-info{grid-template-columns:1fr 2fr 1fr}.roster-note:after{content:" · 练习模式满能量，点练习补能可反复体验技能。"}@media(max-width:850px){.fighter-info{grid-template-columns:1fr}.machine-top button{font-size:10px;padding:6px}}

.stage-note{margin:0;padding:10px 18px;background:#0e1828;color:#9db4c9;border-top:1px solid #27384e;font-size:12px;line-height:1.7}.immersive .stage-note{display:none}.machine-top #stage{max-width:176px}@media(max-width:620px){.machine-top #stage{max-width:145px}.stage-note{font-size:11px;padding:8px 12px}}

footer .site-updates{color:#b8a2da;white-space:nowrap}
