:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;background:#0a0a0f;min-height:100dvh;font-family:ui-monospace,Consolas,monospace;overflow-x:hidden}#root{border:none;flex-direction:column;align-items:center;width:100%;max-width:100%;min-height:100dvh;display:flex}.landing{background:radial-gradient(80% 50% at 50% 60%,#6328b42e 0%,#0000 70%),radial-gradient(60% 40% at 30% 80%,#1e50b41a 0%,#0000 60%),#0a0a0f;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:2rem;display:flex}.landing h1{letter-spacing:-.03em;color:#f1f5f9;text-align:center;margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.landing .sub{color:#64748b;letter-spacing:.05em;text-align:center;margin-bottom:3rem;font-family:ui-monospace,Consolas,monospace;font-size:clamp(.75rem,2vw,.95rem)}.scan-btn{letter-spacing:.15em;color:#0a0a0f;cursor:pointer;background:#22c55e;border:none;border-radius:4px;padding:1rem 2.5rem;font-family:ui-monospace,Consolas,monospace;font-size:1rem;font-weight:700;transition:transform .1s;animation:2s ease-in-out infinite pulse-green}.scan-btn:hover{transform:scale(1.04)}.scan-btn:active{transform:scale(.98)}@keyframes pulse-green{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 16px #22c55e00}}.wall-page{background:radial-gradient(80% 50% at 50% 20%,#6328b41f 0%,#0000 70%),#0a0a0f;flex-direction:column;align-items:center;width:100%;min-height:100dvh;padding:2rem 1rem 6rem;display:flex}.wall-title{letter-spacing:.12em;color:#475569;text-transform:uppercase;margin-bottom:2.5rem;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700}.shield-grid{flex-wrap:wrap;justify-content:center;gap:1.5rem 1rem;width:100%;max-width:900px;display:flex}.score-hud{text-align:right;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0a0a0fd9;border:1px solid #1e293b;border-radius:8px;padding:.6rem 1rem;position:fixed;top:1.25rem;right:1.5rem}.score-hud .label{letter-spacing:.12em;color:#475569;text-transform:uppercase;margin-bottom:.1rem;font-size:.6rem}.score-hud .number{font-size:2rem;font-weight:800;line-height:1;transition:color .6s}.score-red{color:#ef4444}.score-amber{color:#f59e0b}.score-green{color:#22c55e}.shield-item{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.4rem;width:80px;display:flex;position:relative}.shield-label{letter-spacing:.08em;color:#64748b;text-transform:uppercase;text-align:center;font-size:.6rem}.shield-svg{width:72px;height:84px;filter:drop-shadow(0 0 10px var(--glow));transition:filter .3s,transform .2s;overflow:visible}.shield-item:hover .shield-svg{filter:drop-shadow(0 0 18px var(--glow));transform:translateY(-4px)scale(1.06)}.shield-cracked{--glow:#ef4444b3}.shield-partial{--glow:#f59e0bb3}.shield-solid{--glow:#22c55ecc}.shield-solid .shield-svg{animation:2.5s ease-in-out infinite solid-pulse}@keyframes solid-pulse{0%,to{filter:drop-shadow(0 0 10px #22c55ecc)}50%{filter:drop-shadow(0 0 22px #22c55e)drop-shadow(0 0 40px #22c55e66)}}.shield-item .sigil{pointer-events:none;font-size:1.3rem;position:absolute;top:28px}.shield-tooltip{pointer-events:none;z-index:200;background:#0f172a;border:1px solid #1e293b;border-radius:6px;width:200px;padding:.6rem .8rem;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.shield-tooltip .t-name{color:#94a3b8;letter-spacing:.06em;margin-bottom:.25rem;font-size:.65rem;font-weight:700}.shield-tooltip .t-value{color:#ef4444;word-break:break-all;margin-bottom:.35rem;font-size:.6rem}.shield-tooltip .t-value.present{color:#f59e0b}.shield-tooltip .t-risk{color:#64748b;font-size:.6rem;line-height:1.4}.detail-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;background:#05050aeb;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.detail-panel{background:#0d1117;border:1px solid #1e293b;border-radius:12px;grid-template-columns:1fr 1.6fr;width:min(900px,100%);max-height:90dvh;display:grid;overflow-y:auto}@media (width<=640px){.detail-panel{grid-template-columns:1fr}}.detail-left{background:#080b0f;border-right:1px solid #1e293b;border-radius:12px 0 0 12px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2.5rem 2rem;display:flex}.detail-shield-wrap .shield-svg{width:120px;height:140px}.detail-right{flex-direction:column;gap:1rem;padding:2rem;display:flex}.detail-header-name{color:#f1f5f9;letter-spacing:-.02em;word-break:break-all;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:800}.detail-attack-name{letter-spacing:.15em;color:#ef4444;text-transform:uppercase;font-size:.75rem;font-weight:800}.detail-description{color:#94a3b8;font-size:.78rem;line-height:1.65}.detail-example-label{letter-spacing:.12em;color:#475569;text-transform:uppercase;font-size:.6rem}.detail-example{color:#64748b;border-left:2px solid #1e293b;padding-left:.75rem;font-size:.72rem;line-height:1.55}.detail-hardened-label{letter-spacing:.12em;color:#475569;text-transform:uppercase;font-size:.6rem}.detail-hardened-value{color:#22c55e;word-break:break-all;background:#22c55e12;border:1px solid #22c55e33;border-radius:4px;padding:.4rem .6rem;font-size:.65rem;line-height:1.5}.attack-demo{background:#060911;border:1px solid #1e293b;border-radius:6px;flex-shrink:0;height:100px;position:relative;overflow:hidden}.demo-label{letter-spacing:.1em;color:#334155;text-transform:uppercase;z-index:1;font-size:.55rem;position:absolute;top:6px;left:8px}.demo-browser{background:#1e293b;border:1px solid #334155;border-radius:3px;flex-direction:column;width:75%;height:50px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.demo-browser-bar{background:#0f172a;border-radius:3px 3px 0 0;align-items:center;gap:3px;height:12px;padding:0 4px;display:flex}.demo-browser-dot{background:#334155;border-radius:50%;width:5px;height:5px}.demo-browser-body{color:#64748b;flex:1;justify-content:center;align-items:center;font-size:.55rem;display:flex;position:relative;overflow:hidden}.demo-script-tag{color:#a78bfa;white-space:nowrap;font-size:.6rem;animation:5s linear infinite script-slide-in;position:absolute}@keyframes script-slide-in{0%{opacity:0;left:110%}15%{opacity:1;left:5%}65%{opacity:1;left:5%}75%{opacity:0}75.1%{opacity:0;left:110%}to{opacity:0;left:110%}}.demo-cookie-stolen{color:#ef4444;white-space:nowrap;font-size:.55rem;font-weight:700;animation:5s linear infinite cookie-appear;position:absolute;top:6px;right:8px}@keyframes cookie-appear{0%,55%{opacity:0;transform:translateY(4px)}70%,90%{opacity:1;transform:translateY(0)}to{opacity:0}}.demo-url-bar{justify-content:center;align-items:center;gap:4px;font-size:.62rem;display:flex;position:absolute;inset:0}.demo-padlock{animation:5s linear infinite padlock-break}@keyframes padlock-break{0%,35%{opacity:1}50%,to{opacity:.25;filter:grayscale()}}.demo-url-https{animation:5s linear infinite https-fade}@keyframes https-fade{0%,35%{color:#22c55e}50%,to{color:#ef4444}}.demo-iframe-scene{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.demo-btn-legit{color:#fff;background:#1e40af;border:none;border-radius:3px;padding:4px 10px;font-size:.6rem;position:relative}.demo-btn-overlay{color:#0000;white-space:nowrap;background:#ef444414;border:1px dashed #ef4444;border-radius:3px;padding:4px 10px;font-size:.55rem;animation:5s linear infinite overlay-pulse;position:absolute}@keyframes overlay-pulse{0%,to{background:#ef44440a;border-color:#ef444433}50%{background:#ef444426;border-color:#ef4444cc}}.demo-hijack-label{color:#ef4444;font-size:.5rem;animation:5s linear infinite hijack-appear;position:absolute;bottom:10px;right:10px}@keyframes hijack-appear{0%,40%{opacity:0}55%,90%{opacity:1}to{opacity:0}}.demo-mime-scene{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.demo-file-icon{font-size:1.8rem;animation:5s linear infinite file-flip;display:inline-block}@keyframes file-flip{0%,35%{transform:rotateY(0)}48%{transform:rotateY(90deg)}49%{transform:rotateY(-90deg)}65%,to{transform:rotateY(0)}}.demo-file-name{font-size:.5rem;animation:5s linear infinite name-swap}@keyframes name-swap{0%,42%{color:#64748b}55%,to{color:#a78bfa}}.demo-ref-scene{justify-content:center;align-items:center;gap:6px;font-size:.6rem;display:flex;position:absolute;inset:0}.demo-ref-acme{color:#22c55e}.demo-ref-arrow{color:#ef4444;animation:5s linear infinite ref-arrow}@keyframes ref-arrow{0%{opacity:0;transform:translate(-6px)}20%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(6px)}to{opacity:0;transform:translate(12px)}}.demo-ref-third{color:#ef4444}.demo-ref-url{color:#ef4444;font-size:.45rem;animation:5s linear infinite ref-url-fade;position:absolute;top:8px}@keyframes ref-url-fade{0%,15%{opacity:0}30%,75%{opacity:1}90%,to{opacity:0}}.demo-perm-scene{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.demo-mic-icon{font-size:2rem;animation:5s linear infinite mic-activate}@keyframes mic-activate{0%,30%{filter:grayscale()brightness(.5)}50%,to{filter:none}}.demo-rec-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:5s linear infinite rec-blink}@keyframes rec-blink{0%,40%{opacity:0}55%,85%{opacity:1}90%,to{opacity:0}}.demo-coop-scene{justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.demo-win-box{background:#1e293b;border:1px solid #334155;border-radius:3px;flex-direction:column;width:58px;height:38px;font-size:.45rem;display:flex}.demo-win-titlebar{background:#0f172a;border-radius:3px 3px 0 0;height:9px}.demo-win-content{color:#64748b;flex:1;justify-content:center;align-items:center;display:flex}.demo-win-evil .demo-win-content{color:#ef4444;text-align:center;font-size:.4rem}.demo-coop-arrow{color:#ef4444;font-size:1rem;animation:5s linear infinite coop-steal}@keyframes coop-steal{0%,40%{opacity:.3;transform:scale(1)}60%,80%{opacity:1;transform:scale(1.4)}to{opacity:.3;transform:scale(1)}}.demo-coep-scene{justify-content:center;align-items:center;gap:8px;font-size:.6rem;display:flex;position:absolute;inset:0}.demo-coep-origin{color:#64748b}.demo-coep-arrow{color:#ef4444;animation:5s linear infinite coep-leak}@keyframes coep-leak{0%,to{opacity:.3;transform:translate(-4px)}50%{opacity:1;transform:translate(4px)}}.demo-coep-spectre{color:#a78bfa;font-size:.55rem;font-weight:700}.demo-corp-scene{justify-content:center;align-items:center;gap:6px;font-size:.55rem;display:flex;position:absolute;inset:0}.demo-corp-evil{color:#ef4444}.demo-corp-resource{color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:3px;padding:3px 6px;font-size:.48rem;animation:5s linear infinite corp-embed}@keyframes corp-embed{0%,to{box-shadow:none;border-color:#334155}50%{border-color:#ef4444aa;box-shadow:0 0 8px #ef444444}}.harden-btn{letter-spacing:.12em;color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;align-self:flex-start;margin-top:.5rem;padding:.7rem 1.5rem;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;font-weight:700;transition:background .2s,transform .1s}.harden-btn:hover{background:#dc2626;transform:scale(1.03)}.bottom-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:90;background:#0a0a0fe6;border-top:1px solid #1e293b;justify-content:center;gap:1rem;padding:.75rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.bar-btn{letter-spacing:.1em;cursor:pointer;color:#64748b;background:0 0;border:1px solid #1e293b;border-radius:4px;padding:.5rem 1.2rem;font-family:ui-monospace,Consolas,monospace;font-size:.75rem;font-weight:700;transition:color .2s,border-color .2s}.bar-btn:hover{color:#e2e8f0;border-color:#475569}.victory-overlay{z-index:500;background:#05050af7;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.victory-banner{letter-spacing:.05em;color:#fbbf24;text-align:center;padding:0 1rem;font-size:clamp(1rem,3vw,1.8rem);font-weight:800;animation:1.5s ease-in-out infinite gold-pulse}@keyframes gold-pulse{0%,to{text-shadow:0 0 20px #fbbf2499}50%{text-shadow:0 0 50px #fbbf24,0 0 80px #fbbf2466}}.victory-score{color:#22c55e;font-size:5rem;font-weight:900;line-height:1}.victory-restart{letter-spacing:.12em;color:#0a0a0f;cursor:pointer;background:#fbbf24;border:none;border-radius:4px;padding:.8rem 2rem;font-family:ui-monospace,Consolas,monospace;font-size:.85rem;font-weight:700;transition:transform .1s}.victory-restart:hover{transform:scale(1.04)}.particle{pointer-events:none;z-index:510;animation:particle-fly var(--dur) ease-out forwards;border-radius:50%;position:fixed}@keyframes particle-fly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(0);opacity:0}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0a0a0f}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}
