:root{--bg: #0f1e3d;--bg-card: #13233f;--border: #2a3f66;--text: #eaf1ff;--text-muted: #8aa0c8;--accent: #4f8cff;--accent-hover: #3d76e0;--danger-bg: #3a1420;--danger-border: #7a2338;--danger-text: #ff8fa3;--notice-bg: #1a2f14;--notice-border: #3a6a24;--notice-text: #a7e08a;--radius: 16px;--gap: 1rem;--field-bg: #0d1a33}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{width:100%;max-width:22rem;padding:2.25rem 2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:0 12px 40px #00000059}.card--home{max-width:30rem}.brand{margin:0 0 .25rem;font-size:1.9rem;letter-spacing:.5px}.brand-sub{margin:0 0 1.5rem;color:var(--text-muted);font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:var(--gap)}.field label{font-size:.85rem;color:var(--text-muted)}.field input{padding:.7rem .85rem;border:1px solid var(--border);border-radius:10px;background:var(--field-bg);color:var(--text);font-size:1rem}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f8cff33}.btn{width:100%;padding:.75rem 1rem;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--field-bg)}.alert{padding:.7rem .85rem;border-radius:10px;font-size:.88rem;margin-bottom:var(--gap);border:1px solid transparent}.alert--error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.alert--notice{background:var(--notice-bg);border-color:var(--notice-border);color:var(--notice-text)}.identity{list-style:none;padding:0;margin:0 0 1.5rem}.identity li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.92rem}.identity li:last-child{border-bottom:none}.identity .k{color:var(--text-muted)}.identity .v{text-align:right;word-break:break-word}.chip{display:inline-block;padding:.15rem .55rem;margin:.1rem;border-radius:999px;background:var(--field-bg);border:1px solid var(--border);font-size:.8rem}.center{text-align:center;color:var(--text-muted)}
