:root{--bg:#0f172a;--panel:#111827;--panel2:#1f2937;--text:#e5e7eb;--muted:#9ca3af;--accent:#22c55e;--danger:#ef4444;--border:#374151}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 20px;background:#020617;border-bottom:1px solid var(--border);position:sticky;top:0}header nav{display:flex;gap:10px;flex-wrap:wrap}a{color:#93c5fd;text-decoration:none}nav a,.button,button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 12px;display:inline-block;cursor:pointer}button,.button.primary{background:#166534;border-color:#22c55e}main{max-width:1100px;margin:0 auto;padding:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;margin:0 0 18px 0;box-shadow:0 8px 30px rgba(0,0,0,.18)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}label{display:block;margin:12px 0 6px;color:var(--muted)}input,select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:#020617;color:var(--text)}table{width:100%;border-collapse:collapse;overflow:auto}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px;vertical-align:top}pre{white-space:pre-wrap;background:#020617;border:1px solid var(--border);border-radius:12px;padding:12px;overflow:auto}.flash{background:#064e3b;border:1px solid #22c55e;color:#dcfce7;padding:12px;border-radius:12px;margin-bottom:14px}.error{background:#7f1d1d;border:1px solid #ef4444;color:#fee2e2;padding:12px;border-radius:12px;margin-bottom:14px}.status-ok{color:#22c55e}.status-bad{color:#ef4444}.muted{color:var(--muted)}footer{text-align:center;color:var(--muted);padding:30px}.small{font-size:.9rem}.pill{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:3px 8px;margin:2px;background:#020617}
.highlight{border-color:#22c55e;box-shadow:0 0 0 1px rgba(34,197,94,.25),0 8px 30px rgba(0,0,0,.18)}.setup-code{font-size:2rem;letter-spacing:.08em;font-weight:800;background:#020617;border:1px dashed #22c55e;border-radius:14px;padding:16px;text-align:center;margin:14px 0;color:#bbf7d0}ol,ul{line-height:1.65}.button{margin:2px 4px 2px 0}

.button.danger, button.danger { background:#b42318; color:#fff; border-color:#b42318; }
.danger-link { color:#b42318; font-weight:700; }
.language-switcher{display:inline-block;margin:0 0 0 6px}.language-switcher select{width:auto;min-width:120px;padding:8px 10px;background:#f9fafb;color:#111827}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.copy-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin:14px 0}.copy-row .setup-code,.copy-row .token-code{flex:1 1 260px;margin:0}.copy-button{white-space:nowrap;background:#14532d;border-color:#22c55e}.token-code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:1rem;word-break:break-all;background:#020617;border:1px dashed #22c55e;border-radius:14px;padding:16px;color:#bbf7d0}.inline-check{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--text)}.inline-check input{width:auto}header{z-index:20}header nav select{margin-left:4px}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input{width:auto;min-width:150px}.inline-form button{white-space:nowrap}.status-chip{display:inline-block;border-radius:999px;padding:3px 8px;border:1px solid var(--border);background:#020617}

.checkline { display: flex; align-items: flex-start; gap: .55rem; margin: .65rem 0; line-height: 1.35; }
.checkline input { width: auto; margin-top: .15rem; }
.legal-text pre { white-space: pre-wrap; font-family: inherit; line-height: 1.45; }

.action-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.action-row .button{min-width:155px;text-align:center}
.small{font-size:.9rem}

.invite-notice{background:#064e3b;border:1px solid #22c55e;color:#dcfce7;padding:10px 12px;border-radius:12px;margin:0 0 14px 0;font-weight:600}.invite-notice a{color:#bbf7d0;text-decoration:underline;font-weight:700;margin-left:8px}


/* V0.4.12 */
.status-warn{color:#facc15}.status-dot{font-size:1.1rem;margin-right:.25rem}.station-card{background:#020617;border:1px solid var(--border);border-radius:14px;padding:14px;margin:0}.station-card h3{margin-top:0}
.password-row{display:flex;gap:8px;align-items:center}.password-row input{flex:1}.password-row button{white-space:nowrap;background:var(--panel2);border-color:var(--border)}
.password-meter{margin:10px 0 4px}.password-meter-label{font-size:.9rem;color:var(--muted);margin-bottom:6px}.password-meter-segments{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.password-meter-segments span{display:block;height:10px;border-radius:999px;background:#1f2937;border:1px solid #374151}.password-meter-segments span.weak{background:#ef4444;border-color:#f87171}.password-meter-segments span.accepted{background:#facc15;border-color:#fde047}.password-meter-segments span.strong{background:#22c55e;border-color:#86efac}
.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.scenario-card{display:flex;flex-direction:column;gap:8px;background:#020617;border:1px solid var(--border);border-radius:14px;padding:14px;color:var(--text)}.scenario-card:hover{border-color:#22c55e}.scenario-card span{color:var(--muted);font-size:.92rem;line-height:1.35}
@media (max-width:720px){header{position:static;display:block}header nav{margin-top:10px}main{padding:14px}.card{padding:14px}.action-row{align-items:stretch}.action-row .button{width:100%}.password-row{display:block}.password-row button{margin-top:8px;width:100%}table{display:block;overflow-x:auto;white-space:nowrap}.copy-row{display:block}.copy-button{width:100%;margin-top:8px}.setup-code{font-size:1.4rem}.inline-form input,.inline-form button{width:100%}}


/* V0.4.14 domain/staging foundation */
.staging-banner{position:sticky;top:0;z-index:40;background:#facc15;color:#111827;text-align:center;font-weight:800;padding:8px 12px;border-bottom:2px solid #92400e;letter-spacing:.02em}.env-pill{display:inline-block;margin-left:8px;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.78rem;color:#facc15;background:#020617;vertical-align:middle}
