@keyframes sqli-fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes sqli-gridMove{to{background-position:32px 32px}}@keyframes sqli-glow{0%,to{text-shadow:0 0 18px #39ff1455}50%{text-shadow:0 0 38px #39ff14cc,0 0 6px #39ff14}}@keyframes sqli-pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes sqli-blink{50%{opacity:0}}@keyframes sqli-bar{0%{width:0}}@keyframes sqli-scan{0%{top:-10%}to{top:110%}}@keyframes sqli-glitch{0%,92%,to{transform:none}93%{transform:translate(-3px,1px)}95%{transform:translate(3px,-1px)}97%{transform:translate(-1px,2px)}}@keyframes sqli-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.sqli-lab{color:#eaffee;background-color:#050907;width:100%;min-height:100vh;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.65;overflow:hidden}.sqli-lab a{color:#39ff14}.sqli-lab .gridbg{pointer-events:none;opacity:.12;background-image:linear-gradient(#39ff1415 1px,#0000 1px),linear-gradient(90deg,#39ff1415 1px,#0000 1px);background-size:32px 32px;animation:4s linear infinite sqli-gridMove;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.sqli-lab header{background:#07100bdc;border-bottom:1px solid #39ff1440;justify-content:space-between;align-items:center;padding:18px clamp(18px,5vw,70px);display:flex;position:relative}.sqli-lab .brand{letter-spacing:2px;color:#39ff14;font-weight:900}.sqli-lab .brand span{color:#eaffee}.sqli-lab .brand small{color:#9bb4a0;font-size:10px}.sqli-lab .status{color:#7dff8b;font-size:12px}.sqli-lab .status:before{content:"●";color:#39ff14;margin-right:8px;animation:1.4s infinite sqli-pulse}.sqli-lab .wrap{max-width:1120px;margin:auto;padding:42px 22px 70px;position:relative}.sqli-lab .eyebrow{color:#39ff14;letter-spacing:3px;text-transform:uppercase;font-size:12px}.sqli-lab .hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:28px;padding:34px 0 50px;display:grid}.sqli-lab .hero h1{letter-spacing:-4px;opacity:1;margin:14px 0 18px;font-size:clamp(44px,8vw,86px);line-height:.98;animation:5s infinite sqli-glitch}.sqli-lab .hero h1 em{color:#39ff14;text-shadow:0 0 24px #39ff1455;font-style:normal;animation:2.5s ease-in-out infinite sqli-glow}.sqli-lab .lead{color:#b7c9bb;max-width:650px}.sqli-lab .terminal{background:#07100c;border:1px solid #39ff1466;border-radius:14px;animation:6s ease-in-out infinite sqli-float;position:relative;overflow:hidden;box-shadow:0 0 36px #39ff1412}.sqli-lab .terminal:after{content:"";pointer-events:none;background:linear-gradient(#0000,#39ff1418,#0000);height:40px;animation:3.5s linear infinite sqli-scan;position:absolute;left:0;right:0}.sqli-lab .termhead{color:#8aa991;border-bottom:1px solid #39ff1433;gap:7px;padding:13px;font-size:12px;display:flex}.sqli-lab .dot{background:#ff5f56;border-radius:50%;width:9px;height:9px}.sqli-lab .dot:nth-child(2){background:#ffbd2e}.sqli-lab .dot:nth-child(3){background:#27c93f}.sqli-lab .termcontent{color:#b8d7c0;padding:22px;font-size:13px;overflow:auto}.sqli-lab .termcontent>*{opacity:0;animation:.4s forwards sqli-fadeUp}.sqli-lab .termbar{background:#18321e;height:5px;margin-top:12px}.sqli-lab .termbar>div{background:#39ff14;width:88%;height:5px;animation:2.2s ease-out 2.4s both sqli-bar;box-shadow:0 0 10px #39ff14}.sqli-lab .cursor{vertical-align:middle;background:#39ff14;width:8px;height:14px;margin-left:4px;animation:1s step-end infinite sqli-blink;display:inline-block}.sqli-lab .green{color:#39ff14}.sqli-lab .red{color:#ff666e}.sqli-lab .yellow{color:#ffdc66}.sqli-lab .cta{color:#041007;background:#39ff14;border-radius:5px;margin-top:14px;padding:12px 17px;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s;animation:2.4s ease-in-out infinite sqli-pulse;display:inline-block;box-shadow:0 0 22px #39ff1433}.sqli-lab .cta:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 0 32px #39ff1488}.sqli-lab .section{margin-top:24px}.sqli-lab .section h2{letter-spacing:-1px;margin:0 0 16px;font-size:clamp(22px,4vw,32px)}.sqli-lab .section h2 b{color:#39ff14}.sqli-lab .cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.sqli-lab .card{background:#08110c;border:1px solid #39ff143d;border-radius:12px;padding:20px}.sqli-lab .num{color:#39ff14;letter-spacing:2px;font-size:12px}.sqli-lab .card h3{color:#effff1;margin:7px 0}.sqli-lab .card p{color:#a8bcae;margin:0;font-size:14px}.sqli-lab .codebox{background:#030604;border:1px solid #294c35;border-radius:10px;overflow:hidden}.sqli-lab .codebar{color:#a8c5ad;background:#0c1b11;border-bottom:1px solid #294c35;justify-content:space-between;gap:12px;padding:11px 15px;font-size:12px;display:flex}.sqli-lab .code{white-space:pre;color:#d8e9dc;padding:18px;font-size:13px;line-height:1.8;overflow:auto}.sqli-lab .code .comment{color:#6f8a76}.sqli-lab .code .keyword{color:#75c7ff}.sqli-lab .code .str{color:#ffcf6e}.sqli-lab .split{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sqli-lab .tag{color:#f77;border:1px solid #ff6868;border-radius:4px;padding:3px 7px}.sqli-lab .safe .tag{color:#39ff14;border-color:#39ff14}.sqli-lab .note{color:#c3d9c8;background:#0b1a10;border-left:3px solid #39ff14;margin-top:14px;padding:13px 16px;font-size:13px}.sqli-lab .simulator{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}.sqli-lab .field{flex-direction:column;gap:8px;margin:14px 0;display:flex}.sqli-lab .field label{color:#a8c7ae;font-size:13px}.sqli-lab .field input{color:#eaffee;width:100%;font:inherit;background:#030604;border:1px solid #31583b;border-radius:6px;padding:12px}.sqli-lab .field input:focus{outline:2px solid #39ff1480}.sqli-lab .btn{color:#041007;font:inherit;cursor:pointer;background:#39ff14;border:0;border-radius:5px;padding:11px 15px;font-weight:900;transition:transform .2s,box-shadow .2s}.sqli-lab .btn:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 0 32px #39ff1488}.sqli-lab .result{color:#b8d9bf;background:#030604;border:1px dashed #31583b;border-radius:8px;min-height:150px;padding:16px;font-size:13px}.sqli-lab .result strong{color:#39ff14}.sqli-lab .result.flash{animation:.5s sqli-fadeUp}.sqli-lab .checklist{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.sqli-lab .check{color:#b6cbbb;border:1px solid #294c35;border-radius:8px;padding:14px}.sqli-lab .check b{color:#39ff14;margin-bottom:3px;display:block}.sqli-lab footer{text-align:center;color:#6f8a76;border-top:1px solid #39ff1433;padding:26px;font-size:12px}.sqli-lab .reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.sqli-lab .reveal.in{opacity:1;transform:none}.sqli-lab .card,.sqli-lab .check,.sqli-lab .codebox{transition:transform .3s,box-shadow .3s,border-color .3s}.sqli-lab .card:hover,.sqli-lab .check:hover,.sqli-lab .codebox:hover{border-color:#39ff14;transform:translateY(-6px);box-shadow:0 10px 30px #39ff1425}.sqli-lab .hero-intro>*{opacity:0;animation:.7s forwards sqli-fadeUp}.sqli-lab .hero-intro>:nth-child(2){animation-delay:.15s}.sqli-lab .hero-intro>:nth-child(3){animation-delay:.3s}.sqli-lab .hero-intro>:nth-child(4){animation-delay:.45s}html{scroll-behavior:smooth}@media (width<=760px){.sqli-lab .hero,.sqli-lab .split,.sqli-lab .simulator,.sqli-lab .cards,.sqli-lab .checklist{grid-template-columns:1fr}.sqli-lab .hero h1{letter-spacing:-2px}.sqli-lab .wrap{padding-top:28px}}@media (prefers-reduced-motion:reduce){.sqli-lab *,.sqli-lab :before,.sqli-lab :after{transition:none!important;animation:none!important}.sqli-lab .reveal,.sqli-lab .termcontent>*,.sqli-lab .hero-intro>*{opacity:1!important;transform:none!important}}
