:root{--bg-dark: #0a0e14;--bg-panel: #161b22;--bg-input: #0d1117;--primary: #00ff9d;--primary-dim: rgba(0, 255, 157, .1);--secondary: #00f0ff;--accent: #ff0055;--text-main: #e6edf3;--text-muted: #8b949e;--border-color: #30363d;--grade-s: #d946ef;--grade-a: #00ff9d;--grade-b: #38bdf8;--grade-c: #fbbf24;--grade-d: #ef4444;--font-mono: "IBM Plex Mono", "JetBrains Mono", Consolas, monospace;--font-sans: "IBM Plex Mono", "JetBrains Mono", Consolas, monospace;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--rule: rgba(255, 255, 255, .09);--rule-strong: rgba(255, 255, 255, .18)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}button{cursor:pointer;font-family:var(--font-mono)}.animated-link{color:var(--text-main);text-decoration:none;font-size:.9rem;font-weight:700;display:inline-block;transition:all .2s cubic-bezier(.4,0,.2,1)}.animated-link:hover{color:var(--primary);transform:translateY(-2px);text-shadow:0 0 8px var(--primary-dim)}.container{max-width:1200px;margin:0 auto;padding:2rem}.mono{font-family:var(--font-mono)}.grade-s{color:var(--grade-s);text-shadow:0 0 10px rgba(217,70,239,.5)}.grade-a{color:var(--grade-a)}.grade-b{color:var(--grade-b)}.grade-c{color:var(--grade-c)}.grade-d{color:var(--grade-d)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s ease-out forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cyber-dots-wrapper{position:relative;width:14px;height:14px}.c-dot{position:absolute;width:5px;height:5px;background-color:var(--accent);border-radius:50%;box-shadow:0 0 5px var(--accent)}.c-dot:nth-child(1){top:0;left:0;animation:orbit-1 5s infinite ease-in-out}.c-dot:nth-child(2){top:0;right:0;animation:orbit-2 6s infinite ease-in-out}.c-dot:nth-child(3){bottom:0;left:0;animation:orbit-3 4.5s infinite ease-in-out}.c-dot:nth-child(4){bottom:0;right:0;animation:orbit-4 5.5s infinite ease-in-out}@keyframes orbit-1{0%,to{transform:translate(0);opacity:1}25%{transform:translate(250px,-10px);opacity:.2}50%{transform:translate(300px,15px);opacity:.8}75%{transform:translate(50px,20px);opacity:.4}}@keyframes orbit-2{0%,to{transform:translate(0);opacity:1}30%{transform:translate(150px,20px);opacity:.5}60%{transform:translate(280px,-5px);opacity:1}80%{transform:translate(100px,-15px);opacity:.3}}@keyframes orbit-3{0%,to{transform:translate(0);opacity:1}20%{transform:translate(80px,-20px);opacity:.8}50%{transform:translate(240px,10px);opacity:.2}80%{transform:translate(120px,25px);opacity:.9}}@keyframes orbit-4{0%,to{transform:translate(0);opacity:1}40%{transform:translate(200px,10px);opacity:.4}70%{transform:translate(100px,-25px);opacity:1}90%{transform:translate(30px,5px);opacity:.1}}.btn-primary{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--primary);color:#000;border:none;border-radius:6px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a;width:100%;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px var(--primary-dim),0 10px 15px -3px #0000001a}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-color)}.flip-card-container{perspective:1000px;height:100%}.flip-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.flip-card-container:hover .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;overflow:hidden}.flip-card-front{background:var(--bg-panel);border:1px solid var(--border-color);transition:border-color .3s ease,box-shadow .3s ease}.flip-card-container:hover .flip-card-front{border-color:var(--tier-dim);box-shadow:0 0 15px var(--tier-shadow)}.flip-card-back{background:var(--bg-input);border:1px solid var(--tier-main);color:var(--text-main);transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;box-shadow:0 0 35px var(--tier-shadow)}.flip-card-back h4{color:var(--tier-main)!important;border-bottom-color:var(--tier-dim)!important}.quiz-option-btn{display:flex;align-items:center;width:100%;padding:1.2rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;color:var(--text-main);font-size:1.1rem;cursor:pointer;margin-bottom:1rem;transition:all .2s ease;text-align:left;font-family:var(--font-sans)}.quiz-option-btn:hover{border-color:var(--primary);background:#00ff9d0d;box-shadow:0 0 15px var(--primary-dim)}.quiz-option-btn:active{transform:scale(.99)}.quiz-indicator{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted);margin-right:1.5rem;transition:all .2s ease}.quiz-option-btn:hover .quiz-indicator{background:var(--primary);border-color:var(--primary);box-shadow:0 0 10px var(--primary)}.cyber-select{background:var(--bg-input);color:var(--text-main);border:1px solid var(--border-color);padding:.8rem 1rem;border-radius:8px;width:100%;font-size:1rem;outline:none;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em}.cyber-select:hover,.cyber-select:focus{border-color:var(--secondary);box-shadow:0 0 10px #00f0ff1a}.progress-rail{width:100%;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden;margin-bottom:1.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .4s ease-out;box-shadow:0 0 10px var(--primary-dim)}.compare-grid{display:grid;grid-template-columns:minmax(140px,1fr) 1fr 1fr;gap:1rem;padding:1.2rem;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}@media(max-width:768px){.compare-selectors{grid-template-columns:1fr!important}.vs-badge{margin:1rem auto}.compare-grid{grid-template-columns:1fr;text-align:center;gap:.5rem}.compare-label{margin-bottom:.5rem;color:var(--secondary)!important}}.cost-toggle{background:transparent;color:var(--text-muted);border:1px solid var(--border-color);padding:.6rem 1.2rem;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:var(--font-mono);font-size:.9rem}.cost-toggle.active{background:var(--primary);color:#000;border-color:var(--primary);box-shadow:0 0 15px var(--primary-dim)}.cost-toggle:hover:not(.active){border-color:var(--text-main);color:var(--text-main)}.cost-row{display:flex;align-items:center;gap:1.5rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.cost-bar-track{flex:1;background:var(--bg-input);height:16px;border-radius:99px;overflow:hidden}.cost-bar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #0000004d}@media(max-width:600px){.container{padding:1rem}}@media(max-width:900px){.manager-details [style*="2fr 1fr"],.manager-details [style*="gridTemplateColumns: '2fr 1fr'"]{grid-template-columns:1fr!important}}@media(max-width:600px){.manager-details [style*="display: 'flex'"][style*="gap: '2rem'"]{flex-direction:column!important;gap:1rem!important}.manager-details h1{font-size:1.8rem!important}}@media(max-width:600px){.cost-row{flex-wrap:wrap;gap:.5rem}.cost-bar-track{width:100%;flex:unset}.cost-toggle{padding:.5rem .8rem;font-size:.8rem}}@media(max-width:480px){.dashboard [style*="minmax(260px"]{grid-template-columns:1fr!important}}@media(max-width:600px){.quiz-option-btn{font-size:1rem;padding:1rem}}.cost-row-link{border-radius:6px;transition:background .15s ease,transform .15s ease}a.cost-row-link:hover{background:#ffffff0a;transform:translate(2px)}a.cost-row-link:focus-visible,a.free-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a.free-chip{transition:filter .15s ease,transform .15s ease}a.free-chip:hover{filter:brightness(1.35);transform:translateY(-1px)}@keyframes radar-ping{0%{transform:scale(1);opacity:.8}50%{transform:scale(2);opacity:0}to{transform:scale(3);opacity:0}}.dossier{--dossier-accent: var(--primary);position:relative;max-width:1180px;margin:0 auto}.dossier:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.dossier>*{position:relative;z-index:1}.dossier-slug{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.22em;color:var(--text-muted);padding-bottom:.7rem;border-bottom:1px solid var(--rule-strong)}.dossier-grade{font-family:var(--font-display);font-size:clamp(5.5rem,13vw,9.5rem);line-height:.78;letter-spacing:-.04em;display:block}.dossier-name{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.2rem);line-height:1.02;letter-spacing:-.02em;font-weight:400;margin:0}.dossier-standfirst{font-family:var(--font-display);font-style:italic;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.45;color:var(--text-muted);max-width:46ch;margin:.9rem 0 0}.dossier-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.2em;color:var(--text-muted);padding-bottom:.55rem;margin:0 0 1.35rem;border-bottom:1px solid var(--rule)}.dossier-list{list-style:none;margin:0;padding:0}.dossier-list li{display:grid;grid-template-columns:1.4rem 1fr;gap:.2rem;padding:.42rem 0;font-size:.94rem;line-height:1.55}.dossier-list .mark{font-family:var(--font-mono);opacity:.85}.spec-row{display:grid;grid-template-columns:8.5rem 1fr;gap:.5rem 1rem;padding:.72rem 0;border-bottom:1px solid var(--rule);align-items:baseline}.spec-row:last-child{border-bottom:none}.spec-key{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;color:var(--text-muted);padding-top:.15rem}.spec-val{font-size:.92rem;line-height:1.5;word-break:break-word}.dossier-entry{display:grid;grid-template-columns:7.5rem 1fr;gap:.4rem 1.25rem;padding:1.05rem 0;border-bottom:1px solid var(--rule)}.dossier-entry:last-child{border-bottom:none}.dossier-entry .when{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);padding-top:.2rem}.dossier-cta{display:block;text-align:center;padding:.95rem 1.25rem;background:var(--primary);color:#05070a;font-family:var(--font-mono);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-decoration:none;transition:filter .18s ease,transform .18s ease}.dossier-cta:hover{filter:brightness(1.12);transform:translateY(-1px)}.dossier-ghost{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--rule-strong);padding-bottom:2px;transition:color .18s ease,border-color .18s ease}.dossier-ghost:hover{color:var(--primary);border-color:var(--primary)}@keyframes dossier-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{animation:dossier-rise .62s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.rise{animation:none}}@media(max-width:860px){.dossier-entry,.spec-row{grid-template-columns:1fr;gap:.25rem}}@media(max-width:900px){.dossier-body{grid-template-columns:minmax(0,1fr)!important;gap:2.75rem!important}}.threat-row{border-left:3px solid var(--border-color);border-bottom:1px solid rgba(255,255,255,.06);padding:1.1rem .5rem 1.1rem 1.25rem;transition:background .15s ease}.threat-row:last-child{border-bottom:none}.threat-row:hover{background:#ffffff08}.threat-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;flex-wrap:wrap}.threat-row h3{margin:0;font-size:1.02rem;color:var(--text-main);letter-spacing:.02em}.threat-row .sev-tag{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.threat-row .row-meta{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:.3rem 0 .45rem}.threat-row .row-desc{font-size:.9rem;line-height:1.6;color:var(--text-muted);margin:0;max-width:72ch}.threat-year-rule{display:flex;align-items:center;gap:.9rem;margin:2.2rem 0 .9rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;color:var(--text-muted)}.threat-year-rule:after{content:"";flex:1;height:1px;background:var(--border-color)}.threat-pill{background:transparent;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);padding:.32rem .85rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;transition:all .15s ease}.threat-pill:hover{border-color:var(--text-main);color:var(--text-main)}.threat-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.threat-search{flex:1;min-width:220px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;color:var(--text-main);font-family:var(--font-mono);font-size:.85rem;padding:.65rem .85rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.threat-search:focus{border-color:var(--accent);box-shadow:0 0 10px #ff005526}.threat-search::placeholder{color:var(--text-muted);opacity:.75}a.news-entry{transition:background .16s ease}a.news-entry:hover{background:#ffffff06}a.news-entry:hover h3{color:var(--primary)}
