:root{
  --bg:#0d1015;--panel:#151a22;--panel2:#1b222c;--line:#2a3442;--text:#f3f6f9;
  --muted:#98a5b5;--acid:#c9ff45;--cyan:#63e9ff;--danger:#ff6b75;--amber:#ffc857;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Noto Sans JP",monospace}
body{margin:0;min-height:100vh;background:
 radial-gradient(circle at 10% -10%,rgba(99,233,255,.13),transparent 34rem),
 radial-gradient(circle at 95% 12%,rgba(201,255,69,.09),transparent 30rem),var(--bg)}
button,input,select{font:inherit}button{cursor:pointer}
.site-head,main,footer{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.site-head{padding:32px 0 20px}.back{color:var(--muted);text-decoration:none;font-size:13px}.back:hover{color:var(--acid)}
.brand{padding:38px 0 22px}.brand-kicker,.eyebrow{color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.18em}
h1{font-size:clamp(40px,8vw,92px);line-height:.95;letter-spacing:-.075em;margin:10px 0 14px}
.brand p{margin:0;color:var(--muted);font-size:clamp(15px,2vw,20px)}.brand p strong{color:var(--acid)}
.formula{display:flex;gap:8px;flex-wrap:wrap}.formula span{border:1px solid var(--line);background:#11161d;border-radius:999px;padding:8px 12px;color:#c8d0da;font-size:11px}
main{display:grid;gap:22px;padding-bottom:60px}.panel,.battle-wrap,.rules{border:1px solid var(--line);background:rgba(21,26,34,.93);border-radius:22px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.section-head.compact{align-items:center}
.section-head h2,.rules h2{font-size:clamp(22px,3vw,34px);margin:5px 0 0;letter-spacing:-.045em}.section-head p{max-width:520px;color:var(--muted);font-size:12px;line-height:1.7;margin:0;text-align:right}
.register-form{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr auto;gap:12px;align-items:end}
label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}label small{font-size:9px}
input,select{width:100%;border:1px solid var(--line);background:#0f141a;color:var(--text);border-radius:12px;padding:13px 12px;outline:none;min-height:46px}
input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(99,233,255,.1)}
.preview{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:46px}
.preview div{padding:8px 10px}.preview div+div{border-left:1px solid var(--line)}.preview span{display:block;color:var(--muted);font-size:9px}.preview strong{font-size:15px;color:var(--acid)}
.primary,.battle-button{border:0;border-radius:12px;background:var(--acid);color:#0b0f12;font-weight:900;padding:14px 18px;min-height:46px;box-shadow:0 0 24px rgba(201,255,69,.12)}
.primary:hover,.battle-button:hover{filter:brightness(1.08)}.primary:disabled,.battle-button:disabled{opacity:.32;cursor:not-allowed;box-shadow:none}
.form-message{min-height:20px;margin:10px 0 -4px;color:var(--cyan);font-size:12px}.form-message.error{color:var(--danger)}
.selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:end;margin-bottom:16px}.versus{font-size:26px;font-weight:900;color:var(--danger);padding-bottom:8px}
.arena{position:relative;display:grid;grid-template-columns:1fr 180px 1fr;gap:18px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:24px;background:
 linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),#10151c;background-size:24px 24px;overflow:hidden}
.arena::after{content:"";position:absolute;left:50%;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,var(--line),transparent);z-index:0}
.fighter{position:relative;z-index:1;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}.fighter.hit{animation:hit .18s linear 2}.fighter.winner .battery-shell{filter:drop-shadow(0 0 18px rgba(201,255,69,.5))}
.fighter:last-child{direction:rtl}.fighter:last-child>*{direction:ltr}
@keyframes hit{50%{transform:translateX(7px);filter:brightness(1.5)}}.fighter:last-child.hit{animation-name:hitR}@keyframes hitR{50%{transform:translateX(-7px);filter:brightness(1.5)}}
.battery-shell{height:165px;border:4px solid #81909f;border-radius:17px;position:relative;overflow:visible;background:#090c10;box-shadow:inset 0 0 0 4px #111820}
.battery-tip{position:absolute;top:-13px;left:33%;width:34%;height:10px;background:#81909f;border-radius:5px 5px 0 0}
.battery-fill{position:absolute;inset:auto 6px 6px;bottom:6px;height:60%;background:linear-gradient(0deg,var(--acid),var(--cyan));border-radius:9px;transition:height .25s ease,filter .25s ease}
.battery-bolt{position:absolute;inset:0;display:grid;place-items:center;font-size:43px;filter:drop-shadow(0 2px 0 #000)}
.fighter-info .level{color:var(--cyan);font-size:10px}.fighter-info h3{font-size:22px;margin:4px 0 12px;overflow-wrap:anywhere}
.hp-line{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:11px}.hp-track{height:9px;border-radius:99px;background:#0a0d11;overflow:hidden}.hp-track i{display:block;width:0;height:100%;background:var(--acid);transition:width .3s ease}
.fighter dl{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 0}.fighter dl div{border:1px solid var(--line);border-radius:9px;padding:7px}.fighter dt{font-size:8px;color:var(--muted)}.fighter dd{margin:2px 0 0;font-size:10px;font-weight:800}
.arena-center{z-index:2;display:grid;gap:10px;text-align:center}.round{font-size:11px;color:var(--muted);letter-spacing:.16em}.battle-button{font-size:16px;padding-inline:10px}
.ghost-button,.mini-button{border:1px solid var(--line);background:#11161d;color:var(--muted);border-radius:10px;padding:9px 11px}.ghost-button:hover,.mini-button:hover{color:var(--text);border-color:#596676}
.battle-log-wrap{margin-top:16px}.result-banner{border:1px solid rgba(201,255,69,.35);background:rgba(201,255,69,.08);color:var(--acid);border-radius:13px;padding:14px 16px;margin-bottom:10px;font-weight:900}
.battle-log{margin:0;padding:15px 15px 15px 36px;background:#0e1319;border:1px solid var(--line);border-radius:14px;max-height:210px;overflow:auto;color:#c8d0da;font-size:11px;line-height:1.8}.battle-log li::marker{color:#4d5b6b}.battle-log .crit{color:var(--amber)}.battle-log .ko{color:var(--danger);font-weight:900}
.split{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:11px 8px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:9px}td strong{color:var(--acid)}
.rank-1 td:first-child{color:var(--amber);font-weight:900}.history-list{display:grid;gap:8px}.history-item{border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:11px}.history-item b{color:var(--acid)}.history-item span{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.empty{color:var(--muted);font-size:11px}.rules p{color:#b9c3cf;line-height:1.9;font-size:12px}.rules strong{color:var(--acid)}
footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 44px;color:#627080;font-size:10px}
@media(max-width:900px){.register-form{grid-template-columns:1fr 1fr}.register-form label:first-child{grid-column:1/-1}.preview{grid-column:1/-1}.primary{grid-column:1/-1}.arena{grid-template-columns:1fr}.arena::after{display:none}.arena-center{order:2}.fighter{grid-template-columns:90px 1fr}.fighter:last-child{order:3;direction:ltr}.battery-shell{height:126px}.split{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.section-head p{text-align:left}}
@media(max-width:560px){.site-head,main,footer{width:min(100% - 20px,1180px)}.site-head{padding-top:20px}.brand{padding:28px 0 18px}.panel,.battle-wrap,.rules{padding:16px;border-radius:17px}.register-form{grid-template-columns:1fr}.register-form>*{grid-column:1!important}.selectors{grid-template-columns:1fr}.versus{text-align:center;padding:0;font-size:18px}.fighter{grid-template-columns:78px 1fr;gap:12px}.battery-shell{height:112px}.fighter-info h3{font-size:17px}.fighter dl{grid-template-columns:1fr}.fighter dl div{display:flex;justify-content:space-between}.arena{padding:14px}.arena-center{grid-template-columns:1fr 1fr}.arena-center .round{grid-column:1/-1}.battle-log{max-height:180px}}

.challenge-copy{margin-top:12px!important;color:var(--text)!important;font-size:clamp(16px,2.2vw,24px)!important;font-weight:900;letter-spacing:-.03em}
.status{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:9px;white-space:nowrap}
.status-active{color:var(--acid)}
.status-danger{color:var(--amber);border-color:rgba(255,200,87,.45)}
.status-retired{color:var(--danger);border-color:rgba(255,107,117,.45)}
.retired-row{opacity:.58}
.battle-log .incident{color:var(--danger);font-weight:900}

.update-log-list{display:grid;gap:0}
.update-log-list article{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-top:1px solid var(--line)}
.update-log-list article:first-child{border-top:0;padding-top:0}
.update-log-list time{color:var(--cyan);font-size:10px;letter-spacing:.08em;padding-top:3px}
.update-log-list strong{font-size:13px}
.update-log-list p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.8}
@media(max-width:560px){.update-log-list article{grid-template-columns:1fr;gap:4px}}


.legend-note{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 16px;padding:10px 14px;border:1px solid rgba(255,200,87,.45);background:rgba(255,200,87,.07);border-radius:12px;color:var(--amber);font-size:11px}
.legend-note strong{font-size:13px;letter-spacing:.08em}
.legend-fighter .battery-shell{border-color:var(--amber);box-shadow:inset 0 0 0 4px #111820,0 0 24px rgba(255,200,87,.15)}
.legend-row{background:rgba(255,200,87,.035)}
.status-legend{color:var(--amber);border-color:rgba(255,200,87,.5)}
.history-legend{border-color:rgba(255,200,87,.35);background:rgba(255,200,87,.04)}
.battle-log .legend-log{color:var(--amber);font-weight:900}

.retirement-alert{margin:0 0 14px;border:2px solid var(--danger);border-radius:18px;padding:22px 18px;text-align:center;background:rgba(255,20,35,.12);box-shadow:0 0 40px rgba(255,45,60,.16);animation:retirePulse .48s ease-in-out 3}
.retirement-alert strong{display:block;color:#ff3b48;font-size:clamp(30px,6vw,64px);line-height:.95;letter-spacing:-.045em;text-shadow:0 0 18px rgba(255,59,72,.28)}
.retirement-alert span{display:block;margin-top:12px;color:#ffd8dc;font-size:13px;font-weight:900}
.retirement-explosion{background:rgba(255,0,20,.17);border-width:3px}
.retirement-fire{background:rgba(255,55,20,.13)}
@keyframes retirePulse{50%{transform:scale(1.015);filter:brightness(1.25)}}

.decision-panel{border-color:rgba(255,107,117,.35)}
.decision-list{display:grid;gap:14px}
.decision-card{display:grid;grid-template-columns:auto 1fr minmax(300px,.9fr);gap:18px;align-items:center;border:1px solid rgba(255,107,117,.32);background:rgba(255,107,117,.045);border-radius:16px;padding:16px}
.decision-incident{color:var(--danger);font-weight:1000;font-size:15px;white-space:nowrap}
.decision-main span{font-size:9px;color:var(--muted);letter-spacing:.12em}.decision-main h3{font-size:22px;margin:3px 0 5px}.decision-main p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.restart-button,.legend-button{border-radius:12px;padding:12px;border:1px solid var(--line);background:#10161d;color:var(--text);text-align:left;min-height:74px}
.restart-button{border-color:rgba(99,233,255,.35)}.legend-button{border-color:rgba(255,200,87,.45)}
.restart-button strong,.legend-button strong{display:block;font-size:12px}.restart-button span,.legend-button span{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:5px}
.restart-button:hover{background:rgba(99,233,255,.07)}.legend-button:hover{background:rgba(255,200,87,.07)}

.profile-picker{min-width:min(360px,100%)}
.profile-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.profile-state{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:9px;letter-spacing:.09em}
.profile-state-active{color:var(--acid)}.profile-state-retired{color:var(--danger)}.profile-state-legend{color:var(--amber);border-color:rgba(255,200,87,.5)}
.profile-hero h3{font-size:clamp(28px,4vw,48px);margin:7px 0 5px;letter-spacing:-.05em}.profile-hero p{margin:0;color:var(--muted);font-size:11px}
.trophy-meter{text-align:right}.trophy-meter strong{display:block;font-size:26px;color:var(--amber)}.trophy-meter span{font-size:9px;color:var(--muted)}
.record-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.record-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#11161d}.record-card span{display:block;color:var(--muted);font-size:9px}.record-card strong{display:block;margin-top:4px;font-size:15px}
.profile-subhead{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:28px 0 12px}.profile-subhead h3{margin:4px 0 0;font-size:20px}.muted{color:var(--muted);font-size:9px}
.career-list{display:grid;gap:8px}.career-item{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#11161d}.career-item strong{font-size:11px}.career-item span{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.trophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.trophy{display:grid;grid-template-columns:50px 1fr;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#11161d;min-height:106px}
.trophy-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;font-size:24px;background:#0c1117}
.trophy strong{display:block;font-size:11px;margin:1px 0 3px}.trophy p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.trophy small{display:block;margin-top:5px;color:#6d7b8c;font-size:8px}
.trophy-rarity{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted)}
.trophy.earned{border-color:rgba(201,255,69,.25)}.trophy.locked{opacity:.38;filter:saturate(.2)}
.rarity-legend.earned{border-color:rgba(255,200,87,.55);background:rgba(255,200,87,.055)}.rarity-legend .trophy-rarity{color:var(--amber)}
.rarity-epic.earned{border-color:rgba(99,233,255,.4)}.rarity-epic .trophy-rarity{color:var(--cyan)}
.rarity-rare .trophy-rarity{color:#b8c6ff}

@media(max-width:1000px){
  .decision-card{grid-template-columns:1fr}.decision-actions{grid-template-columns:1fr 1fr}
  .record-grid{grid-template-columns:repeat(3,1fr)}.trophy-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .decision-actions{grid-template-columns:1fr}.record-grid{grid-template-columns:repeat(2,1fr)}
  .trophy-grid{grid-template-columns:1fr}.profile-hero{align-items:start;flex-direction:column}.trophy-meter{text-align:left}
  .retirement-alert{padding:18px 10px}.retirement-alert span{font-size:10px}
}


.title-chain{display:block;line-height:1.75;letter-spacing:.015em}
.title-word{--h:0;display:inline;color:hsl(var(--h) 92% 72%);font-weight:1000;white-space:normal;text-shadow:0 0 10px hsl(var(--h) 92% 55% / .28);transition:filter .15s ease}
.title-word:hover{filter:brightness(1.28)}
.title-more{display:inline;color:var(--muted);font-size:.82em;font-weight:800;white-space:nowrap}
.title-battery-suffix{display:inline;color:#f7fbff;font-weight:1000;white-space:nowrap;text-shadow:0 0 12px rgba(255,255,255,.2)}
.fighter-titles{margin:-5px 0 9px;font-size:8px;line-height:1.7}
.fighter-titles .title-word{font-size:8px}
.fighter-titles .title-battery-suffix{font-size:8px}
.mini-title-chain{display:block;margin-top:4px;font-size:7px;line-height:1.6;white-space:normal}
.mini-title-chain .title-word{font-size:7px}
.mini-title-chain .title-battery-suffix{font-size:7px}
.profile-title-chain{padding:12px 1px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:clamp(15px,2.2vw,22px);line-height:1.9}
.profile-title-chain .title-word{font-size:inherit}
.profile-title-chain .title-battery-suffix{font-size:inherit}
.title-archive-wrap{margin-top:12px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#11161d}
.title-archive-wrap>.eyebrow{display:block;margin-bottom:10px}
.title-archive{display:block;line-height:1.95}
.title-archive-word{--h:0;display:inline;color:hsl(var(--h) 82% 72%);font-size:10px;font-weight:850;white-space:normal;text-shadow:0 0 8px hsl(var(--h) 80% 55% / .16)}
.title-archive-word+.title-archive-word::before{content:" · ";color:#667282;text-shadow:none}
