/* KelvoraCAD site styles */
:root{--bg:#090b10;--sidebar:#0d1017;--card:#121620;--border:#1a2233;--hover:#171e2e;--accent:#3b82f6;--cyan:#06b6d4;--emerald:#10b981;--amber:#f59e0b;--rose:#f43f5e;--purple:#c084fc;--text:#e2e8f0;--muted:#94a3b8;--dim:#64748b;--head:4rem}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;line-height:1.5}
main.page{flex:1}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
code,pre{font-family:'Fira Code',monospace}
code{color:var(--cyan);font-size:.92em}
strong{color:#fff}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.container{max-width:80rem;width:100%;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 2rem}}
.c-accent{color:var(--accent)}.c-cyan{color:var(--cyan)}.c-emerald{color:var(--emerald)}.c-amber{color:var(--amber)}.c-rose{color:var(--rose)}.c-purple{color:var(--purple)}.c-blue{color:#60a5fa}.c-white{color:#fff}.c-muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:rgba(9,11,16,.95);backdrop-filter:blur(12px)}
.site-header .bar{height:var(--head);display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:.05em;font-size:1.1rem;color:#fff}.brand .logo{height:2rem;width:auto;display:block}.brand .wm{font-weight:800}.brand span{color:var(--accent)}
.nav{display:none;gap:.25rem;margin-left:2rem;font-size:.875rem;font-weight:500}
.nav a{padding:.375rem .75rem;border-radius:.375rem;color:var(--muted);transition:.15s}
.nav a:hover{color:#fff;background:var(--hover)}.nav a.active{color:#fff;background:var(--hover)}
.left,.right{display:flex;align-items:center}.right{gap:.75rem}
.live{display:none;font:500 .625rem 'Fira Code',monospace;padding:.25rem .625rem;border-radius:999px;color:var(--emerald);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3)}
.live i{font-size:6px;margin-right:6px;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4}}
.menu-btn{padding:.5rem;color:var(--muted);font-size:1.1rem}
.mobile-menu{border-top:1px solid var(--border);background:var(--card);padding:.75rem 1rem;font-size:.875rem}
.mobile-menu a{display:block;padding:.4rem 0;color:#cbd5e1}.mobile-menu a.active{color:var(--accent);font-weight:600}
@media(min-width:640px){.live{display:inline-block}}
@media(min-width:768px){.nav{display:flex}.menu-btn{display:none}.mobile-menu{display:none!important}}

/* Buttons / badges / cards */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;transition:.15s}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 35px -5px rgba(59,130,246,.35)}.btn-primary:hover{background:#2563eb}
.btn-ghost{background:var(--card);border:1px solid var(--border);color:#e2e8f0}.btn-ghost:hover{background:var(--hover)}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:999px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:var(--accent);font:400 .75rem 'Fira Code',monospace}
.badge{display:inline-block;font-size:.625rem;padding:.1rem .5rem;border-radius:.25rem;border:1px solid}
.badge.emerald{background:rgba(16,185,129,.2);color:var(--emerald);border-color:rgba(16,185,129,.4)}
.badge.rose{background:rgba(244,63,94,.2);color:var(--rose);border-color:rgba(244,63,94,.4)}
.badge.amber{background:rgba(245,158,11,.2);color:var(--amber);border-color:rgba(245,158,11,.4)}
.badge.cyan{background:rgba(6,182,212,.2);color:var(--cyan);border-color:rgba(6,182,212,.4)}
.badge.accent{background:rgba(59,130,246,.2);color:var(--accent);border-color:rgba(59,130,246,.4)}
.card{background:var(--card);border:1px solid var(--border);border-radius:1rem}
.card-sm{background:var(--card);border:1px solid var(--border);border-radius:.75rem}
.inset{background:var(--bg);border:1px solid var(--border);border-radius:.5rem}
.grid{display:grid;gap:1.5rem}
.g2,.g3{grid-template-columns:1fr}
@media(min-width:640px){.g2s{grid-template-columns:1fr 1fr}}
@media(min-width:768px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}}
.icon-box{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;border:1px solid}
.icon-box.accent{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);color:var(--accent)}
.icon-box.cyan{background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.3);color:var(--cyan)}
.icon-box.emerald{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3);color:var(--emerald)}

