
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#062a2c;color:#eaf6f6;font-family:'Inter','Segoe UI',Arial,sans-serif;line-height:1.7;font-size:17px;overflow-x:hidden}
h1,h2,h3{font-family:'Sora','Segoe UI',Arial,sans-serif;line-height:1.2;color:#f2fbfb;letter-spacing:-.5px}
a{color:#7ef0e4}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
/* aurora background ribbons */
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.aurora svg{width:100%;height:100%}
.site-header{position:sticky;top:0;z-index:50;background:rgba(6,42,44,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(126,240,228,.18)}
.site-header .wrap{display:flex;align-items:center;gap:26px;padding:14px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#f2fbfb}
.brand svg{width:38px;height:38px;filter:drop-shadow(0 0 8px rgba(126,240,228,.6))}
.brand-name{font-family:'Sora',sans-serif;font-weight:800;font-size:25px;letter-spacing:-.5px}
.brand-name em{font-style:normal;background:linear-gradient(90deg,#5eead4,#f0abfc,#bef264);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{text-decoration:none;color:#cdeeee;font-weight:600;font-size:14px;padding:9px 13px;border-radius:999px}
.nav a:hover{background:rgba(126,240,228,.12);color:#fff}
.nav a.cta{background:linear-gradient(90deg,#14b8a6,#a855f7);color:#fff;font-weight:700;box-shadow:0 0 18px rgba(168,85,247,.55),0 0 42px rgba(20,184,166,.3)}
.nav a.cta:hover{box-shadow:0 0 26px rgba(168,85,247,.8),0 0 60px rgba(20,184,166,.45);background:linear-gradient(90deg,#2dd4bf,#c084fc)}
/* wave-top hero */
.hero{position:relative;padding:0 0 20px}
.hero-wave{display:block;width:100%;height:70px;margin-bottom:-6px}
.hero-inner{padding:34px 0 10px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#7ef0e4;background:rgba(126,240,228,.08);border:1px solid rgba(126,240,228,.3);padding:7px 16px;border-radius:999px;margin-bottom:20px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5eead4,#f0abfc);box-shadow:0 0 10px #5eead4}
.hero h1{font-size:clamp(38px,5.6vw,62px);margin:0 0 18px;font-weight:800}
.hero h1 .hl{background:linear-gradient(90deg,#5eead4,#f0abfc 55%,#bef264);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{max-width:64ch;color:#bfe3e0;font-size:18px}
.lede strong{color:#fff}
/* tool console - glassy */
.tool-card{background:rgba(255,255,255,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(126,240,228,.22);border-radius:22px;margin:30px 0 12px;box-shadow:0 24px 70px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.tool-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 26px;border-bottom:1px solid rgba(126,240,228,.16)}
.tool-head h2{margin:0;font-size:23px}
.tool-head h2 .hl{background:linear-gradient(90deg,#5eead4,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.privacy-chip{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#062a2c;background:linear-gradient(90deg,#5eead4,#bef264);padding:7px 15px;border-radius:999px;box-shadow:0 0 16px rgba(94,234,212,.5)}
.privacy-chip svg{width:15px;height:15px}
.tool-body{padding:28px 26px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}
.opt{background:rgba(6,42,44,.55);border:1px solid rgba(126,240,228,.18);border-radius:16px;padding:18px}
.opt-label{display:block;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#7ef0e4;margin-bottom:12px}
.opt-hint{font-size:13px;color:#9fc7c4;margin:10px 0 0}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{border:1px solid rgba(126,240,228,.35);background:rgba(255,255,255,.04);color:#d8f5f2;padding:9px 14px;font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit;border-radius:999px;transition:all .18s}
.seg button:hover{border-color:#5eead4}
.seg button[aria-pressed="true"]{background:linear-gradient(90deg,#14b8a6,#a855f7);border-color:transparent;color:#fff;box-shadow:0 0 14px rgba(168,85,247,.5)}
.num-row{display:flex;align-items:center;gap:12px}
.num-row input[type=range]{flex:1;accent-color:#2dd4bf}
.num-row input[type=number]{width:70px;background:rgba(255,255,255,.06);border:1px solid rgba(126,240,228,.35);color:#fff;padding:8px 10px;font-size:15px;border-radius:10px}
.range-val{font-family:'JetBrains Mono',monospace;font-weight:700;color:#5eead4;font-size:18px;min-width:34px;text-align:right}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.btn{border:1px solid rgba(126,240,228,.5);background:rgba(126,240,228,.08);color:#a7f3ea;padding:12px 24px;font-weight:700;font-size:14.5px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:9px;text-decoration:none;border-radius:999px;transition:all .18s}
.btn:hover{background:rgba(126,240,228,.18)}
.btn.primary{background:linear-gradient(90deg,#14b8a6,#a855f7);border:none;color:#fff;box-shadow:0 0 22px rgba(168,85,247,.6),0 0 50px rgba(20,184,166,.35);font-size:16px;padding:14px 30px}
.btn.primary:hover{box-shadow:0 0 34px rgba(168,85,247,.85),0 0 80px rgba(20,184,166,.5);transform:translateY(-1px)}
.btn svg{width:17px;height:17px}
.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.copy-note{font-size:14px;font-weight:600;color:#bef264}
.output{margin-top:20px;background:rgba(3,20,21,.6);border:1px solid rgba(126,240,228,.16);border-radius:16px;min-height:130px;padding:20px}
.output ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.output li{display:flex;gap:14px;background:rgba(255,255,255,.045);border:1px solid rgba(126,240,228,.16);border-radius:14px;padding:16px 18px;cursor:pointer;transition:all .15s}
.output li:hover{border-color:rgba(240,171,252,.5);box-shadow:0 0 18px rgba(240,171,252,.15)}
.output li .idx{flex:none;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:15px;background:linear-gradient(135deg,#5eead4,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;min-width:36px}
.output li .body{min-width:0;flex:1}
.output li .title{display:block;font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:#fff;margin-bottom:2px}
.output li .meta{display:block;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7ef0e4;margin-bottom:6px}
.output li .log{font-size:15px;color:#d5efed;margin:0 0 4px}
.output li .tw{font-size:14px;color:#b9a7e8;margin:0}
.output li .mini-copy{margin-left:auto;flex:none;align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#9fc7c4;border:1px dashed rgba(159,199,196,.6);padding:5px 11px;border-radius:999px}
.output .placeholder{color:#7fa8a5;text-align:center;margin:34px 0;font-size:15px}
.output-meta{margin-top:10px;font-size:13.5px;color:#8fb5b2;font-family:'JetBrains Mono',monospace}
.limits{margin-top:22px;background:rgba(240,171,252,.05);border:1px dashed rgba(240,171,252,.55);border-radius:16px;padding:20px 22px}
.limits h3{margin:0 0 10px;font-size:19px;color:#f0abfc;display:flex;align-items:center;gap:10px}
.limits h3 svg{width:22px;height:22px;flex:none}
.limits ul{margin:0;padding-left:20px;font-size:15px;color:#d5efed}
.limits li{margin-bottom:7px}
.section{padding:52px 0 8px}
.section h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 12px;font-weight:800}
.section h2 .hl{background:linear-gradient(90deg,#5eead4,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:#bfe3e0;max-width:66ch;margin:0 0 24px}
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.card{background:rgba(255,255,255,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(126,240,228,.2);border-radius:18px;padding:24px;transition:all .2s}
.card:hover{border-color:rgba(240,171,252,.45);transform:translateY(-3px)}
.card svg{width:30px;height:30px;color:#5eead4;margin-bottom:12px}
.card .n{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:2px;color:#f0abfc;text-transform:uppercase}
.card h3{margin:8px 0 10px;font-size:19px}
.card p{color:#bfe3e0;font-size:15px;margin:0}
.card code{background:rgba(0,0,0,.35);padding:2px 7px;border-radius:6px;font-size:13px;color:#bef264}
a.card-link{text-decoration:none;color:inherit;display:block}
.card-link .go{display:inline-block;margin-top:14px;font-weight:700;color:#7ef0e4;font-size:14px}
.cta-box{margin-top:26px;background:linear-gradient(120deg,rgba(20,184,166,.16),rgba(168,85,247,.16));border:1px solid rgba(168,85,247,.4);border-radius:20px;padding:30px;box-shadow:0 0 40px rgba(168,85,247,.15)}
.cta-box h3{margin:0 0 8px;font-size:23px}
.cta-box p{color:#bfe3e0;margin:0 0 18px;max-width:60ch}
.faq details{background:rgba(255,255,255,.045);border:1px solid rgba(126,240,228,.18);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:700;font-size:16.5px;color:#f2fbfb;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#5eead4}
.faq .plus{font-family:'JetBrains Mono',monospace;color:#f0abfc;font-size:20px;flex:none}
.faq .answer{padding:0 22px 20px;color:#cdeeee;font-size:15.5px}
.faq .answer a{color:#7ef0e4}
/* article pages */
.article{max-width:760px;margin:0 auto;padding:40px 24px 30px;position:relative;z-index:1}
.article .kicker{font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#7ef0e4;margin-bottom:14px}
.article h1{font-size:clamp(32px,4.6vw,50px);margin:0 0 16px;font-weight:800}
.article h1 .hl{background:linear-gradient(90deg,#5eead4,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.article .dateline{font-family:'JetBrains Mono',monospace;font-size:13px;color:#8fb5b2;margin-bottom:26px}
.article h2{font-size:26px;margin:38px 0 12px}
.article h2 .hl{background:linear-gradient(90deg,#5eead4,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.article p{color:#d5efed;margin:0 0 16px}
.article ul,.article ol{color:#d5efed;margin:0 0 18px;padding-left:22px}
.article li{margin-bottom:8px}
.article strong{color:#fff}
.article .pull{background:rgba(255,255,255,.05);border-left:4px solid #f0abfc;border-radius:0 14px 14px 0;padding:18px 22px;margin:26px 0;font-size:16px;color:#eef}
.breadcrumb{font-size:13px;color:#8fb5b2;margin-bottom:18px}
.breadcrumb a{color:#7ef0e4;text-decoration:none}
.related{margin-top:44px;border-top:1px solid rgba(126,240,228,.2);padding-top:24px}
.related h3{font-size:20px;margin:0 0 14px}
.related ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.related a{color:#7ef0e4;text-decoration:none;font-weight:600}
.related a:hover{color:#fff}
footer{margin-top:70px;border-top:1px solid rgba(126,240,228,.18);background:rgba(3,20,21,.7);backdrop-filter:blur(10px);position:relative;z-index:1}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:44px 24px 20px}
.foot-brand p{color:#9fc7c4;font-size:14.5px;max-width:34ch}
.foot-col h4{font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#7ef0e4;margin:0 0 14px}
.foot-col a{display:block;color:#cdeeee;text-decoration:none;font-size:15px;margin-bottom:9px}
.foot-col a:hover{color:#5eead4}
.foot-base{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(126,240,228,.14);padding:18px 0 8px;font-size:13px;color:#7fa8a5}
@media(max-width:760px){footer .wrap{grid-template-columns:1fr}.nav{margin-left:0}.tool-body{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
