/* World Space Contacts — design tokens taken from World Space ID (same gold, Figtree, light default + dark). */
:root{--gold:#ff9f1c;--gold-2:#ffb84d;--gold-3:#b8863f;--on-accent:#1c1305;--success:#00ca72;--danger:#fb275d;--ease:cubic-bezier(.16,.84,.44,1);--radius:12px;
  --black:#f5f6fb;--deep:#ffffff;--cosmic:#e7e9fb;--nebula:#4ea1f7;--nebula-2:#8ac4ff;--ink:#181b34;--muted:rgba(24,27,52,.62);--muted2:rgba(24,27,52,.42);--line:rgba(24,27,52,.12);--line-soft:rgba(24,27,52,.06);--glass:#ffffff;--glass2:#f0f3ff;--shadow:0 1px 3px rgba(24,27,52,.06);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}
[data-theme="dark"]{--black:#050b18;--deep:#061428;--cosmic:#0b1f42;--nebula:#4cc9f0;--nebula-2:#7fdcfb;--ink:#eef0f7;--muted:rgba(238,240,247,.62);--muted2:rgba(238,240,247,.42);--line:rgba(238,240,247,.12);--line-soft:rgba(238,240,247,.07);--glass:rgba(255,255,255,.045);--glass2:rgba(255,255,255,.07);--shadow:0 1px 3px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--ink);font-family:'Figtree',-apple-system,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s var(--ease),color .2s var(--ease);line-height:1.45}
a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}
.mono,code{font-family:'Space Mono',ui-monospace,monospace}code{background:var(--glass2);padding:1px 6px;border-radius:6px;font-size:.82em;word-break:break-all}
.aurora{display:none}[data-theme="dark"] .aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;display:block;background:radial-gradient(900px 500px at 15% -10%,rgba(78,161,247,.14),transparent 55%),radial-gradient(700px 400px at 100% 10%,rgba(255,191,0,.10),transparent 55%)}
h1{font-weight:700;font-size:1.5rem;letter-spacing:-.5px;margin:0 0 6px}h2{font-weight:700;font-size:1.15rem;margin:0 0 10px}h3{font-weight:600;margin:0 0 4px;font-size:1.02rem}
.sub,p.sub{color:var(--muted);font-size:.9rem;margin-top:0;line-height:1.6}.mut{color:var(--muted2)}[hidden]{display:none!important}
.card,.block{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);padding:22px 24px;margin-bottom:20px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}
label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted2);margin:10px 0 6px}
input,select,textarea{width:100%;padding:11px 13px;border-radius:8px;border:1px solid var(--line);background:var(--deep);color:var(--ink);font-size:.9rem;outline:none;transition:.2s;font-family:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,159,28,.18)}input::placeholder,textarea::placeholder{color:var(--muted2)}textarea{min-height:84px;resize:vertical}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--gold)}input[type=color]{padding:2px;height:42px;cursor:pointer}input[type=file]{padding:9px}
.chk{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-size:.88rem;color:var(--ink);margin:10px 0}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:8px;font-weight:600;font-size:.86rem;border:1px solid transparent;cursor:pointer;transition:.2s;background:var(--gold);color:var(--on-accent);text-decoration:none;min-height:40px}
button:hover,.btn:hover{transform:translateY(-1px);text-decoration:none}button:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.ghost,button.ghost,.btn.ghost{background:var(--glass);color:var(--ink);border-color:var(--line)}.danger,button.danger{background:var(--danger);color:#fff}.sm{padding:6px 12px;min-height:32px;font-size:.8rem}
.icon-btn{padding:0;width:40px;height:40px}svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pill{padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:inline-block;background:var(--glass2);color:var(--muted)}
.pill.ok{background:rgba(0,202,114,.15);color:var(--success)}.pill.bad{background:rgba(251,39,93,.14);color:var(--danger)}.pill.warn{background:rgba(255,159,28,.16);color:var(--gold-3)}.pill.info{background:rgba(78,161,247,.16);color:var(--nebula)}
.msg{font-size:.84rem;margin-top:8px}.msg.ok{color:var(--success)}.msg.err{color:var(--danger)}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:520px}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle}
thead th{color:var(--muted2);font-size:.7rem;letter-spacing:.7px;text-transform:uppercase;font-weight:600}tbody tr:hover{background:var(--glass2)}
.stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);padding:16px 18px;box-shadow:var(--shadow)}.stat .l{font-size:.72rem;letter-spacing:.7px;text-transform:uppercase;color:var(--muted2)}.stat b{display:block;font-weight:700;font-size:1.5rem;margin-top:4px}.stat small{color:var(--muted)}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:6px 0;border-bottom:1px solid var(--line-soft)}.checks b{display:inline-block;width:20px}.checks .ok b{color:var(--success)}.checks .bad b{color:var(--danger)}.checks .warn b{color:var(--gold)}
.pw-auto{position:relative;display:block}.pw-auto input{padding-right:44px}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:transparent;color:var(--muted);padding:0;width:36px;min-height:36px;border:0}.pw-eye:hover{transform:translateY(-50%)}
body.plain{padding:0}
