:root{--bg:#fbfaf7;--fg:#1d1d1b;--muted:#6b6a65;--line:#e2e0d9;--accent:#2f6f4f;--code-bg:#f1efe9;--banner-bg:#f6eed3;--banner-fg:#5a4710;--a:#2f6f4f;--b:#3d6a8f;--c:#8a6a1c;--d:#8c4a3c}@media (prefers-color-scheme:dark){:root{--bg:#161615;--fg:#ecebe6;--muted:#9a9890;--line:#2e2d2a;--accent:#7cc39a;--code-bg:#20201e;--banner-bg:#2b2715;--banner-fg:#e6d49a;--a:#7cc39a;--b:#8bb6db;--c:#dcb661;--d:#e09a88}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);overflow-wrap:break-word;margin:0;font:16px/1.6 system-ui,sans-serif}.wrap{max-width:760px;margin:0 auto;padding-left:16px;padding-right:16px}main{padding-top:24px;padding-bottom:64px}a{color:var(--accent);text-underline-offset:2px}h1{letter-spacing:-.01em;margin:0 0 8px;font-size:1.9rem;line-height:1.2}h2{border-top:1px solid var(--line);margin:40px 0 8px;padding-top:8px;font-size:1.2rem}h3{margin:24px 0 6px;font-size:1rem}p,ul,ol,dl{margin:0 0 14px}li{margin-bottom:4px}.banner{background:var(--banner-bg);color:var(--banner-fg);font-size:14px}.banner .wrap{padding-top:8px;padding-bottom:8px}.banner a{color:inherit}header.site .wrap{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding-top:16px;padding-bottom:12px;display:flex}header.site .home{color:var(--fg);align-items:center;gap:8px;font-weight:650;text-decoration:none;display:inline-flex}.mark{flex:none;align-self:center;width:20px;height:20px}.mark path{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}header.site nav{flex-wrap:wrap;gap:4px 16px;font-size:15px;display:flex}header.site nav a{color:var(--muted);text-decoration:none}header.site nav a:hover,header.site nav a[aria-current]{color:var(--fg)}header.site nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}footer.site .wrap{border-top:1px solid var(--line);padding-top:16px;padding-bottom:32px;font-size:14px}.scroll{margin:0 0 14px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 14px 8px 0}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:500}th:last-child,td:last-child{padding-right:0}td.num,th.num{text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:14px}code,pre{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}:not(pre)>code{background:var(--code-bg);border-radius:4px;padding:1px 4px}pre{background:var(--code-bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:12px;overflow-x:auto}.copy{margin:0 0 14px;position:relative}.copy pre{padding-right:64px}.copy-label{color:var(--muted);margin:0 0 4px;font-size:14px}.copy-btn{border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:4px;padding:6px 8px;font:12px/1 system-ui,sans-serif;position:absolute;top:6px;right:6px}.copy-btn:hover{border-color:var(--muted)}.grade{text-align:center;border:1.5px solid;border-radius:4px;min-width:1.6em;padding:0 6px;font:600 13px/1.5 ui-monospace,monospace;text-decoration:none;display:inline-block;position:relative}.grade-A{color:var(--a)}.grade-B{color:var(--b)}.grade-C{color:var(--c)}.grade-D{color:var(--d)}.grade[data-tip]:hover:after,.grade[data-tip]:focus-visible:after{content:attr(data-tip);z-index:1;background:var(--fg);width:max-content;max-width:min(260px,70vw);color:var(--bg);text-align:left;white-space:normal;border-radius:4px;padding:6px 8px;font:13px/1.4 system-ui,sans-serif;position:absolute;top:calc(100% + 6px);left:0}.grade.tip-end[data-tip]:after{left:auto;right:0}.legend{gap:6px;margin:0 0 14px;font-size:14px;display:grid}.legend div{align-items:baseline;gap:10px;display:flex}.legend dt{flex:none}.legend dd{margin:0}@media (width<=480px){table{font-size:14px}th,td{padding-right:10px}}.note{border-left:3px solid var(--c);margin:0 0 14px;padding:4px 0 4px 12px}.lede{font-size:1.05rem}
