:root{--primary:#2f6bff;--primary-2:#4f9bff;--green:#31d97a;--green-ink:#1fae6a;--amber:#ffb020;--red:#ff5a5f;--bg-grad:radial-gradient(120% 120% at 50% 0%, #f6f8fc 0%, #e9edf5 60%);--bg:#f4f6fb;--card:#fff;--surface:#eef2f8;--border:#e8ecf4;--border-strong:#d6dde9;--text:#141922;--text-2:#1e2530;--text-muted:#727c8c;--text-dim:#8a93a3;--shadow:0 10px 24px -8px #2f6bff59;--card-grad:linear-gradient(135deg, #2f6bff, #6a3dff)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-grad:radial-gradient(120% 120% at 50% 0%, #10151f 0%, #0a0d13 60%);--bg:#0b0e14;--card:#151a22;--surface:#1b2029;--border:#232a35;--border-strong:#2c3542;--text:#f4f6fb;--text-2:#e7ebf3;--text-muted:#97a1b2;--text-dim:#6b7688;--shadow:0 10px 24px -8px #0009;--card-grad:linear-gradient(135deg, #2f6bff, #6a3dff)}}:root[data-theme=dark]{--bg-grad:radial-gradient(120% 120% at 50% 0%, #10151f 0%, #0a0d13 60%);--bg:#0b0e14;--card:#151a22;--surface:#1b2029;--border:#232a35;--border-strong:#2c3542;--text:#f4f6fb;--text-2:#e7ebf3;--text-muted:#97a1b2;--text-dim:#6b7688;--shadow:0 10px 24px -8px #0009}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100vh;margin:0;padding:0}body{background:var(--bg-grad);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}a{color:var(--primary-2);text-decoration:none}.app-shell{flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.noscroll::-webkit-scrollbar{display:none}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeBg{0%{opacity:0}to{opacity:1}}@keyframes scan{0%{top:6%}50%{top:88%}to{top:6%}}@keyframes ring{to{stroke-dashoffset:var(--to)}}@keyframes spin{to{transform:rotate(360deg)}}.pop{animation:.35s both popIn}
