:root{--bg-deep: #060913;--bg-mid: #0b1020;--glass: rgba(255, 255, 255, .065);--glass-raised: rgba(255, 255, 255, .1);--glass-input: rgba(8, 12, 26, .45);--glass-border: rgba(255, 255, 255, .14);--glass-border-bright: rgba(255, 255, 255, .28);--glass-sheen: rgba(255, 255, 255, .4);--text: #eef2ff;--text-dim: rgba(226, 232, 240, .68);--text-faint: rgba(226, 232, 240, .42);--cyan: #22d3ee;--violet: #a78bfa;--pink: #f472b6;--emerald: #34d399;--amber: #fbbf24;--rose: #fb7185;--accent-grad: linear-gradient(135deg, #22d3ee 0%, #818cf8 50%, #c084fc 100%);--warm-grad: linear-gradient(135deg, #fbbf24 0%, #fb7185 100%);--radius-xs: 10px;--radius-sm: 14px;--radius: 20px;--radius-lg: 28px;--shadow: 0 24px 60px -28px rgba(2, 6, 23, .95);--shadow-lift: 0 30px 70px -24px rgba(2, 6, 23, 1);--blur: saturate(165%) blur(20px);--gutter: 24px;--font: "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button,a,input,select,textarea,.tab-link,.picker-cell,.heat-cell{touch-action:manipulation}.backdrop{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(120% 90% at 12% 0%,#1b2350 0%,transparent 55%),radial-gradient(100% 80% at 92% 8%,#10394a 0%,transparent 52%),radial-gradient(120% 100% at 50% 108%,#2a1450 0%,transparent 58%),linear-gradient(180deg,var(--bg-mid) 0%,var(--bg-deep) 100%)}.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}.blob-1{width:46vw;height:46vw;top:-14vw;left:-10vw;background:radial-gradient(circle at 30% 30%,#22d3ee,transparent 68%);animation:drift-1 26s ease-in-out infinite}.blob-2{width:40vw;height:40vw;top:18vh;right:-12vw;background:radial-gradient(circle at 60% 40%,#a855f7,transparent 66%);animation:drift-2 32s ease-in-out infinite}.blob-3{width:38vw;height:38vw;bottom:-14vw;left:24vw;background:radial-gradient(circle at 50% 50%,#f472b6,transparent 68%);animation:drift-3 38s ease-in-out infinite}.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes drift-1{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vw,5vh,0) scale(1.12)}}@keyframes drift-2{0%,to{transform:translateZ(0) scale(1.05)}50%{transform:translate3d(-7vw,8vh,0) scale(.94)}}@keyframes drift-3{0%,to{transform:translateZ(0) scale(.96)}50%{transform:translate3d(5vw,-7vh,0) scale(1.14)}}.glass{position:relative;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);overflow:hidden}.glass:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--glass-sheen),transparent);opacity:.7;pointer-events:none}.glass-raised{background:var(--glass-raised);border-color:var(--glass-border-bright)}.glass-quiet{background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card{padding:22px}.card-pad-lg{padding:30px}.shell{max-width:1280px;margin:0 auto;padding:0 var(--gutter) 72px}.topbar{position:sticky;top:0;z-index:40;margin:0 calc(-1 * var(--gutter)) 30px;padding:14px var(--gutter);display:flex;align-items:center;gap:20px;background:#080c1a8c;border-bottom:1px solid var(--glass-border);backdrop-filter:saturate(170%) blur(22px);-webkit-backdrop-filter:saturate(170%) blur(22px)}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--text);text-decoration:none;white-space:nowrap}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--accent-grad);display:grid;place-items:center;font-size:15px;font-weight:800;color:#060913;box-shadow:0 8px 22px -8px #22d3eed9}.brand-sub{font-size:11px;font-weight:500;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}.nav-link{padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-dim);text-decoration:none;transition:color .18s,background .18s;white-space:nowrap}.nav-link:hover{color:var(--text);background:#ffffff12}.nav-link.active{color:#060913;background:linear-gradient(135deg,#22d3eef2,#a78bfaf2);font-weight:600}.topbar-user{display:flex;align-items:center;gap:10px;padding-left:16px;margin-left:6px;border-left:1px solid var(--glass-border)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;color:#060913;background:linear-gradient(135deg,var(--emerald),var(--cyan));flex:none}.page-head{margin:6px 0 26px}.page-title{margin:0;font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.1}.page-sub{margin:9px 0 0;color:var(--text-dim);font-size:15px;max-width:66ch;line-height:1.55}.gradient-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.section-title{margin:0 0 4px;font-size:16px;font-weight:600;letter-spacing:-.01em}.section-sub{margin:0;font-size:13px;color:var(--text-faint)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-sidebar{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.grid-forecast{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-sidebar,.grid-forecast,.grid-3{grid-template-columns:minmax(0,1fr)}}.tabbar{position:fixed;inset:auto 0 0;z-index:45;display:none;align-items:stretch;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#080c1acc;border-top:1px solid var(--glass-border);backdrop-filter:saturate(170%) blur(22px);-webkit-backdrop-filter:saturate(170%) blur(22px)}.tab-link{flex:1 1 0;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px 6px;border-radius:14px;color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:color .18s,background .18s,transform .15s}.tab-link svg{width:22px;height:22px;flex:none}.tab-link.active{color:var(--text);background:#ffffff14}.tab-link.active svg{color:var(--cyan);filter:drop-shadow(0 0 8px rgba(34,211,238,.5))}.tab-link:active{transform:scale(.94)}@media(max-width:900px){.tabbar{display:flex}.nav{display:none}.topbar{gap:10px;padding:10px var(--gutter);padding-top:calc(10px + env(safe-area-inset-top));margin-bottom:22px}.topbar-user{margin-left:auto;gap:8px;padding-left:0;border-left:none}.topbar-user .col{display:none}.shell{padding-bottom:calc(86px + env(safe-area-inset-bottom))}}@media(max-width:640px){:root{--gutter: max(16px, env(safe-area-inset-left), env(safe-area-inset-right))}.shell{padding:0 var(--gutter) calc(86px + env(safe-area-inset-bottom))}.topbar{margin:0 calc(-1 * var(--gutter)) 18px;padding:9px var(--gutter);padding-top:calc(9px + env(safe-area-inset-top));gap:9px}.grid-2,.grid-4{grid-template-columns:minmax(0,1fr)}.card{padding:18px}.brand-sub,.topbar-user .avatar{display:none}}.stat-tile{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.stat-label{font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint)}.stat-value{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.stat-note{font-size:12.5px;color:var(--text-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-raised);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .16s,box-shadow .2s,background .2s,border-color .2s,opacity .2s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn:hover:not(:disabled){background:#ffffff29;border-color:var(--glass-border-bright);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-grad);border-color:transparent;color:#060913;box-shadow:0 14px 34px -14px #6366f1e6}.btn-primary:hover:not(:disabled){background:var(--accent-grad);filter:brightness(1.1);box-shadow:0 18px 40px -14px #6366f1}.btn-danger{background:#fb718524;border-color:#fb718566;color:#fecdd3}.btn-danger:hover:not(:disabled){background:#fb718542}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){background:#ffffff14;color:var(--text)}.btn-sm{padding:7px 14px;font-size:13px}.signout-btn svg{width:16px;height:16px;flex:none}.btn-block{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.label{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint)}.input{width:100%;padding:12px 15px;border-radius:var(--radius-xs);border:1px solid var(--glass-border);background:var(--glass-input);color:var(--text);font-family:inherit;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:#22d3eea6;background:#080c1a9e;box-shadow:0 0 0 4px #22d3ee24}.input-mono{font-family:var(--mono);letter-spacing:.06em}.hint{font-size:12.5px;color:var(--text-faint);line-height:1.5}.form-error{margin:0 0 16px;padding:11px 14px;border-radius:var(--radius-xs);border:1px solid rgba(251,113,133,.4);background:#fb718521;color:#fecdd3;font-size:13.5px}.form-note{margin:18px 0 0;font-size:13.5px;color:var(--text-dim);text-align:center}.form-note a{color:var(--cyan);text-decoration:none;font-weight:600}.form-note a:hover{text-decoration:underline}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.auth-card{width:100%;max-width:430px;padding:34px}.auth-head{text-align:center;margin-bottom:26px}.auth-title{margin:14px 0 6px;font-size:27px;font-weight:700;letter-spacing:-.03em}.auth-sub{margin:0;font-size:14px;color:var(--text-dim)}.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.label-link{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--cyan);text-decoration:none;text-transform:none}.label-link:hover{text-decoration:underline}.form-notice{margin:20px 0 0;padding:13px 15px;border-radius:var(--radius-xs);background:#22d3ee14;border:1px solid rgba(34,211,238,.22);font-size:12.5px;color:var(--text-dim);line-height:1.7}.form-notice code{font-family:var(--mono);color:var(--cyan);word-break:break-all}.ball-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ball{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:17px;font-weight:600;color:var(--text);background:linear-gradient(150deg,#ffffff30,#ffffff0d);border:1px solid var(--glass-border-bright);box-shadow:inset 0 1px #ffffff59,0 10px 24px -12px #020617e6;flex:none;font-variant-numeric:tabular-nums}.ball-sm{width:38px;height:38px;font-size:13.5px}.ball-lg{width:74px;height:74px;font-size:25px;border-radius:50%}.ball-accent{background:var(--accent-grad);border-color:transparent;color:#060913;font-weight:700;box-shadow:0 14px 34px -12px #22d3eebf,inset 0 1px #ffffff80}.ball-match{background:linear-gradient(150deg,var(--emerald),#059669);border-color:#a7f7d099;color:#04231a;font-weight:700;box-shadow:0 0 0 3px #34d39933,0 14px 30px -12px #10b981cc}.ball-miss{opacity:.42}.ball-ghost{background:#ffffff0a;border-style:dashed;border-color:#fff3;color:var(--text-faint)}.ball-row-lg{gap:14px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--glass-border);background:#ffffff12;color:var(--text-dim);white-space:nowrap}.badge-cyan{border-color:#22d3ee66;background:#22d3ee21;color:#a5f3fc}.badge-emerald{border-color:#34d39966;background:#34d39921;color:#a7f3d0}.badge-violet{border-color:#a78bfa66;background:#a78bfa24;color:#ddd6fe}.badge-amber{border-color:#fbbf2466;background:#fbbf2421;color:#fde68a}.badge-rose{border-color:#fb718566;background:#fb718521;color:#fecdd3}.badge-btn{font-family:inherit;cursor:pointer;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}.badge-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #00000047}.badge-btn:disabled{cursor:default}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.table-wrap{overflow-x:auto;margin:0 -6px;padding:0 6px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--glass-border);white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text-dim);vertical-align:middle}.table tbody tr{transition:background .16s}.table tbody tr:hover{background:#ffffff0b}.table tbody tr:last-child td{border-bottom:none}.table .num{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.table .ball-row{flex-wrap:nowrap}.table-right{text-align:right}.heat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:7px}.heat-cell{position:relative;aspect-ratio:1;border-radius:12px;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.09);color:var(--text);cursor:default;transition:transform .16s,border-color .16s}.heat-cell:hover{transform:translateY(-2px) scale(1.06);border-color:var(--glass-border-bright);z-index:2}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-axis{font-size:9.5px;fill:var(--text-faint);font-family:var(--mono)}.chart-bar{transition:opacity .18s}.chart-bar:hover{opacity:.75}.bar-track{height:7px;border-radius:999px;background:#ffffff14;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--accent-grad);transition:width .6s cubic-bezier(.22,1,.36,1);transform-origin:left center;animation:grow-x .7s cubic-bezier(.22,1,.36,1) backwards}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ring-wrap{position:relative;display:grid;place-items:center}.ring-label{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1}.ring-value{font-size:30px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ring-caption{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.signal-row{display:grid;grid-template-columns:1fr;gap:16px}.signal-card{padding:16px 18px;display:flex;flex-direction:column;gap:13px}.signal-head{display:flex;align-items:center;gap:12px}.signal-score{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--cyan);font-weight:600}.signal-bars{display:grid;gap:9px}.signal-bar{display:grid;grid-template-columns:88px 1fr 42px;align-items:center;gap:10px;font-size:12.5px}.signal-bar-wide{grid-template-columns:150px 1fr 44px}.signal-name{color:var(--text-dim);text-transform:capitalize}.signal-val{font-family:var(--mono);color:var(--text-faint);text-align:right;font-size:11.5px}.meta-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;padding-top:13px;border-top:1px solid var(--glass-border)}.meta-item{display:flex;flex-direction:column;gap:3px}.meta-key{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.meta-val{font-family:var(--mono);font-size:14px;color:var(--text)}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.col{display:flex;flex-direction:column}.stack{display:flex;flex-direction:column;gap:16px}.stack-sm{display:flex;flex-direction:column;gap:9px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono)}.small{font-size:13px}.center{text-align:center}.grow{flex:1}.nowrap{white-space:nowrap}.divider{height:1px;background:var(--glass-border);margin:18px 0;border:none}.empty{padding:44px 22px;text-align:center;color:var(--text-faint)}.empty-title{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--text-dim)}.empty-sub{margin:0;font-size:13.5px;max-width:44ch;margin-inline:auto;line-height:1.6}.spinner{width:34px;height:34px;border-radius:50%;border:2.5px solid rgba(255,255,255,.16);border-top-color:var(--cyan);animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-wrap{display:grid;place-items:center;padding:70px 20px;gap:14px;color:var(--text-faint);font-size:13.5px}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid var(--glass-border)}.tab{padding:7px 16px;border-radius:999px;border:none;background:transparent;color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s}.tab:hover{color:var(--text)}.tab.active{background:#ffffff24;color:var(--text)}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px}.picker-cell{aspect-ratio:1;border-radius:11px;border:1px solid var(--glass-border);background:#ffffff0b;color:var(--text-dim);font-family:var(--mono);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.picker-cell:hover:not(:disabled){background:#ffffff1f;color:var(--text);transform:translateY(-1px)}.picker-cell.selected{background:var(--accent-grad);border-color:transparent;color:#060913;box-shadow:0 8px 20px -8px #22d3eecc}.picker-cell:disabled{opacity:.3;cursor:not-allowed}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;flex-direction:column;gap:10px;max-width:min(370px,calc(100vw - 40px))}.toast{padding:13px 17px;border-radius:var(--radius-sm);border:1px solid var(--glass-border-bright);background:#0e1428d1;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-lift);font-size:13.5px;color:var(--text);animation:toast-in .28s cubic-bezier(.22,1,.36,1);line-height:1.45}.toast-error{border-color:#fb718580;background:#3c0e1cdb}.toast-success{border-color:#34d39980;background:#082e24db}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rank-1{color:var(--amber)}.rank-2{color:#cbd5e1}.rank-3{color:#f0a868}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff08}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:content-box}.page-body>*{animation:rise-in .5s cubic-bezier(.22,1,.36,1) backwards}.page-body>*:nth-child(1){animation-delay:.02s}.page-body>*:nth-child(2){animation-delay:.07s}.page-body>*:nth-child(3){animation-delay:.12s}.page-body>*:nth-child(4){animation-delay:.17s}.page-body>*:nth-child(5){animation-delay:.21s}.page-body>*:nth-child(6){animation-delay:.25s}.page-body>*:nth-child(7){animation-delay:.28s}.page-body>*:nth-child(n+8){animation-delay:.31s}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-card{animation:rise-in .45s cubic-bezier(.22,1,.36,1) backwards}.ball-roll{animation:ball-roll .55s cubic-bezier(.22,1.5,.36,1) backwards}@keyframes ball-roll{0%{opacity:0;transform:scale(.25) rotate(-140deg);filter:blur(5px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.picker-cell:active:not(:disabled){transform:scale(.93)}.picker-cell.selected{animation:cell-pop .3s cubic-bezier(.22,1.5,.36,1)}@keyframes cell-pop{0%{transform:scale(.82)}60%{transform:scale(1.07)}to{transform:scale(1)}}.btn:active:not(:disabled){transform:translateY(0) scale(.975)}.icon-btn{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text-dim);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.icon-btn:hover{background:#ffffff21;color:var(--text);border-color:var(--glass-border-bright)}.icon-btn:active{transform:scale(.9)}.icon-btn.is-off{color:var(--text-faint);background:transparent}.toast-out{animation:toast-out .22s cubic-bezier(.4,0,1,1) forwards}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.96)}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.09) 45%,transparent 70%);transform:translate(-100%);animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{to{transform:translate(100%)}}.ring-wrap{animation:fade-in .4s cubic-bezier(.22,1,.36,1) backwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.blob,.shimmer:after{animation:none}}@media(max-width:900px){.toast-stack{bottom:calc(78px + env(safe-area-inset-bottom))}}@media(max-width:640px){.brand{min-height:44px}.btn{min-height:44px;padding:12px 18px}.btn-sm{min-height:40px;padding:9px 14px}.icon-btn{width:40px;height:40px}.signout-btn{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%}.signout-btn svg{width:18px;height:18px}.signout-label{display:none}.badge-btn{width:40px;min-height:40px;padding:0;justify-content:center;gap:0;font-size:0}.badge-btn .dot{width:9px;height:9px}.table{font-size:13.5px}.table th,.table td{padding-left:10px;padding-right:10px}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{min-height:44px;padding:9px 15px}.ball-lg{width:50px;height:50px;font-size:17px}.ball-row-lg{gap:8px}.signal-bar,.signal-bar.signal-bar-wide{grid-template-columns:104px 1fr 38px;gap:8px}.meta-list{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.input{font-size:16px}.label-link{display:inline-flex;align-items:center;min-height:32px;margin:-8px 0}.form-note a,.form-notice a{display:inline-block;padding:12px 6px;margin:-12px -6px}.auth-wrap{min-height:100dvh}.toast-stack{right:var(--gutter);left:var(--gutter);max-width:none}}
