:root{--bg: #f7f7f8;--card: #ffffff;--muted: #6b7280;--text: #111827;--line: rgba(17, 24, 39, .12);--accent: #10a37f;--accent2: #1a73e8;--good: #10a37f}*{box-sizing:border-box}html,body{height:100%;overscroll-behavior-y:none}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(1200px 650px at 50% -10%,rgba(16,163,127,.1),transparent 60%),radial-gradient(900px 520px at 10% 30%,rgba(26,115,232,.08),transparent 55%),var(--bg);color:var(--text)}.container{max-width:430px;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));position:relative}.card{background:#fffffff5;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 10px 24px #11182714}.h1{font-size:18px;font-weight:700;margin:0 0 10px}.p{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.4}.small{font-size:12px;color:var(--muted)}.big{font-size:15px;font-weight:800;letter-spacing:.3px}.input{width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--text);outline:none}.input:focus{border-color:#10a37f8c;box-shadow:0 0 0 3px #10a37f24}.btn{width:100%;padding:12px;border:1px solid rgba(16,163,127,.35);border-radius:14px;background:linear-gradient(180deg,#10a37f,#0c8466);color:#fff;font-weight:800;cursor:pointer}.btn:hover{box-shadow:0 10px 18px #10a37f2e}.btn:disabled{opacity:.6;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center}.mt12{margin-top:12px}.mt16{margin-top:16px}.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:999px;display:inline-flex;gap:8px;align-items:center;background:#fffc}.list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.item{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;padding:12px}.item.active{border-color:#10a37f8c;box-shadow:0 0 0 2px #10a37f26 inset}.app-footer{margin-top:auto;padding:16px 0 8px;text-align:center;font-size:12px;color:#6b7280;opacity:.85}.app-footer a{color:#10a37f;text-decoration:none;font-weight:600}.app-footer a:hover{text-decoration:underline}.install-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.install-title{margin-bottom:4px}.btn-inline{width:auto;padding:10px 12px;white-space:nowrap}.app-loader{min-height:55vh;display:flex;align-items:center;justify-content:center}.app-loader-card{width:100%;max-width:320px;background:#fffffff5;border:1px solid rgba(17,24,39,.12);border-radius:18px;padding:18px;box-shadow:0 10px 24px #11182714;text-align:center}.app-loader-logo{height:56px;width:56px;border-radius:16px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.5px;color:#fff;background:linear-gradient(180deg,#10a37f,#0c8466)}.app-loader-text{font-size:13px;color:#6b7280;font-weight:700}.net-banner{position:sticky;top:0;z-index:50;width:100%;margin-bottom:10px;border-radius:14px;padding:10px 12px;font-size:12px;font-weight:800;border:1px solid rgba(17,24,39,.12);box-shadow:0 10px 18px #1118270f}.net-banner.bad{background:#ef44441a;color:#b91c1c;border-color:#ef444440}.net-banner.ok{background:#10a37f1a;color:#0f766e;border-color:#10a37f40}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom));z-index:99999;display:flex;justify-content:center;padding:0 12px;pointer-events:none}.toast{pointer-events:auto;width:100%;max-width:430px;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border-radius:16px;color:#fff;background:#111827f5;border:1px solid rgba(17,24,39,.12);box-shadow:0 14px 26px #11182738;animation:toastIn .18s ease-out}.toast-msg{font-size:13px;line-height:1.35;font-weight:700;color:#fff}.toast-btn{width:auto;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}.toast-btn:hover{background:#ffffff1f}.toast-error{border-color:#ef44448c}.toast-success{border-color:#10a37f8c}.toast-info{border-color:#1a73e88c}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
