:root{--color-bg: #f3f2f2;--color-surface: #eae9e9;--color-text: #201f1d;--color-accent: #b68235;--color-divider: color-mix(in srgb, #201f1d 16%, transparent);--color-neutral-100: #f8f4f4;--color-neutral-200: #eae7e7;--color-neutral-300: #d7d3d3;--color-neutral-400: #bab6b6;--color-neutral-500: #9b9797;--color-neutral-600: #7d7979;--color-neutral-700: #605d5d;--color-neutral-800: #444141;--color-neutral-900: #2d2b2b;--color-accent-100: #fff3e4;--color-accent-200: #ffe3bf;--color-accent-300: #facb8d;--color-accent-400: #e1ad66;--color-accent-500: #c28d41;--color-accent-600: #a06f24;--color-accent-700: #7d5411;--color-accent-800: #5a3b0a;--color-accent-900: #3a270d;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 7px;--shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);--font-heading: -apple-system, "Helvetica Neue", Arial, sans-serif;--font-body: -apple-system, "Helvetica Neue", Arial, sans-serif;--font-heading-weight: 600;--pos: #4b7a5a;--neg: #a1493a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--color-neutral-300);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.card{border-radius:var(--radius-md);background:transparent;border:1px solid var(--color-divider)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75);white-space:nowrap}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;color:var(--color-text);background:transparent;border:1px solid transparent;padding:9px 16px;border-radius:var(--radius-md)}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-block{width:100%}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);background:transparent;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt.active{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:9px;border-bottom:1px solid var(--color-divider)}.table td{padding:9px;border-bottom:1px solid var(--color-divider)}.stage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.device{width:402px;height:874px;flex:none;position:relative;background:var(--color-bg);border-radius:46px;border:10px solid #14120f;overflow:hidden;box-shadow:0 40px 80px -20px #14120f73}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.scroll-area,.tab-body{overflow-x:hidden}.app-header{padding:20px 20px 14px;flex:none;border-bottom:1px solid var(--color-divider)}.account-selector{display:flex;align-items:center;gap:6px;cursor:pointer;width:fit-content;background:none;border:0;padding:0;color:inherit}.account-selector span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.total-value{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:36px;line-height:1.05;font-variant-numeric:tabular-nums;margin-top:4px}.change-row{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:5px;font-size:13px;font-variant-numeric:tabular-nums}.scroll-area{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.tab-body{padding:20px}.section-title{font-family:var(--font-heading);font-size:19px;font-weight:var(--font-heading-weight)}.link-accent{font-size:12px;color:var(--color-accent-700);text-decoration:none;background:none;border:0;cursor:pointer;padding:0}.chip-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.chip{flex:none;font-size:12px;padding:6px 13px;border-radius:100px;cursor:pointer;white-space:nowrap;border:1px solid var(--color-divider);color:var(--color-text);background:none}.chip.active{border-color:var(--color-accent-700);color:var(--color-accent-700)}.list-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--color-divider)}.list-row:last-child{border-bottom:0}.row-btn{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--color-divider);padding:11px 0;cursor:pointer;color:inherit;display:flex;align-items:center;gap:10px}.row-btn:last-child{border-bottom:0}.ticker{font-weight:600;font-size:14px}.sub{font-size:11.5px;opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.bottom-nav{flex:none;display:flex;border-top:1px solid var(--color-divider);background:var(--color-bg);padding:8px 4px 22px}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:none;border:0;color:inherit;opacity:.42}.nav-item.active{opacity:1}.nav-item span{font-size:10.5px}.nav-dot{width:4px;height:4px;border-radius:50%;background:var(--color-accent-700);margin-top:-1px}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14120f66;z-index:40;animation:fadeIn .15s ease;border:0}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-surface);border-radius:20px 20px 0 0;z-index:41;padding:10px 18px 30px;box-shadow:var(--shadow-lg);animation:sheetUp .25s ease}.sheet-grip{width:36px;height:4px;background:var(--color-divider);border-radius:3px;margin:0 auto 16px}.sheet-title{font-family:var(--font-heading);font-size:17px;font-weight:var(--font-heading-weight);margin-bottom:10px}.detail{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg);z-index:50;display:flex;flex-direction:column;animation:slideInRight .2s ease}.detail-header{padding:20px 20px 14px;flex:none;border-bottom:1px solid var(--color-divider);display:flex;align-items:center;gap:12px}.icon-btn{background:none;border:0;cursor:pointer;padding:2px;color:inherit;display:flex}.screen-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.login{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:300px;display:flex;flex-direction:column;gap:6px}.login-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:26px;margin:0 0 12px}.login-err{font-size:12px;color:var(--neg)}.spinner{width:28px;height:28px;border:2px solid var(--color-divider);border-top-color:var(--color-accent-700);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.demo-banner{flex:none;background:var(--color-accent-100);color:var(--color-accent-800);font-size:11px;line-height:1.4;padding:8px 14px;border-bottom:1px solid var(--color-divider)}.demo-banner code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;background:color-mix(in srgb,var(--color-accent-800) 12%,transparent);padding:1px 4px;border-radius:3px}.skeleton{background:linear-gradient(90deg,color-mix(in srgb,var(--color-text) 6%,transparent) 25%,color-mix(in srgb,var(--color-text) 12%,transparent) 37%,color-mix(in srgb,var(--color-text) 6%,transparent) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:4px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.approx-note{font-size:11px;opacity:.5;margin-top:6px}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(4%);opacity:.4}to{transform:translate(0);opacity:1}}@media (max-width: 460px){.stage{padding:0}.device{width:100vw;height:100vh;border-radius:0;border:0}}