/* Home */
.hero{padding:5rem 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}
.hero h1{font-size:clamp(2.25rem,6vw,3.75rem);font-weight:800;color:#fff;letter-spacing:-.025em;line-height:1.15;max-width:56rem}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{color:#cbd5e1;max-width:42rem;font-size:1.05rem;line-height:1.7}
.hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:.5rem}
@media(min-width:1024px){.hero{padding:8rem 0}}
.section{padding:4rem 0;border-top:1px solid var(--border)}
.feature{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.feature h3{font-size:1.1rem;font-weight:700;color:#fff}.feature p{font-size:.8rem;color:var(--muted);line-height:1.65}
.cta{text-align:center;padding:2.5rem 1.5rem;background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(6,182,212,.06)),var(--card)}
.cta h2{font-size:1.5rem;font-weight:800;color:#fff}.cta p{color:var(--muted);font-size:.875rem;margin:.5rem 0 1.25rem}

/* Page headings */
.pagewrap{padding-top:3rem;padding-bottom:3rem;display:flex;flex-direction:column;gap:2rem}
.pagehead h1{font-size:1.875rem;font-weight:800;color:#fff}.pagehead p{color:var(--muted);font-size:.875rem;margin-top:.25rem}
.shot{display:flex;flex-direction:column;overflow:hidden}
.shot .art{height:14rem;background:var(--bg);border-bottom:1px solid var(--border);position:relative;display:flex;align-items:center;justify-content:center;text-align:center}
.shot .art:before{content:"";position:absolute;inset:0;background:var(--wash)}
.shot .art div{position:relative;display:flex;flex-direction:column;gap:.5rem}
.shot .art i{font-size:2.25rem}.shot .art span{font:400 .75rem 'Fira Code',monospace;color:#cbd5e1}
.shot .body{padding:1.25rem}.shot h3{color:#fff;font-weight:700;margin-bottom:.5rem}.shot p{font-size:.75rem;color:var(--muted);line-height:1.65}
.about{padding:2rem;font-size:.875rem;line-height:1.7;color:#cbd5e1;display:flex;flex-direction:column;gap:1.5rem}
.stat{padding:1rem;text-align:center}.stat b{display:block;font-size:1.5rem;font-weight:800;color:#fff}.stat span{font-size:.75rem;color:var(--muted)}
.grid.stats{grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.grid.stats{grid-template-columns:repeat(3,1fr)}}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--sidebar);margin-top:auto}
.foot-grid{display:grid;gap:2rem;padding:3rem 0 2rem;grid-template-columns:1fr 1fr}
.foot-grid .about-col{grid-column:span 2}
@media(min-width:768px){.foot-grid{grid-template-columns:2fr 1fr 1fr}.foot-grid .about-col{grid-column:auto}}
.foot-grid p{font-size:.8rem;color:var(--muted);margin-top:.75rem;max-width:20rem;line-height:1.65}
.foot-grid h4{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1;margin-bottom:.75rem}
.foot-grid li{list-style:none;margin-bottom:.5rem;font-size:.8rem}.foot-grid li a{color:var(--muted);transition:.15s}.foot-grid li a:hover{color:#fff}
.foot-bottom{border-top:1px solid var(--border);padding:1.25rem 0;display:flex;flex-direction:column;gap:.75rem;align-items:center;justify-content:space-between;font:400 .6875rem 'Fira Code',monospace;color:var(--dim);text-align:center}
.foot-bottom strong{color:#cbd5e1;letter-spacing:.05em}.foot-bottom strong span{color:var(--accent)}
@media(min-width:640px){.foot-bottom{flex-direction:row;text-align:left}}

/* Toast */
.toast{position:fixed;right:1.25rem;bottom:1.25rem;background:var(--accent);color:#fff;font-size:.75rem;padding:.5rem 1rem;border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.4);z-index:60;transform:translateY(5rem);opacity:0;transition:.3s;display:flex;gap:.5rem;align-items:center}
.toast.show{transform:none;opacity:1}
.nf{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem}
.nf h1{font-size:5rem;font-weight:800;color:var(--accent)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.foot-grid h4 a:hover{color:#fff}.foot-grid li a i{margin-right:.35rem;color:var(--accent)}

/* Device screenshots */
.device{display:block;border-radius:1rem;overflow:hidden;border:1px solid var(--border);box-shadow:0 30px 80px -20px rgba(59,130,246,.35),0 0 0 1px rgba(255,255,255,.03)}
.device img{display:block;width:100%;height:auto}
.preview{padding:0 0 5rem}
.preview .container{max-width:72rem}
.feature-shot{padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}
.feature-shot h2{font-size:1.5rem;font-weight:800;color:#fff;margin:.5rem 0}
.feature-shot p{font-size:.875rem;color:#cbd5e1;line-height:1.7}
.ticks{list-style:none;display:grid;gap:.5rem;margin-top:1rem;font-size:.8rem;color:var(--muted);grid-template-columns:1fr}
.ticks li:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--emerald);margin-right:.6rem;font-size:.7rem}
@media(min-width:640px){.ticks{grid-template-columns:1fr 1fr}}
.legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.legend span{font:500 .6875rem 'Fira Code',monospace;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--border);background:var(--bg)}

.btn-sm{padding:.45rem 1rem;font-size:.8125rem;border-radius:.5rem}
.hero-wrap{position:relative;overflow:hidden}
.hero-wrap .glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 0%,rgba(59,130,246,.18),transparent 70%)}
.kicker{font:500 .75rem 'Fira Code',monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.12em}
.sec-head{text-align:center;max-width:42rem;margin:0 auto 2.5rem}
.sec-head h2{font-size:1.875rem;font-weight:800;color:#fff;margin:.5rem 0}.sec-head p{color:var(--muted);font-size:.9rem;line-height:1.7}
.actions-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}

@media(min-width:768px){.foot-grid.two{grid-template-columns:3fr 1fr}}

/* Store */
button.btn{border:0}.btn-block{width:100%;justify-content:center}
.store{display:grid;gap:2rem}
@media(min-width:900px){.store{grid-template-columns:15rem 1fr;align-items:start}.store aside{position:sticky;top:5.5rem}}
.search{position:relative}.search i{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--dim);font-size:.8rem}
.search input,.field input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:.625rem;color:var(--text);font:inherit;font-size:.875rem;padding:.65rem .9rem}
.search input{padding-left:2.4rem}
.search input:focus,.field input:focus{outline:2px solid var(--accent);border-color:transparent}
.store h4{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.5rem 0 .6rem}
.cats{display:flex;flex-wrap:wrap;gap:.5rem}
@media(min-width:900px){.cats{flex-direction:column;flex-wrap:nowrap;gap:.25rem}}
.cat{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem .8rem;border-radius:.5rem;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:.8125rem;text-align:left;transition:.15s}
@media(min-width:900px){.cat{border-color:transparent;background:none}}
.cat span{color:var(--dim);font:400 .6875rem 'Fira Code',monospace}
.cat:hover{color:#fff;background:var(--hover)}.cat.active{color:#fff;background:var(--hover);border-color:var(--accent)}
.count{font-size:.8rem;color:var(--muted);margin-bottom:1rem}
.pgrid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.pcard{display:flex;flex-direction:column;overflow:hidden;transition:.2s}.pcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.pimg{aspect-ratio:16/10;background:var(--bg);border-bottom:1px solid var(--border);overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pcard:hover .pimg img{transform:scale(1.03)}
.pbody{padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.pbody .badge{align-self:flex-start}
.pbody h3{color:#fff;font-size:1.05rem}.pbody p{font-size:.8rem;color:var(--muted);line-height:1.6;flex:1}
.pfoot{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--accent);padding-top:.6rem;border-top:1px solid var(--border);margin-top:.5rem}.pfoot b{color:#fff}
.empty{padding:2rem;text-align:center;color:var(--muted);font-size:.9rem;display:flex;flex-direction:column;gap:1rem;align-items:center}
.pdetail{display:grid;gap:2rem}@media(min-width:900px){.pdetail{grid-template-columns:1.3fr 1fr}}
.thumbs{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}
.thumbs button{width:6rem;border-radius:.5rem;overflow:hidden;border:2px solid var(--border);opacity:.7}.thumbs button.on,.thumbs button:hover{opacity:1;border-color:var(--accent)}
.thumbs img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.pinfo h1{font-size:2rem;font-weight:800;color:#fff;margin:.6rem 0 .25rem}.pinfo .tag{color:#cbd5e1}
.pinfo .price{font-size:1.5rem;font-weight:800;color:#fff;margin-top:1rem}
.pinfo h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.5rem 0 .25rem}
.pinfo .desc{color:#cbd5e1;font-size:.875rem;line-height:1.7;margin-top:1rem}
.ticks.one{grid-template-columns:1fr}
.crumbs2{font-size:.8rem;color:var(--muted);margin-bottom:1.5rem}.crumbs2 a:hover{color:#fff}.crumbs2 b{color:#fff;font-weight:500}
.more{margin-top:3rem}.more h2{font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:1rem}

/* Account */
.authcard{max-width:26rem;margin:0 auto;padding:1.75rem}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;background:var(--bg);border:1px solid var(--border);border-radius:.625rem;padding:.25rem;margin-bottom:1.25rem}
.tabs button{padding:.5rem;border-radius:.4rem;font-size:.85rem;font-weight:600;color:var(--muted)}.tabs button.on{background:var(--hover);color:#fff}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.8rem;color:#cbd5e1}
.alert{font-size:.8rem;padding:.6rem .8rem;border-radius:.5rem;margin-bottom:1rem;border:1px solid}
.alert.err{color:#fda4af;background:rgba(244,63,94,.1);border-color:rgba(244,63,94,.3)}.alert.ok{color:#6ee7b7;background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3)}
.or{display:flex;align-items:center;gap:.75rem;color:var(--dim);font-size:.7rem;margin:1.1rem 0;text-transform:uppercase}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--border)}
.btn-discord{background:#5865f2;color:#fff}.btn-discord:hover{background:#4752c4}
.linkbtn{color:var(--accent);font-size:.78rem}.linkbtn:hover{text-decoration:underline}
.avatar{width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.4);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;margin:0 auto .75rem}
.acct{text-align:center}.acct h2{color:#fff;font-size:1.05rem;word-break:break-all}.acct p{color:var(--muted);font-size:.8rem;margin:.25rem 0}.acct .btn{margin-top:1.25rem}
