:root{--bg:#fafaf8;--fg:#1c1c1a;--muted:#6b6b66;--line:#dcdcd5;--card:#fff;--accent:#2f6f5e;--danger:#b3261e}@media (prefers-color-scheme:dark){:root{--bg:#141413;--fg:#ecece8;--muted:#9a9a93;--line:#33332f;--card:#1d1d1b;--accent:#6fc2a9;--danger:#f2867f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;line-height:1.7}main.center{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;width:100%;max-width:440px;padding:28px 24px}h1{margin:0 0 4px;font-size:26px}h2{margin:0 0 12px;font-size:18px}p.sub{color:var(--muted);margin:0 0 20px;font-size:14px}label{margin:14px 0 4px;font-size:14px;display:block}input[type=text],input[type=email],input[type=password]{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);border-radius:8px;padding:10px 12px;font-size:16px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:20px;padding:12px;font-size:16px}button.primary:disabled{opacity:.5;cursor:wait}button.link,a.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.err{color:var(--danger);white-space:pre-wrap;margin-top:12px;font-size:14px}.note{color:var(--muted);font-size:13px}.mono{background:var(--bg);border:1px solid var(--line);word-break:break-all;letter-spacing:.04em;border-radius:8px;padding:12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px}.grid2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.warn{border:1px solid var(--danger);border-radius:8px;margin:12px 0;padding:10px 12px;font-size:14px}.row{justify-content:space-between;margin-top:16px;display:flex}
