:root{--brand-1:#2e9be6;--brand-2:#22d3ee;--brand-3:#2dd4bf;--radius:12px;color-scheme:light dark;--bg:#f6f7f9;--panel:#fff;--panel-2:#f1f3f6;--border:#e2e5ea;--border-strong:#cbd2dc;--text:#16181d;--muted:#6b7280;--accent:#1583c4;--danger:#b42318}@media (prefers-color-scheme:dark){:root{--bg:#0f1117;--panel:#171a23;--panel-2:#1e2230;--border:#2a2f3d;--border-strong:#39405a;--text:#e7e9ee;--muted:#9aa0ad;--accent:#22b8e6;--danger:#fca5a5}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.7}a{color:var(--accent)}.site-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 82%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex;position:sticky;top:0}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.site-nav a:hover{color:var(--text);background:var(--panel-2)}.site-nav a.nav-cta{color:#fff;background:linear-gradient(135deg, var(--brand-1), var(--brand-2));box-shadow:0 2px 12px color-mix(in srgb, var(--brand-2) 40%, transparent);border-radius:999px;margin-left:6px;padding:9px 18px;font-weight:600}.site-nav a.nav-cta:hover{color:#fff;filter:brightness(1.08)}.nav-toggle{display:none}.nav-button{cursor:pointer;border:1px solid var(--border);border-radius:9px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 9px;display:none}.nav-button span{background:var(--text);border-radius:2px;height:2px;display:block}@media (width<=720px){.site-header{flex-wrap:wrap;padding:12px 16px}.nav-button{display:flex}.site-nav{flex-direction:column;align-items:stretch;gap:2px;width:100%;padding-top:10px;display:none}.nav-toggle:checked~.site-nav{display:flex}.site-nav a{padding:12px;font-size:15px}.site-nav a.nav-cta{text-align:center;margin:8px 0 4px}}.brand{color:var(--text);align-items:center;gap:9px;font-size:17px;font-weight:650;text-decoration:none;display:inline-flex}.lang-switch{align-items:center;gap:6px;font-size:13px;display:inline-flex}.lang-switch .lang-current{color:var(--muted);cursor:default}.lang-switch a{text-decoration:underline}.brand-mark{object-fit:contain;flex:none;width:26px;height:26px}main{max-width:720px;margin:0 auto;padding:32px 22px 64px}main.bare{max-width:none;padding:0}h1{margin:0 0 8px;font-size:24px}h2{margin:32px 0 10px;font-size:18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}label{color:var(--muted);margin:16px 0 6px;font-size:13px;display:block}input[type=email],input[type=password],input[type=text]{border:1px solid var(--border-strong);background:var(--panel);width:100%;color:var(--text);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:15px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}button,.button{cursor:pointer;background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;border:none;border-radius:9px;padding:11px 20px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border-strong)}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:9px;margin:12px 0;padding:10px 12px;font-size:14px}.notice{color:var(--accent);font-size:14px}.site-footer{border-top:1px solid var(--border);text-align:center;padding:26px 22px;font-size:13px}.site-footer a{color:var(--muted);margin:0 10px;text-decoration:none;display:inline-block}.site-footer a:hover{color:var(--text);text-decoration:underline}@media (width<=640px){.site-footer a{margin:4px 8px}}
