:root{--primary:#4338ca;--primary-light:#818cf8;--primary-glow:#4338ca66;--secondary:#7e22ce;--accent:#06b6d4;--dark:#0f172a;--darker:#020617;--light:#f8fafc;--glass-bg:#0f172ab3;--glass-border:#ffffff1a;--success:#10b981;--warning:#f59e0b;--danger:#ef4444}*,:before,:after{box-sizing:border-box}body{background-color:var(--darker);color:var(--light);min-height:100vh;margin:0;font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}.grid-overlay{z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.blob{filter:blur(120px);z-index:-2;opacity:.5;border-radius:50%;position:fixed}.blob-1{background:#6366f166;width:50vw;height:50vw;top:-10%;left:-10%}.blob-2{background:#a855f74d;width:60vw;height:60vw;bottom:-20%;right:-10%}.blob-3{background:#06b6d426;width:40vw;height:40vw;top:40%;left:30%}h1,h2,h3,h4{font-family:Outfit,sans-serif}.text-primary{color:var(--primary-light)}.text-muted{color:#94a3b8}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}a{color:inherit;text-decoration:none;transition:all .2s}.navbar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid var(--glass-border);z-index:1000;background:#020617b3;padding:1.2rem 0;position:sticky;top:0}.nav-content{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:.6rem;font-family:Outfit;font-size:1.4rem;font-weight:800;display:flex}.logo-icon{font-size:1.6rem}.nav-badge{letter-spacing:.5px;color:#e879f9;background:linear-gradient(135deg,#6366f14d,#a855f74d);border:1px solid #a855f766;border-radius:50px;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.hero{text-align:center;padding:6rem 0 3rem}.hero-eyebrow{color:#e879f9;background:linear-gradient(135deg,#6366f133,#a855f733);border:1px solid #a855f74d;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-.03em;background:linear-gradient(135deg,#f8fafc 30%,#818cf8 70%,#e879f9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1.25rem;font-size:4rem;line-height:1.1}.hero-subtitle{color:#94a3b8;max-width:560px;margin:0 auto 2.5rem;font-size:1.15rem}.scanner-card{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172abf;border-radius:20px;max-width:720px;margin:0 auto;padding:2.5rem;box-shadow:0 20px 60px #00000059,inset 0 1px #ffffff0f}.url-input-row{gap:.75rem;display:flex}.url-input{color:#fff;background:#00000059;border:1px solid #ffffff1f;border-radius:12px;outline:none;flex:1;padding:.9rem 1.25rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .2s,box-shadow .2s}.url-input::placeholder{color:#475569}.url-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-glow)}.url-input.error{border-color:var(--danger);box-shadow:0 0 0 3px #ef444440}.btn-primary{background:linear-gradient(135deg, var(--primary), #6d28d9);color:#fff;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);white-space:nowrap;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.9rem 1.75rem;font-size:1rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary:hover:not(:disabled){box-shadow:0 8px 25px var(--primary-glow);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:#fff;border:1px solid var(--glass-border);cursor:pointer;background:#ffffff0d;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-ghost:hover{background:#ffffff1a}.btn-success{color:#10b981;cursor:pointer;background:#10b98126;border:1px solid #10b9814d;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-success:hover{background:#10b98140}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.scan-progress{text-align:center;padding:1.5rem 0 .5rem}.progress-label{color:#94a3b8;margin-top:.75rem;font-size:.9rem}.progress-bar-track{background:#ffffff14;border-radius:3px;height:3px;margin-top:1rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary-light), #e879f9);border-radius:3px;height:100%;animation:1.8s ease-in-out infinite progress-sweep}@keyframes progress-sweep{0%{width:0%;margin-left:0}50%{width:70%;margin-left:0}to{width:0%;margin-left:100%}}.results-section{max-width:900px;margin:2.5rem auto 4rem}.result-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.result-title{margin:0 0 .25rem;font-size:1.6rem;font-weight:800}.result-url{color:#64748b;font-family:JetBrains Mono,monospace;font-size:.85rem}.badges-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.badge{border-radius:50px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.badge-wp{color:#60a5fa;background:#219dff26;border:1px solid #219dff59}.badge-platform{color:#c084fc;background:#a855f726;border:1px solid #a855f759}.badge-warn{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59}.badge-danger{color:#f87171;background:#ef444426;border:1px solid #ef444459}.badge-safe{color:#34d399;background:#10b98126;border:1px solid #10b98159}.format-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.tab-btn{border:1px solid var(--glass-border);cursor:pointer;color:#94a3b8;background:#ffffff08;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.code-block{color:#94a3b8;background:#050d1a;border:1px solid #ffffff14;border-radius:14px;padding:1.5rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.88rem;line-height:1.8;position:relative;overflow-x:auto;box-shadow:inset 0 0 40px #6366f10d}.code-block .csp-directive{color:#818cf8;font-weight:600}.code-block .csp-value{color:#38bdf8}.code-block .csp-unsafe{color:#f87171}.code-block .csp-self{color:#34d399}.code-block-actions{justify-content:flex-end;gap:.5rem;margin-bottom:.75rem;display:flex}.breakdown-title{margin:2rem 0 1rem;font-size:1.15rem;font-weight:700}.directive-list{flex-direction:column;gap:.75rem;display:flex}.directive-row{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a99;border-radius:12px;grid-template-columns:180px 1fr auto;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .2s;display:grid}.directive-row:hover{border-color:#6366f14d}.directive-name{color:#818cf8;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.directive-sources{flex-wrap:wrap;gap:.35rem;display:flex}.source-chip{border-radius:6px;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500}.chip-self{color:#34d399;background:#10b98126;border:1px solid #10b98140}.chip-unsafe{color:#f87171;background:#ef444426;border:1px solid #ef444440}.chip-none{color:#94a3b8;background:#64748b26;border:1px solid #64748b40}.chip-external{color:#a5b4fc;background:#6366f126;border:1px solid #6366f140}.chip-data{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b40}.risk-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.risk-safe{background:var(--success);box-shadow:0 0 6px var(--success)}.risk-warn{background:var(--warning);box-shadow:0 0 6px var(--warning)}.risk-danger{background:var(--danger);box-shadow:0 0 6px var(--danger)}.warnings-box{background:#f59e0b14;border:1px solid #f59e0b40;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.warnings-box h4{color:#fbbf24;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;display:flex}.warnings-box ul{margin:0;padding-left:1.25rem}.warnings-box li{color:#d97706;margin-bottom:.4rem;font-size:.88rem;line-height:1.5}.error-card{text-align:center;background:#ef444414;border:1px solid #ef444440;border-radius:14px;padding:2rem}.error-card h3{color:#f87171;margin-bottom:.5rem}.error-card p{color:#94a3b8;margin:0;font-size:.9rem}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0;transform:translateY(-10px)}footer{border-top:1px solid #ffffff0d;margin-top:4rem;padding:2rem 0}.footer-inner p{color:#475569;margin:0;font-size:.85rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s forwards fadeInUp}.delay-1{opacity:0;animation-delay:.1s}.delay-2{opacity:0;animation-delay:.2s}.delay-3{opacity:0;animation-delay:.3s}@media (width<=768px){.hero-title{font-size:2.6rem}.url-input-row{flex-direction:column}.directive-row{grid-template-columns:1fr}.directive-name{font-size:.8rem}.result-header{flex-direction:column}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.hover-white:hover{color:#fff!important}footer{border-top:1px solid var(--glass-border);background:#02061766;margin-top:6rem;padding:4rem 0 2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}
