/* NES鬯ｯ螟ｲ・ｽ・ｨ驛｢譎・ｽｺ蛟･ﾎ戮SS */
:root{
  --bg:#0b1e3b;
  --panel:#12294d;
  --border:#ffffff;
  --text:#f8f8f8;
  --accent:#ffd93b;
  --danger:#ff4a3d;
  --badge:#2f4c7d;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'DotGothic16',system-ui,monospace}
a{color:var(--accent);text-decoration:none}
.container{max-width:980px;margin:0 auto;padding:16px}
.site-header,.site-footer{border-bottom:4px solid var(--border);background:var(--panel)}
.site-footer{border-top:4px solid var(--border);border-bottom:none;margin-top:24px}
.site-header .logo{margin:0}
nav .btn{margin-right:8px}

.panel{background:var(--panel);border:4px solid var(--border);padding:16px;margin:16px 0;box-shadow:0 0 0 4px #000 inset}
.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.btn{display:inline-block;border:4px solid var(--border);padding:6px 12px;background:#1a3466;color:var(--text);transition:transform .1s}
.btn.primary{background:var(--accent);color:#000;border-color:#000}
.btn:hover{transform:translateY(-1px)}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;margin-bottom:4px}
input[type=url]{width:100%;padding:8px;border:4px solid var(--border);background:#06152c;color:var(--text);font-family:inherit}
.form-actions{display:flex;gap:12px;align-items:center;margin-top:12px}

.rank-list{margin:0 0 0 20px}
.rank-list li{margin-bottom:6px}
.recent-list{list-style:none;padding:0;margin:0}
.recent-list li{padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.2);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.recent-list time{margin-left:auto;font-size:12px;color:rgba(255,255,255,.7)}
.mono{font-family:ui-monospace,monospace;word-break:break-all}
.title{font-weight:bold}

.battle-top{display:grid;grid-template-columns:1fr 80px 1fr;gap:12px;align-items:center}
.fighter{display:flex;flex-direction:column;align-items:center;text-align:center}
.sprite{width:96px;height:96px;border:4px solid var(--border);background:#06152c}
.vs{font-size:28px;text-align:center}

.battle-log{background:#06152c;border:4px solid var(--border);min-height:160px;padding:12px;margin-top:12px;font-family:ui-monospace,monospace}
.log-line{white-space:pre-wrap}

.tag{display:inline-block;margin-top:4px;background:#0b1e3b;padding:4px 6px;border:2px solid var(--border);font-size:12px}
.tag.highlight{background:var(--accent);color:#000;border-color:#000}

.alert{padding:12px;margin:12px 0;border:4px solid var(--border);background:#1a3466;box-shadow:0 0 0 4px #000 inset}
.alert.error{background:#5a1a1a;border-color:#ff8a80;color:#ffdede}

.champion-panel{position:relative}
.generation-badge{background:var(--badge);padding:4px 10px;border:2px solid var(--border);font-size:13px}
.champion-layout{display:flex;flex-wrap:wrap;gap:16px}
.champion-card{flex:1 1 320px;background:linear-gradient(135deg,#1b3363,#0e1f3f);border:4px solid var(--border);padding:16px;box-shadow:0 0 0 4px #000 inset}
.champion-name{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}
.champion-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;font-size:13px;margin:0}
.champion-meta div{display:flex;justify-content:space-between;padding:6px 8px;background:#0b1e3b;border:2px solid rgba(255,255,255,.2)}
.champion-meta dt{font-weight:bold}
.champion-meta dd{margin:0}
.champion-form{flex:1 1 280px;background:#06152c;border:4px solid var(--border);padding:16px;box-shadow:0 0 0 4px #000 inset;display:flex;flex-direction:column;gap:8px}
.champion-form-row{display:flex;gap:8px;flex-wrap:wrap}
.champion-form-row input{flex:1 1 220px}

.champion-history-title{margin-top:20px}
.champion-history{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}
.champion-history-item{background:#06152c;border:3px solid var(--border);padding:12px;box-shadow:0 0 0 3px #000 inset}
.history-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:15px}
.history-header .generation{background:var(--badge);padding:2px 6px;border:2px solid var(--border)}
.history-metas{display:flex;flex-wrap:wrap;gap:8px}

.champion-panel .champion-card .title{font-size:20px;letter-spacing:1px}
.champion-panel form label{font-size:14px;text-transform:uppercase;letter-spacing:1px}

@media (max-width:720px){
  .grid{grid-template-columns:1fr}
  .champion-layout{flex-direction:column}
  .form-actions{flex-direction:column;align-items:stretch}
  .champion-form-row{flex-direction:column}
}
\n.battle-result{margin-top:12px;padding:10px;border:3px solid var(--border);background:#1a3466;font-weight:bold;box-shadow:0 0 0 3px #000 inset}\n\n.battle-log .log-line{margin-bottom:6px;line-height:1.6;}\n\n.log-name{font-weight:bold;}\n.log-damage{font-weight:bold;color:#ff4a3d;}\n.log-hp{font-weight:bold;}\n.log-defeat{font-weight:bold;color:#f87171;}\n.log-text{display:inline;}\n\n.site-footer .container{display:flex;justify-content:center;text-align:center;font-size:14px;letter-spacing:1.2px}