
:root{--bg:#fafbff;--panel:#fff;--ink:#111827;--muted:#6b7280;--accent:#111827;--radius:14px;--border:#e5e7eb;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans JP",sans-serif;}
a{color:var(--accent);text-decoration:none}
header{background:var(--panel);border-bottom:1px solid var(--border);padding:22px 16px}
header .container{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{font-weight:800;font-size:20px}
.container{max-width:980px;margin:24px auto;padding:0 16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:760px){.grid{grid-template-columns:1fr 1fr}}
label{display:block;font-weight:600;margin-bottom:6px}
input,select,button{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font-size:16px;background:#fff}
button{cursor:pointer;font-weight:700;background:var(--accent);color:#fff;border-color:#000}
button[disabled]{opacity:.6;cursor:not-allowed}
h1{font-size:22px;margin:0}
h2{font-size:18px;margin:0 0 8px}
.small{color:var(--muted);font-size:13px}
.footer{padding:24px;color:var(--muted);text-align:center}
.badge{display:inline-block;background:#111;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;margin-left:8px}
.kicker{color:var(--muted);font-size:14px;margin-top:8px}
.result{font-size:16px}
.result strong{display:inline-block;min-width:80px}
ul {padding-left: 18px;}
