.calc-tool{--tool-cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--tool-sans:"IBM Plex Sans", var(--tool-cjk);--tool-data:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, var(--tool-cjk);--tool-echo:ui-monospace, "SF Mono", Menlo, Consolas, var(--tool-cjk);font-family:var(--tool-sans);flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.tool-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;flex:320px;gap:14px;max-inline-size:100%;padding:clamp(18px,2.5vw,24px);display:flex}.tool-form .field-head{flex-direction:column;gap:6px;display:flex}.tool-form label{font-size:15px;font-weight:600}.tool-form .field-help,.tool-form .small,.tool-result .small{color:var(--ink-2);margin:0;font-size:13px;line-height:1.6}.series-input{resize:vertical;min-block-size:170px;inline-size:100%;font-family:var(--tool-echo);border-radius:var(--radius);border:1px solid var(--field);background:var(--surface);color:var(--ink);outline-offset:1px;padding:10px 12px;font-size:15px;line-height:1.6}.series-input.is-invalid{border:2px solid var(--drawdown)}.field-meta{color:var(--muted);font-size:12px;font-family:var(--tool-data);justify-content:space-between;display:flex}.error-box{border-radius:var(--radius);color:#5e1f14;background:#fbefec;border:1px solid #d9a89e;flex-direction:column;gap:6px;padding:12px 14px;font-size:14px;display:flex}.error-box .error-head{margin:0;font-weight:600}.error-box ul{flex-direction:column;gap:4px;margin:0;padding-inline-start:18px;line-height:1.55;display:flex}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn-primary,.btn-secondary,.btn-link{border-radius:var(--radius);min-block-size:48px;font:inherit;cursor:pointer;padding-inline:16px;font-size:15px}.btn-primary{background:var(--accent);color:#fff;border:none;flex:200px;padding-inline:18px;font-size:16px;font-weight:500}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.btn-secondary:hover{border-color:var(--ink)}.btn-link{color:var(--ink-2);text-underline-offset:3px;background:0 0;border:1px solid #0000;text-decoration:underline}.btn-link:hover{color:var(--ink)}.more-examples{color:var(--ink-2);border-block-start:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px 12px;padding-block-start:12px;font-size:13px;display:flex}.chip-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);min-block-size:36px;color:var(--ink);font-size:13px;font-family:var(--tool-data);cursor:pointer;padding-inline:10px}.chip-btn:hover{border-color:var(--ink)}.privacy{align-items:baseline;gap:8px;display:flex}.privacy .dot{background:var(--accent);border-radius:50%;flex:none;block-size:8px;inline-size:8px;display:inline-block}.tool-result{flex-direction:column;flex:999 520px;gap:16px;min-inline-size:0;display:flex}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.result-head h2{margin:0;font-size:24px}.notice-ok{background:var(--accent-tint);color:#0f4a47;border-radius:var(--radius);margin:0;padding:8px 12px;font-size:14px}.dirty-box{background:var(--warn-tint);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 14px;font-size:15px;display:flex}.dirty-box span{font-size:13px}.result-body{transition:opacity .2s}.result-body.is-stale{outline:2px dashed var(--warn);outline-offset:6px;border-radius:8px}.result-body.is-stale .ddp-chart svg,.result-body.is-stale .ddp-legend i{opacity:.35}.result-empty{border:1px dashed var(--line-strong);text-align:center;color:var(--ink-2);background:var(--surface);border-radius:10px;padding:40px 24px;font-size:15px}.result-links{border-block-start:1px solid var(--line);flex-wrap:wrap;gap:8px 24px;padding-block-start:16px;font-size:15px;display:flex}.ddp{flex-direction:column;gap:20px;display:flex}.ddp-cards{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:1px;margin:0;display:grid;overflow:hidden}.ddp-cards>div{background:var(--surface);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ddp-cards dt{color:var(--ink-2);font-size:13px}.ddp-cards dd{margin:0}.ddp-mdd{font-family:var(--tool-data);color:var(--drawdown);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1.2}.ddp-note{color:var(--ink-2);font-size:12px;line-height:1.5}.ddp-mono{font-family:var(--tool-data);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:16px;line-height:1.5}.ddp-gain,.ddp-rec{flex-direction:column;gap:2px;display:flex}.ddp-gain>span:first-child{font-family:var(--tool-data);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:20px;font-weight:500}.ddp-rec>span:first-child{font-size:15px;font-weight:600}.ddp-rec .ok{color:var(--accent)}.ddp-rec .open{color:var(--warn)}.ddp-sub{font-family:var(--tool-data);color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.ddp-rec .ddp-sub{font-family:var(--tool-sans)}.ddp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:20px;display:grid}.ddp-figure{flex-direction:column;gap:10px;min-inline-size:0;margin:0;display:flex}.ddp-legend-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.ddp-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.ddp-legend span{align-items:center;gap:6px;display:flex}.lg-line{background:var(--ink);block-size:2px;inline-size:18px;display:inline-block}.lg-peak{border-block-start:2px dashed var(--accent);inline-size:18px;display:inline-block}.lg-dd{background:var(--drawdown-tint);block-size:10px;inline-size:14px;display:inline-block}.ddp-example{font-family:var(--tool-data);border:1px dashed var(--field);color:var(--ink-2);border-radius:var(--radius-sm);padding:2px 8px;font-size:12px}.ddp-chart{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-block-size:220px}.ddp-chart svg{cursor:crosshair;display:block}.ddp-chart .grid{stroke:var(--line-soft)}.ddp-chart .axis,.ddp-chart .axis-title{fill:var(--muted);font-size:12px;font-family:var(--tool-data)}.ddp-chart .axis-title{font-size:11px;font-family:var(--tool-sans)}.ddp-chart .axis.is-active{fill:var(--ink);font-weight:600}.ddp-chart .dd-area{fill:var(--drawdown-tint)}.ddp-chart .dd-bar{stroke:var(--drawdown);stroke-width:2px}.ddp-chart .dd-label{fill:var(--drawdown);font-size:13px;font-weight:600;font-family:var(--tool-data)}.ddp-chart .peak{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4}.ddp-chart .series{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.ddp-chart .cursor{stroke:var(--accent);stroke-dasharray:2 3}.ddp-chart .pt{fill:#fff;stroke:var(--ink);stroke-width:1.5px}.ddp-chart .pt.is-peak{fill:var(--accent)}.ddp-chart .pt.is-trough{fill:var(--drawdown)}.ddp-chart .pt.is-rec{stroke:var(--accent);stroke-width:3px}.ddp-unavailable{color:var(--ink-2);margin:0;padding:24px 16px;font-size:14px}.ddp-step{background:var(--hover-bg);border-radius:var(--radius);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding:10px 12px;font-size:14px;line-height:1.6}.ddp-hint{color:var(--muted);margin:0;font-size:12px}.ddp-table{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-block-size:420px;min-inline-size:0;overflow:auto}.ddp-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;inline-size:100%;font-size:14px}.ddp-table caption{text-align:start;color:var(--ink-2);border-block-end:1px solid var(--line);padding:10px 12px;font-size:13px}.ddp-table thead th{text-align:end;color:var(--ink-2);background:var(--bg);padding:8px 12px;font-weight:500;position:sticky;inset-block-start:0}.ddp-table thead th:first-child{text-align:start}.ddp-table tbody tr{border-block-start:1px solid var(--line-soft)}.ddp-table tbody tr.is-active{background:var(--accent-tint)}.ddp-table tbody th{text-align:start;font-weight:500;font-family:var(--tool-data);padding:8px 12px}.ddp-table tbody tr.is-active th{box-shadow:inset 3px 0 0 var(--accent)}.ddp-table td{text-align:end;font-family:var(--tool-data);white-space:nowrap;padding:8px 12px}.ddp-table .peak-cell{color:var(--accent)}.ddp-table .dd-cell.is-zero{color:var(--muted)}.ddp-table .dd-cell.is-max{color:var(--drawdown);font-weight:600}.tool-noscript{border:1px solid var(--warn-line);background:var(--warn-tint);color:var(--warn-ink);border-radius:var(--radius);margin:0;padding:16px 18px;font-size:15px}.echo{font-family:var(--tool-echo)}.result-head h2{font-family:var(--font-heading)}.cagr-tool .tool-form{flex:300px;gap:16px}.cagr-tool .tool-result{flex:999 460px}.field{flex-direction:column;gap:6px;display:flex}.num-input{border-radius:var(--radius);border:1px solid var(--field);min-block-size:48px;font-family:var(--tool-echo);color:var(--ink);background:var(--surface);inline-size:100%;padding-inline:12px;font-size:17px}.num-input.is-invalid{border:2px solid var(--drawdown)}.field-hint{color:var(--ink-2);font-size:13px;line-height:1.5}.field-hint.is-error{color:var(--drawdown)}.error-box p{margin:0}.cagr-body{flex-direction:column;gap:16px;display:flex}.rate-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:8px 32px;padding:18px 20px;display:flex}.rate-label{color:var(--ink-2);font-size:14px}.rate-value{font-family:var(--tool-data);color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:36px;font-weight:500;line-height:1.2}.rate-value.is-negative{color:var(--drawdown)}.rate-basis{color:var(--muted);font-size:13px;font-family:var(--tool-data);overflow-wrap:anywhere}.steps-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.steps-card .formula{border-block-end:1px solid var(--line-soft);font-family:var(--tool-data);white-space:nowrap;margin:0;padding:12px 16px;font-size:14px;overflow-x:auto}.steps-card ol{margin:0;padding:0;list-style:none}.steps-card li{border-block-start:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr);gap:12px;padding:12px 16px;display:grid}.steps-card li>div{flex-direction:column;gap:2px;min-inline-size:0;display:flex}.step-n{font-family:var(--tool-data);color:var(--ink-2);padding-block-start:2px;font-size:13px}.step-label{color:var(--ink-2);font-size:13px}.step-expr{font-family:var(--tool-data);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:15px}.steps-card .precision{background:var(--bg);color:var(--muted);margin:0;padding:10px 16px;font-size:12px}.warn-note{background:var(--warn-tint);color:var(--warn-ink);border-radius:var(--radius);margin:0;padding:10px 14px;font-size:14px}.limits{background:var(--hover-bg);border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;font-size:14px;display:flex}.limits strong{font-size:15px}.cagr-tool .tool-result h2{margin:0;font-size:24px}
