:root{--bg:#fcfcfb;--surface:#fff;--ink:#252722;--muted:#797b73;--line:#e5e5de;--accent:#8a4b38;--tint:#f3eee7;--slate:#8f9aa7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a,button,input,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.lab-nav,.lab-shell{width:min(1200px,calc(100% - 72px));margin:auto}.lab-nav{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:30px;font-weight:650;letter-spacing:-.07em;line-height:1}.brand>span{color:var(--accent)}.lab-nav nav{display:flex;gap:28px;font-size:13px;color:#696c63}.lab-nav a:hover{color:var(--accent)}.lab-heading{padding:59px 0 38px;max-width:760px}.eyebrow{font-size:12px;color:#a08e7b;letter-spacing:.035em}.lab-heading h1{font-size:48px;line-height:1.35;letter-spacing:-.04em;font-weight:550;margin-top:16px;text-wrap:balance}.intro{font-size:15px;color:var(--muted);line-height:1.95;margin-top:19px;max-width:690px}.labels{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.labels>span{border:1px solid #e5ded2;border-radius:5px;padding:4px 10px;font-size:11px;color:#92816e;background:#faf7f2}.workbench{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;align-items:start}.control-panel,.result-panel{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.control-panel{padding:23px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px;font-size:15px;font-weight:550}.quiet-button{border:0;padding:3px 0;background:none;color:#998b7b;font-size:12px}.quiet-button:hover{color:var(--accent)}label{display:block;font-size:12px;color:#686d60;margin-top:15px}input,select{display:block;width:100%;height:39px;border:1px solid #dedfd6;border-radius:5px;background:#fff;color:#363b30;padding:6px 10px;margin-top:6px;font-size:13px}select{padding-right:24px}input:hover,select:hover{border-color:#b9b9a9}fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:22px 0 0;min-width:0}legend{padding:0 7px 0 0;font-size:11px;color:#aaa594}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.field-pair label{min-width:0}.field-note{font-size:11px;line-height:1.85;color:#9b9b90;margin-top:11px}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:5px;background:#353a2e;color:#fff;font-size:13px;padding:11px 15px;margin-top:23px;transition:background .15s,transform .12s}.primary-button:hover{background:#4b513e}.primary-button:active{transform:scale(.98)}.error{border-left:2px solid #a45d47;color:#9b513e;font-size:12px;padding-left:10px;margin-top:14px}.result-panel{padding:29px;min-width:0}.result-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.result-head h2{font-size:24px;font-weight:550;letter-spacing:-.025em;margin-top:6px}.status{font-size:11px;color:#7b8772;background:#eff3e9;padding:5px 9px;border-radius:4px;white-space:nowrap}.chart-note{font-size:11px;color:#96998f;line-height:1.85;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:27px;padding-block:22px;border-block:1px solid var(--line)}.metrics>div>span{display:block;color:#92978a;font-size:11px}.metrics strong{display:block;font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.3;margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.metrics strong small{font-size:13px;color:#9b9f92}.chart-legend{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:11px;color:#8c9284;margin-top:25px}.chart-legend>span{display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.strategy-dot{background:var(--accent)}.benchmark-dot{background:var(--slate)}.chart-shell{margin-top:10px;min-height:210px}.chart-shell svg{display:block;width:100%;height:auto;overflow:visible}.balance-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11px;color:#93998b;margin-top:22px;padding:17px 0;border-block:1px solid var(--line)}.balance-line b{font-size:12px;font-weight:500;color:#58614d;margin-left:5px;font-variant-numeric:tabular-nums}.trade-section{margin-top:28px}.subheading{display:flex;justify-content:space-between;gap:20px;align-items:center}.subheading h3{font-size:16px;font-weight:550}.table-scroll{overflow-x:auto;margin-top:16px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}th,td{padding:11px 10px;border-bottom:1px solid #eff0e9;white-space:nowrap}th{color:#8d9580;font-size:11px;font-weight:400;background:#fafbf7}th:first-child,td:first-child{text-align:left;padding-left:12px}td{color:#646f57}.buy{color:#8a4b38}.sell{color:#526d7c}.empty-row{text-align:center!important;padding-block:25px;color:#9c9e91}.method-details{border-top:1px solid var(--line);padding-top:20px;margin-top:27px;color:#89917f;font-size:12px;line-height:1.95}.method-details summary{color:#616d53;cursor:pointer;font-size:13px}.method-details p,.method-details ul{margin-top:13px}.method-details ul{padding-left:18px}.lab-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#9a9b90;padding:32px 0 43px}.lab-footer a{color:#80745f}.no-script{text-align:center;color:#8a4b38;padding:30px}.dividend .metrics{grid-template-columns:repeat(3,1fr)}.dividend .metrics strong{font-size:23px}.assumption-card{background:#faf8f3;border:1px solid #ebe6da;border-radius:6px;padding:16px 18px;margin-top:24px}.assumption-card h3{font-size:13px;color:#8c7e65;font-weight:550}.assumption-card p{font-size:11px;color:#a19a89;line-height:1.9;margin-top:8px}
@media(max-width:1050px){.lab-nav,.lab-shell{width:calc(100% - 48px)}.workbench{grid-template-columns:250px minmax(0,1fr);gap:20px}.control-panel{padding:20px}.result-panel{padding:23px}.metrics{gap:10px}.metrics strong{font-size:23px}.dividend .metrics strong{font-size:21px}}
@media(max-width:800px){.workbench{grid-template-columns:1fr}.control-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.panel-title{grid-column:1/-1}.control-panel form>p,.control-panel form>button{grid-column:1/-1}.control-panel form>fieldset{grid-column:1/-1}.control-panel form>fieldset:last-of-type{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.control-panel form>fieldset:last-of-type .field-pair{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.control-panel form>fieldset:last-of-type>label{align-self:end}.control-panel form>fieldset:last-of-type legend{margin-bottom:0}.lab-heading{padding-top:41px}.lab-heading h1{font-size:42px}.primary-button{max-width:260px}.metrics strong{font-size:29px}.chart-shell{min-height:0}.dividend .control-panel form>label{grid-column:auto}.dividend .metrics strong{font-size:26px}}
@media(max-width:520px){.lab-nav,.lab-shell{width:calc(100% - 36px)}.lab-nav{height:72px}.brand{font-size:27px}.lab-nav nav{gap:15px;font-size:11px}.lab-heading{padding:33px 0 28px}.lab-heading h1{font-size:35px;margin-top:12px}.intro{font-size:13px;line-height:1.95;margin-top:16px}.eyebrow{font-size:11px}.labels{gap:6px;margin-top:17px}.labels>span{font-size:10px;padding:4px 8px}.control-panel{padding:20px}.control-panel form{gap:0 14px}.control-panel form>fieldset:last-of-type .field-pair{grid-template-columns:1fr 1fr;gap:0 14px}.result-panel{padding:20px 17px}.result-head{align-items:flex-start}.result-head h2{font-size:20px}.status{font-size:10px;padding:4px 7px}.metrics{grid-template-columns:1fr 1fr;gap:20px 16px;padding-block:20px;margin-top:20px}.metrics strong{font-size:28px}.chart-legend{font-size:10px;gap:15px;margin-top:20px}.chart-note{font-size:10px}.chart-shell{margin-inline:-10px}.balance-line{justify-content:flex-start;gap:12px 18px}.balance-line>span{font-size:10px}.trade-section{margin-top:24px}.table-scroll{margin-inline:-5px}th,td{font-size:11px;padding:10px 7px}.method-details{font-size:11px}.lab-footer{display:block;font-size:11px;padding-block:25px 32px}.lab-footer a{display:inline-block;margin-top:10px}.dividend .metrics{grid-template-columns:1fr 1fr}.dividend .metrics>div:last-child{grid-column:1/-1}.dividend .metrics strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.control-panel,.lab-nav nav{display:none}.workbench{display:block}.lab-heading{padding-top:20px}.result-panel{border:0}.lab-nav,.lab-shell{width:100%}.table-scroll{overflow:visible}.method-details{display:block}}
