:root{--paper: #f6f2ea;--paper-2: #efe9dd;--sheet: #fffdf9;--ink: #262a2e;--ink-2: #4c5359;--ink-3: #767c83;--line: #e4ded3;--rule: #d2cbbd;--mist: #5b7083;--mist-2: #465a6c;--mist-soft: #e5eaee;--mist-wash: #f0f3f5;--sand: #b39a73;--sand-soft: #f3ece0;--slate: #2c343b;--slate-2: #353e46;--on-slate: #eef0ee;--on-slate-2: #b7c0c7;--warn: #8c4a1e;--warn-soft: #f7ebdf;--r-1: 6px;--r-2: 12px;--r-3: 18px;--shadow-1: 0 1px 2px rgba(38, 42, 46, .05), 0 4px 14px rgba(38, 42, 46, .05);--shadow-2: 0 2px 4px rgba(38, 42, 46, .05), 0 16px 40px rgba(38, 42, 46, .09);--ease: cubic-bezier(.2, .7, .2, 1);--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", sans-serif;--figure: ui-rounded, "SF Pro Rounded", -apple-system, "PingFang SC", "Segoe UI", sans-serif;--mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;--shell: 1160px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);overflow-wrap:anywhere}img,svg{max-width:100%;display:block}a{color:var(--mist-2);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--mist);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0}p{margin:0 0 1em}.num,.fig{font-family:var(--figure);font-variant-numeric:tabular-nums}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 16px}@media(min-width:720px){.shell{padding:0 28px}}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:6px 12px;border-radius:var(--r-1);z-index:20}.skip:focus{left:8px}.eyebrow{font-size:12.5px;letter-spacing:.16em;color:var(--mist);margin:0 0 10px;font-weight:600}.mast{position:sticky;top:0;z-index:10;background:#f6f2eae6;backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}.mast-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}.brand img{width:34px;height:34px;border-radius:9px}.brand b{display:block;font-size:16.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.brand small{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.12em}.nav{display:flex;gap:2px;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--ink-2);font-size:14.5px;padding:6px 11px;border-radius:999px;transition:background .2s var(--ease),color .2s var(--ease)}.nav a:hover{background:var(--mist-wash);color:var(--ink)}.nav a[aria-current=page]{background:var(--mist-soft);color:var(--mist-2);font-weight:600}.lede{padding:44px 0 20px;position:relative}.lede-grid{display:grid;gap:28px;grid-template-columns:1fr;align-items:end}@media(min-width:960px){.lede-grid{grid-template-columns:1.25fr 1fr}}.lede h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:-.03em;max-width:17em}.lede p.sub{color:var(--ink-2);font-size:17px;max-width:36em;margin:14px 0 0}.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.facts span{font-size:13px;color:var(--ink-2);background:var(--sheet);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.facts b{color:var(--mist-2);font-weight:600}.canopy{margin:0;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-1);padding:18px 20px}.canopy svg{width:100%;height:auto}.canopy p{margin:10px 0 0;font-size:13.5px;color:var(--ink-3)}.notice{display:flex;gap:12px;align-items:flex-start;background:var(--sand-soft);border:1px solid #e6dac6;border-radius:var(--r-2);padding:12px 16px;margin:18px 0 0;font-size:14.5px;color:#5b4a30}.notice svg{flex:none;width:20px;height:20px;margin-top:3px}.notice b{color:#4a3b24}.section{padding:34px 0}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;margin-bottom:18px}.section-head h2{font-size:clamp(22px,2.8vw,28px)}.section-head p{margin:6px 0 0;color:var(--ink-2);max-width:44em}.card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-1)}.ledger{display:grid;gap:18px;grid-template-columns:1fr}@media(min-width:1000px){.ledger{grid-template-columns:1.15fr 1fr}}.book{padding:0;overflow:hidden}.book-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(var(--sheet),var(--mist-wash))}.book-head b{font-size:15.5px;font-weight:600}.book-head small{color:var(--ink-3);font-size:12.5px}.book-body{padding:16px 20px 20px}.members{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.mcard{border:1px solid var(--line);border-radius:var(--r-2);padding:12px 14px 14px;background:var(--paper);position:relative;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.mcard:focus-within{border-color:var(--mist);box-shadow:0 0 0 3px var(--mist-soft)}.mcard-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.glyph{width:30px;height:30px;border-radius:50%;background:var(--mist-soft);color:var(--mist-2);display:grid;place-items:center;font-size:13px;font-weight:600;flex:none}.glyph.dep{background:var(--sand-soft);color:#7a6240}.mcard-top b{font-size:15px}.mcard-top small{color:var(--ink-3);font-size:12px;margin-left:auto}.field{display:grid;gap:4px;margin:8px 0 0}.field>span{font-size:13px;color:var(--ink-2)}.field>span em{font-style:normal;color:var(--ink-3);font-size:12px}.inp{position:relative}.inp input,.field select{width:100%;min-width:0;font:500 15.5px/1.2 var(--figure);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-1);padding:10px 44px 10px 11px;min-height:44px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.field select{padding-right:11px;font-family:var(--sans)}.inp input:focus,.field select:focus{outline:none;border-color:var(--mist);box-shadow:0 0 0 3px var(--mist-soft)}.inp i{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12.5px;color:var(--ink-3);pointer-events:none}.row2{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,124px),1fr))}.toggles{display:flex;flex-wrap:wrap;gap:10px 18px;margin:14px 0 4px;align-items:center}.check{display:inline-flex;gap:8px;align-items:center;font-size:14.5px;color:var(--ink-2);min-height:44px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--mist)}.count{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-2)}.count select{font:inherit;border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r-1);padding:8px 10px;min-height:44px}.lines{margin:0;padding:0;list-style:none}.lines li{display:grid;grid-template-columns:1fr minmax(0,190px);gap:12px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}.lines li:last-child{border-bottom:0}.lines li.minus .lbl:before{content:"−";color:var(--mist);margin-right:6px;font-weight:600}.lines li.plus .lbl:before{content:"+";color:var(--ink-3);margin-right:6px}.lines .lbl{font-size:14.5px}.lines .lbl small{display:block;color:var(--ink-3);font-size:12.5px;line-height:1.5}.params{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.params h3,.book-body h3{font-size:14px;color:var(--ink-2);font-weight:600;letter-spacing:.02em;margin:0 0 4px}.err{color:var(--warn);background:var(--warn-soft);border-radius:var(--r-1);padding:8px 12px;font-size:14px;margin:12px 0 0}.results{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}.rcard{padding:18px 18px 12px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.rcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.rcard-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.rcard-head b{font-size:16.5px}.rcard-head small{margin-left:auto;font-size:12.5px;color:var(--ink-3);text-align:right}.cover{padding:12px 0 10px;border-bottom:1px dashed var(--line)}.cover:last-of-type{border-bottom:0}.cover-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.cover-top span{font-size:14px;color:var(--ink-2)}.cover-top strong{font:600 19px/1.2 var(--figure);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}.cover-top strong.muted{font-size:14px;font-weight:500;color:var(--ink-3);font-family:var(--sans)}.scale{position:relative;height:26px;margin:8px 0 2px}.scale .axis{position:absolute;left:0;right:0;top:12px;height:1px;background:var(--rule)}.scale .tick{position:absolute;top:8px;width:1px;height:9px;background:var(--rule)}.scale .band{position:absolute;top:8px;height:9px;background:var(--mist);border-radius:2px;opacity:.85;min-width:2px}.scale .ref{position:absolute;top:3px;height:19px;border:1px dashed var(--sand);border-radius:3px}.scale .cap{position:absolute;top:18px;font-size:10.5px;color:var(--ink-3);transform:translate(-50%);white-space:nowrap;font-family:var(--figure)}.scale .cap.end{transform:translate(-100%)}.scale .cap.start{transform:none}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink-3);margin:6px 0 0}.legend i{display:inline-block;width:16px;height:7px;vertical-align:middle;margin-right:5px;border-radius:2px}.legend .b{background:var(--mist)}.legend .r{border:1px dashed var(--sand);height:9px}.why{margin:4px 0 0;font-size:13px;color:var(--ink-3)}details.steps{margin:10px 0 4px;border-top:1px solid var(--line);padding-top:8px}details.steps summary{cursor:pointer;font-size:13.5px;color:var(--mist-2);min-height:32px;display:flex;align-items:center;gap:6px;list-style:none}details.steps summary::-webkit-details-marker{display:none}details.steps summary:before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s var(--ease)}details.steps[open] summary:before{transform:rotate(45deg)}.steplist{list-style:none;margin:6px 0 0;padding:0;counter-reset:s}.steplist li{padding:8px 0 8px 30px;position:relative;border-bottom:1px dashed var(--line);font-size:13.5px}.steplist li:last-child{border-bottom:0}.steplist li:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;border:1px solid var(--rule);font:600 11px/18px var(--figure);text-align:center;color:var(--ink-2)}.steplist b{display:block;font-weight:600;font-size:13.5px}.steplist code{display:block;font:12.5px/1.6 var(--mono);color:var(--ink-2);background:var(--paper);border-radius:4px;padding:3px 7px;margin:3px 0;white-space:normal;overflow-wrap:anywhere}.steplist .eq{font:600 14px var(--figure);color:var(--ink)}.chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px;vertical-align:middle;max-width:100%}.chip{font-size:11.5px;line-height:1.5;border-radius:10px;padding:0 8px;text-decoration:none;border:1px solid var(--mist-soft);background:var(--mist-wash);color:var(--mist-2);max-width:100%;overflow-wrap:anywhere}.chip.own{border:1px dashed var(--sand);background:transparent;color:#7a6240}.chip:hover{border-color:var(--mist);color:var(--ink)}.shared-strip{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:baseline;padding:14px 18px;margin:0 0 16px}.shared-strip span{color:var(--ink-2);font-size:14px}.shared-strip strong{font:600 18px var(--figure)}.dark{background:var(--slate);color:var(--on-slate);margin:24px 0;padding:44px 0}.dark .section-head p,.dark .muted{color:var(--on-slate-2)}.dark .eyebrow{color:#a9bac8}.dark a{color:#cfdbe4}.taxgrid{display:grid;gap:18px;grid-template-columns:1fr}@media(min-width:900px){.taxgrid{grid-template-columns:.9fr 1.1fr}}.dark .panel{background:var(--slate-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-3);padding:18px 20px}.dark .field>span{color:var(--on-slate-2)}.dark .inp input{background:#262d33;color:var(--on-slate);border-color:#ffffff29}.dark .inp input:focus{border-color:#9fb3c4;box-shadow:0 0 0 3px #9fb3c433}.dark .inp i{color:#97a2ab}.dark .steplist li{border-bottom-color:#ffffff1a}.dark .steplist li:before{border-color:#ffffff40;color:var(--on-slate-2)}.dark .steplist code{background:#262d33;color:var(--on-slate-2)}.dark .steplist .eq{color:#fff}.dark .chip{background:#ffffff0f;border-color:#ffffff24;color:#d6e0e7}.dark .chip.own{border-color:#b39a73;color:#e2cfae;background:transparent}.bigfig{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;margin:0 0 12px}.bigfig div{border:1px solid rgba(255,255,255,.1);border-radius:var(--r-2);padding:10px 14px}.bigfig span{display:block;font-size:12.5px;color:var(--on-slate-2)}.bigfig b{font:600 22px/1.3 var(--figure);font-variant-numeric:tabular-nums;color:#fff}.cool{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:860px){.cool{grid-template-columns:.8fr 1.2fr}}.cool .card{padding:18px 20px}.days{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.days b{font:600 44px/1 var(--figure);letter-spacing:-.03em;color:var(--mist-2)}.days span{color:var(--ink-2);font-size:14px}.cool-text{margin:10px 0 0;font-size:15px}.faq{display:grid;gap:10px}.faq details{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-2);padding:4px 18px;transition:box-shadow .2s var(--ease)}.faq details[open]{box-shadow:var(--shadow-1)}.faq summary{cursor:pointer;font-weight:600;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--mist);font-weight:400;font-size:20px;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--ink-2);margin:0 0 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;background:var(--mist);color:#fff;text-decoration:none;font-weight:600;font-size:15px;border:0;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}.btn:hover{background:var(--mist-2);color:#fff;transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--mist-2);border:1px solid var(--rule)}.btn.ghost:hover{background:var(--mist-wash);color:var(--ink)}.page{padding:30px 0 20px}.crumbs{font-size:13.5px;color:var(--ink-3);margin-bottom:12px}.crumbs a{color:var(--ink-3)}.page h1{font-size:clamp(26px,3.6vw,38px);letter-spacing:-.03em;max-width:22em}.meta{color:var(--ink-3);font-size:14px;margin:10px 0 0}.toc{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}.tag{font-size:13.5px;text-decoration:none;padding:5px 12px;border-radius:999px;background:var(--sheet);border:1px solid var(--line);color:var(--ink-2)}.tag:hover{border-color:var(--mist);color:var(--ink)}.tag.own{border-style:dashed;border-color:var(--sand)}.srcgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}.src{padding:18px 20px;scroll-margin-top:80px}.src:target{border-color:var(--mist);box-shadow:0 0 0 3px var(--mist-soft)}.src h3{font-size:16.5px}.src .doc{font-size:13px;color:var(--ink-3);margin:6px 0 0}.src .doc b{color:var(--mist-2);font-weight:600}.src blockquote{margin:12px 0;padding:10px 14px;background:var(--paper);border-left:2px solid var(--mist);border-radius:0 var(--r-1) var(--r-1) 0;font-size:14.5px;color:var(--ink)}.src .use{font-size:14px;color:var(--ink-2);margin:0}.src .note{font-size:13px;color:#6d5838;background:var(--sand-soft);border-radius:var(--r-1);padding:6px 10px;margin:10px 0 0}.src.ownrule{border-style:dashed;border-color:var(--rule);box-shadow:none;background:transparent}.own-badge{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.04em;color:#7a6240;border:1px dashed var(--sand);border-radius:999px;padding:1px 10px;vertical-align:middle;margin-left:6px}.group-h{font-size:22px;margin:0 0 4px}.group-lead{margin:0 0 14px;color:var(--ink-2);max-width:48em}.article-grid{display:grid;gap:28px;grid-template-columns:1fr;margin-top:24px}@media(min-width:980px){.article-grid{grid-template-columns:minmax(0,1fr) 300px}}.prose{max-width:720px;font-size:16.5px;line-height:1.85;min-width:0}.prose h2{font-size:23px;margin:34px 0 12px}.prose h3{font-size:18px;margin:24px 0 8px}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:4px 0}.prose blockquote{margin:16px 0;padding:12px 16px;background:var(--sheet);border:1px solid var(--line);border-left:2px solid var(--mist);border-radius:0 var(--r-2) var(--r-2) 0;font-size:15px}.prose blockquote cite{display:block;margin-top:6px;font-style:normal;font-size:12.5px;color:var(--ink-3)}.prose .formula{font:14.5px/1.7 var(--mono);background:var(--slate);color:var(--on-slate);border-radius:var(--r-2);padding:14px 16px;margin:14px 0;overflow-wrap:anywhere}.prose .formula b{color:#fff}.tablewrap{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:var(--r-2);background:var(--sheet)}table{border-collapse:collapse;width:100%;font-size:14.5px}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;background:var(--mist-wash);font-size:13.5px;color:var(--ink-2)}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.aside{display:grid;gap:14px;align-content:start}@media(min-width:980px){.aside{position:sticky;top:84px}}.aside .card{padding:16px 18px}.aside h3{font-size:15.5px;margin-bottom:6px}.aside p{font-size:14px;color:var(--ink-2);margin:0 0 10px}.postcard{display:block;padding:18px 20px;text-decoration:none;color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.postcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);color:var(--ink)}.postcard b{display:block;font-size:18px;margin:6px 0;letter-spacing:-.01em}.postcard p{color:var(--ink-2);font-size:14.5px;margin:0}.split{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));margin-top:22px}.bounds{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:18px 0}.bounds .card{padding:16px 18px}.bounds h3{font-size:16px;margin-bottom:6px}.bounds p{margin:0;color:var(--ink-2);font-size:14.5px}.support{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin:30px 0 34px;padding:18px 22px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-3)}.support>div{flex:1 1 420px;min-width:0}.support p{margin:0;color:var(--ink-2);font-size:14.5px}.support .eyebrow{margin-bottom:4px}.footer{border-top:1px solid var(--line);background:var(--paper-2);padding:26px 0 34px;font-size:14px;color:var(--ink-2)}.foot-in{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}.foot-in>div{flex:1 1 380px;min-width:0}.foot-in p{margin:6px 0 0}.footer nav{display:flex;flex-wrap:wrap;gap:6px 18px;align-content:flex-start}.footer nav a{color:var(--ink-2);text-decoration:none}.footer nav a:hover{color:var(--ink);text-decoration:underline}.js .reveal{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .reveal.in{opacity:1;transform:none}fieldset.mcard{min-width:0}fieldset.mcard legend{float:left}fieldset.mcard legend+*{clear:both}@media(max-width:520px){th,td{padding:8px;font-size:13.5px}.prose{font-size:16px}}
