:root{color-scheme:light;--paper:#f6f8f7;--text:#20332e;--muted:#52685f;--line:#c9d8d1;--accent:#146951;--other:#a24e24;--surface:#fff;--wash:#e7f0eb}
:root.dark{color-scheme:dark;--paper:#17231f;--text:#e4eee8;--muted:#a8c0b3;--line:#40584b;--accent:#7bd4b2;--other:#ffb58b;--surface:#20312a;--wash:#2b4035}
*{box-sizing:border-box}body{margin:0;background:transparent;color:var(--text);font:15px/1.8 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}main{padding:26px 28px;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}h1{font-size:22px;line-height:1.5;margin:4px 0 12px;letter-spacing:-.02em}p{margin:10px 0}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--accent);margin:0}.intro,.note{color:var(--muted)}.note{font-size:13px}label{display:block;font-weight:600}label output{font-variant-numeric:tabular-nums;color:var(--accent)}input,select,button{font:inherit;max-width:100%}input[type=range]{display:block;width:100%;margin:14px 0 8px;accent-color:var(--accent);min-height:28px}select,button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px;min-height:44px;padding:7px 12px}select{display:block;margin-top:6px}button{cursor:pointer}.primary{background:var(--accent);color:var(--paper);border-color:var(--accent);font-weight:650}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--other);outline-offset:3px}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0}.toolbar label{flex:1 1 180px}.toolbar select{width:100%}.chart{width:100%;height:270px;display:block;margin:16px 0 6px;overflow:visible}.chart text{fill:var(--muted);font:12px system-ui,sans-serif}.chart .grid{fill:none;stroke:var(--line);stroke-width:1}.chart .axis{fill:none;stroke:var(--muted);stroke-width:1}.curve{fill:none;stroke:var(--accent);stroke-width:2.8}.comparison{stroke:var(--other);stroke-dasharray:7 5;stroke-width:2.3;fill:none}.target{fill:var(--surface);stroke:var(--other);stroke-width:2.5}.legend{display:flex;flex-wrap:wrap;gap:5px 20px;font-size:13px;color:var(--muted)}.legend span:before{content:"";display:inline-block;width:22px;border-top:3px solid var(--accent);margin-right:6px;vertical-align:middle}.legend .dashed:before{border-color:var(--other);border-top-style:dashed}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.stats div{border-left:3px solid var(--line);padding-left:12px;min-width:0}.stats dt{font-size:12px;color:var(--muted)}.stats dd{font-size:21px;font-variant-numeric:tabular-nums;margin:3px 0;overflow-wrap:anywhere}.status{padding:12px 15px;background:var(--wash);border-radius:7px;overflow-wrap:anywhere}.saved{border-left:3px dashed var(--other);padding:4px 12px;color:var(--muted);font-size:13px}.hint{border:0;padding:10px 0;margin-top:10px}.hint summary{cursor:pointer;min-height:36px;padding-top:4px}.hint p{color:var(--muted)}.scroll{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px;text-align:left}th,td{padding:7px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);white-space:normal;margin:10px 0}tr.current{background:var(--wash)}.equation{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.scale{font-size:12px;color:var(--muted)}
@media(max-width:480px){main{padding:20px 15px;border-radius:10px}h1{font-size:20px}.toolbar{gap:8px}.toolbar button{flex:1 1 42%}.stats dd{font-size:18px}.chart{height:250px}.toolbar label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
