
@font-face{font-family:"Schibsted Grotesk";src:url(assets/Schibsted.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(assets/GeistMono.ttf);font-weight:100 900;font-display:swap}
:root{--s0:#0b0c0e;--s1:#14161a;--s2:#1c1f24;--hair:#2a2e35;--ink:#f2efe8;--muted:#a8a49b;--faint:#8a867e;--brand:#f2b135;
--sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono","SF Mono",Menlo,monospace;color-scheme:dark}
[data-theme=light]{--s0:#f7f5f0;--s1:#ffffff;--s2:#ede9e1;--hair:#d9d4ca;--ink:#14130f;--muted:#5c5950;--faint:#6e6a60;color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme]){--s0:#f7f5f0;--s1:#ffffff;--s2:#ede9e1;--hair:#d9d4ca;--ink:#14130f;--muted:#5c5950;--faint:#6e6a60;color-scheme:light}}
*{box-sizing:border-box}
.fig-l{display:none}
[data-theme=light] .fig-d{display:none}[data-theme=light] .fig-l{display:block}
@media (prefers-color-scheme:light){:root:not([data-theme]) .fig-d{display:none}:root:not([data-theme]) .fig-l{display:block}}
.mark .ink{fill:var(--ink)}
.theme{width:56px;height:30px;border:1px solid var(--hair);border-radius:999px;background:var(--s1);position:relative;cursor:pointer;padding:0;margin-left:16px}
.theme svg{position:absolute;top:7px;width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:1.6}
.theme .sun{left:8px}.theme .moon{right:8px}
.theme:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);opacity:.14;transition:transform .15s}
[data-theme=light] .theme:after{transform:translateX(0)}
:root:not([data-theme=light]) .theme:after{transform:translateX(26px)}
.theme:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
html{background:var(--s0);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body{margin:0}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
.top{position:sticky;top:0;z-index:2;height:56px;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--s0);border-bottom:1px solid var(--hair)}
.top .name{font-weight:500;font-size:16px;text-decoration:none;display:flex;gap:10px;align-items:center}
.top .tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.top .sp{flex:1}.top .out{font-size:14px;color:var(--muted);text-decoration:none}
.wrap{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1440px;margin:0 auto}
nav{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow:auto;padding:28px 16px 28px 24px;border-right:1px solid var(--hair)}
nav .lab{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px 12px}
nav a{display:block;padding:7px 12px;font-size:14px;color:var(--muted);text-decoration:none;border-left:2px solid transparent}
nav a:hover{color:var(--ink)}
nav a.on{color:var(--ink);border-left-color:var(--brand);background:var(--s1)}
main{padding:48px 56px 96px;min-width:0}
article{max-width:1100px}
article>p:has(img){max-width:none}
article>p:not(:has(img)),article>ul,article>ol,article>h1,article>h2,article>h3,article>blockquote{max-width:720px}
h1{font-weight:500;font-size:44px;line-height:1.08;letter-spacing:-.025em;margin:0 0 28px}
h2{font-weight:500;font-size:26px;letter-spacing:-.015em;margin:56px 0 16px;padding-top:28px;border-top:1px solid var(--hair)}
h3{font-weight:500;font-size:19px;margin:36px 0 10px}
p,li{font-size:17px;line-height:1.65;color:var(--muted)}
p strong,li strong,td strong{color:var(--ink);font-weight:500}
em{font-style:normal;color:var(--faint)}
code{font-family:var(--mono);font-size:.86em;background:var(--s2);border:1px solid var(--hair);padding:1px 6px;border-radius:2px;color:var(--ink)}
pre{background:var(--s1);border:1px solid var(--hair);padding:16px 18px;border-radius:2px;overflow:auto;max-width:720px}
pre code{background:none;border:0;padding:0;font-size:14px;line-height:1.6}
del{color:var(--faint)}
img{display:block;width:100%;height:auto;border:1px solid var(--hair);border-radius:2px;margin:28px 0}
table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;display:block;overflow-x:auto}
th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:left;padding:10px 14px;border-bottom:1px solid var(--hair);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--hair);color:var(--muted);line-height:1.5;vertical-align:top}
td:first-child{color:var(--ink)}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:72px;padding-top:24px;border-top:1px solid var(--hair);max-width:1100px}
.pager a{display:block;padding:16px 20px;border:1px solid var(--hair);background:var(--s1);text-decoration:none;min-width:240px;border-radius:2px}
.pager a:hover{background:var(--s2)}
.pager .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pager .next{text-align:right;margin-left:auto}
footer{font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:48px}
@media (max-width:900px){.wrap{grid-template-columns:1fr}nav{position:sticky;top:56px;z-index:1;background:var(--s0);height:auto;display:flex;overflow-x:auto;gap:4px;border-right:0;border-bottom:1px solid var(--hair);padding:8px 12px}nav .lab{display:none}nav a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}nav a.on{border-bottom-color:var(--brand)}
main{padding:32px 16px 64px}h1{font-size:34px}.pager{flex-direction:column}.pager a{min-width:0}.top .tag{display:none}}
