:root{--bg: #0f1117;--panel: #171a23;--panel-2: #1e222d;--border: #2a2f3d;--text: #e6e8ee;--muted: #9aa1b1;--accent: #5b8cff;--accent-soft: #1d2740;--danger: #ff6b6b;--ok: #3ddc97;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}.shell{max-width:720px;margin:0 auto;padding:40px 20px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.brand{font-weight:600;letter-spacing:-.01em}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px}.card+.card{margin-top:20px}h1{font-size:24px;margin:0 0 6px;letter-spacing:-.02em}h2{font-size:15px;margin:0 0 4px}p.muted{color:var(--muted);font-size:14px;margin:0 0 20px}label.field{display:block;margin-bottom:14px;font-size:13px;color:var(--muted)}label.field span{display:block;margin-bottom:6px}input[type=text],input[type=email],input[type=password]{width:100%;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.row{display:flex;gap:12px}.row>*{flex:1}.check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:var(--panel-2);font-size:14px}.check input{margin-top:2px}.check small{display:block;color:var(--muted);margin-top:3px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:24px 0 4px}.section-hint{font-size:13px;color:var(--muted);margin:0 0 12px}button{font:inherit;border-radius:8px;border:1px solid transparent;padding:10px 16px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#0b1020;font-weight:600;width:100%}button.ghost{background:transparent;border-color:var(--border);color:var(--text)}button.link{background:none;border:none;color:var(--accent);padding:0}button.small{padding:6px 12px;font-size:13px}.error{color:var(--danger);font-size:13px;margin:12px 0 0}.footnote{margin-top:18px;font-size:13px;color:var(--muted);text-align:center}.banner{border:1px solid var(--accent);background:var(--accent-soft);border-radius:14px;padding:20px 22px;margin-bottom:20px}.banner h2{margin-bottom:6px}.banner p{font-size:14px;color:var(--text);margin:0 0 16px;opacity:.9}.banner .actions{display:flex;gap:10px}.consent-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.consent-row:first-of-type{border-top:none}.consent-row small{color:var(--muted);display:block;margin-top:2px}.pill{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.pill.on{color:var(--ok);border-color:var(--ok)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0fb8;display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(880px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-head .section-title{margin-bottom:2px}.modal-head small{color:var(--muted)}.modal-close{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;width:32px;height:32px;padding:0;font-size:20px;line-height:1;flex-shrink:0}.modal-close:hover{color:var(--text);border-color:var(--accent)}.modal-body{padding:20px 24px 24px;overflow:auto;background:var(--panel-2)}.modal-body img{display:block;max-width:100%;margin:0 auto;border-radius:8px}.modal-body iframe{display:block;width:100%;height:70vh;border:none;border-radius:8px;background:#fff}.modal-fallback{text-align:center;padding:32px 0}.button-like{display:inline-block;padding:8px 16px;border-radius:8px;background:var(--accent);color:#0b1020;font-weight:600;font-size:14px;text-decoration:none}.card.attention{border-color:var(--accent);background:linear-gradient(var(--accent-soft),var(--panel))}button.primary.small{width:auto;padding:6px 14px;font-size:13px}
