@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#3b82f6;--color-primary-subtle:#eff6ff;--color-accent:#f97316;--color-accent-dark:#ea6c0a;--color-accent-light:#fb923c;--color-accent-subtle:#fff7ed;--color-expert:#059669;--color-expert-dark:#047857;--color-expert-subtle:#d1fae5;--color-expert-text:#065f46;--color-success:#16a34a;--color-success-subtle:#f0fdf4;--color-warning:#f59e0b;--color-warning-subtle:#fffbeb;--color-danger:#dc2626;--color-danger-subtle:#fef2f2;--bg-base:#f8fafc;--bg-surface:#fff;--bg-subtle:#f1f5f9;--bg-elevated:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--border-default:#e2e8f0;--border-strong:#cbd5e1;--border-subtle:#f1f5f9;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-size-5xl:48px;--font-size-6xl:56px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #00000014, 0 4px 6px #0000000d;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--shadow-2xl:0 32px 48px #0000001f, 0 12px 16px #0000000f;--shadow-primary:0 4px 14px #2563eb40;--shadow-accent:0 4px 14px #f973164d;--shadow-expert:0 4px 14px #05966933;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-sticky:100;--z-navbar:200;--z-modal:300;--z-toast:400;--navbar-height:68px;--announcement-height:36px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-base);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-family);cursor:pointer;background:0 0;border:none}input,select,textarea{font-family:var(--font-family)}.h1{font-size:var(--font-size-4xl);letter-spacing:-.02em;font-weight:800;line-height:1.15}.h2{font-size:var(--font-size-3xl);letter-spacing:-.015em;font-weight:700;line-height:1.25}.h3{font-size:var(--font-size-2xl);letter-spacing:-.01em;font-weight:700;line-height:1.3}.h4{font-size:var(--font-size-xl);font-weight:600;line-height:1.4}.h5{font-size:var(--font-size-lg);font-weight:600;line-height:1.4}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--color-accent)}.text-brand{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.container{max-width:1280px;padding:0 var(--space-3);margin:0 auto}.container-sm{max-width:960px;padding:0 var(--space-3);margin:0 auto}.container-lg{max-width:1440px;padding:0 var(--space-3);margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.btn{padding:0 var(--space-3);border-radius:var(--radius-md);height:44px;font-size:var(--font-size-sm);letter-spacing:.01em;transition:all var(--transition-base);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--transition-fast);background:#fff0;position:absolute;inset:0}.btn:hover:after{background:#ffffff14}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 6px 20px #f9731666}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-primary);border:1.5px solid var(--color-primary);background:#fff}.btn-secondary:hover{background:var(--color-primary-subtle);transform:translateY(-1px)}.btn-blue{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-blue:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb66}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}.btn-sm{height:36px;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-lg{height:52px;padding:0 var(--space-4);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.badge-best{color:#fff;background:linear-gradient(135deg,#f97316,#fb923c);box-shadow:0 2px 8px #f973164d}.badge-fastest{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 2px 8px #2563eb40}.badge-popular{color:#fff;background:linear-gradient(135deg,#7c3aed,#8b5cf6);box-shadow:0 2px 8px #7c3aed40}.badge-success{background:var(--color-success-subtle);color:var(--color-success);border:1px solid #16a34a33}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning);border:1px solid #f59e0b33}.badge-neutral{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-default)}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-2px)}.card-flat{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.input{width:100%;height:44px;padding:0 var(--space-2);background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--text-primary);transition:all var(--transition-base);outline:none}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.input::placeholder{color:var(--text-muted)}.input-lg{height:52px;padding:0 var(--space-3);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.select{width:100%;height:44px;padding:0 36px 0 var(--space-2);background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--text-primary);transition:all var(--transition-base);appearance:none;cursor:pointer;outline:none}.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.stars{color:var(--color-warning);gap:2px;display:flex}.divider{background:var(--border-default);width:100%;height:1px}.section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-end;display:flex}.section-label{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1);align-items:center;gap:6px;font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--color-accent);border-radius:2px;width:3px;height:14px;display:block}.gradient-hero{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 40%,#fff7ed 100%)}.gradient-primary{background:linear-gradient(135deg, var(--color-primary) 0%, #1d4ed8 100%)}.gradient-text{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadein{animation:.4s both fadeIn}.animate-slideup{animation:.5s both slideUp}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--border-default) 50%, var(--bg-subtle) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:1024px){.hide-lg{display:none!important}.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.hide-md{display:none!important}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.container{padding:0 var(--space-2)}.h1{font-size:var(--font-size-3xl)}}@media (max-width:480px){.hide-sm{display:none!important}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}.announcement-bar{height:var(--announcement-height);color:#fff;justify-content:center;align-items:center;gap:var(--space-4);font-size:var(--font-size-xs);letter-spacing:.01em;background:linear-gradient(90deg,#1d4ed8 0%,#2563eb 50%,#1d4ed8 100%);font-weight:500;display:flex;overflow:hidden}.announcement-bar a{color:#fff;text-underline-offset:2px;opacity:.9;text-decoration:underline}.announcement-bar a:hover{opacity:1}.announcement-sep{opacity:.35;font-size:10px}.expert-score-ring{flex-direction:column;align-items:center;gap:2px;display:flex}.expert-score-circle{background:var(--color-expert-subtle);border:2.5px solid var(--color-expert);width:46px;height:46px;color:var(--color-expert);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;line-height:1;display:flex}.expert-score-label{color:var(--color-expert);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:10px;font-weight:600}.best-for-pill{background:var(--color-primary-subtle);border-radius:var(--radius-full);color:var(--color-primary);border:1px solid #2563eb33;align-items:center;gap:5px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.pro-item{font-size:var(--font-size-sm);color:var(--text-secondary);align-items:flex-start;gap:9px;line-height:1.45;display:flex}.pro-check-icon{background:var(--color-expert-subtle);width:18px;min-width:18px;height:18px;color:var(--color-expert);border-radius:50%;justify-content:center;align-items:center;margin-top:1px;display:flex}.our-take-section{border-top:1px solid var(--border-subtle);padding:10px var(--space-3);align-items:flex-start;gap:var(--space-2);background:#fafbfc;display:flex}.our-take-label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;margin-top:1px;font-size:11px;font-weight:700}.our-take-text{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1;font-style:italic;line-height:1.55}.step-number{background:var(--color-primary);color:#fff;width:44px;height:44px;font-size:var(--font-size-md);box-shadow:var(--shadow-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.snapshot-widget{border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);background:#fff;overflow:hidden}.snapshot-header{padding:14px var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);color:var(--text-primary);align-items:center;gap:8px;font-weight:700;display:flex}.live-dot{background:var(--color-expert);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s infinite pulse-live}@keyframes pulse-live{0%,to{box-shadow:0 0 #05966966}50%{box-shadow:0 0 0 5px #05966900}}.expert-pick-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:all var(--transition-base);overflow:hidden}.expert-pick-card:hover{box-shadow:var(--shadow-xl);border-color:var(--color-primary);transform:translateY(-3px)}.expert-pick-tag{padding:10px var(--space-3);background:var(--color-primary-subtle);color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.rating-aggregate{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-warning-subtle);border-radius:var(--radius-xl);margin-bottom:var(--space-4);border:1px solid #f59e0b33;display:flex}.rating-big-number{color:var(--text-primary);letter-spacing:-.03em;font-size:48px;font-weight:900;line-height:1}.rating-big-stars{color:var(--color-warning);gap:3px;display:flex}.rating-big-count{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.reg-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.reg-badge{border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);box-shadow:var(--shadow-xs);background:#fff;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.reg-badge-dot{background:var(--color-expert);border-radius:50%;flex-shrink:0;width:6px;height:6px}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:.8s linear infinite spin}
