:root{--bg:#f6f8fc;--surface:#fff;--text:#0d1526;--muted:#657189;--line:#dde5f0;--primary:#635bff;--dark:#0b1220;--success:#129e70;--danger:#d9485e;--shadow:0 18px 50px rgba(13,21,38,.08);--radius:18px;--max:1180px}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 32px));margin:auto}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.035em}h3{font-size:20px;line-height:1.2}.row{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:14px}.wrap{display:flex;flex-wrap:wrap}.gap-8{gap:8px}.gap-12{gap:12px}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:12px;border:1px solid transparent;font-weight:850;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(99,91,255,.22)}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;color:var(--text);border-color:var(--line)}.btn-danger{background:#fff1f3;color:#bd3b51;border-color:#ffd1d8}.btn-sm{padding:8px 11px;font-size:13px}.icon-btn{width:39px;height:39px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.03em}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#635bff,#998fff);color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 12px 25px rgba(99,91,255,.2)}.site-header{position:sticky;top:0;z-index:50;background:rgba(246,248,252,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,229,240,.8)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.nav-links{display:flex;gap:4px}.nav-links a{padding:9px 11px;border-radius:10px;color:var(--muted);font-weight:750;font-size:14px}.nav-links a.active,.nav-links a:hover{background:#fff;color:var(--text)}.nav-actions{display:flex;align-items:center;gap:7px}.hero{padding:90px 0 60px;background:radial-gradient(circle at 90% 10%,rgba(99,91,255,.14),transparent 30%),radial-gradient(circle at 0 0,rgba(29,213,178,.08),transparent 25%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.hero-points{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px}.eyebrow{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eceaff;color:#544bd9;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:900}.showcase{padding:16px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px rgba(31,41,66,.12)}.showcase-card{border-radius:18px;background:#10192c;color:#fff;min-height:370px;padding:20px;position:relative;overflow:hidden}.showcase-card:after{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(136,125,255,.8),transparent 65%)}.code-box{margin-top:62px;border:1px solid rgba(255,255,255,.08);padding:16px;border-radius:12px;background:rgba(255,255,255,.03)}.line{height:8px;border-radius:99px;background:#27334a;margin:9px 0}.w70{width:70%}.w50{width:50%}.w85{width:85%}.w62{width:62%}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.metric strong{display:block;font-size:22px}.section{padding:78px 0}.compact{padding:48px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{overflow:hidden;transition:.18s}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(13,21,38,.12)}.cover{height:175px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1b2440,#6c63ec)}.cover:before,.cover:after{content:"";position:absolute;border-radius:50%;opacity:.6}.cover:before{width:190px;height:190px;right:-50px;top:-80px;background:#9cc8ff}.cover:after{width:100px;height:100px;left:-10px;bottom:-30px;background:#f0b8ff}.cover.green{background:linear-gradient(135deg,#17373b,#24a98d)}.cover.pink{background:linear-gradient(135deg,#3a1837,#ce6e99)}.cover.blue{background:linear-gradient(135deg,#162e47,#4d87bc)}.cover-title{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:28px;font-weight:950;text-align:center;padding:18px;letter-spacing:-.04em}.cover-tag{position:absolute;top:12px;left:12px}.card-body{padding:16px}.pill{display:inline-flex;padding:7px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:11px}.card-title{font-weight:900;font-size:18px;display:block;margin:11px 0 7px}.card-desc{color:var(--muted);font-size:13px;min-height:41px}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.price{font-size:20px;font-weight:950}.free{background:#e8fbf4;color:#0d9067}.paid{background:#efedff;color:#574ed6}.status{background:#edf4ff;color:#3e72be}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.notice{padding:12px 14px;border-radius:12px;font-size:13px}.notice.success{background:#e9fbf4;color:#0d9067}.notice.error{background:#fff0f2;color:#b83d51}.notice.info{background:#edf4ff;color:#315e96}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#aaa5ff;box-shadow:0 0 0 4px rgba(99,91,255,.08)}.filter{display:flex;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:22px}.search{flex:1;min-width:220px}.detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:start}.detail-cover{height:410px;border-radius:22px;overflow:hidden}.detail-cover .cover-title{font-size:54px}.sticky-card{position:sticky;top:95px;padding:22px}.detail-list{margin:18px 0}.detail-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:16px}.tab{border:0;background:none;color:var(--muted);padding:11px 0;font-weight:900;border-bottom:2px solid transparent}.tab.active{color:var(--primary);border-color:var(--primary)}.form-card{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.full{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:850;margin-bottom:7px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.auth-wrap{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:60px 0}.auth-card{width:min(460px,100%);padding:28px}.site-footer{margin-top:70px;padding:42px 0;background:#fff;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:22px}.footer-title{font-weight:900;margin-bottom:10px}.footer-links{display:grid;gap:8px;color:var(--muted);font-size:13px}.copyright{display:flex;justify-content:space-between;gap:15px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.admin-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:#0d1628;color:#fff;padding:22px;position:sticky;top:74px;height:calc(100vh - 74px)}.sidebar .brand{margin-bottom:26px}.sidebar-nav{display:grid;gap:4px}.sidebar-nav a{padding:11px 12px;border-radius:10px;color:#aab8ce;font-weight:750;font-size:14px}.sidebar-nav a.active,.sidebar-nav a:hover{background:#1b2741;color:#fff}.admin-main{padding:28px}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:18px}.stat strong{display:block;font-size:28px}.stat span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;min-width:760px;border-collapse:collapse}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table th{font-size:11px;color:#748094;text-transform:uppercase;letter-spacing:.06em;background:#fbfcfe}.chart{height:180px;padding:18px;display:flex;gap:8px;align-items:flex-end}.bar{flex:1;background:linear-gradient(180deg,#8b82ff,#635bff);border-radius:8px 8px 3px 3px}.empty{padding:45px;text-align:center;border:1px dashed #c8d2e2;border-radius:16px;background:#fff}.error{color:#b83d51}
@media(max-width:980px){.hero-grid,.detail-grid,.footer-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar-nav{display:flex;overflow:auto}.sidebar-nav a{white-space:nowrap}.sticky-card{position:static}}
@media(max-width:720px){.container{width:min(var(--max),calc(100% - 24px))}.nav-links{display:none}.nav{height:68px}.nav-actions .btn-light{display:none}.grid-2,.grid-3,.grid-4,.form-grid,.stat-grid{grid-template-columns:1fr}.section{padding:55px 0}.hero{padding:60px 0 35px}.section-head,.admin-head{display:grid}.copyright{display:grid}.detail-cover{height:285px}.detail-cover .cover-title{font-size:40px}}
