:root{--bg:#0b1020;--bg2:#0e1527;--card:#11182b;--line:rgba(180,190,220,.16);--tx:#f2f5ff;--mut:#a3aec5;--ac:#9b8cff;--ac2:#5eead4;--ok:#34d399;--bad:#f87171;--r:16px;--inp:#0b1130;--hdr:rgba(11,16,32,.88);color-scheme:dark}
html[data-theme=light]{--bg:#f7f8fc;--bg2:#eef0fa;--card:#fff;--line:rgba(35,45,75,.14);--tx:#172033;--mut:#5b667c;--ac:#5946d9;--ac2:#0f8f80;--inp:#fff;--hdr:rgba(247,248,252,.9);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased}
a{color:var(--ac2);text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em}h1{font-size:clamp(2.2rem,6vw,4rem)}h2{font-size:clamp(1.7rem,4vw,2.4rem)}h3{font-size:1.15rem}
p{margin:0 0 1em}.mut{color:var(--mut)}.wrap{width:min(1120px,92%);margin:auto}
:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}
.btn{display:inline-flex;align-items:center;gap:.4em;background:var(--ac);color:#fff;border:1px solid var(--ac);padding:.7em 1.3em;border-radius:999px;font:600 .95rem inherit;font-family:inherit;cursor:pointer}
.btn:hover{filter:brightness(1.1)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--tx)}.btn.sm{padding:.45em 1em;font-size:.85rem}.btn.danger{background:transparent;border-color:var(--bad);color:var(--bad)}
.nav{position:sticky;top:0;z-index:50;background:var(--hdr);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.navin{display:flex;align-items:center;gap:1.2rem;min-height:68px}.logo{font-weight:800;font-size:1.35rem;color:var(--tx)}.logo span{color:var(--ac2)}
.nav nav{display:flex;gap:1.1rem;margin-left:auto;font-size:.92rem}.nav nav a{color:var(--mut)}.nav nav a:hover{color:var(--tx)}.navcta{display:flex;gap:.5rem}.burger{display:none;background:none;border:1px solid var(--line);color:var(--tx);border-radius:8px;font-size:1.2rem;padding:.2em .6em;margin-left:auto}
@media(max-width:960px){.burger{display:block}.navcta{display:none}.nav nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:1rem 4%;border-bottom:1px solid var(--line);margin:0}body.menu .nav nav{display:flex}}
section{padding:84px 0}.alt{background:var(--bg2)}.shead{max-width:640px;margin-bottom:2.2rem}.shead p{color:var(--mut)}
.hero{padding:70px 0 80px;background:radial-gradient(900px 400px at 85% 0,rgba(124,108,255,.22),transparent),radial-gradient(600px 300px at 0 100%,rgba(94,234,212,.1),transparent)}
.herogrid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.15rem;color:var(--mut);max-width:34em}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}.status{color:var(--mut);font-size:.9rem}.status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:.5em}
.portrait{aspect-ratio:4/5;border-radius:22px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(145deg,#3b2fd1,#0e8f9c);display:grid;place-items:center;font-size:5rem;font-weight:800;box-shadow:0 30px 60px rgba(0,0,0,.4)}.portrait img{width:100%;height:100%;object-fit:cover}
.pcap{margin-top:.8rem;text-align:center;font-size:.9rem}.pcap b{display:block}
@media(max-width:800px){.herogrid{grid-template-columns:1fr}.portrait{max-width:300px;margin:auto;order:-1}}
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;display:flex;flex-direction:column}.card p{color:var(--mut);font-size:.95rem}
.thumb{aspect-ratio:16/9;margin:-1.3rem -1.3rem 1rem;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:linear-gradient(135deg,#2a2a8f,#0f6b78);display:grid;place-items:center;font-size:2.4rem;font-weight:800;opacity:.95}.thumb img{width:100%;height:100%;object-fit:cover}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding-top:.6rem}.tag{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:.15em .75em;color:var(--mut)}
.links{display:flex;gap:1rem;margin-top:.8rem;font-size:.9rem;font-weight:600}
.price{font-size:1.4rem;font-weight:800}.badge{display:inline-block;font-size:.75rem;border-radius:999px;padding:.1em .8em;background:rgba(52,211,153,.15);color:var(--ok);margin-bottom:.6rem;align-self:flex-start}.badge.soon{background:rgba(251,191,36,.15);color:#fbbf24}.badge.closed{background:rgba(248,113,113,.15);color:var(--bad)}
.meta{display:flex;gap:1rem;color:var(--mut);font-size:.85rem;margin-bottom:.7rem}
.tl{border-left:2px solid var(--line);margin-left:.4rem;padding-left:1.6rem}.tl article{position:relative;margin-bottom:1.8rem}.tl article:before{content:"";position:absolute;left:-2.05rem;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--ac2)}.tl small{color:var(--mut)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:800px){.two{grid-template-columns:1fr}}
.cert{display:block;color:var(--tx)}.cert .thumb{margin-bottom:.8rem}
.verify{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}.inline{display:flex;gap:.6rem;flex-wrap:wrap}.inline input{flex:1;min-width:180px}
.contact a.row{display:block;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--tx)}.contact small{display:block;color:var(--mut)}
input,textarea,select{width:100%;background:var(--inp);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:.7em .9em;font:inherit}input:focus,textarea:focus,select:focus{border-color:var(--ac);outline:0}input[type=checkbox]{width:auto}
label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.3rem}.fld{margin-bottom:1rem}.hp{position:absolute;left:-9999px}
.alert{padding:.8em 1em;border-radius:10px;margin-bottom:1rem;background:rgba(52,211,153,.12);border:1px solid var(--ok);color:var(--ok)}.alert.bad{background:rgba(248,113,113,.12);border-color:var(--bad);color:var(--bad)}
footer{border-top:1px solid var(--line);padding:1.8rem 0;color:var(--mut);font-size:.9rem}footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.post{max-width:720px}.post .body{font-size:1.05rem;white-space:pre-line}.pagepad{padding:60px 0}
/* auth + admin */
.auth{display:grid;place-items:center;min-height:100vh;padding:1rem}.authbox{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:2rem}hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}
.adm{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--bg2);border-right:1px solid var(--line);padding:1.2rem;position:sticky;top:0;height:100vh;overflow:auto}.side .logo{display:block;margin-bottom:1.2rem}.side a.i{display:flex;justify-content:space-between;padding:.55em .8em;border-radius:9px;color:var(--mut);font-size:.95rem}.side a.i:hover{background:var(--card);color:var(--tx)}.side a.on{background:var(--ac);color:#fff}.side .sep{height:1px;background:var(--line);margin:.8rem 0}
.cnt{background:var(--bad);color:#fff;border-radius:99px;font-size:.72rem;padding:0 .6em}.main{padding:2rem;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.top h1{font-size:1.7rem;margin:0}.sbtn{display:none}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;margin-bottom:1.4rem}.form{max-width:760px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:1.4rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem;color:var(--tx)}.stat b{font-size:1.8rem;display:block}.stat span{color:var(--mut);font-size:.9rem}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.93rem}th,td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--mut);font-weight:600}tr.un td{font-weight:700}.acts{display:flex;gap:.4rem;white-space:nowrap}.acts form{margin:0}.pv{width:56px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.pvl{width:120px;margin-bottom:.5rem;border-radius:8px;border:1px solid var(--line)}
@media(max-width:860px){.adm{grid-template-columns:1fr}.side{position:fixed;inset:0 25% 0 0;z-index:60;transform:translateX(-100%);transition:.2s}body.menu .side{transform:none}.sbtn{display:inline-block}.main{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Merged design: animations, store, responsive ===== */
body{font-family:Inter,system-ui,"Segoe UI",Roboto,sans-serif;transition:background .25s,color .25s}
.sm{font-size:.85rem}
.prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--ac),var(--ac2));z-index:99}
.ibtn{background:none;border:1px solid var(--line);color:var(--tx);border-radius:50%;width:38px;height:38px;font-size:1.1rem;cursor:pointer;transition:.25s}.ibtn:hover{transform:rotate(180deg);border-color:var(--ac)}
.nav nav{overflow-x:auto;scrollbar-width:none}.nav nav a{white-space:nowrap;position:relative;padding:.2em 0}.nav nav a:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--ac);transition:width .25s}.nav nav a:hover:after{width:100%}
@media(max-width:1180px){.navcta .ghost{display:none}}
@media(max-width:960px){.ibtn{margin-left:auto}.burger{margin-left:0}.nav nav a{padding:.5em 0}}
/* reveal on scroll (only when JS is on) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.js .rv.in{opacity:1;transform:none}
.hero{position:relative;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;animation:fl 12s ease-in-out infinite}.b1{width:340px;height:340px;background:var(--ac);top:-80px;right:8%}.b2{width:260px;height:260px;background:var(--ac2);bottom:-60px;left:4%;animation-delay:-5s}
@keyframes fl{50%{transform:translate(30px,-30px) scale(1.1)}}
.herogrid{position:relative}.eyebrow{color:var(--ac);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.hero h1{background:linear-gradient(90deg,var(--tx),var(--ac));-webkit-background-clip:text;background-clip:text;color:transparent}
.typed{font-size:1.3rem;font-weight:700;color:var(--ac2);min-height:1.8em;margin:0}.cur{display:inline-block;width:2px;height:1.1em;background:var(--ac2);margin-left:3px;vertical-align:-3px;animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}
.heroart{position:relative;padding:0 0 70px}.portrait.ring{position:relative;max-width:340px;margin:auto;border:0;z-index:1}.portrait.ring:before{content:"";position:absolute;inset:-4px;border-radius:26px;background:conic-gradient(var(--ac),var(--ac2),var(--ac));z-index:-1;animation:sp 6s linear infinite}
@keyframes sp{to{filter:hue-rotate(360deg)}}
.portrait.ring{background-clip:padding-box}
.ftag{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35em 1em;font-size:.8rem;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:fl 7s ease-in-out infinite;z-index:2}.t1{top:6%;right:0}.t2{bottom:34%;left:0;animation-delay:-3s}
.code{position:absolute;right:0;bottom:30px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;font:.78rem/1.6 ui-monospace,Consolas,monospace;box-shadow:0 14px 40px rgba(0,0,0,.3);z-index:2}.code p{margin:0}.code b{color:var(--ac)}.code u{text-decoration:none;color:var(--ac2)}.dots i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line);margin-right:5px}
.pcap{position:absolute;left:0;right:0;bottom:0}
.counters{padding:30px 0;border-block:1px solid var(--line)}.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.cn b{display:block;font-size:2.4rem;color:var(--ac);line-height:1.1}.cn span{color:var(--mut);font-size:.9rem}
.card{transition:transform .3s,border-color .3s,box-shadow .3s}.card:hover{transform:translateY(-6px);border-color:var(--ac);box-shadow:0 18px 45px rgba(0,0,0,.22)}.thumb img{transition:transform .5s}.card:hover .thumb img{transform:scale(1.07)}.thumb img[data-zoom]{cursor:zoom-in}
.skill{flex-direction:row;align-items:center;gap:1rem}.skill p{margin:0}.mark{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;font-weight:800;font-size:.9rem}
.idx{color:var(--ac);font-weight:800;font-size:1.4rem}
.tabs{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap}.tab,.chip{background:none;border:1px solid var(--line);color:var(--tx);padding:.5em 1.2em;border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem;transition:.2s}.tab:hover,.chip:hover{border-color:var(--ac)}.tab.on,.chip.on{background:var(--ac);border-color:var(--ac);color:#fff}.tp{display:none}.tp.on{display:block;animation:fi .5s}@keyframes fi{from{opacity:0;transform:translateY(10px)}}
.cg{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.stars{color:#fbbf24;letter-spacing:2px}.quote{margin:0 0 1rem}.quote footer{border:0;padding:0;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.av{width:36px;height:36px;border-radius:50%;object-fit:cover}
.chan{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;margin-bottom:.7rem;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--tx);transition:.25s}.chan:hover{transform:translateX(6px);border-color:var(--ac)}.chan small{display:block;color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.chan b{word-break:break-all}.chan i{margin-left:auto;font-style:normal;color:var(--ac)}
.ci,.soc{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--bg2);color:var(--ac)}.ci svg,.soc svg{width:22px;height:22px}.soc{border:1px solid var(--line);border-radius:50%;color:var(--tx);transition:.25s}.soc:hover{background:var(--ac);color:#fff;transform:translateY(-4px) rotate(8deg)}
.socs{display:flex;gap:.6rem;flex-wrap:wrap}.socs.left{justify-content:flex-start}footer .fcol{display:flex;flex-direction:column}footer .wrap{align-items:center}
.totop{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ac);color:#fff;font-size:1.2rem;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;z-index:60}.totop.show{opacity:1;pointer-events:auto}
.toast{position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:90;max-width:92%;padding:.8em 1.3em;border-radius:12px;background:var(--card);border:1px solid var(--ok);color:var(--ok);box-shadow:0 14px 40px rgba(0,0,0,.3);animation:fi .4s}.toast.bad{border-color:var(--bad);color:var(--bad)}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:200;display:grid;place-items:center;padding:1rem}.lb[hidden]{display:none}.lb img{max-height:90vh;max-width:94vw;border-radius:10px}.lb button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}
/* store */
.ptype{position:absolute;top:10px;left:10px;background:var(--ac);color:#fff;border-radius:999px;font-size:.7rem;padding:.1em .8em}.thumb{position:relative}.buy{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.8rem}.price.big{font-size:2rem;color:var(--ac)}
.prod{align-items:start}.cover{max-width:360px;margin:auto}.steps{color:var(--mut);padding-left:1.2rem}.pay .plogo{height:34px;width:auto;margin-bottom:.5rem}.acct{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:1.1rem;word-break:break-all}
/* responsive: desktop > tablet > phone */
@media(max-width:960px){section{padding:64px 0}.cgrid{grid-template-columns:repeat(2,1fr)}.heroart{padding-bottom:60px}.code{display:none}}
@media(max-width:800px){.herogrid{text-align:center}.cta,.herogrid .typed{justify-content:center}.hero{padding:40px 0 50px}.lead{margin-inline:auto}.heroart{order:-1}.ftag{display:none}.pcap{position:static;margin-top:.8rem}.skill{flex-direction:row}}
@media(max-width:480px){section{padding:50px 0}.btn{padding:.65em 1.1em}.cn b{font-size:1.8rem}.grid{grid-template-columns:1fr}.cg{grid-template-columns:repeat(2,1fr)}.toast{top:70px}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}.blob,.ftag,.cur,.portrait.ring:before{animation:none}}

.portrait.ring{overflow:visible}.portrait.ring img{border-radius:22px}
