:root{color-scheme:dark;--bg:#0f172a;--card:#1e293b;--border:#334155;--accent:#8b5cf6;--accent-light:#a78bfa;--secondary:#f59e0b;--info:#3b82f6;--success:#10b981;--danger:#ef4444;--strava:#fc5200;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-subtle:#64748b;--radius-card:18px}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text-secondary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;background-image:radial-gradient(1100px 700px at 85% -10%,color-mix(in oklab,var(--accent) 18%,transparent) 0,transparent 60%),radial-gradient(900px 600px at -10% 110%,color-mix(in oklab,var(--secondary) 12%,transparent) 0,transparent 55%),linear-gradient(180deg,#0b1322 0,#0a111e 100%);background-repeat:no-repeat;background-attachment:fixed}body.grain:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.04;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--text-primary)}.container{max-width:1100px;margin:0 auto;padding:28px 24px 80px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;padding:0 24px;height:64px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in oklab,var(--bg) 85%,transparent);border-bottom:1px solid var(--border)}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:10px;font-weight:600;color:var(--text-primary);font-size:1.15rem;letter-spacing:-.01em}.brand-dot{width:16px;height:16px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--info))}.topbar .who{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--text-muted)}.label{font-size:.72rem;letter-spacing:.18em}.label,.pill{text-transform:uppercase;color:var(--text-muted);font-weight:600}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:.7rem;letter-spacing:.12em}.pill .dot{width:6px;height:6px;border-radius:999px;background:var(--secondary);box-shadow:0 0 0 4px color-mix(in oklab,var(--secondary) 25%,transparent)}.hairline{height:1px;background:linear-gradient(to right,transparent,var(--border),transparent);margin:24px 0}.card{background:color-mix(in oklab,var(--card) 92%,transparent);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px}.card+.card{margin-top:16px}.crumbs{font-size:13px;color:var(--text-muted);margin-bottom:18px}.crumbs a:hover{color:var(--accent-light)}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border-radius:14px;border:1px solid transparent;font-weight:600;font-size:14px;letter-spacing:-.01em;cursor:pointer;background:var(--accent);color:#fff;transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .2s}.btn:hover{transform:translateY(-2px);background:color-mix(in oklab,var(--accent) 90%,#fff)}.btn:disabled{opacity:.6;transform:none;cursor:default}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn.ghost:hover{background:var(--card)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);font-weight:600;padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:12px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tr.clickable:hover td{background:rgba(139,92,246,.08);cursor:pointer}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.stat{background:rgba(15,23,42,.6);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.stat .label{font-size:11px;letter-spacing:.05em;margin-bottom:6px}.stat .value{font-size:22px;font-weight:700;color:var(--text-primary)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border);color:var(--text-secondary)}.badge.phone{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.4);color:#93c5fd}.badge.watch{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.4);color:var(--accent-light)}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin:30px 0 14px;font-weight:600}.jsondump{background:#0b1120;border:1px solid var(--border);border-radius:12px;padding:16px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:12px;line-height:1.6;color:#cbd5e1;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.map{width:100%;height:480px;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border)}.reveal{opacity:0;transform:translateY(14px);animation:reveal .9s cubic-bezier(.2,.7,.1,1) forwards}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;text-align:center;background:color-mix(in oklab,var(--card) 92%,transparent);border:1px solid var(--border);border-radius:20px;padding:36px 28px}.login-logo{width:56px;height:56px;border-radius:16px;margin:0 auto 18px;background:linear-gradient(135deg,var(--accent),var(--info))}.error{color:var(--danger);font-size:13px;margin-top:14px}.langswitch{display:inline-flex;gap:2px;border:1px solid var(--border,#283041);border-radius:999px;padding:2px}.langswitch button{border:0;background:transparent;color:var(--text-muted,#9aa4b2);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:999px;cursor:pointer}.langswitch button.active{background:var(--primary,#8b5cf6);color:#fff}.topbar{border-bottom:1px solid var(--border,#283041)}.topbar-inner{max-width:980px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.topbar-brand{font-weight:700;letter-spacing:-.01em}.topbar-actions{display:flex;align-items:center;gap:12px}.divider{height:1px;background:var(--border,#283041);margin:16px 0}.field-label{display:block;font-size:12px;color:var(--text-muted,#9aa4b2);margin:10px 0 4px}.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border,#283041);background:#0c1018;color:var(--text,#e6e9ef)}.linkbtn{background:none;border:0;color:var(--primary,#a78bfa);cursor:pointer;padding:0}.linkbtn,.notice{font-size:13px;margin-top:12px}.notice{color:#10b981}.share-card{margin-bottom:8px}.share-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-link{display:flex;gap:8px;margin-top:12px}.share-link .input{flex:1 1}.shared-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0;padding-top:16px;border-top:1px solid var(--border,#283041)}