*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--bg:#f5f5f7;--bg-gradient:linear-gradient(145deg, #f0f0f5 0%, #f5f5f7 50%, #eff0f5 100%);--surface:#ffffffb8;--surface-solid:#fff;--surface-hover:#ffffffe0;--surface-active:#fffffff2;--border:#00000014;--border-strong:#00000024;--divider:#0000000d;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#a1a1a6;--text-inverse:#fff;--accent:#0071e3;--accent-hover:#0077ed;--accent-light:#0071e314;--accent-mid:#0071e329;--critical:#ff3b30;--critical-bg:#ff3b3014;--critical-border:#ff3b3033;--high:#ff9500;--high-bg:#ff950014;--high-border:#ff950033;--medium:#fc0;--medium-bg:#ffcc0014;--medium-border:#fc03;--low:#34c759;--low-bg:#34c75914;--low-border:#34c75933;--opportunity:#5ac8fa;--opportunity-bg:#5ac8fa14;--opportunity-border:#5ac8fa33;--block-intro:#0071e3;--block-faq:#34c759;--block-comparison:#af52de;--block-benefits:#ff9500;--block-trust:#32ade6;--block-cta:#ff2d55;--block-hero:#5856d6;--block-howto:#30b0c7;--block-definition:#007aff;--block-summary:#5ac8fa;--block-other:#8e8e93;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-sm:0 1px 6px #0000000a;--shadow-md:0 2px 20px #0000000f;--shadow-lg:0 4px 32px #00000014;--shadow-xl:0 8px 48px #0000001a;--shadow-accent:0 4px 16px #0071e33d;--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease;--max-width:1440px;--header-height:64px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;font-size:15px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-primary);font-weight:600;line-height:1.2}h1{letter-spacing:-.4px;font-size:28px}h2{letter-spacing:-.3px;font-size:22px}h3{letter-spacing:-.2px;font-size:18px}h4{letter-spacing:-.1px;font-size:15px}h5{font-size:13px}h6{font-size:12px}p{color:var(--text-secondary);line-height:1.6}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}code,pre{font-family:var(--font-mono)}button{font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:0 0;border:none}input,select,textarea{font-family:var(--font-sans)}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.glass-panel-solid{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.glass-card{background:var(--surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition), background var(--transition)}.glass-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.badge{border-radius:var(--radius-full);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-critical{color:var(--critical);background:var(--critical-bg);border:1px solid var(--critical-border)}.badge-high{color:var(--high);background:var(--high-bg);border:1px solid var(--high-border)}.badge-medium{color:#b38600;background:var(--medium-bg);border:1px solid var(--medium-border)}.badge-low{color:#248a3d;background:var(--low-bg);border:1px solid var(--low-border)}.badge-opportunity{color:#007aae;background:var(--opportunity-bg);border:1px solid var(--opportunity-border)}.count-badge{border-radius:var(--radius-full);background:var(--accent-light);min-width:20px;height:20px;color:var(--accent);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.score-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring-value{letter-spacing:-.5px;color:var(--text-primary);font-size:18px;font-weight:700;position:absolute}.score-ring-value.score-ring-sm{font-size:13px;font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);letter-spacing:-.1px;transition:all var(--transition);white-space:nowrap;cursor:pointer;border:none;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:var(--text-inverse);box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #0071e352}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-strong);background:#fffc}.btn-secondary:hover{background:var(--surface-hover);box-shadow:var(--shadow-sm)}.btn-ghost{color:var(--accent);background:0 0;padding:8px 12px}.btn-ghost:hover{background:var(--accent-light);border-radius:var(--radius-md)}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--text-secondary);background:#fff9;padding:8px}.btn-icon:hover{color:var(--text-primary);background:#ffffffe6}.btn:disabled{opacity:.5;pointer-events:none}.filter-tabs{gap:var(--space-1);border-radius:var(--radius-lg);background:#0000000a;width:fit-content;padding:4px;display:flex}.filter-tab{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.filter-tab:hover{color:var(--text-primary);background:#fff9}.filter-tab.active{background:var(--surface-solid);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.input-field{border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);transition:all var(--transition);background:#fffc;outline:none;padding:14px 18px;font-size:15px}.input-field::placeholder{color:var(--text-tertiary)}.input-field:focus{background:var(--surface-solid);border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.select-field{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition);background:#fffc;outline:none;padding:10px 36px 10px 14px;font-size:14px}.select-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.evidence-block{border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:#00000008;padding:10px 14px;font-size:12px;line-height:1.6;overflow:hidden}.action-highlight{border:1px solid #0071e326;border-left:3px solid var(--accent);border-radius:var(--radius-md);color:var(--text-primary);background:#0071e30d;padding:10px 14px;font-size:13px;line-height:1.5}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#0000000a 25%,#00000014 50%,#0000000a 75%) 0 0/800px 100%;animation:1.6s linear infinite shimmer}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width,100%)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-full);width:20px;height:20px;animation:.7s linear infinite spin}.animate-fade-in{animation:fadeIn var(--transition-slow) ease forwards}.animate-fade-in-up{animation:.4s forwards fadeInUp}.animate-scale-in{animation:.25s forwards scaleIn}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#00000026}::-webkit-scrollbar-thumb:hover{background:#00000040}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mono{font-family:var(--font-mono);font-size:12px}.label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:600}.divider{background:var(--divider);height:1px;margin:var(--space-4) 0}.section-title{letter-spacing:-.3px;color:var(--text-primary);margin-bottom:var(--space-4);font-size:18px;font-weight:600}.section-subtitle{color:var(--text-secondary);margin-top:4px;margin-bottom:var(--space-4);font-size:13px}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state-icon{opacity:.3;margin-bottom:var(--space-2);font-size:40px}.empty-state h3{color:var(--text-secondary);font-size:16px;font-weight:500}.empty-state p{color:var(--text-tertiary);max-width:280px;font-size:13px}.copy-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#0000000a;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.copy-btn:hover{color:var(--text-primary);background:#00000012}.copy-btn.copied{color:#248a3d;background:var(--low-bg);border-color:var(--low-border)}.syntax-string{color:#d73a49}.syntax-number{color:#005cc5}.syntax-property{color:#6f42c1}.syntax-boolean{color:#e36209}.syntax-null{color:#6e6e73}.syntax-punctuation{color:#586069}.syntax-key{color:#005cc5}@media (max-width:768px){:root{--space-8:24px;--space-10:32px;--space-12:40px}h1{font-size:24px}h2{font-size:20px}h3{font-size:16px}.filter-tabs{width:100%;max-width:100%;overflow-x:auto}}
