.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-reading: var(--font-sans);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--frame: #f5f5f7;--panel: #ffffff;--bg: var(--panel);--surface: #ffffff;--surface-soft: #f5f5f7;--surface-raised: var(--surface);--surface-strong: var(--surface);--pill: #ffffff;--chip: #f5f5f7;--seg: #e8e8ed;--seg-on: #ffffff;--cta: #1d1d1f;--on-cta: #ffffff;--text: #1d1d1f;--muted: #6e6e73;--faint: #86868b;--line: #ebebeb;--line-strong: #d2d2d7;--accent: var(--text);--accent-strong: var(--text);--accent-soft: var(--surface-soft);--accent-contrast: #ffffff;--up: #1a8577;--down: #c23a48;--danger: var(--down);--success: var(--up);--img-filter: none;--shadow-2: 0 1px 3px rgba(0, 0, 0, .04), 0 3px 10px rgba(0, 0, 0, .07);--shadow-3: 0 10px 30px rgba(0, 0, 0, .08);--shadow-float: 0 12px 32px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .05);--radius-lg: 16px;--radius: 12px;--radius-sm: 8px;--sidebar: 256px;--gutter: 8px;--measure: 40rem;--ease-spring: linear( 0, .0058 3.13%, .0231 6.35%, .0871 12.7%, .1878 19.13%, .3184 25.72%, .4707 32.53%, .6374 39.63%, .7486 44.5%, .8455 49.44%, .9276 54.55%, .9608 57.22%, .9884 60.01%, 1.0107 62.94%, 1.0277 66.07%, 1.0396 69.46%, 1.0453 73.28%, 1.0442 78.05%, 1.0333 86.35%, 1.0018 100% );--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-apple: cubic-bezier(.32, .72, 0, 1);--dur-press: .1s;--dur-fast: .2s;--dur-base: .3s;--dur-slow: .5s}:root.dark{color-scheme:dark;--frame: #000000;--panel: #161618;--surface: #1c1c1e;--surface-soft: #1c1c1e;--pill: #2c2c2e;--chip: #2c2c2e;--seg: #1c1c1e;--seg-on: #3a3a3c;--cta: #f5f5f7;--on-cta: #1d1d1f;--text: #f5f5f7;--muted: #98989d;--faint: #6e6e73;--line: #2c2c2e;--line-strong: #48484a;--accent-contrast: #1d1d1f;--up: #4fb9ab;--down: #ee6f7a;--img-filter: brightness(.88);--shadow-2: 0 1px 3px rgba(0, 0, 0, .4), 0 3px 10px rgba(0, 0, 0, .5);--shadow-3: 0 10px 30px rgba(0, 0, 0, .45);--shadow-float: 0 12px 32px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;background:var(--frame);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-sans);color:var(--text);text-wrap:balance}p{text-wrap:pretty}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block}[hidden]{display:none!important}::-moz-selection{background:color-mix(in srgb,var(--text) 16%,transparent);color:var(--text)}::selection{background:color-mix(in srgb,var(--text) 16%,transparent);color:var(--text)}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-feature-settings:"calt" 0}.kicker{display:block;margin:0;font-size:13px;font-weight:600;color:var(--text)}.u{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--dur-fast) ease}.u:hover{text-decoration-color:var(--text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:fixed;top:-60px;left:16px;z-index:100;padding:8px 14px;border-radius:999px;background:var(--cta);color:var(--on-cta);font-size:13px;transition:top var(--dur-fast) ease}.skip-link:focus{top:16px}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);align-items:start;gap:var(--gutter);min-height:100dvh;padding:var(--gutter)}.sidebar{position:sticky;top:var(--gutter);display:flex;flex-direction:column;height:calc(100dvh - var(--gutter) * 2);padding:20px 16px 16px 20px}.sidebar-head{display:flex;flex:none;align-items:center;justify-content:space-between}.sidebar-head-actions{display:flex;align-items:center;gap:4px}.lang-link{padding:4px 9px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:500;transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease}.lang-link:hover{background:var(--pill);color:var(--text)}.lang-link[aria-disabled=true]{opacity:.35;pointer-events:none}.brand{display:inline-flex;min-width:0;align-items:center;gap:10px}.brand-avatar{flex:none;width:30px;height:30px;border-radius:999px;background:#bfd3ea;-o-object-fit:cover;object-fit:cover;transition:transform var(--dur-slow) var(--ease-spring)}.brand:hover .brand-avatar{transform:rotate(-10deg) scale(1.08)}.brand-name{font-size:17px;font-weight:600;letter-spacing:.02em}.sidebar-body{flex:1;min-height:0;margin:0 -8px;padding:0 8px 4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.sidebar-body::-webkit-scrollbar{display:none}.sidebar-intro{margin:18px 0 0;font-size:13px;line-height:2}.sidebar-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:14px;font-size:13px;line-height:2.1}.sidebar-links a{display:inline-grid;grid-template-columns:16px auto;align-items:center;-moz-column-gap:10px;column-gap:10px}.sidebar-links svg{justify-self:center;color:var(--muted);transition:color var(--dur-fast) ease,transform var(--dur-base) var(--ease-spring)}.sidebar-links a:hover svg{color:var(--text);transform:scale(1.12)}.sidebar-links span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--dur-fast) ease}.sidebar-links a:hover span{text-decoration-color:var(--text)}.nav{display:flex;flex-direction:column;gap:2px;margin-top:28px}.nav-link{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--muted);transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease}.nav-link:hover,.nav-link[aria-current]{color:var(--text)}.nav-link:not([aria-current]):hover{background:color-mix(in srgb,var(--pill) 45%,transparent)}.nav-count{font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}.nav-indicator{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--pill);box-shadow:0 1px 2px #0000000d;view-transition-name:nav-indicator}.back-link{display:inline-flex;align-items:center;gap:6px;margin-top:28px;padding-left:14px;font-size:13px;color:var(--muted);transition:color var(--dur-fast) ease}.back-link svg{transition:transform var(--dur-base) var(--ease-out)}.back-link:hover{color:var(--text)}.back-link:hover svg{transform:translate(-3px)}.toc{position:relative;display:flex;flex-direction:column;gap:2px;margin-top:16px}.toc-link{position:relative;z-index:1;padding:8px 14px;border-radius:12px;font-size:13px;line-height:1.5;color:var(--muted);transition:color var(--dur-fast) ease}.toc-link.is-depth-3{padding-left:26px}.toc-link:hover,.toc-link[aria-current]{color:var(--text)}.toc-indicator{position:absolute;top:0;right:0;left:0;height:var(--h, 0px);border-radius:12px;background:var(--pill);box-shadow:0 1px 2px #0000000d;opacity:0;transform:translateY(var(--y, 0px));transition:transform .4s var(--ease-out),height .4s var(--ease-out),opacity var(--dur-fast) ease}.toc.has-active .toc-indicator{opacity:1}.sidebar-foot{display:flex;flex:none;flex-direction:column;padding-top:18px}.promo-text{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}.cta{display:flex;align-items:center;justify-content:center;gap:6px;height:44px;margin-top:14px;border-radius:999px;background:var(--cta);color:var(--on-cta);font-size:14px;font-weight:500;transition:opacity var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.cta:hover{opacity:.86}.cta:active{transform:scale(.98);transition-duration:var(--dur-press)}.cta svg{transition:transform var(--dur-base) var(--ease-out)}.cta:hover svg{transform:translate(2px,-2px)}.sidebar-rule{margin:18px 0 14px;border-top:1px dashed var(--line-strong)}.controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.controls-group{display:flex;align-items:center;gap:6px}.icon-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:500;line-height:1;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.icon-btn:hover{border-color:var(--line-strong);color:var(--text)}.icon-btn:active{transform:scale(.92);transition-duration:var(--dur-press)}.icon-btn[aria-disabled=true]{opacity:.35;pointer-events:none}.theme-sun,.dark .theme-moon{display:none}.dark .theme-sun{display:block}.theme-label-light,.dark .theme-label-dark{display:none}.dark .theme-label-light{display:inline}.seg{display:flex;padding:3px;border-radius:999px;background:var(--seg)}.seg-btn{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap;transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.seg-btn:hover{color:var(--text)}html[data-view=grid] .seg-btn[data-view=grid],html[data-view=list] .seg-btn[data-view=list]{background:var(--seg-on);color:var(--text);box-shadow:0 1px 2px #0000000d}html[data-view=grid] [data-view-pane=list],html[data-view=list] [data-view-pane=grid]{display:none}.panel{position:relative;min-width:0;min-height:calc(100dvh - var(--gutter) * 2);border-radius:var(--radius-lg);background:var(--panel);container:panel / inline-size}.panel-body{display:flex;flex-direction:column;min-height:inherit;padding:24px 24px 22px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.filterbar{position:sticky;bottom:22px;z-index:30;display:flex;gap:2px;width:-moz-max-content;width:max-content;max-width:100%;margin:0 auto;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-float);scrollbar-width:none}.filter-spacer{flex:1 0 40px}.filterbar::-webkit-scrollbar{display:none}.filterbar-btn{position:relative;z-index:1;flex:none;height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;transition:color .3s ease,background-color var(--dur-fast) ease}.filterbar-btn[aria-pressed=true]{background:var(--cta);color:var(--on-cta)}.filterbar-btn:not([aria-pressed=true]):hover{background:var(--surface-soft)}.filterbar-thumb{position:absolute;top:4px;bottom:4px;left:0;display:none;width:var(--w, 0px);border-radius:999px;background:var(--cta);transform:translate(var(--x, 0px))}.filterbar.is-live .filterbar-thumb{display:block}.filterbar.is-live.is-ready .filterbar-thumb{transition:transform .45s var(--ease-out),width .45s var(--ease-out)}.filterbar.is-live .filterbar-btn[aria-pressed=true]{background:transparent}::view-transition-group(nav-indicator){animation-duration:.45s;animation-timing-function:var(--ease-out)}html.theme-transition::view-transition-old(root),html.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-transition .nav-indicator{view-transition-name:none}.topbar,.scrim,.sidebar-close{display:none}@media(max-width:899px){body{background:var(--panel)}.shell{display:block;padding:0}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 6px 0 16px;background:color-mix(in srgb,var(--panel) 86%,transparent);backdrop-filter:saturate(180%) blur(20px);transition:transform .35s var(--ease-out)}html[data-headroom=hidden] .topbar{transform:translateY(-100%)}.topbar .brand-avatar{width:28px;height:28px}.topbar .brand-name{font-size:16px}.topbar-actions{display:flex;align-items:center}.bare-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);transition:color var(--dur-fast) ease}.bare-btn:hover{color:var(--text)}.panel{min-height:0;border-radius:0}.panel-body{padding:4px 12px 16px}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:70;width:min(320px,86vw);height:auto;padding:14px 16px calc(16px + env(safe-area-inset-bottom)) 20px;border-radius:0 20px 20px 0;background:var(--frame);box-shadow:var(--shadow-float);visibility:hidden;transform:translate(-104%);transition:transform .45s var(--ease-apple),visibility 0s linear .45s}html[data-menu=open] .sidebar{visibility:visible;transform:none;transition:transform .45s var(--ease-apple),visibility 0s}.scrim{position:fixed;inset:0;z-index:65;display:block;background:#0000004d;opacity:0;pointer-events:none;transition:opacity .35s ease}html[data-menu=open] .scrim{opacity:1;pointer-events:auto}html[data-menu=open]{overflow:hidden}.sidebar-close{display:inline-flex;margin-right:-8px}.filterbar{bottom:calc(14px + env(safe-area-inset-bottom))}.filterbar-btn{height:34px;padding:0 13px}}.card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:translate var(--dur-base) var(--ease-out),box-shadow var(--dur-base) ease}.card.is-soft{border-color:transparent;background:var(--surface-soft)}a.card:hover{translate:0 -2px;box-shadow:var(--shadow-3)}a.card:active{translate:0;scale:.995;transition-duration:var(--dur-press)}.is-entering{animation:card-in .5s var(--ease-out) both}@keyframes card-in{0%{opacity:0;scale:.96}}.masonry{--gap: 16px;--col-min: 220px;--col-max: 4;display:grid;grid-template-columns:repeat(auto-fill,minmax(max(var(--col-min),calc((100% - (var(--col-max) - 1) * var(--gap)) / var(--col-max))),1fr));align-items:start;gap:var(--gap)}@supports (display: grid-lanes){.masonry{display:grid-lanes}}.masonry.is-laid{position:relative;display:block}.masonry.is-laid>*{position:absolute;top:0;left:0}.masonry.is-animated{transition:height .5s var(--ease-out)}.masonry.is-animated>*{transition:transform .5s var(--ease-out),translate var(--dur-base) var(--ease-out),box-shadow var(--dur-base) ease}.masonry.is-animated>.is-entering{transition:none}@container panel (max-width: 560px){.masonry{--gap: 8px;--col-min: 150px}}.post-card{border-radius:var(--radius)}.post-card-cover{width:100%;height:auto;max-height:220px;border-bottom:1px solid var(--line);background:var(--surface-soft);-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;filter:var(--img-filter)}.post-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}.post-card-meta{font-size:11px;font-weight:500;color:var(--muted)}.post-card-title{font-size:14px;font-weight:500;line-height:1.45}.post-card-excerpt{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.6;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:3}.post-card:not(.has-cover) .post-card-body{padding:18px 18px 20px}.post-card:not(.has-cover) .post-card-title{font-size:15px;font-weight:600}.post-card:not(.has-cover) .post-card-excerpt{-webkit-line-clamp:4}@container panel (max-width: 560px){.post-card{border-radius:10px}.post-card .post-card-body,.post-card:not(.has-cover) .post-card-body{gap:5px;padding:10px 11px 12px}.post-card .post-card-title,.post-card:not(.has-cover) .post-card-title{display:-webkit-box;order:-1;overflow:hidden;font-size:13px;font-weight:500;-webkit-box-orient:vertical;-webkit-line-clamp:3}.post-card-excerpt,.post-card-date{display:none}}.list-pane{width:min(720px,100%);margin:16px auto 0}@container panel (max-width: 560px){.list-pane{margin-top:4px}}.row-groups{display:flex;flex-direction:column;gap:36px}.row-group-title{margin:0 0 12px;font-size:13px;font-weight:600}.row-group-title span{font-weight:400;color:var(--muted)}.row-list{display:flex;flex-direction:column;gap:10px}.row-card{flex-direction:row;align-items:center;gap:24px;padding:16px 20px 16px 18px;border-radius:var(--radius)}.row-card-main{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.row-card-meta{font-size:11px;font-weight:500;color:var(--muted)}.row-card-title{font-size:14px;font-weight:500;line-height:1.45}.row-card-excerpt{overflow:hidden;font-size:13px;line-height:1.6;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.row-card-value{flex:none;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}@container panel (max-width: 560px){.row-card{align-items:flex-start;gap:12px;padding:14px 14px 14px 16px}.row-card-excerpt{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.row-card-value{font-size:15px}}.is-up{color:var(--up)}.is-down{color:var(--down)}.pile{display:flex;flex-wrap:wrap-reverse;justify-content:center;gap:0 2px;margin:0;padding:0;list-style:none}.pile li{margin-top:-4px;padding:5px 12px;border-radius:999px;background:var(--pill);box-shadow:var(--shadow-2);color:var(--muted);font-size:11px;line-height:1.3;white-space:nowrap;transform:rotate(var(--r, 0deg));transition:translate var(--dur-base) var(--ease-spring)}.pile li:hover{translate:0 -3px}@media(prefers-reduced-motion:no-preference){.pile li{animation:pile-drop .9s var(--ease-spring) both;animation-delay:calc(var(--i, 0) * 40ms + .12s)}}@keyframes pile-drop{0%{opacity:0;transform:translateY(-80px) rotate(calc(var(--r, 0deg) * -2))}35%{opacity:1}}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.stats>div{display:flex;flex-direction:column;gap:2px;min-width:0}.stats dt{font-size:12px;color:var(--muted)}.stats dd{margin:0;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.trade-bars{display:block;width:100%;overflow:visible}.trade-bars .axis{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke}.trade-bars .bar-up{fill:var(--up)}.trade-bars .bar-down{fill:var(--down)}@media(prefers-reduced-motion:no-preference){.trade-bars rect{transform-box:fill-box;transform-origin:50% var(--o, 100%);animation:bar-grow .7s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 18ms + .2s)}}@keyframes bar-grow{0%{transform:scaleY(0)}}.curve{display:block;width:100%;overflow:visible}.curve polyline{fill:none;stroke:var(--text);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.curve.is-muted polyline{stroke:var(--muted);stroke-width:1.2}.curve.is-drawn polyline{animation:curve-draw 1.4s var(--ease-out) both}@keyframes curve-draw{0%{stroke-dashoffset:var(--len, 1000)}}[data-dca-return],[data-dca-annual]{transition:opacity var(--dur-slow) ease}[data-dca].is-loading [data-dca-return],[data-dca].is-loading [data-dca-annual]{opacity:.35}
