:root{--bg: #070b16;--bg-soft: #0b1020;--card: rgba(23, 33, 54, .72);--card-border: rgba(148, 163, 184, .16);--text: #e2e8f0;--muted: #94a3b8;--dim: #64748b;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .14);--ok: #22c55e;--warn: #fbbf24;--err: #f87171;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(1200px 600px at 50% -10%,#10203a,#070b16 60%);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;min-height:100%}body{padding:24px 16px 64px}.page{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:20px}h1{font-size:30px;line-height:1.25;margin:0;letter-spacing:.5px}h2{font-size:18px;margin:0 0 12px;color:var(--text)}.hero h1{font-size:38px;background:linear-gradient(100deg,#e2e8f0 10%,#38bdf8 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero{display:flex;flex-direction:column;gap:12px;padding:8px 0 4px}.badge{align-self:flex-start;font-size:12px;letter-spacing:1px;padding:5px 10px;border-radius:999px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(56,189,248,.3)}.lead{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:20px;backdrop-filter:blur(8px)}.field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.row{display:flex;gap:10px}.input{flex:1;min-width:0;background:#070b16cc;border:1px solid var(--card-border);border-radius:10px;color:var(--text);font-size:16px;padding:12px 14px;outline:none}.input:focus{border-color:#38bdf899}.btn{appearance:none;border:1px solid var(--card-border);background:#1e293be6;color:var(--text);font-size:15px;font-weight:600;padding:12px 18px;border-radius:10px;cursor:pointer;transition:transform .06s ease,background .15s ease,border-color .15s ease;font-family:inherit}.btn:hover{border-color:#38bdf873}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#38bdf8,#0ea5e9);border-color:transparent;color:#05202f}.btn.ghost{background:transparent;color:var(--muted)}.btn.big{font-size:17px;padding:15px 28px}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:12px;flex-wrap:wrap}.hint{color:var(--dim);font-size:13px;line-height:1.6;margin:8px 0 0}.warn{color:var(--warn);font-size:13px;margin:8px 0 0}.footnote{color:var(--dim);font-size:12px;line-height:1.7;margin:4px 0 0}.test-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.test-list li{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;background:#0f172a99}.test-list .idx{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;display:grid;place-items:center}.t-name{font-size:14px;font-weight:600}.t-desc{font-size:12px;color:var(--dim);margin-top:3px;line-height:1.5}.steps{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.9}.progress-head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.progress{height:6px;border-radius:999px;background:#94a3b826;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#38bdf8,#22d3ee);border-radius:999px;transition:width .18s ease}.test-page{gap:14px}.stage-host{display:flex;justify-content:center}.stage{width:100%;max-width:960px;display:block;border-radius:14px;border:1px solid var(--card-border);background:#0b1020;touch-action:none;cursor:crosshair}.ui-host{min-height:8px}.choice{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--card);border:1px solid var(--card-border);border-radius:14px}.choice-prompt{font-size:14px;color:var(--muted)}.choice-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.choice-btn{min-width:52px;font-size:18px;padding:10px 14px}.hint-inline{color:var(--dim);font-size:13px}.result-hero{text-align:center;padding:28px 20px}.who{color:var(--muted);font-size:15px;letter-spacing:1px}.total{font-size:76px;font-weight:800;line-height:1.1;color:var(--accent);margin:6px 0 4px}.total span{font-size:20px;color:var(--dim);font-weight:500;margin-left:6px}.tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.tag{font-size:12px;padding:3px 9px;border-radius:999px;background:#38bdf81f;color:var(--accent);border:1px solid rgba(56,189,248,.28)}.radar-wrap{display:flex;justify-content:center;overflow:hidden}.dim-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}.dim-head{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}.dim-head b{color:var(--accent)}.bar{height:8px;border-radius:999px;background:#94a3b824;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:999px}.dim-hint{font-size:12px;color:var(--dim);margin-top:5px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;color:var(--dim);font-weight:500;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--card-border)}.table td{padding:7px 8px;border-bottom:1px solid rgba(148,163,184,.08);color:var(--muted);vertical-align:middle}.table td:nth-child(3){text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.muted{color:var(--dim)!important}.tiny{font-size:11px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{appearance:none;background:transparent;border:1px solid var(--card-border);color:var(--muted);padding:8px 14px;border-radius:999px;cursor:pointer;font-size:13px;font-family:inherit}.tab.active{color:#05202f;background:var(--accent);border-color:transparent;font-weight:600}.leader .rank{width:42px;color:var(--dim);font-variant-numeric:tabular-nums}.leader .score{text-align:right;font-weight:700;font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums}.leader tr.me td{background:#38bdf814}.probe-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.08);font-size:15px;color:var(--muted)}.probe-line b{color:var(--text)}.spinner{width:26px;height:26px;margin:6px auto;border-radius:50%;border:3px solid rgba(148,163,184,.2);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.test-list{grid-template-columns:1fr}.hero h1{font-size:28px}.total{font-size:60px}}
