:root{color-scheme:light dark;--bg:#f3f2f8;--card:#fff;--tx:#1c1b2e;--mu:#6b6a80;--ac:#5b47d6;--on:#fff;--bd:#e2e0ee;--gn:#16875a;--rd:#c92a2a;--am:#9a6700;--amb:#fff2cc}
@media (prefers-color-scheme:dark){:root{--bg:#12111d;--card:#1c1b2e;--tx:#eeedf8;--mu:#a2a1b8;--ac:#9a8cff;--on:#12111d;--bd:#2d2b45;--gn:#4fd1a0;--rd:#ff8787;--am:#f2c14e;--amb:#3a2f10}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;padding-top:env(safe-area-inset-top,0px)}
.w{max-width:720px;margin:0 auto;padding:14px 14px calc(60px + env(safe-area-inset-bottom,0px))}
h1{font:800 26px/1.15 system-ui,sans-serif;margin:0;letter-spacing:-.4px}
h2{font:700 19px/1.2 system-ui,sans-serif;margin:22px 0 10px}
.lb{color:var(--mu);font-size:14px}.nt{color:var(--mu);font-size:13px;margin:6px 0}
.top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bd{display:inline-block;background:var(--amb);color:var(--am);border-radius:8px;padding:3px 9px;font-size:13px;font-weight:700}
.bd.g{background:color-mix(in srgb,var(--gn) 18%,transparent);color:var(--gn)}
.bd.r{background:color-mix(in srgb,var(--rd) 16%,transparent);color:var(--rd)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:1px solid var(--bd);border-radius:16px;min-height:52px;padding:0 18px;background:var(--card);font-weight:600}
button:disabled{opacity:.55;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
.pri{background:var(--ac);color:var(--on);border-color:var(--ac);width:100%;font-size:18px;min-height:58px}
.lnk{background:none;border:0;color:var(--ac);min-height:44px;padding:0 6px}
.dng{color:var(--rd)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:16px;margin-top:12px}
.tl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
@media(min-width:620px){.tl{grid-template-columns:repeat(3,1fr)}}
.t{min-height:124px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;border-radius:22px}
.t.off{opacity:.6}
.ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:25px;background:color-mix(in srgb,var(--ac) 14%,transparent)}
.t span.s{font-weight:400;font-size:13px;color:var(--mu)}
.ch{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.c{border-radius:999px;background:var(--bd);padding:3px 10px;font-size:13px}
.c.g{background:color-mix(in srgb,var(--gn) 18%,transparent);color:var(--gn);font-weight:700}
label{display:block;font-weight:600;margin:14px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=tel],select{width:100%;min-height:52px;border-radius:14px;border:1px solid var(--bd);background:var(--card);padding:0 14px}
.row{display:flex;gap:10px;align-items:center}
.row>*{flex:1}
.sw{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--bd)}
.sw input{width:26px;height:26px;flex:none}
.err{color:var(--rd);font-weight:600;margin-top:12px}
.ok{color:var(--gn);font-weight:600;margin-top:12px}
.pv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.pv div{background:var(--bg);border-radius:12px;padding:8px;text-align:center;font-size:13px}
.pv b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.lg{text-align:center;margin:36px 0 18px}
.lg .logo{width:84px;height:84px;border-radius:24px;background:var(--ac);color:var(--on);display:grid;place-items:center;font:800 48px system-ui;margin:0 auto 12px}
#toast{position:fixed;left:14px;right:14px;bottom:calc(20px + env(safe-area-inset-bottom,0px));max-width:560px;margin:0 auto;background:#1c1b2e;color:#fff;border-radius:16px;padding:14px 16px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}
#toast.on{opacity:1}
.dim{opacity:.55}
.hd{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.hd h1{flex:1;font-size:22px}
