:root{--bg:#f7f8fa;--card:#fff;--fg:#14161a;--fg2:#3d434d;--fg3:#7a828f;--border:#e3e6eb;--acc:#4f7cff;--acc2:#eef2ff;--ok:#16a34a;--warn:#d97706}[data-theme=dark]{--bg:#0e1013;--card:#16191e;--fg:#eceef1;--fg2:#b9bfc8;--fg3:#7d8592;--border:#2a2f37;--acc:#7a9bff;--acc2:#1b2340}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background .3s,color .3s}.page{max-width:1240px;margin:0 auto;padding:32px 20px 60px}.hero{position:relative;padding:28px 0 18px;border-bottom:1px solid var(--border);margin-bottom:24px;animation:fade .6s ease both}.hero h1{font-size:clamp(24px,3.4vw,36px);line-height:1.2;margin:0 48px 12px 0;letter-spacing:-.02em}.summary{color:var(--fg2);font-size:16px;max-width:900px;margin:0}.themebtn{position:absolute;right:0;top:28px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--fg);cursor:pointer;font-size:16px}footer{margin-top:48px;padding-top:16px;border-top:1px solid var(--border);color:var(--fg3);font-size:13px}.sec{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;scroll-margin-top:16px}.sec.in{opacity:1;transform:none}.sec.d0{margin:40px 0}.sec.d1{margin:28px 0}h2{font-size:26px;letter-spacing:-.01em;margin:0 0 14px;padding-bottom:6px;border-bottom:2px solid var(--acc)}h3{font-size:19px;margin:0 0 10px}.text{color:var(--fg2);margin:12px 0}.toc{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 20px;animation:fade .6s .1s ease both}.toct{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg3);margin-bottom:6px}.toc ol{list-style:none;margin:0;padding:0;columns:3 240px}.toc li{break-inside:avoid;padding:2px 0}.toc .td1{padding-left:16px;font-size:14px}.toc a{color:var(--fg);text-decoration:none}.toc .td1 a{color:var(--fg2)}.toc a:hover{color:var(--acc)}.callout{background:var(--acc2);border-left:4px solid var(--acc);padding:12px 16px;border-radius:8px;margin:14px 0;color:var(--fg)}.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--card);margin:14px 0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}th{background:color-mix(in srgb,var(--card) 85%,var(--acc));font-weight:600;white-space:nowrap;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover{background:color-mix(in srgb,var(--card) 92%,var(--acc))}td.first{font-weight:500}td.emph{font-weight:700;color:var(--acc)}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:14px;margin:14px 0}@media (max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid{grid-template-columns:1fr}}.props{margin:0;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px 16px}.props div{padding:9px 0;border-bottom:1px solid var(--border)}.props div:last-child{border:0}.props dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg3)}.props dd{margin:2px 0 0}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:16px 0}.metric{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;animation:pop .5s ease both;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.mv{font-size:22px;font-weight:700;letter-spacing:-.01em;transition:color .3s}.ml{font-size:13px;color:var(--fg2);margin-top:2px}.md{font-size:12px;color:var(--fg3);margin-top:4px}.metric.success{border-color:var(--ok)}.metric.success .mv{color:var(--ok)}.metric.warning{border-color:var(--warn)}.metric.warning .mv{color:var(--warn)}.seg{display:inline-flex;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px;margin:6px 0}.seg button{border:0;background:none;color:var(--fg2);padding:7px 14px;border-radius:8px;cursor:pointer;font:inherit;font-size:14px;transition:background .2s,color .2s}.seg button.on{background:var(--acc);color:#fff}.seg button:not(.on):hover{background:var(--acc2)}.inp{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--fg2)}.inp input{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg)}.inp input:focus{outline:2px solid var(--acc);border-color:transparent}.eq{font-family:"Cambria Math",Georgia,serif;font-style:italic;text-align:center;font-size:17px;padding:14px;margin:12px 0;background:var(--card);border:1px dashed var(--border);border-radius:10px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.frac{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle}.frac span:first-child{border-bottom:1px solid var(--fg);padding:0 4px}.bars{display:flex;flex-direction:column;gap:8px;margin:14px 0;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.bar{display:grid;grid-template-columns:minmax(140px,280px) 1fr 110px;gap:12px;align-items:center;font-size:14px}@media (max-width:640px){.bar{grid-template-columns:1fr 90px}.bt{grid-column:1/-1;grid-row:2}}.bt{background:var(--acc2);height:14px;border-radius:7px;overflow:hidden}.bf{height:100%;background:linear-gradient(90deg,var(--acc),#22c3a6);border-radius:7px;transition:width .9s cubic-bezier(.2,.8,.2,1)}.bd{color:var(--fg2);text-align:right;font-variant-numeric:tabular-nums}.chart{position:relative;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin:14px 0}.chart svg{width:100%;height:auto;display:block}.ax{font-size:12px;fill:var(--fg3)}.ann{font-size:12px;fill:var(--fg);font-weight:600}.ln{stroke-dasharray:1;stroke-dashoffset:1}.chart.in .ln{transition:stroke-dashoffset 1.4s ease;stroke-dashoffset:0}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--fg2);padding:0 6px 6px}.legend i,.tip i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.tip{position:absolute;top:44px;right:20px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;display:flex;flex-direction:column;box-shadow:0 6px 18px #0000001f}.diagram{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin:14px 0;overflow-x:auto}.diagram svg{min-width:760px;width:100%;height:auto}.nb{fill:var(--acc2);stroke:var(--acc);stroke-width:1.5}.nb.terminal{fill:var(--acc);stroke:none}.nb.decision{fill:color-mix(in srgb,var(--card) 70%,#f5a524);stroke:#f5a524}.nl{font-size:13px;font-weight:600;fill:var(--fg)}.node:has(.terminal) .nl{fill:#fff}.ndet{font-size:11px;color:var(--fg2);text-align:center;line-height:1.25}.elab{font-size:12px;fill:var(--fg2);font-weight:600}.node{opacity:0}.diagram.in .node{animation:pop .5s ease both}.edge{stroke-dasharray:400;stroke-dashoffset:400}.diagram.in .edge{transition:stroke-dashoffset 1s .4s ease;stroke-dashoffset:0}section svg text{font-family:inherit}.check{list-style:none;padding:0;margin:12px 0;background:var(--card);border:1px solid var(--border);border-radius:12px}.check li{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.check li:last-child{border:0}.box{flex:0 0 18px;height:18px;border:1.5px solid var(--fg3);border-radius:5px;margin-top:3px;font-size:12px;text-align:center;line-height:16px}.pc{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:640px){.pc{grid-template-columns:1fr}}.pc>div{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.pc h4{margin:0 0 6px}.cons h4{color:#e5484d}.pros h4{color:var(--ok)}.pc ul{margin:0;padding-left:18px}.pc li{margin:6px 0}.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.lcard{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--fg);text-decoration:none;transition:transform .2s,border-color .2s}a.lcard:hover{transform:translateY(-2px);border-color:var(--acc)}.site{font-size:12px;color:var(--fg3);text-transform:uppercase;letter-spacing:.05em}@keyframes fade{0%{opacity:0;transform:translateY(8px)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.sec,.node{opacity:1;transform:none}.ln,.edge{stroke-dashoffset:0}}@media print{.sec{opacity:1;transform:none}}
