:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0e1015;--surface:#12141a;--raised:#171a22;--raised-hover:#1c202a;--hairline:#242833;--hairline-strong:#333846;--ink:#f2f3f5;--ink-2:#a7acb8;--ink-3:#6e7482;--buy:#d95926;--buy-wash:#d959261f;--rent:#3987e5;--rent-wash:#3987e51f;--good:#0ca30c;--warn:#fab219;--font-display:"IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:3px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}.figure,input,table,.tick,.stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:where(a){color:var(--rent)}:where(button,input,[tabindex]):focus-visible{outline:2px solid var(--rent);outline-offset:2px;border-radius:var(--radius)}.eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}.shell{max-width:1440px;margin:0 auto;padding:0 24px 96px}.masthead{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0 24px;display:flex}.mark{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:17px;font-weight:700;display:flex}.mark .swatch{border-radius:50%;width:9px;height:9px;display:inline-block}.mark .buy-dot{background:var(--buy)}.mark .rent-dot{background:var(--rent)}.standfirst{color:var(--ink-2);max-width:62ch;margin:0;font-size:14px}.layout{grid-template-columns:344px minmax(0,1fr);align-items:start;gap:40px;padding-top:32px;display:grid}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius)}.panel-head{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:14px;font-weight:600}.rail{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent;flex-direction:column;gap:20px;max-height:calc(100vh - 48px);padding-right:4px;display:flex;position:sticky;top:24px;overflow-y:auto}.import{padding:16px}.import p{color:var(--ink-2);margin:8px 0 14px;font-size:13px}.field{gap:6px;margin-bottom:12px;display:grid}.field label{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.field .hint{color:var(--ink-3);font-size:11px}.control{background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--radius);align-items:stretch;transition:border-color .12s;display:flex;overflow:hidden}.control:focus-within{border-color:var(--rent)}.control .prefix,.control .suffix{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);background:#ffffff05;align-items:center;padding:0 9px;display:flex}.control .prefix{border-right:1px solid var(--hairline)}.control .suffix{border-left:1px solid var(--hairline)}.control input{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;padding:8px 10px;font-size:14px}.control input:focus{outline:none}.control input[type=url]{font-family:var(--font-body);font-size:12.5px}button{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--radius);cursor:pointer;padding:9px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--raised-hover);border-color:var(--ink-3)}button:disabled{opacity:.55;cursor:progress}button.primary{background:var(--rent);border-color:var(--rent);color:#06111f;width:100%}button.primary:hover:not(:disabled){background:#4f96e9;border-color:#4f96e9}button.ghost{color:var(--ink-2);padding:5px 9px;font-size:11px}.import-result{gap:8px;margin-top:12px;display:grid}.result-line{border-radius:var(--radius);border:1px solid var(--hairline-strong);background:var(--raised);gap:3px;padding:9px 10px;font-size:12px;line-height:1.45;display:grid}.result-line .tag{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.result-line.ok{border-left:2px solid var(--good)}.result-line.failed{border-left:2px solid var(--warn)}.result-line .detail{color:var(--ink-2)}.result-line .figure{color:var(--ink)}.paste{border-top:1px solid var(--hairline);margin-top:14px;padding-top:12px}.paste summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;font-size:12px;list-style:none;display:flex}.paste summary::-webkit-details-marker{display:none}.paste summary:before{content:"+";font-family:var(--font-mono);color:var(--ink-3)}.paste[open] summary:before{content:"−"}.paste summary:hover{color:var(--ink)}.paste p{color:var(--ink-3);margin:10px 0 12px;font-size:12px;line-height:1.5}.paste textarea{background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--radius);width:100%;color:var(--ink);font-family:var(--font-mono);resize:vertical;min-height:56px;padding:8px 10px;font-size:11px}.paste textarea:focus{border-color:var(--rent);outline:none}.paste button{width:100%}.group{border-bottom:1px solid var(--hairline);padding:14px 16px 2px}.group:last-child{border-bottom:0}.group>.eyebrow{margin-bottom:12px}.group-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.group-grid .wide{grid-column:1/-1}.results{flex-direction:column;gap:24px;min-width:0;display:flex}.verdict{gap:10px;display:grid}.verdict h1{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(28px,3.6vw,46px);font-weight:600;line-height:1.12}.verdict h1 .figure{letter-spacing:-.02em;font-weight:500}.verdict h1 .figure.buy{color:var(--buy)}.verdict h1 .figure.rent{color:var(--rent)}.verdict-sub{color:var(--ink-2);max-width:70ch;margin:0;font-size:14px}.verdict-sub .figure{color:var(--ink)}.chart-panel{padding:0}.legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.legend-item{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;display:flex}.legend-item .rule{border-radius:1px;width:16px;height:2px;display:inline-block}.legend-item.buy .rule{background:var(--buy)}.legend-item.rent .rule{background:var(--rent)}.chart-wrap{padding:8px 8px 4px;position:relative}#chart svg{width:100%;display:block}.tick{fill:var(--ink-3);font-size:10.5px}.gridline{stroke:var(--hairline);stroke-width:1px}.zeroline{stroke:var(--hairline-strong);stroke-width:1px}.series{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.series.buy{stroke:var(--buy)}.series.rent{stroke:var(--rent)}.lead-band{stroke:none}.lead-band.buy{fill:var(--buy-wash)}.lead-band.rent{fill:var(--rent-wash)}.end-label{font-family:var(--font-display);font-size:11px;font-weight:600}.end-label.buy{fill:var(--buy)}.end-label.rent{fill:var(--rent)}.end-value{font-family:var(--font-mono);fill:var(--ink-3);font-size:11px}.crossing-rule{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:2 4}.crossing-dot{fill:var(--ground);stroke:var(--ink);stroke-width:2px}.crossing-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;fill:var(--ink-2);font-size:10.5px;font-weight:700}.crosshair{stroke:var(--hairline-strong);stroke-width:1px}.hover-dot{stroke:var(--surface);stroke-width:2px}.hover-dot.buy{fill:var(--buy)}.hover-dot.rent{fill:var(--rent)}.tooltip{pointer-events:none;opacity:0;background:var(--ground);border:1px solid var(--hairline-strong);border-radius:var(--radius);z-index:4;min-width:176px;padding:9px 11px;transition:opacity 90ms;position:absolute;top:16px;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.tooltip.visible{opacity:1}.tooltip .tip-year{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10px;font-weight:700}.tip-row{justify-content:space-between;align-items:center;gap:16px;padding:1px 0;font-size:12px;display:flex}.tip-row .name{color:var(--ink-2);align-items:center;gap:6px;display:flex}.tip-row .rule{border-radius:1px;width:10px;height:2px;display:inline-block}.tip-row.buy .rule{background:var(--buy)}.tip-row.rent .rule{background:var(--rent)}.tip-row .figure{color:var(--ink);font-size:12px}.tip-gap{border-top:1px solid var(--hairline);margin-top:6px;padding-top:6px}.stats{background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--surface);align-content:start;gap:4px;padding:14px 16px;display:grid}.stat-label{color:var(--ink-3);letter-spacing:.02em;font-size:11px}.stat-value{color:var(--ink);letter-spacing:-.01em;font-size:19px}.stat-value.buy{color:var(--buy)}.stat-value.rent{color:var(--rent)}.stat-note{color:var(--ink-3);font-size:11.5px;line-height:1.4}.table-scroll{scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent;max-height:460px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}thead th{z-index:1;background:var(--raised);color:var(--ink-3);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;text-align:right;border-bottom:1px solid var(--hairline-strong);padding:9px 12px;font-size:10.5px;font-weight:600;position:sticky;top:0}thead th:first-child{text-align:left}tbody td{text-align:right;color:var(--ink-2);border-bottom:1px solid var(--hairline);padding:7px 12px}tbody td:first-child{text-align:left;color:var(--ink-3)}tbody tr:hover td{background:var(--raised);color:var(--ink)}tbody td.lead-buy{color:var(--buy)}tbody td.lead-rent{color:var(--rent)}tbody tr.crossing td{background:#ffffff08}tbody tr.crossing td:first-child:before{content:"→ ";color:var(--ink)}.notes{border-top:1px solid var(--hairline);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px 40px;padding-top:24px;display:grid}.note h3{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:13px;font-weight:600}.note p{color:var(--ink-3);margin:0 0 8px;font-size:13px;line-height:1.55}.note strong{color:var(--ink-2);font-weight:500}@media (width<=1040px){.shell{padding:0 16px 64px}.layout{grid-template-columns:minmax(0,1fr);gap:28px}.results{order:1}.rail{order:2;max-height:none;position:static;overflow:visible}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.verdict h1{max-width:none}}@media (width<=520px){.stats{grid-template-columns:minmax(0,1fr)}.group-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.backtest-group{gap:10px;display:grid}.switch{cursor:pointer;background:var(--raised);border:1px solid var(--hairline);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:9px 10px;display:grid}.switch:hover{background:var(--raised-hover);border-color:var(--hairline-strong)}.switch input{appearance:none;border:1px solid var(--hairline-strong);background:var(--ground);cursor:pointer;border-radius:2px;width:15px;height:15px;margin:1px 0 0}.switch input:checked{background:var(--rent);border-color:var(--rent)}.switch input:checked:after{content:"";border:solid var(--ground);border-width:0 2px 2px 0;width:4px;height:8px;margin:1px 0 0 4px;display:block;transform:rotate(45deg)}.switch input:focus-visible{outline:2px solid var(--rent);outline-offset:2px}.switch-body{gap:3px;display:grid}.switch-title{font-family:var(--font-display);color:var(--ink);font-size:12.5px;font-weight:600}.switch-note{color:var(--ink-3);font-size:11px;line-height:1.45}.backtest-controls{border-left:1px solid var(--hairline-strong);gap:10px;padding-left:11px;display:grid}.backtest-controls[hidden]{display:none}.control select{appearance:none;width:100%;color:var(--ink);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:13px}.control select:focus{outline:none}.bar{transition:opacity 90ms}.bar.up{fill:var(--rent)}.bar.down{fill:var(--rent);opacity:.38}.bar.buy{fill:var(--buy)}.bar.rent{fill:var(--rent);opacity:.55}.bar.picked{opacity:1;stroke:var(--ink);stroke-width:1.5px}.chart-footnote{color:var(--ink-3);margin:10px 0 0;font-size:12px;line-height:1.6}.chart-footnote .figure{color:var(--ink-2)}.chart-footnote .figure.buy{color:var(--buy)}.chart-footnote .figure.rent{color:var(--rent)}.col-market{display:none}#year-table.is-backtest .col-market{display:table-cell}tbody td.down-year{color:var(--buy)}.note .sources{border-top:1px solid var(--hairline);color:var(--ink-3);margin-top:10px;padding-top:10px;font-size:11px;line-height:1.6}
