@import"https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:wght@300;400;500&display=swap";:root{--bg: #0a0a0f;--bg2: #12121a;--bg3: #1a1a26;--card: #16161f;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.12);--accent: #6c63ff;--accent2: #a78bfa;--green: #22c55e;--yellow: #eab308;--red: #ef4444;--text: #f0f0f5;--text2: #9090a8;--text3: #5a5a72}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;min-height:100vh;min-height:100dvh;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3{font-family:Syne,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}.btn-primary{background:var(--accent);color:#fff;border-radius:10px;font-weight:600;padding:12px 20px;border:none;cursor:pointer;font-size:15px;transition:all .15s ease;width:100%;font-family:DM Sans,sans-serif}.btn-primary:hover{background:#7c74ff;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:#6c63ff1a;border:1px solid rgba(108,99,255,.2);color:var(--accent2);border-radius:10px;padding:12px 20px;cursor:pointer;font-size:15px;transition:all .15s ease;width:100%;font-family:DM Sans,sans-serif;font-weight:500}.btn-ghost:hover{background:#6c63ff2e;border-color:#6c63ff59}.btn-ghost:active{opacity:.8}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-green{background:#22c55e26;color:var(--green)}.badge-yellow{background:#eab30826;color:var(--yellow)}.badge-red{background:#ef444426;color:var(--red)}.badge-purple{background:#6c63ff26;color:var(--accent2)}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.bottom-sheet-panel{position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border2);border-radius:20px 20px 0 0;z-index:201;padding:16px 16px 32px;max-height:85vh;overflow-y:auto;animation:slideUp .28s cubic-bezier(.32,.72,0,1)}.bottom-sheet-handle{width:36px;height:4px;background:var(--border2);border-radius:2px;margin:0 auto 16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:calc(100% - 32px);max-width:360px}.toast{padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500;width:100%;text-align:center;animation:toastIn .3s cubic-bezier(.32,.72,0,1);box-shadow:0 4px 20px #0006}.toast.hiding{animation:toastOut .25s ease forwards}.toast-success{background:#22c55e33;border:1px solid rgba(34,197,94,.3);color:#4ade80}.toast-error{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#f87171}.toast-info{background:#6c63ff33;border:1px solid rgba(108,99,255,.3);color:var(--accent2)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}.progress-bar-track{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .6s ease}.progress-bar-fill.green{background:linear-gradient(90deg,#16a34a,var(--green))}.progress-bar-fill.yellow{background:linear-gradient(90deg,#ca8a04,var(--yellow))}.progress-bar-fill.red{background:linear-gradient(90deg,#b91c1c,var(--red))}
