:root{
  --bg:#050816;--bg2:#0a1030;--card:#0e1638;--card2:#131d4a;--line:#22306a;
  --text:#e8edff;--muted:#9aa7d6;--blue:#2f6bff;--violet:#8b5cf6;--cyan:#22d3ee;
  --ok:#34d399;--warn:#fbbf24;--bad:#f87171;
  --grad:linear-gradient(135deg,#2f6bff,#8b5cf6 55%,#22d3ee);
  --r:18px;--shadow:0 10px 40px rgba(20,40,160,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:radial-gradient(1200px 600px at 80% -10%,#1a1f6b55,transparent),radial-gradient(900px 500px at -10% 10%,#0a4a7a44,transparent),var(--bg);color:var(--text);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
/* header */
header.top{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:#050816cc;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:12px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.14em;color:var(--text);font-size:1.05rem}
.brand:hover{text-decoration:none}
nav.main{display:flex;gap:4px;margin-left:18px}
nav.main a{color:var(--muted);padding:8px 12px;border-radius:10px;font-size:.92rem}
nav.main a:hover,nav.main a.on{color:var(--text);background:var(--card);text-decoration:none}
.sp{flex:1}
.sel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--card);padding:10px 16px;border-radius:12px;cursor:pointer;transition:.2s;font-weight:600}
.btn:hover{transform:translateY(-1px);border-color:var(--blue);text-decoration:none}
.btn.p{background:var(--grad);border:0;color:#fff;box-shadow:var(--shadow)}
.btn.s{padding:6px 10px;font-size:.85rem;border-radius:9px}
.btn.d{border-color:#7f1d1d;color:var(--bad)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.iconbtn{position:relative;background:var(--card);border:1px solid var(--line);border-radius:10px;width:40px;height:40px;cursor:pointer;display:grid;place-items:center}
.dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--cyan)}
.burger{display:none}
/* mobile nav */
.mnav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#070c26ee;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.mnav .in{display:flex;justify-content:space-around}
.mnav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:.68rem;padding:4px 6px;border-radius:10px;min-width:56px}
.mnav a.on{color:var(--text)}.mnav a:hover{text-decoration:none}
.drawer{display:none;position:fixed;inset:64px 0 0 0;background:#050816f2;z-index:55;padding:18px;overflow:auto}
.drawer.open{display:block}
.drawer a{display:block;padding:14px;border-bottom:1px solid var(--line);color:var(--text);font-size:1.05rem}
/* hero */
.hero{text-align:center;padding:64px 0 36px}
.hero h1{font-size:clamp(2rem,6vw,3.8rem);line-height:1.1;letter-spacing:-.02em;max-width:860px;margin:0 auto 16px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--muted);max-width:680px;margin:0 auto 26px;font-size:1.08rem}
.search{display:flex;gap:8px;max-width:680px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:var(--shadow)}
.search input{flex:1;background:transparent;border:0;outline:0;padding:10px 12px;min-width:0}
.search:focus-within{border-color:var(--blue)}
/* grid & cards */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:.25s;position:relative}
a.card{display:block;color:var(--text)}a.card:hover{text-decoration:none}
.card.hov:hover,a.card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:var(--shadow)}
.card h3{margin:10px 0 6px;font-size:1.05rem}.card p{color:var(--muted);font-size:.92rem}
.ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--grad);font-size:1.4rem}
section.blk{padding:34px 0}
h2.sec{font-size:1.5rem;margin-bottom:18px}
.fav{position:absolute;top:12px;right:12px;background:transparent;border:0;cursor:pointer;font-size:1.2rem;color:var(--muted)}
.fav.on{color:var(--warn)}
/* forms */
label{display:block;font-size:.85rem;color:var(--muted);margin:12px 0 4px}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select.f,textarea{width:100%;background:#070c26;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:0}
input:focus,textarea:focus,select:focus{border-color:var(--blue)}
textarea{min-height:110px;resize:vertical}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:150px}
.two{display:grid;gap:18px;grid-template-columns:1fr 1fr}
.msg{padding:10px 14px;border-radius:10px;margin:12px 0;font-size:.92rem}
.msg.err{background:#3b1018;border:1px solid #7f1d1d}.msg.ok{background:#0b2e22;border:1px solid #065f46}.msg.info{background:#101a45;border:1px solid var(--line);color:var(--muted)}
.narrow{max-width:440px;margin:40px auto}
.tag{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:99px;background:#16215a;color:var(--cyan);margin-right:6px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.tabs button{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:6px 14px;cursor:pointer;color:var(--muted)}
.tabs button.on{background:var(--grad);color:#fff;border:0}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-weight:600}
.page{padding:30px 0 70px}.page h1{font-size:1.9rem;margin-bottom:8px}.sub{color:var(--muted);margin-bottom:22px}
.big{font-size:2rem;font-weight:800}
.ad{border:1px dashed var(--line);border-radius:14px;padding:12px;margin:18px 0;color:var(--muted);font-size:.9rem}
footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0 90px;color:var(--muted);font-size:.9rem}
footer .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--muted);display:block;margin:4px 0}
.pop{position:absolute;right:0;top:48px;width:300px;max-width:90vw;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);display:none}
.pop.open{display:block}
.relw{position:relative}
.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.keypad button{padding:16px 0;border-radius:12px;border:1px solid var(--line);background:var(--card2);cursor:pointer;font-size:1.1rem}
.keypad button.op{background:#17236b}.keypad button.eq{background:var(--grad);border:0}
.disp{background:#070c26;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:right;font-size:1.6rem;min-height:64px;word-break:break-all;margin-bottom:10px}
.check{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.check input{width:20px;height:20px}.check.done span{text-decoration:line-through;color:var(--muted)}.check span{flex:1}
.opt{display:block;width:100%;text-align:left;margin:8px 0;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card2);cursor:pointer}
.opt:hover{border-color:var(--blue)}.opt.good{background:#0b2e22;border-color:var(--ok)}.opt.bad{background:#3b1018;border-color:var(--bad)}
.bar2{height:8px;border-radius:99px;background:#070c26;overflow:hidden}.bar2>i{display:block;height:100%;background:var(--grad)}
.doc{background:#fff;color:#111;border-radius:8px;padding:28px;font-family:Georgia,serif}
.doc h1,.doc h2,.doc h3{color:#111}.doc h2{border-bottom:2px solid #2f6bff;margin:16px 0 6px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em}
.doc table th,.doc table td{border-bottom:1px solid #ddd;color:#111}.doc .right{text-align:right}
.fade{animation:fade .4s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
@media(max-width:860px){
  nav.main{display:none}.burger{display:grid}.mnav{display:block}
  .two{grid-template-columns:1fr}.hero{padding:40px 0 20px}
  .hide-m{display:none}
  .bar{gap:8px}.sel{max-width:112px;padding:8px 6px}
  #authBtns a.btn,#authBtns button.btn{display:none}
}
@media(max-width:480px){.brand span{display:none}}
@media print{
  body{background:#fff}header.top,.mnav,footer,.noprint,.drawer{display:none!important}
  .page{padding:0}.doc{padding:0;border-radius:0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#authBtns>*{min-width:0}#authBtns{gap:8px}

.nw{flex-wrap:nowrap}.nw>*{min-width:0}
