:root{--bg:#0b1220;--pn:#131c2e;--pn2:#1a2540;--ln:#243150;--ink:#eef2fb;--mu:#8d9bb8;--ac:#ff7a1a;--ac2:#ffb020;--bt:#1a0d04;--bad:#ff5d5d}
body.adm{--ac:#5b8cff;--ac2:#8f6bff;--bt:#fff}
*{box-sizing:border-box;margin:0}
body{font:15px/1.6 'Plus Jakarta Sans',system-ui,sans-serif;background:radial-gradient(900px 400px at 80% -10%,color-mix(in srgb,var(--ac) 14%,transparent),transparent),var(--bg);color:var(--ink);padding-bottom:104px;min-height:100vh}
a{color:var(--ac);text-decoration:none}
.w{max-width:1040px;margin:auto;padding:0 18px}
.top{background:rgba(11,18,32,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln);position:sticky;top:0;z-index:5}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 18px}
.logo{font-weight:800;font-size:1.05rem;color:var(--ink);display:flex;gap:10px;align-items:center}
.logo img{width:38px;height:38px;border-radius:11px;object-fit:cover}
.hb{display:flex;gap:8px}
main{padding:28px 0 20px}
h1{font-size:2.6rem;line-height:1.12;letter-spacing:-1px}
h2{font-size:1.5rem;margin:30px 0 14px}
.mu{color:var(--mu)}
.cp{padding-bottom:20px;font-size:.82rem;text-align:center}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:16px 0}
.hero p{margin:14px 0 22px;font-size:1.08rem;color:var(--mu)}
.hl{width:100%;max-width:400px;justify-self:center;border-radius:28px;box-shadow:0 0 70px rgba(255,122,26,.3)}
.lg{display:block;width:84px;height:84px;border-radius:20px;margin:0 auto 12px;object-fit:cover}
.b{display:inline-block;background:linear-gradient(135deg,var(--ac),var(--ac2));color:var(--bt);border:0;border-radius:11px;padding:10px 20px;font:700 .95rem 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.b:hover{filter:brightness(1.08)}
.b.o{background:transparent;color:var(--ac);border:1px solid var(--ac)}
.b.r{background:var(--bad);color:#fff}.b.s{padding:7px 13px;font-size:.84rem}
.c{background:var(--pn);border:1px solid var(--ln);border-radius:16px;padding:20px}
.g{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--ln);border-radius:10px;font:inherit;background:var(--bg);color:var(--ink);margin:4px 0 12px}
input[type=file]{padding:8px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ac);border-color:transparent}
label{font-weight:600;font-size:.85rem}
.fm{max-width:410px;margin:10px auto}
.al{padding:10px 14px;border-radius:10px;background:rgba(255,93,93,.14);color:#ff9a9a;margin-bottom:14px}
.al.ok{background:rgba(46,204,143,.14);color:#58dba5}
.pl .pr{font-size:2rem;font-weight:800;margin:6px 0}
.pl small{font-size:.8rem;color:var(--mu);font-weight:600}
.pl ul{list-style:none;padding:0;margin:12px 0 18px}
.pl li:before{content:'✓ ';color:var(--ac2);font-weight:800}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--ln);font-size:.88rem}
th{color:var(--mu);font-weight:600}
.tw{overflow-x:auto}
.key{font-family:ui-monospace,monospace;background:var(--bg);padding:10px 12px;border-radius:10px;word-break:break-all;margin:8px 0}
.bar{height:8px;background:var(--bg);border-radius:9px;overflow:hidden;margin:8px 0}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ac),var(--ac2))}
.res{border:1px solid rgba(46,204,143,.4);background:rgba(46,204,143,.08);border-radius:12px;padding:16px;margin-top:14px}
.res b{font-size:1.5rem;display:block;word-break:break-word}
.st{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.st b{font-size:1.7rem;display:block}
.ur{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));align-items:end;padding:14px;border:1px solid var(--ln);background:var(--pn);border-radius:14px;margin-bottom:10px}
.ur input,.ur select{margin:0}.ur .nm{grid-column:1/-1}
pre{background:var(--bg);border:1px solid var(--ln);color:#dfe7ff;padding:14px;border-radius:12px;overflow:auto;font-size:.85rem;margin:10px 0}
.dock{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(580px,calc(100% - 20px));display:flex;gap:2px;background:rgba(19,28,46,.94);backdrop-filter:blur(12px);border:1px solid var(--ln);border-radius:22px;padding:6px;z-index:9;box-shadow:0 12px 34px rgba(0,0,0,.5)}
.dock a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;border-radius:16px;color:var(--mu);font-size:.68rem;font-weight:600}
.dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dock a.on{color:var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent)}
@media(max-width:700px){h1{font-size:1.9rem}.hero{grid-template-columns:1fr}.hl{order:-1;max-width:260px}}
