button,input{font-family:inherit}svg{display:inline-block;vertical-align:middle;flex-shrink:0}button{line-height:1.4}
:root{font-family:Arial,"Noto Sans JP",sans-serif;color:#edf2ff;background:#0a1020;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .18s,transform .18s;border:0}button:disabled{cursor:not-allowed;opacity:.35}button:not(:disabled):hover{filter:brightness(1.14)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bcff4b;outline-offset:4px}button:not(:disabled):active{transform:translateY(2px)}main{max-width:1200px;margin:auto;padding:0 44px;min-height:100vh;background:radial-gradient(ellipse at 12% 44%,#1c345133,transparent 60%)}.header{height:94px;display:flex;align-items:center;border-bottom:1px solid #273045;gap:24px}.brand{color:#edf2ff;text-decoration:none;display:flex;gap:10px;align-items:center;font-size:22px;font-weight:900;letter-spacing:-1px}.brand>svg,.brand-accent{color:#bcff4b}.edition{font-size:12px;letter-spacing:2px;color:#79889f;margin-left:auto}.help,.text-button{display:flex;align-items:center;gap:7px;color:#b8c5dc;background:transparent;font-size:14px;padding:10px}.help{border:1px solid #354159;border-radius:8px;margin-left:12px}.lobby{display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:center;min-height:650px;padding:64px 0 80px}.eyebrow{color:#bcff4b;font-size:12px;font-weight:700;letter-spacing:2.5px;display:flex;gap:10px;align-items:center}.eyebrow>span{width:7px;height:7px;background:#bcff4b;border-radius:50%}h1{font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1.35;letter-spacing:-3px;margin:22px 0}h1 em{font-style:normal;color:#bcff4b}.intro>p{font-size:16px;color:#a3b0c7;line-height:1.9}.action-preview{display:flex;gap:13px;margin:34px 0}.action-preview>div{width:76px;height:85px;border:1px solid #354159;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#121c2d}.action-preview span{color:#c3cede;font-size:13px}.charge{--accent:#bcff4b}.attack{--accent:#60b5ff}.guard{--accent:#b2a2ff}.burst{--accent:#ffad64}.action-preview svg{color:var(--accent)}.small{font-size:13px!important;color:#8e9bb1!important;line-height:1.7!important}.setup{border:1px solid #334158;border-radius:20px;background:#131e30;padding:30px;box-shadow:0 24px 80px #0003}.setup h2{font-size:25px;margin:10px 0 26px;font-weight:700}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#0b1424;border-radius:10px;padding:5px;gap:4px;margin-bottom:26px}.tabs button{background:transparent;color:#8d9bb4;padding:13px 5px;border-radius:7px;display:flex;justify-content:center;gap:8px;font-size:14px;font-weight:700}.tabs svg{width:18px;height:18px}.tabs .active{background:#2a394f;color:#fff}.field-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:22px 0 12px;color:#cbd5e8}.field-label span{font-size:11px;letter-spacing:2px;color:#78869e}.segments,.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.segments button,.levels button{color:#98a7bf;border:1px solid #35425a;border-radius:9px;background:#162236}.segments button{padding:13px;display:flex;justify-content:center;gap:8px;align-items:center}.levels button{padding:13px 3px;display:flex;flex-direction:column;gap:5px}.levels strong{font-size:16px}.levels span{font-size:12px}.segments .selected,.levels .selected{border-color:#bcff4b;color:#bcff4b;background:#bcff4b0a}.primary{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;background:#bcff4b;color:#142007;padding:17px;font-weight:800;width:100%;margin-top:28px}.secondary{background:#25344e;border:1px solid #53627b;color:#edf2ff;border-radius:9px;padding:16px}.room-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.room-buttons .primary{margin:0}input{width:100%;padding:15px;background:#0b1424;border:1px solid #42516b;border-radius:9px;color:white;font-size:18px;letter-spacing:2px}.error{color:#ffb5a7;background:#ff625011;padding:12px;border:1px solid #b95e4a;border-radius:8px;font-size:14px;line-height:1.6}footer{border-top:1px solid #273045;display:flex;justify-content:space-between;padding:25px 0;color:#71809a;font-size:12px;letter-spacing:1px}.battle{max-width:800px;margin:30px auto 50px}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8c9bb3;font-size:12px;letter-spacing:1px}.round-label{text-align:center;color:#bcff4b;letter-spacing:4px;font-size:14px;margin:24px 0}.fighters{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px}.fighter{background:#131e30;border:1px solid #344157;border-radius:16px;padding:24px}.fighter.player{border-top:3px solid #bcff4b}.fighter.enemy{border-top:3px solid #60b5ff}.fighter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:#a6b5cd}.fighter-head>span:first-child{color:#edf2ff;font-weight:800;letter-spacing:2px}.hearts{display:flex;gap:6px;margin:25px 0;color:#35435c}.hearts .full{color:#ff7e97;fill:#ff7e97}.energy{display:flex;align-items:center;gap:10px;color:#bcff4b}.energy strong{font-size:46px;line-height:1;font-weight:800}.energy span{font-size:11px;letter-spacing:2px;color:#8e9db4}.fighter-status{border-top:1px solid #2a3850;margin-top:20px;padding-top:14px;color:#a6b5cd;font-size:14px}.vs{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:18px;color:#8c9bb3;font-style:italic;background:#0a1020;padding:6px}.turn-status{text-align:center;margin:26px 0 18px}.turn-status h2{font-size:24px;font-weight:800;margin:0 0 8px}.turn-status p{font-size:14px;color:#9baac2;margin:0}.timer{height:3px;background:#26344b;margin-bottom:22px}.timer span{display:block;height:100%;background:#bcff4b;transition:width .2s linear}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action{text-align:left;border:1px solid #3b4961;background:#18243a;border-radius:12px;padding:18px 14px;color:#f0f4ff}.action:not(:disabled):hover{border-color:var(--accent);background:#23334e}.action-top{display:flex;justify-content:space-between;color:var(--accent);margin-bottom:18px}.action-top>svg{width:28px;height:28px}.action-top span{display:flex;align-items:center;gap:3px;font-size:13px}.action strong{display:block;font-size:19px;margin-bottom:7px}.action small{display:block;font-size:12px;color:#9eafc8}.last{display:flex;justify-content:center;align-items:center;gap:15px;padding:18px 0;color:#98a8c0;font-size:13px}.last>span{font-size:11px;letter-spacing:1px}.last b{margin:0 10px;color:#5c6f8d}.replay{max-width:330px;margin:20px auto}.rules{background:#131e30;border:1px solid #344157;border-radius:16px;padding:24px;margin:0 auto 40px;max-width:850px}.rules-head{display:flex;justify-content:space-between;align-items:center}.rules h2{font-size:22px;font-weight:700}.rules p{line-height:1.9;color:#b6c4da;font-size:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px;white-space:nowrap}td,th{padding:13px 10px;text-align:center;border-bottom:1px solid #354159}th{color:#bcff4b}td{color:#b6c4da}@media(max-width:850px){main{padding:0 22px}.lobby{gap:30px;grid-template-columns:1fr 380px}.setup{padding:23px}.edition{display:none}.help{margin-left:auto}h1{font-size:44px}}@media(max-width:650px){.header{height:76px}.brand{font-size:19px}.lobby{grid-template-columns:1fr;padding:34px 0;gap:24px}.intro h1{font-size:43px;margin:15px 0}.intro>p{font-size:14px}.action-preview{margin:22px 0 12px}.action-preview>div{width:64px;height:68px}.intro>.small{display:none}.setup{padding:24px}.fighters{gap:20px}.fighter{padding:16px 12px}.fighter-head{font-size:12px;flex-wrap:wrap}.hearts{gap:4px;margin:22px 0}.hearts svg{width:19px}.energy{gap:5px}.energy strong{font-size:36px}.energy span{font-size:9px;letter-spacing:1px}.vs{font-size:13px;padding:3px}.actions{grid-template-columns:repeat(2,1fr);gap:10px}.action{padding:15px}.action-top{margin-bottom:10px}.turn-status h2{font-size:21px}.battle-top{letter-spacing:0}.last{gap:8px;flex-wrap:wrap}.last p{margin:0}.battle{margin-top:16px}footer{font-size:10px;letter-spacing:0}.rules{padding:18px}table{font-size:12px}td,th{padding:10px 6px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
