@layer components{.sp-app{min-height:100vh;min-height:100dvh}.sp-app,.sp-side{background:var(--s-bg)}.sp-side{box-shadow:1px 0 0 var(--s-ring)}.sp-nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--s-text-2);font-weight:500;font-size:15px;position:relative;transition:background .15s ease,color .15s ease;width:100%;text-align:left}.sp-nav-item:hover{background:rgba(255,255,255,.04);color:var(--s-text)}.sp-nav-item[aria-current=page]{background:var(--s-panel-3);color:#fff}.sp-tabbar{padding-bottom:env(safe-area-inset-bottom);background:rgba(17,17,17,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 -1px 0 var(--s-ring)}.sp-tabbar button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 9px;color:var(--s-text-3);font-size:11px;font-weight:600;position:relative;transition:color .15s ease}.sp-tabbar button[aria-current=page]{color:#fff}.sp-dot{position:absolute;width:8px;height:8px;border-radius:9px;background:#FF5A4E;box-shadow:0 0 0 2px var(--s-bg)}.sp-topbar{background:rgba(17,17,17,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--s-ring)}.sp-card{box-shadow:var(--s-shadow-card)}.sp-card,.sp-card-flat{background:var(--s-panel);border-radius:12px}.sp-card-flat,.sp-inset{box-shadow:0 0 0 1px var(--s-ring)}.sp-inset{background:var(--s-panel-2);border-radius:10px}.sp-hover{transition:background .15s ease}.sp-hover:hover{background:rgba(255,255,255,.03)}.sp-divide>*+*{box-shadow:0 -1px 0 var(--s-ring)}.sp-title{font-family:var(--s-display);font-size:28px;line-height:1.15;letter-spacing:-.03em}.sp-h,.sp-title{font-weight:600;color:var(--s-text)}.sp-h{font-family:var(--s-body);font-size:17px;letter-spacing:-.01em}.sp-lbl{font-size:14px;font-weight:500;color:var(--s-text-2)}.sp-cap{font-size:12px;color:var(--s-text-3)}.sp-num{letter-spacing:-.025em}.sp-money-xl,.sp-num{font-family:var(--s-body);font-variant-numeric:tabular-nums;font-weight:600}.sp-money-xl{letter-spacing:-.035em;font-size:40px;line-height:1.05;color:#fff}@media (min-width:1024px){.sp-money-xl{font-size:48px}}.sp-link{font-family:var(--s-mono);letter-spacing:-.01em}.sp-seg{display:inline-flex;gap:2px}.sp-seg button{font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:8px;color:var(--s-text-2);transition:background .15s ease,color .15s ease;white-space:nowrap}.sp-seg button[aria-pressed=true]{background:var(--s-accent-soft);color:var(--s-accent-text)}.sp-seg button:hover:not([aria-pressed=true]){color:var(--s-text);background:rgba(255,255,255,.04)}.sp-toggle{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--s-panel-2);box-shadow:0 0 0 1px var(--s-ring)}.sp-toggle button{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:7px;color:var(--s-text-2);white-space:nowrap;transition:background .15s ease,color .15s ease}.sp-toggle button[aria-pressed=true]{background:var(--s-panel-3);color:#fff;box-shadow:0 0 0 1px var(--s-ring-strong)}.sp-act{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:10px;background:var(--s-panel-2);box-shadow:0 0 0 1px var(--s-ring);color:var(--s-text);font-weight:600;font-size:15px;transition:background .15s ease}.sp-act:hover{background:var(--s-panel-3)}.sp-act-primary{background:var(--s-accent);box-shadow:none;color:#fff}.sp-act-primary:hover{background:var(--s-accent-hover)}.sp-act:disabled{opacity:.45;cursor:not-allowed}.sp-icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--s-text-2);transition:background .15s ease,color .15s ease}.sp-icon-btn:hover{background:rgba(255,255,255,.06);color:#fff}.sp-textlink{color:var(--s-accent-text);font-weight:600}.sp-textlink:hover{text-decoration:underline;text-underline-offset:3px}.sp-filter{text-align:left;padding:12px 14px;border-radius:12px;background:var(--s-panel);box-shadow:0 0 0 1px var(--s-ring);transition:box-shadow .15s ease,background .15s ease;min-width:0}.sp-filter:hover{background:#1c1c1c}.sp-filter[aria-pressed=true]{box-shadow:0 0 0 1.5px var(--s-accent)}.sp-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;line-height:18px}.sp-chip[data-tone=green]{color:var(--s-gain);background:var(--s-gain-bg)}.sp-chip[data-tone=amber]{color:var(--s-warn);background:var(--s-warn-bg)}.sp-chip[data-tone=red]{color:var(--s-danger);background:var(--s-danger-bg)}.sp-chip[data-tone=blue]{color:var(--s-accent-text);background:var(--s-accent-soft)}.sp-chip[data-tone=muted],.sp-chip[data-tone=violet]{color:var(--s-text-2);background:rgba(255,255,255,.06)}.sp-note{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.5;box-shadow:0 0 0 1px var(--s-ring);background:var(--s-panel)}.sp-note[data-tone=amber]{background:var(--s-warn-bg);box-shadow:0 0 0 1px rgba(255,197,61,.22)}.sp-note[data-tone=red]{background:var(--s-danger-bg);box-shadow:0 0 0 1px rgba(255,144,129,.25)}.sp-note[data-tone=green]{background:var(--s-gain-bg);box-shadow:0 0 0 1px rgba(61,214,140,.22)}.sp-note[data-tone=blue]{background:rgba(1,99,253,.08);box-shadow:0 0 0 1px rgba(1,99,253,.25)}.sp-avatar{position:relative;display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:999px;background:var(--s-panel-3);color:var(--s-text-2);font-size:12px;font-weight:600}.sp-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:15px;height:15px;border-radius:99px;box-shadow:0 0 0 2px var(--s-panel);color:#0b0b0b}.sp-stack{display:flex;gap:3px;height:10px;border-radius:99px;overflow:hidden}.sp-stack>span{height:100%;border-radius:2px}.sp-progress{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.sp-progress>span{display:block;height:100%;border-radius:99px;background:var(--s-accent);transition:width .5s cubic-bezier(.2,.7,.3,1)}.sp-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}.sp-sheet{width:100%;max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain;background:#161616;border-radius:16px 16px 0 0;box-shadow:0 0 0 1px var(--s-ring-strong),0 -20px 60px -20px rgba(0,0,0,.8);padding-bottom:env(safe-area-inset-bottom)}@media (min-width:640px){.sp-overlay{align-items:center;padding:24px}.sp-sheet{max-width:480px;border-radius:16px}.sp-sheet[data-size=lg]{max-width:640px}}@keyframes sp-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}.sp-overlay{animation:sp-fade .18s ease both}.sp-sheet{animation:sp-up .24s cubic-bezier(.2,.7,.3,1) both}.sp-amount{font-family:var(--s-body);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.04em;font-size:56px;line-height:1;background:transparent;border:0;outline:none;text-align:center;color:#fff;width:100%;caret-color:var(--s-accent)}.sp-amount::placeholder{color:var(--s-text-3)}@keyframes sp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sp-skel{border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.035) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.035) 75%);background-size:200% 100%;animation:sp-shimmer 1.6s linear infinite}@keyframes sp-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sp-in{animation:sp-in .3s cubic-bezier(.2,.7,.3,1) both}.sp-toast{position:fixed;z-index:120;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}@media (min-width:1024px){.sp-toast{bottom:28px}}.sp-acc>summary{list-style:none;cursor:pointer}.sp-acc>summary::-webkit-details-marker{display:none}.sp-acc[open]>summary .sp-acc-chev{transform:rotate(180deg)}.sp-acc-chev{transition:transform .2s ease}.sp-scroll::-webkit-scrollbar{height:6px;width:6px}.sp-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}.sp-noscroll{scrollbar-width:none}.sp-noscroll::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.sp-in,.sp-overlay,.sp-sheet,.sp-skel{animation:none}.sp-progress>span{transition:none}}}