@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&display=swap";
:root{--background:#fff;--foreground:#0a0a0a;--muted:#f5f5f5;--muted-foreground:#737373;--border:#e5e5e5;--secondary:#f5f5f5;--secondary-foreground:#171717;--ring:#a1a1a1;--buy:#195131;--sell:#9d352f;--radius:.625rem;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--border:lab(90.952% 0 -.0000119209);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--ring:lab(66.128% -.0000298023 .0000119209);--buy:lab(30.2794% -25.5102 13.1537);--sell:lab(38.3151% 43.7657 28.5452)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--border:#ffffff1a;--secondary:#262626;--secondary-foreground:#fafafa;--ring:#737373;--buy:#68b986;--sell:#f47c70}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--border:lab(100% 0 0/.1);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--ring:lab(48.496% 0 0);--buy:lab(68.966% -34.7285 17.8622);--sell:lab(66.0977% 46.4553 28.7923)}}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;padding-bottom:env(safe-area-inset-bottom);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}@media (hover:none){a:hover,button:hover{filter:none}}a{color:inherit;text-decoration:none}h1,p{margin:0}.trade-layout{max-width:64rem;padding:0 clamp(1rem, 3vw, 2rem) max(env(safe-area-inset-bottom), 1rem);margin:0 auto}.public-shell{flex-direction:column;gap:1.5rem;min-width:0;padding:1.5rem 0 3rem;display:flex}.public-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:0;padding-bottom:0;display:flex}h1{font-family:var(--font-mono);letter-spacing:-.02em;font-size:clamp(1.875rem,4vw,2.5rem);font-weight:500;line-height:1}.public-meta{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;font-size:.6875rem;display:flex}.delay-notice{color:var(--muted-foreground);margin:0;padding:0;font-size:.75rem;line-height:1.5}.delay-notice:before{content:"NOTE ";font-family:var(--font-mono);letter-spacing:.08em;color:color-mix(in oklch, var(--muted-foreground) 60%, transparent);margin-right:.5rem;font-size:.6875rem}.panel{margin:0}.trade-panel{flex-direction:column;gap:1rem;display:flex}.trade-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.875rem;display:flex}.trade-panel-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);font-size:.6875rem}.trade-panel-count{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.timeline{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.timeline-group{grid-template-columns:7rem 1fr;align-items:start;gap:1rem;display:grid}.timeline-date{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;padding-top:.5rem;font-size:.6875rem;font-weight:500;position:sticky;top:1rem}.timeline-rows{border-left:1px solid var(--border);gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.trade-row{border-radius:calc(var(--radius) - 2px);scroll-margin-top:1.5rem;transition:background .12s;position:relative}.trade-row-main{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:inherit;background:0 0;border:0;grid-template-columns:3.5rem 2rem 1fr auto;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem .5rem 1.25rem;display:grid}.trade-row-main:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.trade-row:before{content:"";background:var(--muted-foreground);opacity:.45;border-radius:9999px;width:7px;height:7px;position:absolute;top:1.5rem;left:-4px;transform:translateY(-50%)}.trade-row.side-buy:before,.trade-row.side-buy-open:before,.trade-row.side-buy-close:before{background:var(--buy);opacity:1}.trade-row.side-sell:before,.trade-row.side-sell-open:before,.trade-row.side-sell-close:before{background:var(--sell);opacity:1}.trade-row-main:hover{background:color-mix(in oklch, var(--muted) 60%, transparent)}.trade-row.is-selected{background:color-mix(in oklch, var(--muted) 70%, transparent);outline:1px solid var(--border)}.trade-row:target{background:color-mix(in oklch, var(--muted) 80%, transparent);outline:1px solid var(--border)}.position-sidebar{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklch, var(--background) 92%, var(--muted));grid-template-columns:minmax(0,1fr);gap:1.25rem;min-width:0;padding:clamp(1.25rem,2.5vw,2rem);display:grid}.sidebar-header{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.sidebar-header>div:first-child{flex:auto;min-width:0}.sidebar-eyebrow,.sidebar-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-eyebrow-wrap,.sidebar-title-wrap{position:relative}.sidebar-eyebrow{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.6875rem}.sidebar-title{font-family:var(--font-mono);letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:500;line-height:1.2}.sidebar-clear{appearance:none;border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;transition:color .12s,border-color .12s}.sidebar-clear:hover{color:var(--foreground);border-color:var(--foreground)}.sidebar-diff{border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background:var(--background);gap:.375rem;min-width:0;padding:.625rem .75rem;display:grid;overflow:hidden}.sidebar-diff-symbol{align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;display:flex}.sidebar-diff-symbol strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.sidebar-diff-symbol .trade-side{flex:none}.sidebar-diff-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.9375rem;display:flex}.sidebar-diff-before{color:var(--muted-foreground)}.sidebar-diff-arrow{color:var(--muted-foreground);font-size:.8125rem}.sidebar-diff-after{color:var(--foreground);font-weight:600}.position-delta{border:1px solid var(--border);border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.8125rem;font-weight:600}.pos-delta-add{color:var(--buy);border-color:color-mix(in oklch, var(--buy) 45%, var(--border));background:color-mix(in oklch, var(--buy) 12%, transparent)}.pos-delta-reduce{color:var(--sell);border-color:color-mix(in oklch, var(--sell) 45%, var(--border));background:color-mix(in oklch, var(--sell) 12%, transparent)}.pos-delta-flat{color:var(--muted-foreground);background:var(--muted)}.sidebar-positions{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.25rem,3vw,2.5rem);min-width:0;display:grid}.position-donut-wrap{aspect-ratio:1;flex-shrink:0;justify-content:center;align-items:center;width:clamp(140px,24vw,200px);display:flex;position:relative}.position-donut{width:100%;height:100%;display:block}.position-donut-label{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex;position:absolute;inset:0}.position-donut-pct{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--foreground);font-variant-numeric:tabular-nums;font-size:clamp(2rem,4.5vw,3rem);font-weight:500;line-height:1}.position-donut-pct-sign{color:var(--muted-foreground);letter-spacing:0;margin-left:.0625rem;font-size:.55em;font-weight:400}.position-donut-sublabel{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);font-size:.65rem;line-height:1}.sidebar-list{padding:0;grid-template-columns:minmax(0,1fr);gap:.125rem;min-width:0;margin:0;padding-inline-start:0;list-style:none;display:grid}.sidebar-item{border-radius:calc(var(--radius) - 4px);font-variant-numeric:tabular-nums;min-width:0;font-size:.8125rem;list-style:none}.sidebar-item-button{appearance:none;color:inherit;font:inherit;text-align:left;border-radius:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:.5rem 1.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.375rem .5rem;transition:background .12s;display:grid}.sidebar-item-swatch{background:color-mix(in oklch, var(--foreground) 65%, transparent);border-radius:9999px;justify-self:center;width:.375rem;height:.375rem}.sidebar-item.is-short .sidebar-item-swatch{background:color-mix(in oklch, var(--sell) 60%, var(--muted))}.sidebar-item.is-locked .sidebar-item-swatch{background:var(--buy)}.sidebar-item.is-locked.is-short .sidebar-item-swatch{background:var(--sell)}.sidebar-item-button:hover{background:color-mix(in oklch, var(--muted) 50%, transparent)}.sidebar-item-button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.sidebar-item.is-current .sidebar-item-button{background:color-mix(in oklch, var(--muted) 70%, transparent)}.sidebar-item.is-locked .sidebar-item-button{background:color-mix(in oklch, var(--muted) 88%, transparent);outline:1px solid var(--border)}.sidebar-item-rank{color:color-mix(in oklch, var(--muted-foreground) 70%, transparent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:left;font-size:.6875rem;font-weight:400}.sidebar-item-symbol{color:var(--foreground);font-family:var(--font-mono);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:500;overflow:hidden}.sidebar-item.is-current .sidebar-item-symbol,.sidebar-item.is-locked .sidebar-item-symbol{font-weight:600}.sidebar-item-pct{color:var(--muted-foreground);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.01em;white-space:nowrap;font-size:.8125rem}.sidebar-item.is-locked .sidebar-item-pct,.sidebar-item.is-current .sidebar-item-pct{color:var(--foreground);font-weight:500}.sidebar-item.is-current .sidebar-item-pct{color:var(--foreground);font-weight:600}.sidebar-empty{color:var(--muted-foreground);padding:.5rem 0;font-size:.8125rem}.trade-time{color:var(--muted-foreground);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:.75rem}.trade-side{border:1px solid var(--border);background:var(--muted);width:1.75rem;height:1.75rem;color:var(--muted-foreground);border-radius:9999px;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.side-buy .trade-side,.side-buy-open .trade-side,.side-buy-close .trade-side{color:var(--buy);border-color:color-mix(in oklch, var(--buy) 40%, var(--border));background:color-mix(in oklch, var(--buy) 12%, transparent)}.side-sell .trade-side,.side-sell-open .trade-side,.side-sell-close .trade-side{color:var(--sell);border-color:color-mix(in oklch, var(--sell) 40%, var(--border));background:color-mix(in oklch, var(--sell) 12%, transparent)}.trade-side-link{cursor:pointer;text-decoration:none}.trade-side-link:hover{filter:brightness(1.1)}.trade-symbol{min-width:0;display:grid}.trade-symbol strong{font-family:var(--font-mono);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:500;line-height:1.3;overflow:hidden}.trade-symbol span{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.3;overflow:hidden}.trade-percent{color:var(--muted-foreground);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:.8125rem}.timeline-empty{color:var(--muted-foreground);text-align:center;padding:4rem 0;font-size:.875rem}.sidebar-dates{margin:-.25rem -.25rem .25rem}.sidebar-dates-scroll{scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:.375rem;padding:.25rem;display:flex;overflow-x:auto}.sidebar-dates-scroll::-webkit-scrollbar{height:4px}.sidebar-dates-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.sidebar-date-chip{appearance:none;scroll-snap-align:start;border:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:9999px;flex:none;padding:.3125rem .625rem;font-size:.75rem;transition:background .12s,color .12s,border-color .12s}.sidebar-date-chip:hover{color:var(--foreground);border-color:var(--foreground)}.sidebar-date-chip.is-active{color:var(--background);background:var(--foreground);border-color:var(--foreground)}.sidebar-date-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sidebar-toggle-item{margin-top:.25rem;list-style:none}.sidebar-toggle{appearance:none;border:1px dashed var(--border);width:100%;color:var(--muted-foreground);border-radius:calc(var(--radius) - 4px);cursor:pointer;background:0 0;padding:.5rem .75rem;font-size:.75rem;transition:color .12s,border-color .12s,background .12s}.sidebar-toggle:hover{color:var(--foreground);border-color:var(--foreground)}.sidebar-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.filter-banner{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:color-mix(in oklch, var(--background) 92%, var(--muted));justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin:0 0 1.25rem;padding:.625rem .875rem;font-size:.8125rem;display:flex;overflow:hidden}.filter-banner-label{color:var(--muted-foreground);flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.filter-banner-label strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-weight:600;overflow:hidden}.filter-banner-count{font-variant-numeric:tabular-nums;background:var(--muted);color:var(--muted-foreground);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.filter-banner-clear{appearance:none;border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:9999px;flex-shrink:0;padding:.3125rem .625rem;font-size:.75rem;transition:color .12s,border-color .12s}.filter-banner-clear:hover{color:var(--foreground);border-color:var(--foreground)}.app-header{z-index:30;border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--background) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(8px);position:sticky;top:0}.app-header-inner{max-width:78rem;padding:max(.5rem, env(safe-area-inset-top)) clamp(1rem, 3vw, 2rem) .5rem;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;margin:0 auto;display:flex}.app-nav{flex:auto;min-width:0}.app-nav-list{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.app-nav-link{color:var(--muted-foreground);border-radius:9999px;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;line-height:1.2;transition:color .12s,background .12s;display:inline-flex}.app-nav-link:hover{color:var(--foreground);background:color-mix(in oklch, var(--muted) 50%, transparent)}.app-nav-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app-nav-link.is-active{color:var(--foreground);background:color-mix(in oklch, var(--muted) 75%, transparent)}.app-header-actions{flex:none;align-items:center;gap:.625rem;display:flex}.dashboard-shell{gap:1.5rem;max-width:78rem;margin:0 auto;padding:1.5rem clamp(1rem,3vw,2rem) 3rem;display:grid}.dashboard-header{gap:.5rem;display:grid}.dashboard-header h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.dashboard-header .delay-notice{margin:.25rem 0 0}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklch, var(--background) 92%, var(--muted));gap:.25rem;padding:.875rem 1rem;display:grid}.stat-label{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.stat-value{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600;line-height:1.3}.dashboard-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);gap:.875rem;padding:1.125rem 1.25rem 1.25rem;display:grid}.dashboard-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dashboard-section-header h2{margin:0;font-size:.9375rem;font-weight:600}.dashboard-link{color:var(--muted-foreground);font-size:.8125rem;font-weight:500;transition:color .12s}.dashboard-link:hover{color:var(--foreground)}.dashboard-positions{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-position{font-variant-numeric:tabular-nums;grid-template-columns:1.25rem minmax(0,1fr);align-items:center;gap:.625rem;display:grid}.dashboard-position-rank{color:var(--muted-foreground);text-align:right;font-size:.6875rem;font-weight:500}.dashboard-position-body{gap:.3125rem;min-width:0;display:grid}.dashboard-position-row{justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;display:flex}.dashboard-position-symbol{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.dashboard-position-pct{color:var(--muted-foreground);white-space:nowrap;font-size:.8125rem}.dashboard-position-bar{background:color-mix(in oklch, var(--muted) 90%, transparent);border-radius:9999px;height:.25rem;display:block;position:relative;overflow:hidden}.dashboard-position-bar-fill{background:var(--foreground);opacity:.7;border-radius:inherit;height:100%;display:block}.dashboard-position-more{color:var(--muted-foreground);margin-top:.125rem;font-size:.75rem}.dashboard-position-more a{color:inherit;border-bottom:1px solid #0000;transition:color .12s,border-color .12s}.dashboard-position-more a:hover{color:var(--foreground);border-bottom-color:var(--foreground)}.dashboard-empty{color:var(--muted-foreground);font-size:.875rem}.sync-panel{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.sync-button{appearance:none;border:1px solid var(--border);background:var(--foreground);color:var(--background);border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .12s}.sync-button:hover:not(:disabled){opacity:.85}.sync-button:disabled{cursor:not-allowed;opacity:.6}.sync-status{margin:0;font-size:.8125rem}.sync-status-error{color:var(--sell)}.sync-status-ok{color:var(--muted-foreground)}.theme-button{appearance:none;background:var(--secondary);width:2.5rem;height:2.5rem;color:var(--secondary-foreground);cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:background .12s;display:inline-flex}.theme-button:hover{background:color-mix(in oklch, var(--secondary) 80%, transparent)}.theme-button:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}@media (max-width:960px){.trade-layout{margin-top:1rem}.public-shell{gap:1.25rem;padding:.5rem 0 2.5rem}}@media (max-width:640px){.app-header-inner{padding-top:max(.5rem, env(safe-area-inset-top));min-height:3rem}.app-nav-link{padding:.3125rem .625rem;font-size:.8125rem}.dashboard-shell{gap:1.125rem;padding-top:1rem}.dashboard-header h1{font-size:1.25rem}.public-shell{padding:0 0 2.5rem}.public-header{gap:.625rem;padding-bottom:1.25rem;display:grid}.public-meta{justify-content:flex-start;gap:.5rem .625rem;font-size:.6875rem}.delay-notice{margin-bottom:1.25rem;font-size:.6875rem}.panel{padding-top:1.25rem}.timeline{gap:1.25rem}.timeline-group{grid-template-columns:1fr;gap:.375rem}.timeline-date{background:color-mix(in oklch, var(--background) 92%, var(--muted));border-radius:9999px;place-self:start;padding:.25rem .75rem;font-size:.6875rem;position:static}.timeline-rows{border-left-width:0;gap:.125rem}.trade-row:before{display:none}.trade-row-main{grid-template-columns:2.25rem 2rem 1fr auto;gap:.5rem;min-height:3rem;padding:.75rem .5rem}.trade-row.is-selected{outline-width:1px}.trade-time{font-size:.6875rem}.trade-side{width:2rem;height:2rem;font-size:.75rem}.trade-symbol strong{font-size:.875rem}.trade-symbol span{font-size:.6875rem}.trade-percent{font-size:.75rem}.position-sidebar{border-radius:calc(var(--radius) - 2px);gap:1rem;padding:1rem}.sidebar-positions{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.75rem}.position-donut-wrap{justify-self:center;width:clamp(120px,40vw,160px)}.sidebar-item-button{grid-template-columns:.5rem 1.5rem minmax(0,1fr) auto;gap:.4375rem;min-height:2.5rem;padding:.5rem}.sidebar-item-rank{font-size:.625rem}.sidebar-clear,.filter-banner-clear{min-height:2rem;padding:.375rem .75rem}.filter-banner{flex-wrap:wrap;margin-bottom:1rem;padding:.5rem .75rem}.filter-banner-label strong{max-width:8rem}.theme-button{width:2.25rem;height:2.25rem}.sync-button{min-height:2.25rem;padding:.5rem .875rem;font-size:.8125rem}.sync-status{flex-basis:100%;font-size:.75rem}}@media (max-width:400px){.public-meta span+span:before{content:"·";color:var(--border);margin-right:.5rem}.trade-row-main{grid-template-columns:2rem 1.875rem 1fr auto;gap:.375rem}.sidebar-item-button{grid-template-columns:.5rem 1.25rem minmax(0,1fr) auto;gap:.3125rem;padding:.375rem}.position-donut-pct{font-size:1.25rem}}.skeleton-block{border-radius:var(--radius);background:color-mix(in oklch, var(--muted) 60%, transparent);animation:1.4s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.knowledge-panel,.knowledge-html-panel,.knowledge-text-panel,.knowledge-attachments-panel{flex-direction:column;gap:1rem;display:flex}.knowledge-list{margin:0;padding:0;list-style:none}.knowledge-list-item+.knowledge-list-item{border-top:1px solid var(--border)}.knowledge-list-link{color:inherit;flex-direction:column;gap:.375rem;padding:1rem 0;text-decoration:none;display:flex}.knowledge-list-link:hover .knowledge-list-title,.knowledge-list-link:focus-visible .knowledge-list-title{text-underline-offset:3px;text-decoration:underline}.knowledge-list-link:focus-visible{outline:none}.knowledge-list-title{color:var(--foreground);margin:0;font-size:.9375rem;font-weight:500;line-height:1.4;text-decoration:none}.knowledge-untitled{color:color-mix(in oklch, var(--muted-foreground) 80%, transparent);letter-spacing:.02em;font-style:normal}.knowledge-meta-row{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.6875rem;display:flex}.knowledge-source-label{color:var(--foreground);letter-spacing:.12em}.knowledge-meta-sep{color:color-mix(in oklch, var(--muted-foreground) 50%, transparent);letter-spacing:0}.knowledge-meta-time{font-variant-numeric:tabular-nums;letter-spacing:.04em}.knowledge-meta-attachments{letter-spacing:.08em}.knowledge-meta-from{text-transform:none;letter-spacing:.02em;font-size:.75rem}.knowledge-list-snippet{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.55;display:-webkit-box;overflow:hidden}.knowledge-empty{flex-direction:column;gap:.5rem;padding:2.5rem 0 .5rem;display:flex}.knowledge-empty-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem}.knowledge-empty-body{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.55}.knowledge-empty-body code{font-family:var(--font-mono);color:var(--foreground);font-size:.75rem}.knowledge-breadcrumb{margin-bottom:-.5rem}.knowledge-breadcrumb-link{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);font-size:.6875rem;text-decoration:none}.knowledge-breadcrumb-link:hover,.knowledge-breadcrumb-link:focus-visible{color:var(--foreground);outline:none}.knowledge-detail-header h1{word-break:break-word}.knowledge-detail-meta{margin-top:-.5rem}.knowledge-html-frame{border:1px solid var(--border);background:#fff;width:100%;display:block}.knowledge-text{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--foreground);scrollbar-width:thin;max-height:32rem;margin:0;padding:0;font-size:.8125rem;line-height:1.6;overflow-y:auto}.knowledge-attachments{margin:0;padding:0;list-style:none}.knowledge-attachment{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) max-content max-content;align-items:baseline;column-gap:1.25rem;padding:.625rem 0;display:grid}.knowledge-attachment:first-child{border-top:0;padding-top:0}.knowledge-attachment-filename{font-family:var(--font-mono);color:var(--foreground);word-break:break-all;overflow-wrap:anywhere;font-size:.8125rem;text-decoration:none}.knowledge-attachment-filename:hover,.knowledge-attachment-filename:focus-visible{text-underline-offset:3px;outline:none;text-decoration:underline}.knowledge-attachment-type,.knowledge-attachment-size{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.6875rem}.knowledge-attachment-warn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);grid-column:1/-1;margin-top:.25rem;font-size:.6875rem}@media (max-width:30rem){.knowledge-attachment{grid-template-columns:1fr;row-gap:.25rem}}:root{--tile-1:#ec009c;--tile-2:#b82cd4;--tile-3:#8347e9;--tile-4:#2867e4;--tile-5:#0092c5;--tile-6:#00acb5;--tile-7:#00b482;--tile-8:#4db956;--tile-short:#a83634;--accent-gold:#e3ae28}@supports (color:lab(0% 0 0)){:root{--tile-1:lab(52.2467% 84.4771 -16.5654);--tile-2:lab(47.6532% 69.5269 -57.3749);--tile-3:lab(44.9351% 52.0912 -74.0524);--tile-4:lab(45.6212% 16.3492 -70.1701);--tile-5:lab(55.9886% -22.6895 -47.9841);--tile-6:lab(63.1526% -46.6778 -19.0828);--tile-7:lab(64.8641% -51.8284 14.6292);--tile-8:lab(67.2449% -47.7353 39.9432);--tile-short:lab(40.499% 47.3146 28.368);--accent-gold:lab(74.664% 11.4553 69.676)}}.portfolio{gap:1.75rem}.portfolio-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.portfolio-id{min-width:0}.portfolio-brand{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.portfolio-brand em{letter-spacing:.04em;color:color-mix(in oklch, var(--muted-foreground) 70%, transparent);font-style:normal}.live-dot{background:var(--tile-8);width:.5rem;height:.5rem;box-shadow:0 0 0 0 color-mix(in oklch, var(--tile-8) 60%, transparent);border-radius:9999px;animation:2.6s ease-out infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--tile-8) 55%, transparent)}70%{box-shadow:0 0 0 .4rem #0000}to{box-shadow:0 0 #0000}}.portfolio-header h1{font-family:var(--font-mono);letter-spacing:-.035em;margin:.55rem 0 0;font-size:clamp(2rem,5.2vw,3rem);font-weight:500;line-height:1}.portfolio-sub{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin:.7rem 0 0;font-size:.8125rem}.portfolio-cta{border:1px solid var(--border);color:var(--muted-foreground);border-radius:9999px;flex:none;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.8125rem;font-weight:500;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.portfolio-cta:hover{color:var(--foreground);border-color:var(--foreground);background:color-mix(in oklch, var(--muted) 40%, transparent)}.portfolio .delay-notice{margin-top:-.75rem}.composition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.metric-card{--accent:var(--muted-foreground);border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(130% 130% at 0% 0%, color-mix(in oklch, var(--accent) 12%, transparent), transparent 58%), color-mix(in oklch, var(--background) 90%, var(--muted));gap:.3rem;padding:1.1rem 1.15rem 1.05rem 1.3rem;display:grid;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--accent);width:3px;position:absolute;inset:0 auto 0 0}.metric-card.accent-stock{--accent:var(--tile-6)}.metric-card.accent-option{--accent:var(--accent-gold)}.metric-card.accent-cash{--accent:var(--tile-5)}.metric-card.accent-count{--accent:var(--tile-3)}.metric-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:500}.metric-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--foreground);margin:0;font-size:clamp(1.7rem,4.2vw,2.25rem);font-weight:600;line-height:1.02}.metric-value.is-negative{color:var(--sell)}.metric-sub{color:var(--muted-foreground);margin:.1rem 0 0;font-size:.71rem}.treemap-section{gap:1rem}.section-note{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-foreground);font-size:.6875rem}.treemap{aspect-ratio:16/10;border-radius:calc(var(--radius) - 1px);background:color-mix(in oklch, var(--background) 88%, var(--muted));width:100%;position:relative;overflow:hidden}.treemap-tile{animation:.55s cubic-bezier(.2,.8,.2,1) both tile-in;animation-delay:calc(var(--i,0) * 26ms);padding:2.5px;position:absolute}@keyframes tile-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.treemap-tile.tile-1{--tile:var(--tile-1)}.treemap-tile.tile-2{--tile:var(--tile-2)}.treemap-tile.tile-3{--tile:var(--tile-3)}.treemap-tile.tile-4{--tile:var(--tile-4)}.treemap-tile.tile-5{--tile:var(--tile-5)}.treemap-tile.tile-6{--tile:var(--tile-6)}.treemap-tile.tile-7{--tile:var(--tile-7)}.treemap-tile.tile-8{--tile:var(--tile-8)}.treemap-tile.is-short{--tile:var(--tile-short)}.treemap-tile-inner{text-align:center;color:#fff;background:radial-gradient(130% 140% at 18% 0%, color-mix(in oklch, var(--tile) 62%, white 38%), transparent 52%), var(--tile);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;width:100%;height:100%;padding:.5rem;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 1px 2px #0000001f;container-type:size}.treemap-tile.is-short .treemap-tile-inner{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--sell) 55%, transparent), 0 1px 2px #0000002e}.treemap-tile-symbol{font-family:var(--font-mono);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #00000047;max-width:100%;font-size:clamp(.72rem,17cqmin,1.7rem);font-weight:600;line-height:1.05;overflow:hidden}.treemap-tile-detail{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;color:#ffffffd9;text-shadow:0 1px 2px #00000040;max-width:100%;font-size:clamp(.6rem,7.5cqmin,.8rem);font-weight:500;line-height:1.1;overflow:hidden}.treemap-tile-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:#ffffffeb;text-shadow:0 1px 2px #00000047;margin-top:.05rem;font-size:clamp(.62rem,10cqmin,1rem);font-weight:500}.treemap-tile.is-small .treemap-tile-symbol{font-size:clamp(.66rem,22cqmin,1rem)}.treemap-tile-tag{font-family:var(--font-mono);letter-spacing:.02em;color:#fff;background:#00000052;border-radius:9999px;padding:.08rem .32rem;font-size:.58rem;font-weight:600;position:absolute;top:.4rem;right:.4rem}.treemap-empty{aspect-ratio:16/10;border-radius:calc(var(--radius) - 1px);border:1px dashed var(--border);width:100%;color:var(--muted-foreground);place-items:center;font-size:.875rem;display:grid}.treemap-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:1rem;font-size:.75rem;display:flex}.treemap-legend-item{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{border-radius:.2rem;width:.7rem;height:.7rem}.legend-long{background:linear-gradient(120deg, var(--tile-1), var(--tile-6))}.legend-short{background:var(--tile-short)}.dashboard-position-symbol{align-items:center;gap:.4rem;display:inline-flex}.dashboard-position-badge{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent-gold);background:color-mix(in oklch, var(--accent-gold) 16%, transparent);border-radius:.3rem;flex:none;padding:.06rem .3rem;font-size:.5625rem;font-weight:600}.dashboard-position.is-long .dashboard-position-bar-fill{background:var(--tile-6);opacity:.85}.dashboard-position.is-short .dashboard-position-bar-fill{background:var(--sell);opacity:.85}.dashboard-position.is-short .dashboard-position-pct{color:var(--sell)}.dashboard-position.kind-cash .dashboard-position-bar-fill,.dashboard-position.kind-margin .dashboard-position-bar-fill{background:var(--muted-foreground);opacity:.45}.dashboard-position.kind-cash .dashboard-position-symbol,.dashboard-position.kind-margin .dashboard-position-symbol{color:var(--muted-foreground)}.portfolio-footnote{border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:.25rem 0 0;padding-top:1.25rem;font-size:.6875rem;display:flex}@media (max-width:760px){.composition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.portfolio{gap:1.35rem}.portfolio-header h1{font-size:clamp(1.85rem,9vw,2.4rem)}.portfolio-cta{display:none}.treemap{aspect-ratio:auto;height:clamp(300px,84vw,380px)}.metric-card{padding:.9rem .9rem .9rem 1.05rem}}@media (prefers-reduced-motion:reduce){.treemap-tile,.live-dot{animation:none}}
