@charset "UTF-8";:root{--font-display: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-primary: var(--font-display);--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-body: var(--font-serif);--font-code: "JetBrains Mono", monospace;--font-icons: "BlogIcons", sans-serif;--color-frame: #e4e3df;--color-primary: #171716;--color-primary-light: #171716;--color-primary-container: #262624;--color-on-primary-container: #f6f5f2;--color-primary-fixed: #e9e8e4;--color-accent-pink: #ff5c8a;--color-accent-soft: #edece8;--color-accent-text: #171716;--color-bg-main: #f6f5f2;--color-bg-card: #fbfaf8;--color-bg-article: #fbfaf8;--color-text-main: #171716;--color-text-muted: #6e6c67;--color-text-soft: #9a9892;--color-border: #e0ded9;--color-border-strong: #c8c5be;--color-secondary: #55534f;--color-tertiary: #3d4a45;--color-tertiary-container: #9fd8c9;--step--1: clamp(.75rem, .73rem + .1vw, .8125rem);--step-0: clamp(.9375rem, .9rem + .18vw, 1.0625rem);--step-1: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-2: clamp(1.1875rem, 1.1rem + .35vw, 1.375rem);--step-3: clamp(1.375rem, 1.28rem + .45vw, 1.625rem);--step-4: clamp(1.625rem, 1.5rem + .55vw, 2rem);--lh-heading: 1.2;--lh-body: 1.75;--lh-prose: 1.8;--lh-code: 1.4;--callout-info-bg: #efeeea;--callout-info-border: #9a9892;--callout-important-bg: #ecebe6;--callout-important-border: #171716;--radius-sheet: 1.75rem;--radius-card: .875rem;--radius-pill: 9999px;--shadow-sm: none;--shadow-hover: none;--shadow-pop: none;--section-gap: 4.5rem;--content-max-width: 45rem;--reading-column-max: var(--content-max-width);--transition: background-color .15s ease, color .15s ease, border-color .15s ease;--focus-ring: 0 0 0 2px var(--color-bg-main), 0 0 0 3.5px var(--color-text-main);--background: var(--color-bg-main);--surface: var(--color-bg-main);--surface-base: var(--color-bg-card);--surface-muted: var(--color-bg-main);--surface-variant: #e4e3de;--surface-container-low: #efeeea;--surface-container-high: #e8e7e2;--surface-tint: var(--color-primary);--on-surface: var(--color-text-main);--on-surface-variant: #4a4945;--outline: #8a8882;--outline-variant: var(--color-border-strong);--primary: var(--color-primary);--primary-container: var(--color-primary-container);--primary-fixed: var(--color-primary-fixed);--primary-fixed-dim: var(--color-primary-light);--on-primary: #f6f5f2;--on-primary-fixed: #171716;--secondary: var(--color-secondary);--secondary-fixed: #e0e3e8;--secondary-fixed-dim: #c3c7cc;--secondary-container: #dde0e5;--on-secondary-fixed: #181c20;--on-secondary-fixed-variant: #43474c;--tertiary: var(--color-tertiary);--tertiary-container: var(--color-tertiary-container);--tertiary-fixed: #9fd8c9;--indigo-glow: transparent;--code-bg: #1b1b1a;--error: #ba1a1a;--font-ui: var(--font-primary);--font-mono: var(--font-code);--container-max: 75rem;--reading-width: var(--content-max-width);--gutter: 24px;--margin-mobile: 16px;--radius: .5rem;--container-reading: 46rem;--radius-xl: var(--radius-card);--nav-height: 4.5rem;--ease: cubic-bezier(.4, 0, .2, 1);--ink: var(--on-surface);--paper: var(--surface-base);--muted: var(--color-text-muted);--line: var(--outline-variant);--accent: var(--color-primary-container);--ease-out: var(--ease);--newsletter-input-bg: #fbfaf8;--newsletter-input-text: #171716;--newsletter-input-border: #d3d0ca;--newsletter-btn-bg: #171716;--newsletter-btn-text: #f6f5f2;--newsletter-btn-shadow: transparent;color-scheme:light}[data-theme=dark]{color-scheme:dark;--color-frame: #0c0c0b;--color-primary: #ecebe7;--color-primary-light: #ecebe7;--color-primary-container: #e4e3df;--color-on-primary-container: #161615;--color-primary-fixed: #2a2a27;--color-accent-soft: #232321;--color-accent-text: #ecebe7;--color-bg-main: #161615;--color-bg-card: #1c1c1a;--color-bg-article: #1c1c1a;--color-text-main: #ecebe7;--color-text-muted: #9c9a94;--color-text-soft: #6f6d68;--color-border: #2b2a27;--color-border-strong: #3d3c38;--color-secondary: #b5b3ad;--color-tertiary: #9fd8c9;--color-tertiary-container: #23332e;--callout-info-bg: #1f1f1d;--callout-info-border: #6f6d68;--callout-important-bg: #232321;--callout-important-border: #ecebe7;--shadow-sm: none;--shadow-hover: none;--shadow-pop: none;--surface-variant: #232321;--surface-container-low: #1c1c1a;--surface-container-high: #262624;--on-surface-variant: #c2c0ba;--outline: #6f6d68;--outline-variant: #3d3c38;--on-primary: #161615;--on-primary-fixed: #ecebe7;--secondary-fixed: #232321;--secondary-fixed-dim: #3d3c38;--secondary-container: #232321;--on-secondary-fixed: #ecebe7;--on-secondary-fixed-variant: #c2c0ba;--indigo-glow: transparent;--code-bg: #0f0f0e;--newsletter-input-bg: #1c1c1a;--newsletter-input-text: #ecebe7;--newsletter-input-border: #3d3c38;--newsletter-btn-bg: #ecebe7;--newsletter-btn-text: #161615}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%}body{font-family:var(--font-primary);font-size:var(--step-0);line-height:var(--lh-body);font-weight:400;color:var(--color-text-main);background-color:var(--color-frame);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::selection{background:var(--color-text-main);color:var(--color-bg-main)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;font-size:1.125rem;line-height:1}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-heading);letter-spacing:-.025em;color:var(--color-text-main);margin-top:2em;margin-bottom:.5em}h1{font-size:var(--step-4);font-weight:600}h2{font-size:var(--step-3);font-weight:600}h3{font-size:var(--step-2);font-weight:600}h4{font-size:var(--step-1);font-weight:600}strong,b{font-weight:600}.display-lg{font-family:var(--font-display);font-size:var(--step-4);font-weight:600;line-height:var(--lh-heading);letter-spacing:-.015em;margin-top:0}.headline-lg{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;line-height:var(--lh-heading);letter-spacing:-.01em;margin-top:0}.headline-md,.headline-sm{font-family:var(--font-display);font-size:var(--step-2);font-weight:600;line-height:1.3;margin-top:0}.label-md{font-family:var(--font-code);font-size:var(--step--1);font-weight:400;line-height:1.4;letter-spacing:0}.body-lg{font-family:var(--font-serif);font-size:clamp(1rem,.95rem + .22vw,1.125rem);font-weight:400;line-height:var(--lh-prose)}.body-md{font-family:var(--font-serif);font-size:var(--step-0);font-weight:400;line-height:var(--lh-prose)}.gradient-text{color:inherit}:not(pre)>code{font-family:var(--font-code);font-size:.88em;padding:.2em .4em;border-radius:6px;background-color:var(--surface-container-high);color:var(--color-secondary);border:1px solid var(--color-border)}pre{font-family:var(--font-code);font-size:var(--step--1);line-height:var(--lh-code);padding:1.25rem;border-radius:12px;background-color:var(--code-bg);color:#f1f5f9;overflow-x:auto;margin:1.5rem 0;font-variant-ligatures:contextual}pre code{font-family:inherit;font-size:inherit;background:none;padding:0;color:inherit}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.5rem 1.15rem;border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-primary);font-size:.875rem;font-weight:500;letter-spacing:0;line-height:1;text-decoration:none;cursor:pointer;transition:var(--transition)}.btn-primary .material-symbols-outlined,.btn-ghost .material-symbols-outlined{font-size:1rem}.btn-primary{background:var(--color-text-main);color:var(--color-bg-main)}.btn-primary:hover{background:color-mix(in srgb,var(--color-text-main) 82%,var(--color-bg-main))}.btn-primary--yellow{background:var(--color-text-main);color:var(--color-bg-main)}.btn-ghost{background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-main)}.btn-ghost:hover{border-color:var(--color-border-strong);background:var(--color-bg-main)}.tag,.chip{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:.3rem;background:var(--surface-container-high);color:var(--color-text-muted);font-family:var(--font-primary);font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}.chip-primary,.chip-secondary,.chip-backend{background:var(--surface-container-high);color:var(--color-text-muted)}.frame{--frame-color: var(--color-border-strong);--frame-size: .875rem;position:relative;background:linear-gradient(var(--frame-color),var(--frame-color)) top left/var(--frame-size) 1px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) top left/1px var(--frame-size) no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) top right/var(--frame-size) 1px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) top right/1px var(--frame-size) no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) bottom left/var(--frame-size) 1px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) bottom left/1px var(--frame-size) no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) bottom right/var(--frame-size) 1px no-repeat,linear-gradient(var(--frame-color),var(--frame-color)) bottom right/1px var(--frame-size) no-repeat}.split-title{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;line-height:1.12;color:var(--color-text-main);text-wrap:balance}.split-title__soft{color:var(--color-text-soft)}.floating-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:var(--transition)}.floating-card.is-muted{background:var(--surface-container-low)}.floating-card:hover{border-color:var(--color-border-strong)}.card-hover-glow{display:none}.hljs-comment,.hljs-quote{color:#7f775f;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:var(--color-accent-pink)}.hljs-number,.hljs-string,.hljs-meta .hljs-meta-string,.hljs-literal,.hljs-doctag,.hljs-regexp{color:#9fd8c9}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-function{color:#f1dfa6}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-class .hljs-title,.hljs-type{color:#d9c58a}.hljs-built_in,.hljs-builtin-name,.hljs-meta{color:#70f6ff}.hljs-deletion{color:#ff8a80}.prose{overflow-wrap:break-word;word-wrap:break-word;font-family:var(--font-serif);line-height:var(--lh-prose)}.prose :is(p,ul,ol,blockquote){margin:0 0 1.5rem}.prose :is(ul,ol){padding-left:1.35rem}.prose li{margin-bottom:.35rem}.prose strong,.prose b{font-weight:600}.prose em,.prose i:not(.icon){font-style:italic}.prose i.icon{font-style:normal;display:inline-block;vertical-align:middle}.prose mark,.prose .prose-highlight{background:var(--surface-container-high);color:inherit;font-weight:inherit;padding:.08em .2em;border-radius:2px}.prose a{color:var(--color-text-main);font-weight:inherit;text-decoration:underline;text-decoration-color:var(--color-border-strong);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color .15s ease}.prose a:hover,.prose a:focus-visible{text-decoration-color:currentColor}.prose h2{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;line-height:var(--lh-heading);letter-spacing:-.025em;margin:3.25rem 0 1.25rem;color:var(--color-text-main)}.prose h3{font-family:var(--font-display);font-size:var(--step-2);font-weight:600;line-height:1.3;margin:2.25rem 0 1rem;color:var(--color-text-main)}.prose h4{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;line-height:1.35;margin:1.75rem 0 .75rem;color:var(--color-text-muted)}.prose blockquote{padding:.25rem 0 .25rem 1.25rem;border-left:1px solid var(--color-text-main);color:var(--on-surface-variant);font-style:italic}.prose .prose-callout{margin:2rem 0;padding:1.25rem 1.5rem;border-radius:var(--radius);border-left:2px solid var(--callout-info-border);background:var(--callout-info-bg)}.prose .prose-callout--important{border-left-color:var(--callout-important-border);background:var(--callout-important-bg)}.prose .prose-callout__body>:first-child{margin-top:0}.prose .prose-callout__body>:last-child{margin-bottom:0}.prose .prose-callout__title{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;margin:0 0 .5rem;color:var(--color-text-main)}.prose .prose-callout--info .prose-callout__title,.prose .prose-callout--important .prose-callout__title{color:var(--color-text-main)}.prose :not(pre) code{font-family:var(--font-code);font-size:.9em;padding:.12em .4em;border-radius:.3rem;background:var(--surface-container-high);color:var(--color-secondary);font-weight:500;border:1px solid var(--color-border)}.prose pre{margin:1.75rem 0;padding:1.1rem 1.2rem;border-radius:var(--radius-card);background:var(--code-bg);color:#e6edf5;overflow-x:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-code);font-size:.88rem;line-height:var(--lh-body);border:1px solid color-mix(in srgb,#fff 8%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 6%,transparent)}.prose pre code{display:block;font-family:inherit;font-size:inherit;line-height:inherit;background:transparent;padding:0;color:inherit;white-space:pre;tab-size:2}.prose pre .hljs-comment,.prose pre .hljs-quote{color:#7f775f;font-style:italic}.prose pre .hljs-keyword,.prose pre .hljs-selector-tag,.prose pre .hljs-addition{color:var(--color-accent-pink)}.prose pre .hljs-number,.prose pre .hljs-string,.prose pre .hljs-meta .hljs-meta-string,.prose pre .hljs-literal,.prose pre .hljs-doctag,.prose pre .hljs-regexp{color:#9fd8c9}.prose pre .hljs-title,.prose pre .hljs-section,.prose pre .hljs-name,.prose pre .hljs-selector-id,.prose pre .hljs-selector-class,.prose pre .hljs-function{color:#f1dfa6}.prose pre .hljs-attribute,.prose pre .hljs-attr,.prose pre .hljs-variable,.prose pre .hljs-template-variable,.prose pre .hljs-class .hljs-title,.prose pre .hljs-type{color:#d9c58a}.prose pre .hljs-built_in,.prose pre .hljs-builtin-name,.prose pre .hljs-meta{color:#70f6ff}.prose pre .hljs-deletion{color:#ff8a80}.prose pre .hljs-punctuation,.prose pre .hljs-operator{color:#c3c7cc}.prose img,.prose .rte-image{display:block;max-width:100%;width:auto;height:auto;margin:1.75rem auto;border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:var(--color-bg-card);object-fit:contain}.prose video,.prose .rte-video{display:block;max-width:100%;width:100%;height:auto;margin:1.75rem auto;border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:var(--color-bg-card)}.prose iframe,.prose .rte-embed{display:block;width:100%;min-height:360px;margin:1.75rem 0;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.prose .tableWrapper{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.25rem 0}.prose table,.prose .rte-table{width:100%;max-width:100%;margin:1.25rem 0;border-collapse:collapse;table-layout:auto;font-size:.9375em;line-height:1.5;background:transparent;border:0}.prose .tableWrapper table{margin:0}.prose th,.prose td{padding:.4rem .55rem;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere;border:0;border-bottom:1px solid color-mix(in srgb,var(--outline-variant) 55%,transparent)}.prose th{font-family:var(--font-display);font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);background:transparent;border-bottom:1px solid var(--outline-variant)}.prose tbody tr:last-child td{border-bottom:0}@media(max-width:640px){.prose .tableWrapper{margin-inline:-.25rem;padding-inline:.25rem}.prose th,.prose td{min-width:5.5rem;padding:.35rem .45rem}}.legal{display:block;width:min(100% - var(--margin-mobile) * 2,42rem);margin-inline:auto;padding-block:2rem var(--section-gap)}@media(min-width:768px){.legal{width:min(100% - var(--gutter) * 2,42rem)}}.legal__header{margin-bottom:2.5rem}.legal__title{margin:0 0 .75rem;color:var(--color-text-main)}.legal__updated{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.legal__body{color:var(--color-text-main);line-height:var(--lh-body)}.legal__body h2{margin:2.25rem 0 .75rem;font-family:var(--font-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--color-primary)}.legal__body h2:first-child{margin-top:0}.legal__body p,.legal__body ul{margin:0 0 1rem}.legal__body ul{padding-left:1.35rem}.legal__body li{margin-bottom:.4rem}.legal__body a{color:var(--color-primary);text-decoration:underline;text-underline-offset:.15em}.legal__body a:hover,.legal__body a:focus-visible{color:var(--color-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bento-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:var(--transition)}.bento-card:hover{border-color:var(--color-border-strong)}.card-outline{border:1px solid var(--color-border)}.card-top-border,.shadow-pop{border-top-width:1px}.inline-link{color:inherit;text-decoration:none}.inline-link:hover,.inline-link:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.inline-link-accent{color:var(--color-text-main);font-weight:inherit;text-decoration:underline;text-decoration-color:var(--color-border-strong);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color .15s ease}.inline-link-accent:hover{text-decoration-color:currentColor}.label-caps{font-family:var(--font-primary);font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.2}@font-face{font-family:BlogIcons;src:url(/fonts/blog-icons/BlogIcons.woff2) format("woff2"),url(/fonts/blog-icons/BlogIcons.woff) format("woff"),url(/fonts/blog-icons/BlogIcons.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}.icon{font-family:var(--font-icons);font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-badge-svgrepo-com:before{content:"\ea01"}.icon-broadcast-svgrepo-com:before{content:"\ea02"}.icon-coffee-svgrepo-com:before{content:"\ea03"}.icon-collect-svgrepo-com:before{content:"\ea04"}.icon-gift-svgrepo-com:before{content:"\ea05"}.icon-monitor-svgrepo-com:before{content:"\ea06"}.icon-savings-svgrepo-com:before{content:"\ea07"}.icon-sim-card-svgrepo-com:before{content:"\ea08"}.blog-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;font-size:var(--blog-icon-size, 1.25rem);color:inherit}.blog-icon--sm{--blog-icon-size: 1rem}.blog-icon--md{--blog-icon-size: 1.25rem}.blog-icon--lg{--blog-icon-size: 1.5rem}.drop--pending{opacity:0}.drop--landed{animation:drop-in .85s linear var(--drop-delay, 0ms) backwards}@keyframes drop-in{0%{opacity:0;transform:translateY(1.5rem);animation-timing-function:cubic-bezier(.22,1,.36,1)}72%{opacity:1;transform:translateY(0);animation-timing-function:ease-out}86%{transform:translateY(-2px);animation-timing-function:ease-in-out}to{opacity:1;transform:translateY(0)}}
