@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-base:#06070a;--bg-panel:#0b0d11;--bg-subtle:#101319;--bg-elevated:#15181f;--bg-hover:#161b24;--border:#1d2230;--border-strong:#2b3242;--text:#e8edf2;--text-dim:#a7b0ba;--text-mut:#6f7783;--text-faint:#586069;--up:#00e0a0;--up-bright:#22ffbf;--up-bg:rgba(0,224,160,.12);--down:#ff4d5e;--down-bright:#ff6b78;--down-bg:rgba(255,77,94,.12);--accent:#00e0a0;--accent-bright:#22ffbf;--accent-bg:rgba(0,224,160,.12);--warn:#f5a623;--info:#5b9bff;--info-bright:#9fc1ff;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--fs-xs:11px;--fs-sm:12.5px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:34px;--r-sm:2px;--r-md:3px;--r-lg:4px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg-base);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-base);font-variant-numeric:tabular-nums;line-height:1.45;-webkit-font-smoothing:antialiased}::placeholder{color:var(--text-faint)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-sm)}::-webkit-scrollbar-track{background:transparent}.num{font-variant-numeric:tabular-nums}.up{color:var(--up-bright)}.down{color:var(--down-bright)}.mut{color:var(--text-mut)}.dim{color:var(--text-dim)}.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border);border-right:1px solid var(--border);padding:env(safe-area-inset-top) 0 0}.screen{flex:1;padding:var(--sp-4) var(--sp-4) calc(72px + env(safe-area-inset-bottom));overflow-y:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 2px var(--sp-4);border-bottom:1px solid var(--border);margin-bottom:var(--sp-4)}.topbar .lockup{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.topbar .who{min-width:0}.topbar .name{font-weight:600;font-size:var(--fs-md);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .sub{color:var(--text-mut);font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live{display:inline-flex;align-items:center;gap:6px;color:var(--text-mut);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em}.live .dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--up);box-shadow:0 0 0 0 var(--up-bg);animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #00e0a073}70%{box-shadow:0 0 0 7px #00e0a000}to{box-shadow:0 0 #00e0a000}}.linkbtn{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);padding:6px 11px;border-radius:var(--r-md);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap}.linkbtn:hover{background:var(--bg-hover);color:var(--text)}.linkbtn:active{transform:translateY(1px)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg)}.card-pad{padding:var(--sp-4)}.label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-mut)}.equity{padding:var(--sp-5) var(--sp-4) var(--sp-4);margin-bottom:var(--sp-3)}.equity .row1{display:flex;align-items:center;justify-content:space-between}.equity .value{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.01em;margin:var(--sp-2) 0 var(--sp-3)}.equity .chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;padding:3px 9px;border-radius:var(--r-sm);border:1px solid transparent}.chip.up{background:var(--up-bg);border-color:#00e0a040;color:var(--up-bright)}.chip.down{background:var(--down-bg);border-color:#ff4d5e40;color:var(--down-bright)}.strip{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.strip .cell{padding:var(--sp-3) 0}.strip .cell+.cell{border-left:1px solid var(--border);padding-left:var(--sp-4)}.strip .k{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-mut)}.strip .v{font-size:var(--fs-lg);font-weight:600;margin-top:3px}.seg{display:flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-3)}.seg button{flex:1;padding:7px 0;min-height:34px;font:inherit;font-size:var(--fs-sm);font-weight:500;background:transparent;border:0;border-left:1px solid var(--border);color:var(--text-mut);cursor:pointer;transition:background .12s ease,color .12s ease}.seg button:first-child{border-left:0}.seg button.on{background:var(--accent);color:#04201c;font-weight:700}.chart-wrap{position:relative;height:208px}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-mut);font-size:var(--fs-sm);text-align:center;padding:0 var(--sp-6);line-height:1.6}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-mut);padding:2px 2px var(--sp-3);display:flex;align-items:center;justify-content:space-between}.list{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-panel);border-top:1px solid var(--border);transition:background .12s ease}.row:first-child{border-top:0}.row:active{background:var(--bg-hover)}.row.win{box-shadow:inset 2px 0 0 var(--up);background:linear-gradient(90deg,var(--up-bg),transparent 55%),var(--bg-panel)}.row.loss{box-shadow:inset 2px 0 0 var(--down);background:linear-gradient(90deg,var(--down-bg),transparent 55%),var(--bg-panel)}.row .lhs{display:flex;flex-direction:column;gap:5px;min-width:0}.row .sym{font-weight:600;font-size:var(--fs-md);display:flex;align-items:center;gap:var(--sp-2)}.row .meta{color:var(--text-mut);font-size:var(--fs-sm)}.row .rhs{text-align:right;white-space:nowrap}.row .rhs .big{font-size:var(--fs-md);font-weight:600}.row .rhs .small{color:var(--text-mut);font-size:var(--fs-xs);margin-top:3px}.total-row{border:1px solid var(--border);border-radius:var(--r-lg);border-top:1px solid var(--border);margin-bottom:var(--sp-3)}.total-row .sym{color:var(--text-mut);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em}.total-row .rhs .big{font-size:var(--fs-lg)}.badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.badge.long{background:var(--up-bg);color:var(--up-bright);border-color:#00e0a038}.badge.short{background:var(--down-bg);color:var(--down-bright);border-color:#ff4d5e38}.empty{text-align:center;color:var(--text-mut);padding:var(--sp-8) var(--sp-6);font-size:var(--fs-sm);border:1px dashed var(--border);border-radius:var(--r-lg);line-height:1.7}.empty .glyph{opacity:.5;margin-bottom:var(--sp-3);display:flex;justify-content:center}.loadmore{width:100%;padding:11px;min-height:42px;margin-top:var(--sp-3);background:transparent;border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.loadmore:hover{background:var(--bg-hover);color:var(--text)}.loadmore:active{transform:translateY(1px)}.loadmore:disabled{opacity:.5}.skel{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-elevated) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-row{height:58px;margin:0;border-top:1px solid var(--border)}.skel-row:first-child{border-top:0}.tabbar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;display:flex;background:#06070adb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:20}.tabbar button{flex:1;background:none;border:0;color:var(--text-faint);cursor:pointer;padding:9px 0 7px;min-height:54px;font:inherit;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;gap:4px;transition:color .12s ease;position:relative}.tabbar button svg{width:20px;height:20px}.tabbar button.on{color:var(--accent-bright)}.tabbar button.on:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:2px;background:var(--accent);border-radius:0 0 var(--r-sm) var(--r-sm)}.login{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--sp-8) var(--sp-6);gap:var(--sp-3)}.login .brand{text-align:center;margin-bottom:var(--sp-6)}.login .brand .mark{display:flex;justify-content:center;margin-bottom:var(--sp-4)}.login .brand h1{margin:0;font-size:var(--fs-lg);font-weight:600;letter-spacing:.22em;text-transform:uppercase}.login .brand p{margin:var(--sp-2) 0 0;color:var(--text-mut);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-mut)}.login input{width:100%;padding:0 var(--sp-3);height:46px;font:inherit;font-size:var(--fs-md);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-variant-numeric:tabular-nums}.login input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.login .err{color:var(--down-bright);font-size:var(--fs-sm);text-align:center;min-height:18px}.btn-primary{width:100%;height:46px;font:inherit;font-size:var(--fs-md);font-weight:700;letter-spacing:.04em;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent-bg);color:var(--accent-bright);cursor:pointer;transition:background .12s ease;text-transform:uppercase}.btn-primary:hover{background:#00e0a033}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.spinner{text-align:center;color:var(--text-mut);padding:var(--sp-8) 0;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase}
