:root{--bg:#040a1c;--bg2:#08143a;--line:#16295e;--blue:#2f6bff;--ice:#e8eeff;--mut:#8da0cf;--r:14px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:radial-gradient(120% 80% at 50% 0,var(--bg2),var(--bg) 60%) fixed;color:var(--ice);font:300 1rem/1.7 Sora,system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
#net{position:fixed;inset:0;width:100%;height:100%;z-index:0}
.glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(var(--blue),transparent 65%);opacity:.18;pointer-events:none;transform:translate(-50%,-50%);z-index:0;left:50%;top:30%}
.top,main,.term{position:relative;z-index:1}
.top{display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,5vw,56px);backdrop-filter:blur(10px);background:#040a1c99;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand img{height:54px;display:block;mix-blend-mode:screen;margin:-8px 0}
nav{display:flex;gap:6px;align-items:center}
nav a{color:var(--mut);text-decoration:none;padding:8px 14px;border-radius:99px;transition:.2s;font-size:.92rem}
nav a:hover,nav a.on{color:#fff}
nav a.on{background:#2f6bff22}
nav a.pill{border:1px solid var(--blue);color:#fff}
nav a.pill:hover{background:var(--blue)}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ice);margin:5px 0;transition:.25s}
main{flex:1;padding:0 clamp(16px,5vw,56px)}
.tab{display:none;max-width:1000px;margin:0 auto;padding:clamp(32px,7vw,80px) 0}
.tab.active{display:block;animation:in .45s ease}
@keyframes in{from{opacity:0;transform:translateY(10px)}}
h1,h2,h3{font-family:Michroma,Sora,sans-serif;font-weight:400;line-height:1.25}
h1{font-size:clamp(1.7rem,5.4vw,3.6rem);letter-spacing:.01em}
h1 span{color:var(--blue)}
.caret{display:inline-block;width:3px;height:.9em;background:var(--blue);margin-left:4px;vertical-align:-.1em;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
h2{font-size:clamp(1.4rem,4vw,2.2rem);margin-bottom:20px}
.hero p,.lead{color:var(--mut);max-width:62ch;margin:22px 0}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:99px;padding:14px 26px;font:600 .95rem Sora,sans-serif;text-decoration:none;cursor:pointer;transition:.2s;box-shadow:0 0 0 0 #2f6bff66}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #2f6bff55}
.btn.ghost{background:none;border:1px solid var(--line);color:var(--ice)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin-top:64px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stats div{background:#060f2ccc;padding:22px}
.stats b{font:400 2rem Michroma,sans-serif;color:var(--blue)}
.stats span{display:block;color:var(--mut);font-size:.88rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:36px}
.card{background:#08143acc;border:1px solid var(--line);border-radius:var(--r);padding:24px;cursor:pointer;transition:.25s;outline-offset:3px}
.card:hover,.card.open{border-color:var(--blue)}
.card h3{font-size:1rem;margin-bottom:10px}
.card p{color:var(--mut);font-size:.93rem}
.card small{display:block;margin-top:14px;color:var(--blue)}
.card ul{list-style:none;padding:0;max-height:0;overflow:hidden;transition:max-height .35s,margin .35s;color:var(--ice);font-size:.9rem}
.card.open ul{max-height:140px;margin-top:12px}
.card.open small{display:none}
.card li::before{content:"› ";color:var(--blue)}
form{display:grid;gap:22px;max-width:640px}
fieldset{border:0;padding:0;display:grid;gap:12px}
legend{font-family:Michroma,sans-serif;font-size:.85rem;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:#08143a;color:var(--ice);border:1px solid var(--line);border-radius:10px;padding:10px 16px;font:300 .92rem Sora,sans-serif;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--blue)}
.chip.sel{background:var(--blue);border-color:var(--blue);color:#fff}
.chip:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.days .chip{text-align:center;min-width:64px;line-height:1.3}
.days .chip b{display:block;font-weight:600}
label{display:grid;gap:6px;color:var(--mut);font-size:.88rem}
input,textarea{background:#060f2c;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ice);font:inherit;width:100%}
input:focus,textarea:focus,.chip:focus-visible,.btn:focus-visible,nav a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.summary{border:1px dashed var(--line);border-radius:10px;padding:14px;color:var(--mut);font-size:.92rem}
.summary.ready{border-color:var(--blue);color:var(--ice)}
.err{color:#ff7b8a;font-size:.9rem;min-height:1.2em}
.term{margin:40px clamp(16px,5vw,56px) 24px;border:1px solid var(--line);border-radius:var(--r);background:#030818ee;overflow:hidden;font:400 .86rem/1.7 ui-monospace,Menlo,Consolas,monospace}
.bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#08143a;border-bottom:1px solid var(--line);color:var(--mut)}
.bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.bar i:first-child{background:var(--blue)}
.bar span{margin-left:8px;flex:1}
.body{padding:16px 18px}
.line,#out p{margin:0;word-break:break-word}
.term em{color:var(--blue);font-style:normal;margin-right:8px}
.ok{color:#5fe3a1}
.term a{color:var(--blue)}
.prompt{display:flex;align-items:center;gap:0;margin-top:4px}
.prompt input{background:none;border:0;padding:0;font:inherit;color:var(--ice);outline:0}
.copy{text-align:center;color:var(--mut);font:300 .8rem Sora,sans-serif;padding:0 12px 14px}
@media(max-width:760px){
 .burger{display:block}
 nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#040a1cf5;border-bottom:1px solid var(--line);padding:12px 16px;display:none}
 nav.open{display:flex}
 nav a{padding:14px;text-align:center}
 .burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .brand img{height:46px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
