*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#10141c;--panel:#1a2130;--panel2:#202a3d;--text:#e8ecf4;--muted:#93a0b5;
  --accent:#e63946;--accent2:#4cc9f0;--ok:#57cc99;--warn:#ffb703;--border:#2b3650;
}
body{background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:0 16px 48px}
.site-header{max-width:1100px;margin:0 auto;padding:28px 0 18px;text-align:center}
h1{font-size:1.7rem;letter-spacing:.3px}
.tagline{color:var(--muted);margin-top:6px}
main{max-width:1100px;margin:0 auto}
.calc{display:grid;grid-template-columns:1fr .8fr 1fr;gap:14px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}
.panel h2{font-size:1.05rem;margin-bottom:10px;color:var(--accent2)}
#atk-panel h2{color:var(--accent)}
label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:8px}
input,select{width:100%;margin-top:3px;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 9px;font-size:.92rem}
input:focus,select:focus{outline:2px solid var(--accent2);outline-offset:0}
.row{display:flex;gap:8px}
.row>label{flex:1;min-width:0}
.row.checks{gap:16px}
.checks label{display:flex;align-items:center;gap:6px;margin:2px 0 8px}
.checks input{width:auto;margin:0}
.mon-info{min-height:22px;font-size:.8rem;color:var(--muted);margin:-3px 0 8px}
.type-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.72rem;color:#fff;margin-right:4px}
#swap-btn{width:100%;margin-top:4px;background:var(--panel2);border:1px solid var(--border);color:var(--accent2);border-radius:8px;padding:8px;cursor:pointer;font-size:.9rem}
#swap-btn:hover{border-color:var(--accent2)}
.field-panel{margin-top:14px}
.field-panel .row{max-width:640px}
.result-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-top:14px}
.result-text{font-size:1.05rem;font-weight:600}
.result-detail{color:var(--muted);font-size:.88rem;margin-top:8px}
.hp-bar-wrap{margin-top:14px}
.hp-bar{height:14px;background:var(--ok);border-radius:7px;overflow:hidden;position:relative}
.hp-dmg{position:absolute;right:0;top:0;bottom:0;background:var(--warn)}
.hp-dmg.max{background:var(--accent);opacity:.85}
.content{margin-top:34px;color:#c6cede}
.content h2{font-size:1.15rem;margin:22px 0 8px;color:var(--text)}
.faq dt{font-weight:600;margin-top:12px}
.faq dd{color:var(--muted);margin:4px 0 0}
footer{max-width:1100px;margin:40px auto 0;font-size:.78rem;color:#5f6b84;border-top:1px solid var(--border);padding-top:16px}
footer a{color:var(--accent2)}
.koline{margin-top:6px}
.rolls{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;word-spacing:2px}
@media(max-width:900px){.calc{grid-template-columns:1fr}}
