@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-latin-600-normal.C8RAYTDA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-600-normal.BfsvjouI.woff)format("woff")}:root{--paper:#f2f4f3;--surface:#fff;--ink:#10242b;--ink-2:#3a4e54;--muted:#56686d;--rule:#d3dbd9;--rule-strong:#10242b;--green:#2e9a62;--green-ink:#1a6b42;--green-tint:#e2f1e8;--mark:#fdeeb4;--red-ink:#a3382a;--code-bg:#e8ecea;--shadow:0 1px 0 #10242b0f, 0 8px 24px -12px #10242b2e;--font:"Schibsted Grotesk Variable", "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--max:1180px;--prose:690px;--radius:6px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0d181c;--surface:#132228;--ink:#e6eceb;--ink-2:#b9c6c6;--muted:#93a4a6;--rule:#26393f;--rule-strong:#e6eceb;--green:#3fb878;--green-ink:#74d3a0;--green-tint:#15362a;--mark:#4a4220;--red-ink:#f29581;--code-bg:#1a2c32;--shadow:0 1px 0 #0000004d, 0 8px 24px -12px #0009;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-feature-settings:"ss01", "tnum" 0;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.62}img,svg{max-width:100%;height:auto}a{color:var(--green-ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:2px}h1,h2,h3,h4{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:750;line-height:1.12}h1{letter-spacing:-.035em;font-size:clamp(2.15rem,5.2vw,3.6rem);font-weight:800}h2{font-size:clamp(1.5rem,3vw,2.05rem)}h3{letter-spacing:-.015em;font-size:1.2rem}p{text-wrap:pretty;margin:0 0 1em}.mono,code,kbd{font-family:var(--mono);font-size:.86em}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{max-width:var(--max);margin:0 auto;padding-inline:20px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{background:var(--ink);color:var(--paper);z-index:100;border-radius:var(--radius);padding:8px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-inner{align-items:center;gap:24px;min-height:64px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;align-items:center;gap:8px;font-size:1.28rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{width:34px;height:34px}.brand .dot{color:var(--green)}.main-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.main-nav a{color:var(--ink-2);border-radius:var(--radius);padding:8px 12px;font-weight:550;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink);background:var(--code-bg)}.nav-apps{position:relative}.nav-apps summary{cursor:pointer;color:var(--ink-2);border-radius:var(--radius);padding:8px 12px;font-weight:550;list-style:none}.nav-apps summary::-webkit-details-marker{display:none}.nav-apps summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:8px;display:inline-block;transform:translateY(-3px)rotate(45deg)}.nav-apps[open] summary,.nav-apps summary:hover{background:var(--code-bg);color:var(--ink)}.nav-apps .menu{background:var(--surface);border:1px solid var(--rule);width:340px;box-shadow:var(--shadow);border-radius:10px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.nav-apps .menu a{color:var(--ink);border-radius:var(--radius);grid-template-columns:36px 1fr;gap:2px 12px;padding:10px;display:grid}.nav-apps .menu a:hover{background:var(--paper)}.nav-apps .menu img{border-radius:9px;grid-row:span 2;width:36px;height:36px}.nav-apps .menu strong{font-weight:700}.nav-apps .menu span{color:var(--muted);font-size:.86rem;line-height:1.35}.nav-apps .menu .soon{color:var(--muted);border-top:1px solid var(--rule);margin-top:4px;padding:10px;font-size:.85rem;display:block}.mobile-nav{margin-left:auto;display:none}.mobile-nav summary{cursor:pointer;border:1px solid var(--rule);border-radius:var(--radius);padding:8px 12px;font-weight:600;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav .menu{background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 20px 20px;display:grid;position:absolute;top:64px;left:0;right:0}.mobile-nav .menu a{border-bottom:1px solid var(--rule);color:var(--ink);padding:12px 0;font-weight:600;text-decoration:none}.mobile-nav .menu .sub{color:var(--muted);padding-left:14px;font-weight:500}@media (width<=820px){.main-nav{display:none}.mobile-nav{display:block}}.btn{font:inherit;border-radius:var(--radius);border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.98rem;font-weight:650;line-height:1.2;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--surface)}.btn.small{padding:8px 12px;font-size:.9rem}.btn .arrow{transition:transform .12s}.btn:hover .arrow{transform:translate(2px)}.link-arrow{font-weight:650;text-decoration:none}.link-arrow:after{content:" →"}.link-arrow:hover{text-decoration:underline}.section{border-top:1px solid var(--rule);padding-block:72px}.section-head{grid-template-columns:72px 1fr;align-items:baseline;gap:0 20px;margin-bottom:36px;display:grid}.section-head .n{font-family:var(--mono);color:var(--muted);border-top:2px solid var(--ink);width:max-content;padding-top:6px;font-size:.85rem}.section-head p{color:var(--ink-2);grid-column:2;max-width:62ch;margin:12px 0 0;font-size:1.06rem}@media (width<=640px){.section{padding-block:52px}.section-head{grid-template-columns:1fr}.section-head .n{margin-bottom:10px}.section-head p{grid-column:1}}.ledger{border-top:1.5px solid var(--rule-strong);margin:0;padding:0;list-style:none}.ledger>li{border-bottom:1px solid var(--rule)}.ledger a.row,.ledger .row{color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:18px 4px;text-decoration:none;display:grid}.ledger a.row:hover{background:var(--surface)}.ledger a.row:hover .t{text-underline-offset:3px;text-decoration:underline}.ledger .t{letter-spacing:-.01em;font-size:1.08rem;font-weight:700}.ledger .d{color:var(--ink-2);grid-column:1;font-size:.95rem}.ledger .m{font-family:var(--mono);color:var(--muted);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:.8rem}@media (width<=640px){.ledger a.row,.ledger .row{grid-template-columns:1fr}.ledger .m{grid-area:auto/1}}.tag{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink-2);background:var(--surface);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.74rem;display:inline-block}.tag.green{background:var(--green-tint);color:var(--green-ink);border-color:#0000}.receipt{font-family:var(--mono);background:var(--surface);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;border-radius:4px;padding:22px 22px 26px;font-size:.86rem;line-height:1.5;position:relative}.receipt:after{content:"";background:linear-gradient(-45deg, transparent 6px, var(--surface) 0) 0 0 / 12px 10px repeat-x, linear-gradient(45deg, transparent 6px, var(--surface) 0) 0 0 / 12px 10px repeat-x;height:10px;position:absolute;bottom:-9px;left:-1px;right:-1px}.receipt .head{text-align:center;border-bottom:1px dashed var(--rule);margin-bottom:12px;padding-bottom:12px}.receipt .head strong{font-size:.95rem;display:block}.receipt .line{justify-content:space-between;gap:16px;padding:3px 0;display:flex}.receipt .line .l{color:var(--ink-2)}.receipt .line.neg .r{color:var(--red-ink)}.receipt .line.total{border-top:1px dashed var(--rule);margin-top:8px;padding-top:10px;font-weight:600}.receipt .line.total .r{background:var(--mark);padding:0 4px}.receipt .rnote{color:var(--muted);padding:2px 0 2px 14px;font-size:.78rem;position:relative}.receipt .rnote:before{content:"↳";position:absolute;left:0}.receipt .rnote b{color:var(--green-ink);font-weight:600}.site-footer{border-top:1.5px solid var(--rule-strong);color:var(--ink-2);margin-top:96px;padding-block:48px 40px;font-size:.93rem}.footer-grid{grid-template-columns:1.4fr repeat(4,1fr);gap:32px;display:grid}.footer-grid h2{font-size:.82rem;font-family:var(--mono);letter-spacing:0;color:var(--muted);margin-bottom:12px;font-weight:600}.footer-grid ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer-grid a{color:var(--ink-2);text-decoration:none}.footer-grid a:hover{color:var(--ink);text-decoration:underline}.footer-about p{max-width:34ch}.footer-base{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:20px;font-size:.85rem;display:flex}.footer-base a{color:var(--muted)}@media (width<=900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}.page-head{padding-block:56px 40px}.page-head h1{max-width:22ch}.page-head .lead{color:var(--ink-2);max-width:60ch;margin-top:18px;font-size:1.18rem}.crumbs{color:var(--muted);margin-bottom:20px;font-size:.86rem}.crumbs ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--rule);margin-right:6px}.crumbs a{color:var(--muted)}.article-grid{grid-template-columns:220px minmax(0, var(--prose)) 260px;justify-content:space-between;align-items:start;gap:48px;display:grid}.article-grid>aside{position:sticky;top:96px}@media (width<=1180px){.article-grid{grid-template-columns:minmax(0, var(--prose)) 260px}.article-grid>.toc-col{display:none}}@media (width<=900px){.article-grid{grid-template-columns:minmax(0,1fr)}.article-grid>aside{position:static}}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:22px;font-size:.88rem;display:flex}.article-meta a{color:var(--ink-2)}.toc{font-size:.88rem}.toc h2{font-family:var(--mono);letter-spacing:0;color:var(--muted);margin-bottom:10px;font-size:.78rem;font-weight:600}.toc ol{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.toc a{color:var(--ink-2);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--ink);border-left-color:var(--ink)}.toc-inline{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);margin-bottom:28px;padding:4px 16px;display:none}.toc-inline summary{cursor:pointer;padding:10px 0;font-weight:650}.toc-inline ol{margin:0 0 12px;padding-left:20px}.toc-inline li{padding:3px 0}@media (width<=1180px){.toc-inline{display:block}}.prose{font-size:1.06rem;line-height:1.7}.prose>*+*{margin-top:0}.prose h2{margin:2.2em 0 .6em;padding-top:.2em;font-size:clamp(1.45rem,2.6vw,1.75rem)}.prose h3{margin:1.8em 0 .5em;font-size:1.2rem}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.3em}.prose li{margin:.3em 0}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:3px solid var(--green);color:var(--ink-2);margin:1.4em 0;padding:2px 0 2px 20px}.prose code{background:var(--code-bg);border-radius:4px;padding:1px 6px}.prose strong{font-weight:700}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.prose .table-wrap,.table-wrap{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);margin:1.4em 0 1.6em;overflow-x:auto}.prose table,.table-wrap table{border-collapse:collapse;width:100%;font-size:.93rem;line-height:1.45}.prose th,.prose td,.table-wrap th,.table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 14px}.prose th,.table-wrap th{background:var(--paper);white-space:nowrap;font-weight:700}.prose tr:last-child td,.table-wrap tr:last-child td{border-bottom:0}.prose td.num,.table-wrap td.num{white-space:nowrap}.prose>table{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);margin:1.4em 0 1.6em;display:block;overflow-x:auto}.short-answer{border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--surface);margin:0 0 2em;padding:18px 22px 6px;position:relative}.short-answer .label{background:var(--surface);font-family:var(--mono);color:var(--green-ink);padding:0 8px;font-size:.78rem;font-weight:600;position:absolute;top:-11px;left:16px}.note{border-left:3px solid var(--rule-strong);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;margin:1.6em 0;padding:14px 18px 2px;font-size:.98rem}.note.warn{border-left-color:#c58a12}.note.tip{border-left-color:var(--green)}.note>.label{margin-bottom:4px;font-weight:700;display:block}.figure{margin:1.8em 0}.figure .frame{border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.figure.narrow .frame{max-width:560px}.figure img{width:100%;height:auto;display:block}.figure figcaption{color:var(--muted);margin-top:10px;font-size:.86rem;line-height:1.45}.steps>ol{counter-reset:step;list-style:none;padding:0!important}.steps>ol>li{counter-increment:step;position:relative;margin:0 0 14px!important;padding-left:44px!important}.steps>ol>li:before{content:counter(step);border:1.5px solid var(--ink);width:28px;height:28px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:.8rem;font-weight:600;display:grid;position:absolute;top:1px;left:0}.faq{border-top:1.5px solid var(--rule-strong);margin-top:1em}.faq details{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;padding:16px 32px 16px 0;font-weight:650;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);color:var(--muted);font-size:1.2rem;position:absolute;top:12px;right:4px}.faq details[open] summary:after{content:"−"}.faq .a{color:var(--ink-2);padding:0 0 12px}.app-aside{border:1px solid var(--rule);background:var(--surface);border-radius:10px;padding:18px}.app-aside+.app-aside{margin-top:16px}.app-aside .top{align-items:center;gap:12px;margin-bottom:10px;display:flex}.app-aside img{border-radius:11px;width:44px;height:44px}.app-aside .name{font-size:1.05rem;font-weight:750}.app-aside .by{color:var(--muted);font-size:.8rem}.app-aside p{color:var(--ink-2);margin-bottom:14px;font-size:.92rem}.app-aside .btn{width:100%}.app-aside .facts{color:var(--muted);gap:4px;margin:12px 0 0;padding:0;font-size:.82rem;list-style:none;display:grid}.app-aside .facts li:before{content:"✓ ";color:var(--green-ink)}.aside-label{font-family:var(--mono);color:var(--muted);margin:0 0 10px;font-size:.78rem}.app-cta{border:1.5px solid var(--ink);background:var(--surface);border-radius:10px;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;margin:2em 0;padding:18px 20px;display:grid}.app-cta img{border-radius:12px;width:52px;height:52px}.app-cta p{color:var(--ink-2);margin:0;font-size:.97rem}.app-cta strong{color:var(--ink)}@media (width<=640px){.app-cta{grid-template-columns:44px 1fr}.app-cta img{width:44px;height:44px}.app-cta .btn{grid-column:1/-1}}.related{margin-top:64px}.related h2{margin-bottom:16px;font-size:1.3rem}.disclosure{color:var(--ink-2);border:1px dashed var(--rule);border-radius:var(--radius);margin-bottom:2em;padding:12px 16px;font-size:.9rem}.cmp td .y,.cmp td .n,.cmp td .p{font-family:var(--mono);font-size:.85rem;font-weight:600}.cmp td .y{color:var(--green-ink)}.cmp td .n{color:var(--red-ink)}.cmp td .p{color:#a26b00}@media (prefers-color-scheme:dark){.cmp td .p{color:#e6b450}}.tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;margin:8px 0 24px;display:grid}@media (width<=860px){.tool{grid-template-columns:minmax(0,1fr)}}.tool form,.tool .inputs{gap:14px;display:grid}.field{gap:6px;display:grid}.field label,.field .lbl{font-size:.94rem;font-weight:650}.field .hint{color:var(--muted);font-size:.82rem;line-height:1.4}.field .in{border:1.5px solid var(--rule);border-radius:var(--radius);background:var(--surface);align-items:stretch;display:flex;overflow:hidden}.field .in:focus-within{border-color:var(--ink)}.field .in span{font-family:var(--mono);color:var(--muted);background:var(--paper);place-items:center;padding:0 10px;font-size:.85rem;display:grid}.field input,.field select{font:inherit;font-family:var(--mono);width:100%;min-width:0;color:var(--ink);background:0 0;border:0;padding:10px 12px;font-size:.95rem}.field input:focus,.field select:focus{outline:none}.field select{font-family:var(--font);border:1.5px solid var(--rule);border-radius:var(--radius);background:var(--surface)}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=480px){.field-row{grid-template-columns:1fr}}fieldset{border:1px solid var(--rule);border-radius:var(--radius);gap:14px;margin:0;padding:14px 16px 16px;display:grid}legend{padding:0 6px;font-weight:700}.tool-output{position:sticky;top:96px}.big-number{font-family:var(--mono);letter-spacing:-.03em;font-size:clamp(2rem,5vw,2.8rem);font-weight:600;line-height:1.1}.verdict{border-radius:var(--radius);background:var(--green-tint);color:var(--ink);margin-top:18px;padding:14px 16px;font-size:.95rem}.verdict.bad{background:color-mix(in srgb, var(--red-ink) 14%, var(--surface))}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:.9rem}.chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.copy-box{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);padding:16px 18px;position:relative}.copy-box+.copy-box{margin-top:14px}.copy-box ol,.copy-box ul{margin:8px 0 0;padding-left:1.2em}.muted{color:var(--muted)}.center{text-align:center}.stack>*+*{margin-top:16px}.cols-2{grid-template-columns:1fr 1fr;gap:48px;display:grid}@media (width<=820px){.cols-2{grid-template-columns:1fr;gap:32px}}
