*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}:root{--font-sans:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--bg-primary:#f5f5f0;--bg-secondary:#fff;--bg-elevated:#fff;--bg-sunken:#eeeee8;--glass-bg:#ffffffb3;--glass-border:#0000000f;--glass-shadow:0 1px 0 #0000000d;--glass-blur:16px;--border-primary:#e2e2dc;--border-light:#ececea;--border-focus:#1a1a1a;--text-primary:#1a1a1a;--text-secondary:#6b6b63;--text-muted:#9c9c94;--text-faint:#bcbcb6;--text-inverse:#fafaf8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff;--accent-soft:#2563eb14;--success:#16a34a;--success-light:#f0fdf4;--warning:#d97706;--warning-light:#fffbeb;--error:#dc2626;--error-light:#fef2f2;--tier-beginner:#16a34a;--tier-beginner-bg:#f0fdf4;--tier-intermediate:#d97706;--tier-intermediate-bg:#fffbeb;--tier-advanced:#dc2626;--tier-advanced-bg:#fef2f2;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 8px #0000000a,0 1px 2px #00000008;--shadow-md:0 4px 16px #0000000f,0 1px 4px #0000000a;--shadow-lg:0 8px 32px #00000014,0 2px 8px #0000000a;--shadow-glow:0 0 0 3px var(--accent-soft);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16,1,.3,1);--duration-fast:.15s;--duration-normal:.25s;--duration-theme:.4s}:root.dark{--bg-primary:#0e0e0d;--bg-secondary:#161614;--bg-elevated:#1c1c1a;--bg-sunken:#0a0a09;--glass-bg:#161614d9;--glass-border:#ffffff14;--glass-shadow:0 1px 0 #ffffff0a;--border-primary:#2a2a26;--border-light:#222220;--border-focus:#e8e8e4;--text-primary:#e8e8e4;--text-secondary:#9c9c94;--text-muted:#5c5c56;--text-faint:#3a3a36;--text-inverse:#1a1a1a;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-light:#172554;--accent-soft:#60a5fa1a;--success:#4ade80;--success-light:#132a1c;--warning:#fbbf24;--warning-light:#2a2410;--error:#f87171;--error-light:#2a1414;--tier-beginner:#4ade80;--tier-beginner-bg:#132a1c;--tier-intermediate:#fbbf24;--tier-intermediate-bg:#2a2410;--tier-advanced:#f87171;--tier-advanced-bg:#2a1414;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #00000040;--shadow-lg:0 8px 32px #00000059}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);transition:background var(--duration-theme)ease,color var(--duration-theme)ease;min-height:100vh}.nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);transition:all var(--duration-theme)ease;z-index:50;justify-content:space-between;align-items:center;padding:14px 40px;display:flex;position:sticky;top:0}.nav-logo{letter-spacing:-.3px;color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.nav-dot{background:var(--success);width:6px;height:6px;transition:background var(--duration-theme)ease;border-radius:50%}.nav-right{align-items:center;gap:16px;display:flex}.nav-link{color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast)ease;font-size:13px;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text-primary)}.theme-toggle{background:var(--border-primary);cursor:pointer;width:44px;height:24px;transition:background var(--duration-normal)ease;border:none;border-radius:9999px;padding:0;position:relative}.theme-knob{width:18px;height:18px;transition:transform var(--duration-normal)var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000001f}.theme-toggle.on .theme-knob{transform:translate(20px)}.theme-icons{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:flex}.theme-sun{color:#d4960a;transition:opacity .3s}.theme-moon{color:#8a8a82;transition:opacity .3s,color .3s}.tier-badge{transition:all var(--duration-theme)ease;border-radius:9999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.tier-badge-beginner{background:var(--tier-beginner-bg);color:var(--tier-beginner)}.tier-badge-intermediate{background:var(--tier-intermediate-bg);color:var(--tier-intermediate)}.tier-badge-advanced{background:var(--tier-advanced-bg);color:var(--tier-advanced)}.hero{text-align:center;max-width:720px;margin:0 auto;padding:60px 40px 40px}.hero-title{letter-spacing:-1.5px;margin-bottom:12px;font-size:42px;font-weight:700;line-height:1.08}.hero-sub{color:var(--text-secondary);margin-bottom:32px;font-size:15px;line-height:1.6}.search-wrap{max-width:520px;margin:0 auto;position:relative}.search-input{width:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);border:1.5px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color var(--duration-fast)ease,background var(--duration-theme)ease,box-shadow var(--duration-fast)ease;outline:none;padding:16px 20px 16px 48px;font-size:15px}.search-input:focus{border-color:var(--accent);box-shadow:var(--shadow-glow)}.search-input::placeholder{color:var(--text-faint)}.search-icon{color:var(--text-faint);pointer-events:none;font-size:16px;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;background:var(--text-primary);color:var(--text-inverse);transition:all var(--duration-fast)ease;border:none;padding:10px 20px;font-size:13px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-50%)translateY(-1px)}.search-btn:disabled{opacity:.4;cursor:not-allowed;transform:translateY(-50%)}.quick{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.quick-btn{font-family:var(--font-sans);border-radius:var(--radius-full);border:1px solid var(--border-primary);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast)ease;background:0 0;padding:6px 14px;font-size:12px;font-weight:500}.quick-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:var(--bg-sunken)}.content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:0 40px 60px}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:all var(--duration-theme)ease;margin-bottom:20px;padding:40px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--duration-theme)ease;padding:20px}.stat:hover{box-shadow:var(--shadow-sm);transition:all var(--duration-normal)var(--ease-out);transform:translateY(-1px)}.stat-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.stat-value{letter-spacing:-.5px;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.stat-unit{color:var(--text-muted);margin-left:2px;font-size:13px;font-weight:400}.detail-row{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--duration-theme)ease;overflow:hidden}.detail-item{justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.detail-item+.detail-item{border-top:1px solid var(--border-light)}.detail-key{color:var(--text-muted);font-size:13px;font-weight:500}.detail-val{color:var(--text-primary);font-size:13px;font-weight:600;font-family:var(--font-mono)}.table-wrap{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--duration-theme)ease;overflow:hidden}.table-header{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border-light);padding:12px 20px;font-size:11px;font-weight:600;display:grid}.table-row{transition:background var(--duration-fast)ease;cursor:pointer;align-items:center;padding:14px 20px;font-size:14px;display:grid}.table-row:hover{background:var(--bg-sunken)}.table-row+.table-row{border-top:1px solid var(--border-light)}.select{font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast)ease,background var(--duration-theme)ease;outline:none;padding:8px 14px;font-size:13px;font-weight:500}.select:focus{border-color:var(--accent)}.error-inline{background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);margin-top:12px;padding:12px 16px;font-size:13px;font-weight:500}.json-toggle{margin-top:20px}.json-toggle-btn{font-family:var(--font-sans);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast)ease;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:500}.json-toggle-btn:hover{color:var(--text-primary)}.json-output{background:var(--bg-sunken);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;margin-top:8px;padding:16px;font-size:12px;line-height:1.6;overflow-x:auto}.empty{text-align:center;padding:80px 20px}.empty-icon{opacity:.3;margin-bottom:16px;font-size:48px}.empty-text{color:var(--text-muted);font-size:16px;font-weight:400}.empty-hint{color:var(--text-faint);margin-top:6px;font-size:13px}.loading-center{justify-content:center;padding:80px;display:flex}.spinner{border:2.5px solid var(--border-primary);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.footer{border-top:1px solid var(--border-primary);color:var(--text-muted);transition:border-color var(--duration-theme)ease;justify-content:space-between;padding:20px 40px;font-size:12px;display:flex}.footer a{color:var(--text-secondary);font-weight:500;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s var(--ease-out)}.fade-in-1{animation:fadeIn .4s var(--ease-out)50ms both}.fade-in-2{animation:fadeIn .4s var(--ease-out).1s both}.fade-in-3{animation:fadeIn .4s var(--ease-out).15s both}.text-green{color:var(--success)}.text-red{color:var(--error)}.text-yellow{color:var(--warning)}.text-accent{color:var(--accent)}.text-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}.font-medium{font-weight:500}@media (max-width:768px){.hero{padding:40px 20px 30px}.hero-title{font-size:30px}.content{padding:0 20px 40px}.glass-card{padding:28px}.stats{grid-template-columns:repeat(2,1fr)}.nav{padding:14px 20px}.search-input{padding:14px 16px 14px 42px;font-size:14px}.search-btn{padding:8px 16px;font-size:12px}.footer{flex-direction:column;gap:4px;padding:20px}}@media (max-width:480px){.stats{grid-template-columns:1fr}.hero-title{font-size:26px}.nav-right{gap:10px}}
