@layer components{.not-found-page{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;margin-inline:auto;padding-top:88px}.not-found-page h1{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(44px,6vw,72px);font-weight:400;line-height:1}.not-found-page p{color:var(--ink-2);overflow-wrap:anywhere;max-width:46ch;margin-top:20px}.not-found-page .back{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--hair);color:var(--ink);cursor:pointer;height:34px;transition:background-color var(--transition-fast,0) var(--ease-out), border-color var(--transition-fast,0) var(--ease-out);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 14px;line-height:1;text-decoration:none;display:inline-flex}.not-found-page .back[data-hovered]{background:var(--seal);border-color:var(--ink);color:var(--seal-ink)}.not-found-page .back[data-focus-visible],.not-found-page .back:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.not-found-page .back{margin-top:28px}.masthead{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:24px;margin-inline:auto;padding-block:22px;display:flex}.masthead .name{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.masthead .name svg{width:14px;height:14px}.masthead .spacer{flex:1}.masthead .source[data-focus-visible],.masthead .source:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.masthead .source{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);text-underline-offset:.24em;text-decoration-thickness:1px}.masthead .source[data-hovered]{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.masthead .skip-link{background:var(--ink);color:var(--on-ink);left:var(--side);z-index:40;padding:10px 14px;text-decoration:none;position:fixed;top:0;transform:translateY(-120%)}.masthead .skip-link:focus-visible{transform:none}@media (width<=560px){.masthead{gap:6px 16px;padding-block:16px}.masthead .owner{display:none}}.privacy-colophon{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;margin-inline:auto}.privacy-colophon .colophon{column-gap:var(--gutter);border-top:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:40px;margin-top:140px;padding-top:24px;display:grid}.privacy-colophon h2{letter-spacing:-.02em;text-wrap:balance;grid-column:1/span 4;font-size:clamp(36px,4.4vw,56px);font-weight:400;line-height:1}.privacy-colophon .list{grid-column:span 4}.privacy-colophon h3{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);color:var(--ink-2);padding-bottom:12px}.privacy-colophon li{border-bottom:1px solid var(--hair);grid-template-columns:22px minmax(0,1fr);gap:12px;padding:12px 0 13px;display:grid}.privacy-colophon li svg{width:14px;height:14px;margin-top:5px}.privacy-colophon small{color:var(--ink-2);margin-top:2px;font-size:15px;line-height:1.45;display:block}.privacy-colophon .definition{color:var(--ink-2);grid-column:5/span 8;max-width:70ch}@media (width<=1100px){.privacy-colophon h2,.privacy-colophon .definition{grid-column:1/-1}.privacy-colophon .list{grid-column:span 6}}@media (width<=860px){.privacy-colophon .list{grid-column:1/-1}}@media (width<=560px){.privacy-colophon .colophon{margin-top:100px}}.site-footer{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-inline:auto;flex-wrap:wrap;gap:12px 32px;margin-top:120px;padding-block:18px 40px;display:flex;position:relative}.site-footer:before{border-top:1px solid var(--hair);content:"";inset:0 var(--side) auto;position:absolute}.site-footer .spacer{flex:1}@media (width<=560px){.site-footer{margin-top:88px}}.token-bar{background:var(--ground);border-block:1px solid var(--hair);z-index:30;position:sticky;top:0}.token-bar .bar-inner{max-width:var(--wrap-max-width);padding-inline:var(--side);align-items:center;gap:40px;width:100%;min-height:72px;margin-inline:auto;display:flex}.token-bar .group{align-items:center;gap:14px;display:flex}.token-bar .group-label{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.token-bar .tokens{gap:6px;display:flex}.token-bar .token{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--hair);color:var(--ink);cursor:pointer;height:34px;transition:background-color var(--transition-fast,0) var(--ease-out), border-color var(--transition-fast,0) var(--ease-out);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 14px;line-height:1;text-decoration:none;display:inline-flex}.token-bar .token[data-hovered]{background:var(--seal);border-color:var(--ink);color:var(--seal-ink)}.token-bar .token[data-focus-visible],.token-bar .token:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.token-bar .token[aria-current=page],.token-bar .token[data-selected]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}@media (width<=860px){.token-bar .bar-inner{flex-wrap:wrap;gap:10px 24px;padding-block:12px}}@media (width<=560px){.token-bar .bar-inner{gap:8px}.token-bar .group{gap:0;width:100%}.token-bar .group-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.token-bar .group.period,.token-bar .group.language{width:auto}.token-bar .group.period{flex:1}.token-bar .tokens{flex:1;gap:4px}.token-bar .token{letter-spacing:.1em;flex:auto;min-width:0;height:40px;padding:0 8px}.token-bar .group.language .tokens{flex:none}.token-bar .group.language .token{flex:0 0 44px;padding:0}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-shell #main{flex:1}.app-shell #main:focus{outline:none}.plate-frame{border:1px solid var(--hair);margin:88px 0 0;padding:32px 32px 20px;position:relative}.plate-frame .registration{color:var(--ink-3);pointer-events:none;width:26px;height:26px;position:absolute}.plate-frame .registration.top-left{top:-13px;left:-13px}.plate-frame .registration.top-right{top:-13px;right:-13px}.plate-frame .registration.bottom-left{bottom:-13px;left:-13px}.plate-frame .registration.bottom-right{bottom:-13px;right:-13px}.plate-frame .plate-stamp{height:var(--stamp);pointer-events:none;right:64px;top:calc(var(--stamp) / -2);width:var(--stamp);z-index:2;position:absolute}.plate-frame .plate-stamp .seal{fill:var(--seal)}.plate-frame .plate-stamp .rule{fill:none;stroke:var(--seal-ink);stroke-opacity:.35}.plate-frame .plate-stamp .ring{transform-origin:50%}@media (prefers-reduced-motion:no-preference){.plate-frame .plate-stamp .ring{animation:48s linear infinite stamp-turn}}.plate-frame .plate-stamp text{fill:var(--seal-ink);font-family:var(--font-mono);letter-spacing:1.1px;text-transform:uppercase;font-size:9.4px}.plate-frame .plate-stamp .mark{fill:none;stroke:var(--seal-ink);stroke-width:1.3px}.plate-frame .plate-caption{padding-right:calc(var(--stamp) + 40px);flex-wrap:wrap;align-items:baseline;gap:12px 32px;display:flex}.plate-frame .plate-caption h2{letter-spacing:-.01em;font-size:26px;font-weight:400;line-height:1.15}.plate-frame .legend{color:var(--ink-2);gap:22px;font-size:15px;display:flex}.plate-frame .legend span{align-items:center;gap:8px;display:inline-flex}.plate-frame .legend i{width:18px;height:2px;display:inline-block}.plate-frame .legend i.page-views{background:var(--page-views)}.plate-frame .legend i.visits{background:repeating-linear-gradient(to right, var(--visits) 0 6px, transparent 6px 11px)}@media (width<=560px){.plate-frame{margin-top:72px;padding:22px 16px 14px}.plate-frame .plate-stamp{right:14px}.plate-frame .plate-caption{padding-right:calc(var(--stamp) + 4px)}.plate-frame .plate-caption h2{font-size:22px}.plate-frame .legend{gap:16px}}.plate-head{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;padding-top:88px;display:grid}.plate-head h1{letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance;grid-column:1/span 8;font-size:clamp(56px,8.2vw,92px);font-weight:400;line-height:.94}.plate-head .lede{color:var(--ink-2);grid-column:9/span 4;max-width:38ch;padding-bottom:6px;font-size:17px}.plate-head .meta{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;grid-column:1/-1;gap:10px 28px;margin-top:28px;display:flex}@media (width<=1100px){.plate-head h1{grid-column:1/-1}.plate-head .lede{grid-column:1/span 8;max-width:56ch;margin-top:24px}}@media (width<=860px){.plate-head .lede{grid-column:1/-1}}@media (width<=560px){.plate-head{padding-top:56px}}.plate-notice{margin-top:28px;position:relative}.plate-notice .field{border-bottom:1px solid var(--ink-3);min-height:380px;padding:40px 0 56px;position:relative}.plate-notice .field:before{background-image:radial-gradient(var(--dot) 1px, transparent 1.4px);content:"";background-size:14px 14px;position:absolute;inset:0}.plate-notice .copy{background:var(--ground);max-width:620px;padding:28px 32px 30px 0;position:relative}.plate-notice h3{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(30px,3.4vw,44px);font-weight:400;line-height:1.05}.plate-notice p{color:var(--ink-2);max-width:46ch;margin-top:16px}@media (prefers-reduced-motion:no-preference){.plate-notice.is-pending .field:before{animation:2.4s ease-in-out infinite plate-breathe}}@media (width<=860px){.plate-notice .field{min-height:0;padding:24px 0 48px}.plate-notice .copy{padding:20px 16px 22px 0}}.site-stats-page{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;margin-inline:auto}@media (prefers-reduced-motion:no-preference){.site-stats-page .plate{animation:plate-rise var(--transition-base,0) var(--ease-out)}}.site-stats-page.is-loading .plate{opacity:.55;transition:opacity var(--transition-fast,0) var(--ease-out) .12s}.error-screen{max-width:var(--wrap-max-width);padding-inline:var(--side);width:100%;margin-inline:auto;padding-top:88px}.error-screen h1{letter-spacing:-.02em;font-size:clamp(44px,6vw,72px);font-weight:400;line-height:1}.error-screen p{color:var(--ink-2);max-width:46ch;margin-top:20px}.error-screen .reload{font:400 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--hair);color:var(--ink);cursor:pointer;height:34px;transition:background-color var(--transition-fast,0) var(--ease-out), border-color var(--transition-fast,0) var(--ease-out);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 14px;line-height:1;text-decoration:none;display:inline-flex}.error-screen .reload[data-hovered]{background:var(--seal);border-color:var(--ink);color:var(--seal-ink)}.error-screen .reload[data-focus-visible],.error-screen .reload:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.error-screen .reload{margin-top:28px}}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,svg,canvas,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}ul,ol{list-style:none}}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--transition-slow:0s}}@layer base{@font-face{font-display:swap;font-family:Familjen Grotesk;font-style:normal;font-weight:400;src:url(/fonts/familjen-grotesk-latin.woff2)format("woff2");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-display:swap;font-family:Familjen Grotesk;font-style:normal;font-weight:400;src:url(/fonts/familjen-grotesk-latin-ext.woff2)format("woff2");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-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/fonts/geist-mono-latin.woff2)format("woff2");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-display:swap;font-family:Geist Mono;font-style:normal;font-weight:400;src:url(/fonts/geist-mono-latin-ext.woff2)format("woff2");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}html{scrollbar-color:var(--hair) var(--ground);scrollbar-width:thin;overflow-x:clip}body{background:radial-gradient(110% 70% at 0% 0%, var(--edge-warm) 0%, transparent 60%), radial-gradient(110% 70% at 100% 100%, var(--edge-green) 0%, transparent 60%), var(--ground);color:var(--ink);font:400 17px/1.55 var(--font-sans);font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;background-attachment:fixed;min-height:100dvh;overflow-x:clip}@media (width<=560px){body{font-size:16px}}::selection{background:var(--seal);color:var(--seal-ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}a{color:inherit;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);text-underline-offset:.24em;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}strong,b{color:var(--ink);font-weight:400}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ground:var(--lightningcss-light,oklch(96.8% .003 308.4))var(--lightningcss-dark,oklch(19.5% .003 248));--edge-warm:var(--lightningcss-light,oklch(97.6% .004 34.3))var(--lightningcss-dark,oklch(21.2% .005 39.4));--edge-green:var(--lightningcss-light,oklch(95.9% .007 151.9))var(--lightningcss-dark,oklch(19.9% .009 169.3));--ink:var(--lightningcss-light,oklch(20.8% .005 248.1))var(--lightningcss-dark,oklch(93.7% .006 84.6));--ink-2:var(--lightningcss-light,oklch(43.4% .008 255.5))var(--lightningcss-dark,oklch(74.1% .007 88.7));--ink-3:var(--lightningcss-light,oklch(63.9% .005 258.3))var(--lightningcss-dark,oklch(53.8% .005 91.5));--on-ink:var(--lightningcss-light,oklch(96.8% .003 308.4))var(--lightningcss-dark,oklch(19.5% .003 248));--hair:var(--lightningcss-light,oklch(83% .005 78.3))var(--lightningcss-dark,oklch(34.8% .003 106.6));--dot:var(--lightningcss-light,oklch(20.8% .005 248.1/.17))var(--lightningcss-dark,oklch(93.7% .006 84.6/.13));--seal:var(--lightningcss-light,oklch(90.3% .03 283.7))var(--lightningcss-dark,oklch(31.3% .061 279.7));--seal-ink:var(--ink);--page-views:var(--lightningcss-light,oklch(50.8% .177 275.9))var(--lightningcss-dark,oklch(64.4% .153 279.1));--page-views-fill:var(--lightningcss-light,oklch(50.8% .177 275.9/.11))var(--lightningcss-dark,oklch(64.4% .153 279.1/.15));--visits:var(--lightningcss-light,oklch(59.7% .134 41.5))var(--lightningcss-dark,oklch(66.7% .123 44.6));--sequence-1:var(--lightningcss-light,oklch(39.1% .163 273.8))var(--lightningcss-dark,oklch(79.9% .088 282.1));--sequence-2:var(--lightningcss-light,oklch(59.3% .152 278.6))var(--lightningcss-dark,oklch(64.4% .153 279.1));--sequence-3:var(--lightningcss-light,oklch(79.6% .078 282))var(--lightningcss-dark,oklch(46.2% .147 277.1));--swatch-light-theme:oklch(96.8% .003 308.4);--swatch-dark-theme:oklch(20.8% .005 248.1);--font-sans:"Familjen Grotesk", "Helvetica Neue", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--transition-fast:.16s;--transition-base:.52s;--side:56px;--gutter:40px;--stamp:132px;--wrap-max-width:1440px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1100px){:root{--side:40px;--gutter:28px}}@media (width<=860px){:root{--side:24px;--gutter:20px;--stamp:104px}}@media (width<=560px){:root{--side:16px;--stamp:88px}}}@keyframes plate-rise{0%{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes stamp-turn{to{transform:rotate(360deg)}}@keyframes plate-breathe{50%{opacity:.45}}
