@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--p:1}}}@layer figure-kit;@layer theme{:root,:host{--font-sans:"Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, "SFMono-Regular", Consolas, monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:var(--bg);--color-surface:var(--bg2);--color-raised:var(--bg3);--color-line:var(--rule2);--color-line-strong:var(--ink)}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-line-strong:color-mix(in srgb, var(--ink) 36%, transparent)}}:root,:host{--color-ink:var(--ink);--color-muted:var(--ink2);--color-dim:var(--dim);--color-accent:var(--lime);--color-lavender:var(--lav);--color-green:var(--lime);--color-yellow:var(--amber);--color-pink:var(--rose);--color-orange:var(--amber);--font-display:"Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html{font-synthesis:none;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}body{min-height:100vh;font:400 17px/1.6 var(--sans);font-optical-sizing:auto;background:var(--bg);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;overflow-x:clip}:root[data-theme=light] body{background:var(--bg) radial-gradient(1200px 800px at 80% -10%,#fffcf0e6,transparent 70%) no-repeat}main{flex:1;position:relative;overflow-x:clip}main:focus{outline:none}::selection{background:rgba(var(--lime-rgb),.35);color:var(--ink)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px}:root[data-theme=light] :focus-visible{outline-color:var(--lav)}a{color:inherit;text-decoration:none}}@layer components{.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.only-light,:root[data-theme=light] .only-dark{display:none!important}:root[data-theme=light] .only-light{display:block!important}.wrap{width:min(var(--cw),100% - var(--pad) * 2);margin-inline:auto}.kick{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0}.lede{font:400 var(--t-lead)/1.5 var(--sans);letter-spacing:-.01em;color:var(--ink2);text-wrap:pretty;max-width:34em;margin:0}.meta{font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--dim)}.more{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--rule2);transition:color .25s,border-color .25s,gap .25s var(--ease);align-items:center;gap:10px;padding:10px 0;display:inline-flex}.more:after{content:"→";font-family:var(--sans);letter-spacing:0;transition:transform .25s var(--ease)}.more:hover{color:var(--lime);border-color:currentColor}.more:hover:after{transform:translate(4px)}:root[data-theme=light] .more:hover{color:var(--lav)}.ln-sec{position:relative}.ln-svg{pointer-events:none;z-index:3;position:absolute;top:0;left:0;overflow:visible}.ln-core,.ln-glow{fill:none;stroke-linecap:round;stroke-linejoin:round}.ln-core{stroke-width:1.75px}.ln-glow{stroke-width:10px;opacity:.13}:root[data-theme=light] .ln-core{stroke-width:1.9px}:root[data-theme=light] .ln-glow{stroke-width:3.4px;opacity:.1}.ln-node{fill:var(--bg);stroke:var(--rule2);stroke-width:1.2px;transition:fill .4s,stroke .4s}.ln-node.on{fill:var(--ink);stroke:var(--bg);stroke-width:2.5px}.ln-node.ring{fill:none;stroke:var(--rule2)}.ln-node.ring.on{fill:none;stroke:var(--ink);stroke-width:1.3px}.ln-tip{z-index:4;pointer-events:none;opacity:0;width:0;height:0;transition:opacity .35s;position:absolute;top:0;left:0}.ln-tip.on{opacity:1}.ln-tip:before{content:"";opacity:.55;background:radial-gradient(closest-side,currentColor,#0000);border-radius:50%;width:32px;height:32px;position:absolute;top:-16px;left:-16px}.ln-tip:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-3px;box-shadow:0 0 0 1.5px}:root[data-theme=light] .ln-tip:before{opacity:.18;width:18px;height:18px;top:-9px;left:-9px}:root[data-theme=light] .ln-tip:after{box-shadow:none;background:currentColor;width:7px;height:7px;top:-3.5px;left:-3.5px}@media(max-width:700px){.ln-glow{stroke-width:6px}}.ln-sec .fx{--e:clamp(0, calc((var(--f,1) - var(--d,0)) / (1 - var(--d,0))), 1);opacity:calc(.14 + .86 * var(--e));transform:translate3d(0,calc((1 - var(--e)) * 26px),0);filter:blur(calc((1 - var(--e)) * 7px))}.ln-sec.in .fx,.still .ln-sec .fx{opacity:1;filter:none;transform:none}.skip{z-index:100;background:var(--ink);color:var(--bg);font:500 13px/1 var(--mono);clip-path:inset(50%);opacity:0;pointer-events:none;border-radius:8px;padding:10px 14px;position:absolute;top:12px;left:12px}.skip:focus{clip-path:none;opacity:1;pointer-events:auto}.hdr{z-index:50;height:var(--hdr);border-bottom:1px solid #0000;align-items:center;gap:24px;padding:0 clamp(18px,3vw,40px);transition:background-color .35s,border-color .35s;display:flex;position:fixed;inset:0 0 auto}.hdr.scrolled{background:rgba(var(--bg-rgb),.82);-webkit-backdrop-filter:blur(14px)saturate(1.1);border-bottom-color:var(--rule)}.brand{border-radius:6px;flex:none;align-items:center;display:flex}.brand .mono{width:54px;height:auto;display:block}.idx{margin-left:auto}.idx ol{gap:clamp(14px,1.6vw,26px);margin:0;padding:0;list-style:none;display:flex}.idx a{font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);align-items:baseline;gap:6px;padding:8px 0;transition:color .2s;display:inline-flex;position:relative}.idx a .n{color:var(--dim);font-size:10px}.idx a:hover,.idx a[aria-current]{color:var(--ink)}.idx a[aria-current]:after{content:"";background:linear-gradient(90deg,var(--lime),var(--lav));border-radius:2px;height:1.5px;position:absolute;bottom:2px;left:0;right:0}.hdr-tools{align-items:center;gap:10px;display:flex}.tbtn{border:1px solid var(--rule2);cursor:pointer;height:34px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 8px;transition:border-color .2s,color .2s;display:inline-flex}.tbtn:hover,.tbtn[aria-expanded=true]{color:var(--ink);border-color:var(--ink2)}.tbtn-k{background:rgba(var(--ink-rgb),.08);width:20px;height:20px;color:var(--lime);border-radius:50%;place-items:center;font-size:12px;display:grid}.tbtn-k svg{width:11px;height:11px}.theme{cursor:pointer;background:0 0;border:0;place-items:center;width:50px;height:34px;padding:0;display:grid}.th-track{border:1px solid var(--rule2);border-radius:999px;width:40px;height:22px;display:block;position:relative;overflow:hidden}.th-track:before{content:"";background:linear-gradient(90deg,var(--lime),var(--lav));opacity:.55;border-radius:2px;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:7px;right:7px}.th-track i{background:var(--ink);width:12px;height:12px;transition:transform .35s var(--ease),background-color .35s,box-shadow .35s;border-radius:50%;position:absolute;top:4px;left:4px}:root:not([data-theme=light]) .th-track i{background:var(--lav);box-shadow:0 0 10px 1px rgba(var(--lav-rgb),.7);transform:translate(18px)}.menu{border:1px solid var(--rule2);cursor:pointer;height:34px;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:0 0;border-radius:999px;padding:0 14px;display:none}.idx-media{position:relative}.idx .idx-mb{cursor:pointer;font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 0;transition:color .2s;display:inline-flex;position:relative}.idx .idx-mb .n{color:var(--dim);font-size:10px}.idx .idx-mb:hover,.idx .idx-mb[aria-expanded=true]{color:var(--ink)}.idx-caret{color:var(--dim);font-size:9px;transition:transform .2s}.idx-mb[aria-expanded=true] .idx-caret{transform:rotate(180deg)}.idx-sub{z-index:60;background:var(--bg2);border:1px solid var(--rule2);min-width:200px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:-14px}.idx-sub[hidden]{display:none}.idx .idx-sub a{border-radius:8px;width:100%;padding:11px 12px;display:flex}.idx .idx-sub a:hover,.idx .idx-sub a:focus-visible{background:rgba(var(--ink-rgb),.06)}.idx .idx-sub a:after,.idx-search{display:none}.idx .idx-sb{border:0;border-bottom:1px solid var(--rule);cursor:pointer;width:100%;font:500 14px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:14px 0;display:inline-flex}.idx .idx-sb svg{width:14px;height:14px;color:var(--lime)}@media(max-width:960px){.tbtn-l{display:none}.tbtn{padding:0 6px}.menu{display:inline-block}.idx{inset:var(--hdr) 0 auto 0;padding:18px var(--pad) 28px;background:var(--bg);border-bottom:1px solid var(--rule);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s;margin:0;position:fixed;transform:translateY(-8px)}.menu-open .idx{opacity:1;visibility:visible;transition:opacity .25s,transform .25s var(--ease);transform:none}.idx ol{flex-direction:column;gap:0}.idx a{border-bottom:1px solid var(--rule);width:100%;padding:14px 0;font-size:14px}.idx a[aria-current]:after{bottom:-1px}.idx-search{display:block}.idx .idx-mb{border-bottom:1px solid var(--rule);width:100%;padding:14px 0;font-size:14px}.idx-caret{margin-left:auto}.idx-sub{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 0 0 26px;position:static}.idx .idx-sub a{border-bottom:1px solid var(--rule);border-radius:0;padding:14px 0}.hdr-tools{margin-left:auto}.hdr{gap:12px}}@media(max-width:700px){.brand .mono{width:44px}}.ftr{border-top:1px solid var(--rule);padding:56px 0 44px;position:relative}.ftr-in{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:18px 36px;display:grid}.ftr-brand{border-radius:6px;display:block}.ftr-brand .mono{width:64px;height:auto;display:block}.ftr-line{font:400 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--dim);margin:0}.ftr-line span{white-space:nowrap;display:block}@media(min-width:1200px){.ftr-line span{display:inline}.ftr-line span+span:before{content:" · "}}.ftr-nav ul{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.ftr-nav a,.ftr-top{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);padding:6px 0;display:inline-block}.ftr-nav a:hover,.ftr-top:hover{color:var(--ink)}@media(max-width:1080px){.ftr-in{grid-template-columns:auto 1fr}.ftr-nav,.ftr-top{grid-column:1/-1}}.post-body{color:var(--ink);font:400 clamp(18px,1.4vw,20.5px)/1.72 var(--sans);letter-spacing:-.006em}.post-body>*,.post-body>:first-child{margin-top:0}.post-body p,.post-body ul,.post-body ol,.post-body table,.post-body details,.post-body blockquote{text-wrap:pretty;margin:0;padding:14px 0}.post-body h2,.post-body h3,.post-body h4{color:var(--ink);text-wrap:balance;margin:34px 0 6px;padding:14px 0 0;position:relative}.post-body h2{font:640 clamp(30px,3.2vw,44px)/1.08 var(--sans);letter-spacing:-.035em}.post-body h3{font:630 clamp(23px,2.2vw,30px)/1.15 var(--sans);letter-spacing:-.028em}.post-body h4{font:620 19px/1.3 var(--sans);letter-spacing:-.015em}.heading-anchor{font:500 13px/1 var(--mono);opacity:0;margin:0;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);color:var(--dim)!important;text-decoration:none!important}.post-body h2 .heading-anchor,.post-body h3 .heading-anchor{top:calc(50% + 7px)}.post-body :is(h2,h3,h4):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.steps .heading-anchor{display:none}.post-body ul,.post-body ol{padding-left:1.3em}.post-body li+li{margin-top:.35em}.post-body ul li::marker{color:var(--lime)}.post-body ol li::marker{color:var(--dim);font:500 .8em var(--mono)}.post-body li>ul,.post-body li>ol{padding-block:6px 0}.post-body ul.contains-task-list{padding-left:.2em;list-style:none}.post-body .task-list-item input{accent-color:var(--lime);margin-right:.6em}.post-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:rgba(var(--lime-rgb),.6);text-decoration-color:rgba(var(--lime-rgb),.6);text-underline-offset:4px;text-decoration-thickness:1.5px;transition:text-decoration-color .2s,color .2s}.post-body a:hover{color:var(--lime);text-decoration-color:currentColor}:root[data-theme=light] .post-body a{-webkit-text-decoration-color:rgba(var(--lav-rgb),.55);text-decoration-color:rgba(var(--lav-rgb),.55)}:root[data-theme=light] .post-body a:hover{color:var(--lav)}.post-body strong{color:var(--ink);font-weight:640}.post-body em{color:var(--ink2);font-style:normal}.post-body mark{background:rgba(var(--lime-rgb),.22);color:inherit;border-radius:3px;padding:0 3px}.post-body :not(pre)>code{font:450 .86em var(--mono);color:var(--ink);background:rgba(var(--ink-rgb),.07);border:1px solid var(--rule);-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere;border-radius:6px;padding:1px 6px}.post-body kbd{font:500 .78em var(--mono);color:var(--ink);background:var(--bg2);border:1px solid var(--rule2);border-bottom-width:2px;border-radius:6px;padding:1px 6px}.post-body blockquote{border-left:2px solid var(--lav);font:500 clamp(20px,1.7vw,24px)/1.5 var(--sans);letter-spacing:-.015em;color:var(--ink);margin:14px 0;padding:4px 0 4px 24px}.post-body blockquote p{font:inherit;padding:6px 0}.post-body hr{background:var(--rule2);border:0;height:1px;margin:30px 0}.post-body img{border-radius:14px;max-width:100%;height:auto}.post-body table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.5;display:block;overflow-x:auto}.post-body th,.post-body td{border-bottom:1px solid var(--rule);text-align:left;padding:10px 14px}.post-body th{font:600 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-bottom-color:var(--rule2)}.post-body details{border:1px solid var(--rule);background:var(--bg2);border-radius:16px;margin:14px 0;padding:14px 20px;font-size:17px}.post-body summary{cursor:pointer;font:600 15px/1.4 var(--sans);color:var(--ink)}.post-body summary::marker{color:var(--lime)}.post-body details[open] summary{margin-bottom:.6em}.post-body .footnotes{border-top:1px solid var(--rule2);color:var(--ink2);margin-top:40px;padding-top:18px;font-size:15px}.post-body .footnotes h2{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 8px;padding:0}.post-body .footnotes p,.post-body .footnotes ol{padding-block:4px}.post-body sup a{font:500 .72em var(--mono);text-decoration:none}.code-frame{--well:#101115;--well-rgb:16, 17, 21;width:min(100%,calc(var(--col,680px) + 80px));border:1px solid var(--rule);background:var(--well);border-radius:14px;margin:14px 0;overflow:hidden}.code-frame-bar{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a3a29b;background:#15161b;border-bottom:1px solid #ecebe61a;align-items:center;gap:12px;padding:10px 16px;display:flex}.code-frame-lights{display:none}.code-frame-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.code-frame-terminal .code-frame-title:before{content:"$ ";color:#b8fc2c}.code-copy{font:inherit;color:#bebdb6;cursor:pointer;background:0 0;border:1px solid #ecebe638;border-radius:999px;padding:4px 10px;transition:color .2s,border-color .2s}.code-copy:hover,.code-copy[data-copied=true]{color:#b8fc2c;border-color:#b8fc2c}.code-frame pre{font:450 14px/1.7 var(--mono);color:#d6d5cf;background:var(--well);margin:0;padding:18px 0;overflow-x:auto}.code-frame code{min-width:max-content;font:inherit;display:grid}.code-frame [data-line]{border-left:2px solid #0000;padding:0 20px}.code-frame [data-highlighted-line]{background:#b8fc2c14;border-left-color:#b8fc2c}.code-frame [data-highlighted-chars]{background:#b880fc40;border-radius:3px;box-shadow:0 0 0 3px #b880fc40}.code-frame code[data-line-numbers]{counter-reset:line}.code-frame code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);text-align:right;color:#6c6b66;width:2.2ch;margin-right:2ch;display:inline-block}.code-frame-prompt [data-line]:before{content:"$ ";color:#b8fc2c;-webkit-user-select:none;user-select:none}@media(max-width:420px){.code-frame pre{font-size:12.5px}.code-frame [data-line]{padding:0 16px}}.callout{--tone:var(--lime);border:1px solid var(--rule2);background:linear-gradient(135deg,rgba(var(--lime-rgb),.06),rgba(var(--lav-rgb),.07));color:var(--ink2);border-radius:18px;margin:14px 0;padding:22px 24px;font-size:17.5px;line-height:1.65}.callout-note,.callout-important{--tone:var(--lav)}.callout-warning{--tone:var(--amber)}.callout-caution{--tone:var(--rose)}.post-body .callout>*{margin:0;padding:0}.post-body .callout>*+*{margin-top:.7em}.post-body .callout>.callout-title+*{margin-top:0}.callout-title{font:600 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tone);align-items:center;gap:10px;display:flex;margin:0 0 10px!important}.callout-title:before{content:"";background:var(--tone);width:7px;height:7px;box-shadow:0 0 10px var(--tone);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.callout-title:before{box-shadow:0 0 10px color-mix(in srgb,var(--tone) 80%,transparent)}}:root[data-theme=light] .callout-title:before{box-shadow:none}.post-figure{margin:26px 0 30px}.post-figure img{border:1px solid var(--rule);cursor:zoom-in;border-radius:22px;width:100%;height:auto;display:block}.post-body .fk-block-note{font:500 12px/1.5 var(--mono);color:var(--amber)}@media(max-width:700px){.post-body{font-size:18px}.callout{padding:18px}}.overlay{z-index:70;background:rgba(var(--bg-rgb),.72)}.pal{border:1px solid var(--rule2);background:var(--bg2);width:min(620px,100%);max-height:76vh;box-shadow:var(--shadow);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.pal-q{border-bottom:1px solid var(--rule);display:block;position:relative}.pal-q svg{width:16px;height:16px;color:var(--dim);margin-top:-8px;position:absolute;top:50%;left:22px}.pal-q input{width:100%;height:60px;color:var(--ink);font:450 17px/1 var(--sans);letter-spacing:-.01em;background:0 0;border:0;outline:none;padding:0 22px 0 52px}.pal-q input::placeholder{color:var(--dim)}:root[data-theme=light] .pal-q:focus-within{box-shadow:inset 0 -2px 0 var(--lav)}.pal-l{margin:0;padding:8px;list-style:none;overflow-y:auto}.pal-g{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:14px 12px 6px}.pal-o{cursor:pointer;border-radius:12px;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 12px;display:flex}.pal-t{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 15.5px/1.3 var(--sans);letter-spacing:-.015em;color:var(--ink);overflow:hidden}.pal-o[data-group=tags] .pal-t,.pal-o[data-group=commands] .pal-t{color:var(--ink2);font-weight:500}.pal-h{text-overflow:ellipsis;white-space:nowrap;max-width:45%;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);flex:none;overflow:hidden}.pal-none{color:var(--dim);padding:26px 12px}.pal-f{border-top:1px solid var(--rule);font:500 11px/1.3 var(--mono);letter-spacing:.06em;color:var(--dim);margin:0;padding:12px 22px}.help{padding:26px 28px 22px}.help-head h2{font:640 30px/1.1 var(--sans);letter-spacing:-.03em;margin:8px 0 18px}.help-l{gap:0;margin:0;display:grid;overflow-y:auto}.help-r{border-top:1px solid var(--rule);grid-template-columns:130px minmax(0,1fr);align-items:center;gap:16px;padding:10px 0;display:grid}.help-r dt{gap:6px;display:flex}.help-r dd{color:var(--ink2);margin:0;font-size:15.5px}.help-f{justify-content:flex-end;margin-top:18px;display:flex}.kbd{border:1px solid var(--rule2);background:var(--bg);min-width:26px;height:24px;font:500 12px/1 var(--mono);color:var(--ink);border-bottom-width:2px;border-radius:7px;place-items:center;padding:0 7px;display:inline-grid}@media(max-width:520px){.help-r{grid-template-columns:96px minmax(0,1fr)}.pal{max-height:82vh}}.admin-shell{padding-top:calc(var(--hdr) + 8px)}@media(prefers-reduced-motion:reduce){.zoom-overlay{transition:none!important}}.bloom{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.bloom i{opacity:0;will-change:opacity;background-position:50% 30%;background-size:cover;position:absolute;inset:0}.bloom i:first-child{opacity:var(--bloom-o)}.bloom .veil{background:radial-gradient(120% 90% at 70% 10%,transparent 0,var(--veil-a) 55%,var(--veil-b) 100%),linear-gradient(180deg,var(--veil-a) 0,transparent 30%,var(--veil-b) 100%);position:absolute;inset:0}:root[data-theme=dark] .bloom .grain{opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}body,:root[data-theme=light] body{background:0 0}html:has(.admin-shell) .bloom{display:none}html:has(.admin-shell) body{background:var(--bg)}.gly{min-width:20px;height:20px;font:700 10.5px/1 var(--sans);opacity:.8;border:1.5px solid;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-style:normal;display:inline-flex}.gly.sq{border-radius:5px}.hints{right:var(--pad);z-index:55;background:var(--bg2);border-radius:999px;align-items:center;gap:16px;padding:10px 16px;display:flex;position:fixed;bottom:18px}@supports (color:color-mix(in lab,red,red)){.hints{background:color-mix(in srgb,var(--bg2) 86%,transparent)}}.hints{border:1px solid var(--line2);-webkit-backdrop-filter:blur(12px);font:500 12.5px/1 var(--sans);color:var(--ink2);box-shadow:var(--p1-shadow);opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease);transform:translateY(12px)}.hints.on{opacity:1;transform:none}.hints span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.hints:empty{display:none}.toast{top:calc(var(--bar) + 16px);right:var(--pad);z-index:70;background:var(--bg2);border-radius:16px;align-items:center;gap:14px;min-width:260px;max-width:min(380px,100% - 32px);padding:12px 18px 12px 12px;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.toast{background:color-mix(in srgb,var(--bg2) 92%,transparent)}}.toast{border:1px solid var(--line2);box-shadow:var(--p1-shadow);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .45s var(--ease),transform .45s var(--ease),visibility 0s .45s;pointer-events:none;transform:translateY(-14px)}.toast.on{opacity:1;visibility:visible;transition:opacity .45s var(--ease),transform .45s var(--ease);transform:none}.hud-on .toast{top:calc(var(--bar) + 60px)}.toast .ti{background:rgba(var(--lime-rgb),.14);width:44px;height:44px;color:var(--lime);border-radius:12px;flex:none;place-items:center;display:grid}.toast .ti svg{width:24px;height:24px}.toast b{font:650 14.5px/1.25 var(--sans);display:block}.toast small{font:500 12px/1.35 var(--mono);color:var(--dim);margin-top:3px;display:block}.p1-page{position:relative}.p1-page .kick{align-items:center;gap:10px;display:inline-flex}.p1-page .kick:before{content:"";display:var(--kick-dash);background:var(--lime);border-radius:2px;width:18px;height:2px}.p1-page .kick a{color:var(--ink2);border-radius:4px;transition:color .2s}.p1-page .kick a:hover{color:var(--ink)}.p1-page .crumb span[aria-hidden]{color:var(--line2)}.mono{font-family:var(--mono)}.tg,.chip{height:26px;font:500 11.5px/1 var(--mono);letter-spacing:.04em;color:var(--ink2);background:rgba(var(--edge-rgb),.07);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.tg.lime{color:var(--lime);background:rgba(var(--lime-rgb),.1);border-color:rgba(var(--lime-rgb),.3)}.help-f .chip{cursor:pointer;height:34px;padding:0 16px}.btn{border:1px solid var(--line2);background:rgba(var(--edge-rgb),.04);height:46px;color:var(--ink);font:600 14.5px/1 var(--sans);letter-spacing:-.005em;white-space:nowrap;transition:transform .25s var(--ease),background .2s,box-shadow .25s,border-color .2s;border-radius:999px;align-items:center;gap:10px;padding:0 20px;display:inline-flex}.btn:hover{background:rgba(var(--edge-rgb),.09);border-color:rgba(var(--edge-rgb),.28)}.btn:active{transform:scale(.97)}.btn svg{flex:none;width:18px;height:18px}.btn-p{background:var(--ink);color:var(--bg);border-color:#0000}.btn-p:hover{background:var(--ink);box-shadow:0 10px 30px -10px rgba(var(--lime-rgb),.55)}.link{font:600 14.5px/1.2 var(--sans);color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:6px 2px;display:inline-flex}.link svg{width:16px;height:16px;transition:transform .3s var(--ease);flex:none}.link:hover svg,.link:focus-visible svg{transform:translate(4px)}.link>span:not(.sr-only){transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.link:hover>span:not(.sr-only){background-size:100% 1px}.page-head{padding:calc(var(--bar) + clamp(48px,7vw,104px)) 0 clamp(24px,3vw,40px)}.page-head .crumb{flex-wrap:wrap;margin-bottom:20px}.page-head h1{font:var(--d-h1);letter-spacing:var(--d-h1-ls);text-wrap:balance;margin:0}.page-head .lede{margin-top:24px}.filters{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:30px;display:flex}.filters .chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fchip{border:1px solid var(--line2);background:rgba(var(--edge-rgb),.03);height:38px;color:var(--ink2);font:500 14px/1 var(--sans);white-space:nowrap;border-radius:999px;align-items:center;padding:0 15px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.fchip:hover{color:var(--ink);background:rgba(var(--edge-rgb),.08)}.fchip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:#0000}.fchip b{font:500 11.5px/1 var(--mono);opacity:.65;margin-left:7px}.finput{flex:0 320px;margin-left:auto;position:relative}.finput svg{width:17px;height:17px;color:var(--dim);pointer-events:none;position:absolute;top:50%;left:14px;translate:0 -50%}.finput input{border:1px solid var(--line2);background:var(--panel);width:100%;height:42px;color:var(--ink);font:400 14.5px/1 var(--sans);border-radius:999px;padding:0 14px 0 40px}.finput input::placeholder{color:var(--dim)}.finput input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.count{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase;margin:0 0 20px}.none{color:var(--dim);padding:30px 0}.row{--p:1;padding-block:clamp(40px,5vw,76px);position:relative}.row[hidden]{display:none}.page-head+.row{padding-top:8px}.row-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 32px;margin-bottom:clamp(22px,2.4vw,34px);display:flex}.row-head .t{gap:12px;max-width:760px;display:grid}.row-title{font:var(--d-row);letter-spacing:var(--d-row-ls);margin:0}.row-intro{color:var(--ink2);max-width:58ch;margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.55}.row-link{flex:none}.js .row.fx{opacity:calc(.25 + .75 * var(--p));transform:translate3d(0,calc((1 - var(--p)) * 46px),0)}.js .row.fx .row-title{transition:filter .8s var(--ease),opacity .8s var(--ease)}.js .row.fx:not(.in) .row-title{filter:blur(6px);opacity:.4}.js .row.fx .shelf>li,.js .row.fx .ach>li{transition:transform .8s var(--ease),opacity .8s var(--ease);transition-delay:calc(var(--i,0) * 55ms)}.js .row.fx:not(.in) .shelf>li,.js .row.fx:not(.in) .ach>li{opacity:0;transform:translateY(26px)}.still .row.fx{opacity:1!important;transform:none!important}.still .row.fx .row-title,.still .row.fx .shelf>li,.still .row.fx .ach>li{filter:none!important;opacity:1!important;transition:none!important;transform:none!important}.shelf{gap:clamp(14px,1.5vw,22px);margin:0;padding:0;list-style:none;display:flex}.shelf>li[hidden]{display:none}.shelf.scroll{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:-16px -20px -22px;padding:16px 20px 22px;scroll-padding-inline:20px;overflow-x:auto}.shelf.scroll::-webkit-scrollbar{display:none}.shelf.scroll>li{scroll-snap-align:start}.shelf.scroll.fade-r{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 90px),#0000);mask:linear-gradient(90deg,#000 calc(100% - 90px),#0000)}.shelf.scroll.fade-l{-webkit-mask:linear-gradient(90deg,#0000,#000 90px);mask:linear-gradient(90deg,#0000,#000 90px)}.shelf.scroll.fade-l.fade-r{-webkit-mask:linear-gradient(90deg,#0000,#000 90px calc(100% - 90px),#0000);mask:linear-gradient(90deg,#0000,#000 90px calc(100% - 90px),#0000)}.tile{border-radius:var(--r);color:inherit;display:block;position:relative}.tile:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),#ffffff24,transparent 46%);opacity:0;transition:opacity .35s;position:absolute;inset:0}:root[data-theme=light] .tile:after{background:radial-gradient(circle at var(--mx,50%) var(--my,0%),#ffffff8c,transparent 46%)}@media(hover:hover)and (pointer:fine){.tile:hover:after{opacity:1}}.tile:focus-visible{outline-offset:3px;outline:2px solid #0000}.news-c{border-radius:var(--r);background:var(--panel);border:1px solid var(--line);box-shadow:var(--p1-shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s;position:relative}.news-c>.tile{border-radius:var(--r) var(--r) 0 0}.row.live .news-c:has(>.tile.cur){box-shadow:0 0 0 2px rgba(var(--edge-rgb),.55),var(--p1-shadow-lift);z-index:2;border-color:#0000;transform:translateY(-4px)scale(1.012)}.row.live .news-c:has(>.tile:focus-visible),.news-c:has(>.tile:focus-visible){box-shadow:0 0 0 2.5px var(--focus),0 0 0 9px var(--focus-glow),var(--p1-shadow-lift);z-index:3;border-color:#0000;transform:translateY(-4px)scale(1.018)}.row:has(:focus-visible:not(.tile)) .news-c:has(>.tile.cur):not(:has(>.tile:focus-visible)){box-shadow:var(--p1-shadow);border-color:var(--line);transform:none}@media(forced-colors:active){.news-c:has(>.tile:focus-visible){outline:3px solid highlight}}.nw-art{aspect-ratio:16/8.2;border-radius:calc(var(--r) - 6px);background:radial-gradient(90% 120% at 80% 0%,rgba(var(--lav-rgb),.16),transparent 60%),radial-gradient(80% 100% at 10% 100%,rgba(var(--lime-rgb),.1),transparent 60%),var(--bg2);border:1px solid var(--line);margin:8px 8px 0;display:block;position:relative;overflow:hidden}.nw-art>svg,.nw-art>img{width:100%;height:100%;position:absolute;inset:0}.nw-art>img{object-fit:cover;transition:transform 1s var(--ease)}.tile.cur .nw-art>img{transform:scale(1.04)}.nw-meta{font:500 12px/1 var(--mono);color:var(--dim);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 18px 0;display:flex}.nw-h{font:var(--d-card);letter-spacing:var(--d-ls);text-wrap:balance;margin:0;padding:10px 18px 14px}.dr-btn{border:0;border-top:1px solid var(--line);width:calc(100% - 36px);height:34px;color:var(--dim);font:500 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin:0 18px;padding:0;display:flex}.dr-btn svg{width:16px;height:16px;transition:transform .5s var(--ease)}.dr-btn:hover{color:var(--ink)}.dr-btn:focus-visible{outline-offset:-2px;border-radius:6px}.open>.dr-btn svg{transform:rotate(180deg)}@media(hover:none){.dr-btn{height:44px}}.drawer{transition:grid-template-rows .85s var(--ease);grid-template-rows:0fr;display:grid}.news-c.open>.drawer{grid-template-rows:1fr}.dr-in{min-height:0;overflow:hidden}.dr-sum,.dr-ex{color:var(--ink2);opacity:0;transition:opacity .6s .18s,transform .7s var(--ease) .18s;margin:6px 18px 0;font-size:15px;line-height:1.6;transform:translateY(-10px)}.dr-sum{color:var(--ink);font-weight:500}.dr-ex{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin-top:10px;font-size:14.5px;display:-webkit-box;overflow:hidden}.dr-f{color:var(--dim);opacity:0;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:12px 18px 16px;font-size:12.5px;transition:opacity .6s .3s;display:flex}.open .dr-sum,.open .dr-ex,.open .dr-f{opacity:1;transform:none}.still .drawer,.still .dr-sum,.still .dr-ex,.still .dr-f{transition:none}html:not(.js) .drawer{grid-template-rows:1fr}html:not(.js) .dr-sum,html:not(.js) .dr-ex,html:not(.js) .dr-f{opacity:1;transform:none}.hall path,.hall rect.hf{fill:none;stroke:rgba(var(--lav-rgb),.38);stroke-width:1px;vector-effect:non-scaling-stroke}.hall .door{filter:drop-shadow(0 0 10px rgba(var(--lime-rgb),.5))}.hall .glow{fill:rgba(var(--lime-rgb),.12);stroke:none}.hall .hf{transform-origin:160px 88px;transform-box:view-box}.row.live .nw-t.cur .hall .hf{animation:3.2s linear infinite p1hall;animation-delay:calc(var(--i) * -.64s)}@keyframes p1hall{0%{opacity:0;transform:scale(.8)}20%{opacity:1}to{opacity:.2;transform:scale(1.25)}}.stack .top{stroke:rgba(var(--edge-rgb),.25);stroke-width:1px}.stack .side{opacity:.55}.stack .s-lime .top{fill:rgba(var(--lime-rgb),.55)}.stack .s-lime .side{fill:rgba(var(--lime-rgb),.35)}.stack .s-lav .top{fill:rgba(var(--lav-rgb),.55)}.stack .s-lav .side{fill:rgba(var(--lav-rgb),.35)}.stack .s-lav2 .top{fill:rgba(var(--lav-rgb),.26)}.stack .s-lav2 .side{fill:rgba(var(--lav-rgb),.16)}.stack .s-ink .top{fill:rgba(var(--edge-rgb),.32)}.stack .s-ink .side{fill:rgba(var(--edge-rgb),.18)}.row.live .nw-t.cur .stack .slab{animation:3.6s ease-in-out infinite p1slab;animation-delay:calc(var(--i) * -.3s)}@keyframes p1slab{50%{transform:translateY(calc(var(--i) * -5px - 3px))}}.flowart .wa,.flowart .wb{fill:none;stroke-width:1.6px}.flowart .wa{stroke:rgba(var(--lime-rgb),.8)}.flowart .wb{stroke:rgba(var(--lav-rgb),.75);stroke-dasharray:3 5}.flowart .cl{fill:var(--ink2)}.flowart .box{fill:var(--bg2)}@supports (color:color-mix(in lab,red,red)){.flowart .box{fill:color-mix(in srgb,var(--bg2) 92%,transparent)}}.flowart .box{stroke-width:1.4px}.flowart .box.ea{stroke:var(--lime)}.flowart .box.eb{stroke:var(--lav)}.flowart .cell{fill:rgba(var(--edge-rgb),.14)}.flowart .cell.w{fill:rgba(var(--lime-rgb),.6)}.flowart .cell.b.w{fill:rgba(var(--lav-rgb),.6)}.flowart .up{fill:none;stroke:var(--ink2);stroke-width:1.3px}.flowart .pk{offset-distance:0%;opacity:0}.flowart .pa{fill:var(--lime)}.flowart .pb{fill:var(--lav)}.row.live .nw-t.cur .flowart .pk{animation:2.4s linear infinite p1pk;animation-delay:calc(var(--i,0) * -.8s)}@keyframes p1pk{0%{offset-distance:0%;opacity:0}10%,90%{opacity:1}to{offset-distance:100%;opacity:0}}.rings .rg{fill:none;stroke:rgba(var(--lav-rgb),.32);stroke-width:1px;transform-origin:160px 90px;transform-box:view-box}.rings .arc{fill:none;stroke-width:2.2px;stroke-linecap:round;transform-origin:160px 90px;transform-box:view-box}.rings .arc.a{stroke:var(--lime)}.rings .arc.b{stroke:var(--lav)}.rings .core{fill:var(--lime);filter:drop-shadow(0 0 8px rgba(var(--lime-rgb),.6))}.row.live .nw-t.cur .rings .arc{animation:6s linear infinite p1spin}.row.live .nw-t.cur .rings .rg{animation:3s ease-in-out infinite p1ring;animation-delay:calc(var(--i) * -.4s)}@keyframes p1spin{to{transform:rotate(360deg)}}@keyframes p1ring{50%{stroke:rgba(var(--lime-rgb),.5)}}.pj-art{background:radial-gradient(120% 120% at 100% 0%,rgba(var(--lav-rgb),.22),transparent 60%),radial-gradient(90% 90% at 0% 100%,rgba(var(--lime-rgb),.14),transparent 60%);align-content:end;gap:8px;padding:18px 20px;display:grid;position:absolute;inset:0}.pj-n{font:680 clamp(26px,2.6vw,36px)/.98 var(--sans);letter-spacing:-.04em;color:var(--ink)}.pj-k{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.off .hall .hf,.off .stack .slab,.off .flowart .pk,.off .rings .arc,.off .rings .rg,.tab-hidden *,.tab-hidden :before,.tab-hidden :after{animation-play-state:paused!important}.still *,.still :before,.still :after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(16px,1.6vw,24px);display:grid}.blog-grid .news-c.feat{grid-column:1/-1;grid-template-rows:auto auto auto 1fr;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.blog-grid .feat>.tile{grid-area:1/1/-1/-1;grid-template-columns:subgrid;grid-template-rows:subgrid;border-radius:var(--r);display:grid}.blog-grid .feat .nw-art{aspect-ratio:auto;grid-area:1/1/-1;min-height:320px;margin:8px}.blog-grid .feat .nw-meta{grid-area:1/2;padding:34px 26px 0 14px}.blog-grid .feat .nw-h{font:var(--d-feat);letter-spacing:var(--d-row-ls);grid-area:2/2;padding:12px 26px 16px 14px}.blog-grid .feat>.dr-btn{grid-area:3/2;width:auto;margin:0 26px 0 14px;position:relative}.blog-grid .feat>.drawer{grid-area:4/2;position:relative}.blog-grid .feat .dr-sum,.blog-grid .feat .dr-ex{margin-inline:14px 26px;font-size:16px}.blog-grid .feat .dr-f{padding:14px 26px 22px 14px}.news-row>li{flex:0 0 clamp(250px,24vw,330px)}.news-c.mini .nw-h{padding-bottom:18px}.cat-row+.cat-row{padding-top:0}.ach-row+.row{padding-top:8px}.ach-row{padding-block:clamp(8px,1.2vw,18px) clamp(30px,3.6vw,52px)}.ach-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.ach-head .kick{margin:0}.ach-n{color:var(--ink2);font-size:12px}.ach-bar{background:rgba(var(--edge-rgb),.1);border-radius:3px;flex:0 240px;height:3px;overflow:hidden}.ach-bar i{transform-origin:0;height:100%;transform:scaleX(var(--f,0));background:linear-gradient(90deg,var(--lav),var(--lime));transition:transform 1.2s var(--ease) .5s;display:block}.js .row.fx:not(.in) .ach-bar i{transform:scaleX(0)}.ach{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);margin:0;padding:0;list-style:none;display:grid}.ach-c{background:var(--panel);border:1px solid var(--line);box-shadow:var(--p1-shadow);border-radius:16px;align-items:center;gap:14px;padding:16px 16px 16px 14px;display:flex;position:relative}.ach-ic{background:rgba(var(--edge-rgb),.06);width:46px;height:46px;color:var(--dim);transition:background .5s,color .5s;transition-delay:calc(.3s + var(--i) * .22s);border-radius:13px;flex:none;place-items:center;display:grid;position:relative}.ach-ic svg{width:22px;height:22px}.ach-c.won .ach-ic{background:rgba(var(--lime-rgb),.14);color:var(--lime)}.ach-ic.ring svg{width:36px;height:36px;position:absolute;inset:5px;transform:rotate(-90deg)}.ach-ic.ring circle{fill:none;stroke:rgba(var(--edge-rgb),.14);stroke-width:3px}.ach-ic.ring .rg{stroke:var(--lime);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--f,0));stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease) .6s}.ach-tx{gap:3px;min-width:0;display:grid}.ach-v{font:680 26px/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.ach-b{font:var(--d-ui);letter-spacing:-.01em}.ach-tx small{font:500 11.5px/1.35 var(--mono);color:var(--dim)}.ach-ok{width:22px;height:22px;color:var(--dim);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.ach-ok svg{width:14px;height:14px}.ach-c.won .ach-ok{background:var(--lime);color:var(--on-lime);transition:transform .6s cubic-bezier(.3,1.7,.5,1);transition-delay:calc(.4s + var(--i) * .22s);transform:scale(1)}.ach-c.won .ach-ok svg{stroke-width:2.6px}.js .row.fx:not(.in) .ach-c.won .ach-ok{transform:scale(0)}.js .row.fx:not(.in) .ach-c.won .ach-ic{background:rgba(var(--edge-rgb),.06);color:var(--dim)}.ach-c:not(.won){border-style:dashed}.post-page{--col:680px;--fw:880px;--railw:clamp(0px, 9vw, 130px)}html:has(.post-page){scroll-padding-top:calc(var(--bar) + 66px)}.post-hero{padding-top:calc(var(--bar) + clamp(48px,7vw,96px));padding-bottom:clamp(30px,4vw,56px)}.ph-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:clamp(28px,5vw,72px);display:grid}.ph-kick{flex-wrap:wrap;margin:0 0 22px}.ph-kick>span[aria-hidden],.ph-kick .ph-cat{color:var(--dim)}.post-hero h1,.post-hero .post-title-h{font:var(--d-post);letter-spacing:var(--d-h1-ls);text-wrap:balance;max-width:15ch;margin:0}.dek{font:var(--d-dek);color:var(--ink2);text-wrap:pretty;max-width:46ch;margin:22px 0 0}.ph-meta{font:500 12.5px/1.4 var(--mono);color:var(--dim);flex-wrap:wrap;gap:6px 18px;margin:22px 0 0;display:flex}.ph-meta .by{color:var(--ink)}.ckpts{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ck{background:var(--panel);border:1px solid var(--line);box-shadow:var(--p1-shadow);border-radius:16px;align-items:center;gap:14px;padding:12px 16px 12px 12px;transition:border-color .5s,box-shadow .5s;display:flex}.ck-ic{background:rgba(var(--edge-rgb),.06);width:46px;height:46px;color:var(--dim);border-radius:13px;flex:none;place-items:center;transition:background .5s,color .5s;display:grid;position:relative}.ck-ic svg{width:22px;height:22px}.ck.done .ck-ic{background:var(--lime);color:var(--on-lime)}.ck.done .ck-ic svg{stroke-width:2.4px}.ck-ic.ring svg{width:36px;height:36px;position:absolute;inset:5px;transform:rotate(-90deg)}.ck-ic.ring circle{fill:none;stroke:rgba(var(--edge-rgb),.14);stroke-width:3px}.ck-ic.ring .rg{stroke:var(--lime);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--f,0));stroke-linecap:round;transition:stroke-dashoffset .5s var(--ease)}.ck-ic.ring .pc{font:600 11px/1 var(--mono);color:var(--ink);position:relative}.ck.done .ck-ic.ring{background:var(--lime)}.ck.done .ck-ic.ring svg{display:none}.ck.done .ck-ic.ring .pc{color:var(--on-lime)}.ck.run{border-color:rgba(var(--lime-rgb),.4)}.ck-t{min-width:0}.ck-t small{font:500 10.5px/1 var(--mono);letter-spacing:.14em;color:var(--dim);display:block}.ck-t b{font:var(--d-ui);letter-spacing:-.01em;margin:4px 0 3px;display:block}.ck-t em{font:500 12px/1.3 var(--mono);color:var(--dim);font-style:normal;display:block}.ck.done .ck-t em,.ck.run .ck-t em{color:var(--lime)}.ck-seal{opacity:0;transition:opacity .6s,transform .8s var(--ease);place-items:center;display:grid;position:absolute;inset:0;transform:scale(.6)rotate(-20deg)}.ck-seal img{width:30px;height:auto}.ck[data-c="2"].done .ck-ic{background:var(--panel-solid);box-shadow:inset 0 0 0 2px var(--lime)}.ck[data-c="2"].done .lk{opacity:0}.ck[data-c="2"].done .ck-seal{opacity:1;transform:none}.ck .lk{transition:opacity .3s}.hud{left:0;right:0;top:var(--bar);z-index:45;background:var(--bg);align-items:center;height:44px;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.hud{background:color-mix(in srgb,var(--bg) 80%,transparent)}}.hud{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transition:transform .45s var(--ease),opacity .3s,visibility 0s .45s;pointer-events:none;transform:translateY(-100%)}.hud.on{opacity:1;visibility:visible;transition:transform .45s var(--ease),opacity .3s;transform:none}.hud-in{align-items:center;gap:16px;display:flex}.h-ck{font:500 12px/1 var(--sans);color:var(--dim);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.h-ck svg{width:15px;height:15px}.h-ck.done{color:var(--ink2)}.h-ck.done svg{color:var(--lime)}.h-sign .ok,.h-sign.done .lk{display:none}.h-sign.done .ok{display:block}.h-bar{flex:1;gap:3px;min-width:0;display:flex}.h-bar i{background:rgba(var(--edge-rgb),.12);border-radius:3px;flex:1;height:5px;transition:background .4s}.h-bar i.on{background:linear-gradient(90deg,var(--lav),var(--lime))}.h-st{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:52px;font-size:12px}.prose{width:min(1180px,100% - var(--pad) * 2);padding:40px 0 20px var(--railw);margin:0 auto;position:relative;container-type:inline-size}.prose>.post-body{max-width:var(--col)}.rail{width:var(--railw);position:absolute;top:0;bottom:0;left:0}.rl-line,.rl-fill{border-radius:2px;width:2px;position:absolute;left:22px}.rl-line{background:rgba(var(--edge-rgb),.12)}.rl-fill{background:linear-gradient(180deg,var(--lav),var(--lime));height:0;transition:height .6s var(--ease)}.rl-n{align-items:center;gap:12px;display:flex;position:absolute;left:15px;transform:translateY(-2px)}.rl-n:before{content:"";background:var(--bg);border:2px solid rgba(var(--edge-rgb),.28);border-radius:50%;flex:none;width:12px;height:12px;margin-left:1px;transition:background .4s,border-color .4s,box-shadow .4s}.rl-n b{font:600 11px/1 var(--mono);color:var(--dim);transition:color .4s}.rl-n small{font:500 10.5px/1 var(--mono);color:var(--dim);max-width:calc(var(--railw) - 76px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rl-n.on:before{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 4px rgba(var(--lime-rgb),.16)}.rl-n.on b{color:var(--ink)}.steps>.blk{transition:opacity .6s var(--ease);position:relative}.js .steps>.blk:not(.done){opacity:.7}.js .steps>.blk.wide:not(.done){opacity:.8}.steps>.blk.here{opacity:1!important}.still .steps>.blk{transition:none;opacity:1!important}.steps>.code-frame{width:min(100%,calc(var(--col) + 80px))}.signoff{padding-top:clamp(30px,4vw,56px)}.so-wrap{max-width:calc(var(--col) + 40px + var(--railw));padding-left:var(--railw);margin-left:max(var(--pad),(100% - 1180px) / 2);width:auto}.so-card{background:var(--panel);border:1px solid var(--line2);box-shadow:var(--p1-shadow);border-radius:22px;padding:clamp(22px,3vw,34px)}.so-ach{background:rgba(var(--edge-rgb),.04);border:1px solid var(--line);filter:grayscale();opacity:.55;border-radius:16px;align-items:center;gap:14px;padding:12px 14px;transition:filter .8s,opacity .8s,border-color .8s;display:flex}.so-ic{color:#f90;background:#ff99001f;border-radius:13px;flex:none;place-items:center;width:48px;height:48px;display:grid}:root[data-theme=light] .so-ic{color:#a35f00}.so-ic svg{width:24px;height:24px}.so-at{min-width:0}.so-at small{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);display:block}.so-at b{font:650 17px/1.25 var(--sans);margin:5px 0 2px;display:block}.so-at em{color:var(--dim);font-size:13.5px;font-style:normal;display:block}.so-ok{background:var(--lime);width:26px;height:26px;color:var(--on-lime);border-radius:50%;flex:none;place-items:center;margin-left:auto;transition:transform .6s cubic-bezier(.3,1.7,.5,1) .5s;display:grid;transform:scale(0)}.so-ok svg{stroke-width:2.6px;width:15px;height:15px}.signed .so-ach{filter:none;opacity:1;border-color:rgba(var(--lime-rgb),.35)}.signed .so-ok{transform:scale(1)}.so-sign{justify-content:space-between;align-items:center;gap:20px;margin-top:26px;display:flex}.sig-fig{flex:1;min-width:0;max-width:470px;margin:0;position:relative}.sig-svg{width:100%;height:auto;display:block;overflow:visible}.nib{background:var(--lime);width:10px;height:10px;box-shadow:0 0 14px 4px rgba(var(--lime-rgb),.6);opacity:0;pointer-events:none;border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:40%;left:0}.seal{aspect-ratio:1;opacity:0;flex:none;place-items:center;width:clamp(96px,10vw,124px);transition:opacity .6s 1.9s,transform .9s cubic-bezier(.3,1.4,.5,1) 1.9s;display:grid;position:relative;transform:scale(1.3)rotate(-24deg)}.signed .seal,html:not(.js) .seal{opacity:1;transform:none}.seal svg{width:100%;height:100%;animation:40s linear infinite p1seal;position:absolute;inset:0;overflow:visible}.seal .sr1{fill:none;stroke:var(--lime);stroke-width:1.6px}.seal .sr2{fill:none;stroke:rgba(var(--lime-rgb),.45);stroke-width:1px}.seal .st{font:600 8.6px var(--mono);letter-spacing:.2em;fill:var(--lime)}.seal img{width:46%;height:auto}@keyframes p1seal{to{transform:rotate(360deg)}}.so-card:not(.signed) .seal svg,.seal.off svg{animation-play-state:paused}.so-line{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:20px 0 0;font-size:11.5px}.signed .so-st{color:var(--lav)}.still .seal{opacity:1;transition:none;transform:none}.still .so-ach,.still .so-ok{transition:none}.so-locked .so-ach{filter:none;opacity:1;border-style:dashed}.so-locked .so-at small{color:var(--dim)}.so-locked .so-ic{color:var(--dim);background:rgba(var(--edge-rgb),.06)}.shelf.nx{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.nx .news-c{flex-direction:column;display:flex}.nx .news-c>.tile{border-radius:var(--r);flex:1;padding-bottom:14px}.nx .nw-h{padding-bottom:8px;font-size:18px}.nx-d{color:var(--ink2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;padding:0 18px 12px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.nx-s{color:var(--dim);align-items:center;gap:10px;padding:0 18px;font-size:11.5px;display:flex}.nx-s i{background:rgba(var(--edge-rgb),.1);border-radius:4px;width:70px;height:4px;display:block;position:relative;overflow:hidden}.nx-s i:after{content:"";transform-origin:0;transform:scaleX(var(--s,0));background:linear-gradient(90deg,var(--lav),var(--lime));position:absolute;inset:0}.post-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-top:40px;display:flex}.post-nav .back{transform:rotate(180deg)}.post-nav a:hover .back,.post-nav a:focus-visible .back{transform:rotate(180deg)translate(4px)}.post-nav small{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.nf{min-height:62vh}.nf h1{max-width:14ch}.nf-go{flex-wrap:wrap;gap:12px;margin:34px 0 0;display:flex}.overlay{background:var(--bg)}@supports (color:color-mix(in lab,red,red)){.overlay{background:color-mix(in srgb,var(--bg) 62%,transparent)}}.overlay{-webkit-backdrop-filter:blur(10px);padding-top:calc(var(--bar) + 4vh);align-items:flex-start}.pal{background:var(--panel-solid);border:1px solid var(--line2);width:min(720px,100%);animation:p1pal .45s var(--ease) both;border-radius:22px;box-shadow:0 40px 90px -30px #000000b3}@keyframes p1pal{0%{opacity:0;transform:translateY(-14px)scale(.98)}}.pal-q{position:relative}.pal-q:after{content:"";background:linear-gradient(90deg,transparent,var(--lime),var(--lav),transparent);opacity:0;height:1px;transition:opacity .3s;position:absolute;bottom:-1px;left:0;right:0}.pal-q:focus-within,:root[data-theme=light] .pal-q:focus-within{box-shadow:none}.pal-q:focus-within:after{opacity:1}.pal-q input{height:64px;font:500 19px/1 var(--sans)}.pal-o[data-active=true]{background:rgba(var(--edge-rgb),.07);box-shadow:inset 0 0 0 1.5px var(--focus)}.still .pal{animation:none}@media(max-width:1100px){.ach,.shelf.nx{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.ph-grid{grid-template-columns:1fr}.h-ck span{display:none}}@media(max-width:860px){.blog-grid{grid-template-columns:1fr}.blog-grid .news-c.feat{display:block}.blog-grid .feat>.tile{border-radius:var(--r) var(--r) 0 0;display:block}.blog-grid .feat .nw-art{aspect-ratio:16/8.2;min-height:0}.blog-grid .feat .nw-meta{padding:16px 18px 0}.blog-grid .feat .nw-h{padding:10px 18px 14px;font-size:24px}.blog-grid .feat>.dr-btn{width:calc(100% - 36px);margin:0 18px}.blog-grid .feat .dr-sum,.blog-grid .feat .dr-ex{margin-inline:18px;font-size:15px}.blog-grid .feat .dr-f{padding:12px 18px 16px}.finput{flex-basis:100%;margin-left:0}}@media(max-width:760px){.post-page{--railw:30px}.rl-line,.rl-fill{left:6px}.rl-n{left:-1px}.rl-n b,.rl-n small{display:none}.so-wrap{width:min(var(--cw),100% - var(--pad) * 2);margin-inline:auto;padding-left:0}.so-sign{flex-direction:column;align-items:flex-start}.shelf.nx{grid-template-columns:1fr}.hud-in{gap:10px}}@media(max-width:560px){.ach{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ach-c{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.ach-ic{width:40px;height:40px}.ach-v{font-size:22px}.row{padding-block:44px}.toast{min-width:0;max-width:none;left:12px;right:12px}.news-row>li{flex-basis:78vw}.hints{display:none}}@media(hover:none){.link{padding-block:10px}.hints{display:none}}@media(prefers-reduced-motion:reduce){.bloom i{transition:none}}.diagram{--dg-primary:#b8fc2c;--dg-secondary:#b880fc;--dg-ink:#ececec;--dg-muted:#a3a3a3;--dg-line:#ffffff3d;--dg-track:#ffffff1a;--dg-frame:#ffffff1c;--dg-grid:#ffffff12;--dg-panel:#111111db;--dg-node-bg:#151515;--dg-pill-bg:#121212;--dg-packet:#f4ffe0;--dg-note:#e6db74;--dg-tint:6%;--dg-glow:drop-shadow(0 0 3px var(--dg-primary))}@supports (color:color-mix(in lab,red,red)){.diagram{--dg-glow:drop-shadow(0 0 3px color-mix(in srgb, var(--dg-primary) 45%, transparent))}}.diagram{--dg-halo-opacity:.28;--dg-shadow:0 30px 70px -45px #000000e6;--dg-canvas:radial-gradient(120% 90% at 0% 0%, var(--dg-primary), transparent 55%), radial-gradient(100% 90% at 100% 100%, var(--dg-secondary), transparent 60%), radial-gradient(circle at 1px 1px, var(--dg-grid) 1px, transparent 1.4px) 0 0 / 22px 22px, var(--dg-panel)}@supports (color:color-mix(in lab,red,red)){.diagram{--dg-canvas:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--dg-primary) 5%, transparent), transparent 55%), radial-gradient(100% 90% at 100% 100%, color-mix(in srgb, var(--dg-secondary) 8%, transparent), transparent 60%), radial-gradient(circle at 1px 1px, var(--dg-grid) 1px, transparent 1.4px) 0 0 / 22px 22px, var(--dg-panel)}}.diagram{--dg-font:var(--font-mono,ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace);--dg-label-weight:500;--dg-caption-size:12.5px;--dg-radius:14px;--dg-box-width:1px;--dg-track-width:1px;--dg-edge-width:2px;--dg-dash-width:1.6px;--dg-dash:3 5;--dg-packet-size:5.2px;--dg-halo-size:13px;--dg-packet-speed:85;--dg-step:.42s;--dg-ease:cubic-bezier(.5, 0, .2, 1);margin:2.4em 0}html[data-theme=light] .diagram{--dg-primary:#4b7d00;--dg-secondary:#6a2fd0;--dg-ink:#16161d;--dg-muted:#5a5a66;--dg-line:#00000047;--dg-track:#0000001a;--dg-frame:#0000001f;--dg-grid:#0000000b;--dg-panel:#fff;--dg-node-bg:#fff;--dg-pill-bg:#fff;--dg-packet:#4b7d00;--dg-note:#a14a06;--dg-glow:none;--dg-halo-opacity:0;--dg-shadow:0 22px 44px -32px #0000004d;--dg-edge-width:1.7px;--dg-dash-width:1.4px;--dg-canvas:linear-gradient(var(--dg-grid) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--dg-grid) 1px, transparent 1px) 0 0 / 24px 24px, var(--dg-panel)}.diagram-canvas{border:1px solid var(--dg-frame);border-radius:var(--dg-radius);background:var(--dg-canvas);box-shadow:var(--dg-shadow);justify-content:center;padding:24px 20px;display:flex;position:relative;overflow:hidden;container:diagram/inline-size}.diagram-svg{max-width:100%;height:auto;display:block;overflow:visible}.diagram-alt{display:none}.diagram figcaption{font-family:var(--dg-font);font-size:var(--dg-caption-size);color:var(--dg-muted);margin-top:12px;line-height:1.5}.diagram figcaption .fig-n{font-weight:600}.diagram text{font-family:var(--dg-font);stroke:none}.dg-label{fill:var(--dg-ink);font-weight:var(--dg-label-weight)}.dg-detail,.dg-elabel-text{fill:var(--dg-muted)}.dg-box{fill:var(--dg-node-bg);stroke:var(--dg-line);stroke-width:var(--dg-box-width)}.dg-tone-primary .dg-box{fill:var(--dg-primary)}@supports (color:color-mix(in lab,red,red)){.dg-tone-primary .dg-box{fill:color-mix(in srgb,var(--dg-primary) var(--dg-tint),var(--dg-node-bg))}}.dg-tone-primary .dg-box{stroke:var(--dg-primary)}.dg-tone-secondary .dg-box{fill:var(--dg-secondary)}@supports (color:color-mix(in lab,red,red)){.dg-tone-secondary .dg-box{fill:color-mix(in srgb,var(--dg-secondary) var(--dg-tint),var(--dg-node-bg))}}.dg-tone-secondary .dg-box{stroke:var(--dg-secondary)}.dg-icon{fill:none;stroke:var(--dg-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.dg-tone-primary .dg-icon{stroke:var(--dg-primary)}.dg-tone-secondary .dg-icon{stroke:var(--dg-secondary)}.dg-track{fill:none;stroke:var(--dg-track);stroke-width:var(--dg-track-width)}.dg-edge{fill:none;stroke-linecap:round}.dg-edge.dg-primary{stroke:var(--dg-primary);stroke-width:var(--dg-edge-width);filter:var(--dg-glow)}.dg-edge.dg-secondary{stroke:var(--dg-secondary);stroke-width:var(--dg-dash-width);stroke-dasharray:var(--dg-dash)}.dg-arrow.dg-primary,.dg-port.dg-primary{fill:var(--dg-primary)}.dg-arrow.dg-secondary,.dg-port.dg-secondary{fill:var(--dg-secondary)}.dg-pill{fill:var(--dg-pill-bg);stroke:var(--dg-track)}.dg-packet{fill:none;stroke-linecap:round;animation:dg-flow calc(var(--t) / var(--dg-packet-speed) * 1s) linear infinite}.dg-packet.dg-two{animation-name:dg-flow-two}.dg-packet.dg-back{animation-direction:reverse}.dg-dot{stroke:var(--dg-packet);stroke-width:var(--dg-packet-size)}.dg-halo{stroke:var(--dg-primary);stroke-width:var(--dg-halo-size);opacity:var(--dg-halo-opacity)}.diagram[data-paused] .dg-packet{animation-play-state:paused}@keyframes dg-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@keyframes dg-flow-two{0%{stroke-dashoffset:0}to{stroke-dashoffset:-.5px}}@container diagram (max-width:340px){.diagram[data-swap="340"] .diagram-main{display:none}.diagram[data-swap="340"] .diagram-alt{display:block}}@container diagram (max-width:400px){.diagram[data-swap="400"] .diagram-main{display:none}.diagram[data-swap="400"] .diagram-alt{display:block}}@container diagram (max-width:460px){.diagram[data-swap="460"] .diagram-main{display:none}.diagram[data-swap="460"] .diagram-alt{display:block}}@container diagram (max-width:520px){.diagram[data-swap="520"] .diagram-main{display:none}.diagram[data-swap="520"] .diagram-alt{display:block}}@container diagram (max-width:580px){.diagram[data-swap="580"] .diagram-main{display:none}.diagram[data-swap="580"] .diagram-alt{display:block}}@container diagram (max-width:640px){.diagram[data-swap="640"] .diagram-main{display:none}.diagram[data-swap="640"] .diagram-alt{display:block}}@container diagram (max-width:700px){.diagram[data-swap="700"] .diagram-main{display:none}.diagram[data-swap="700"] .diagram-alt{display:block}}@container diagram (max-width:760px){.diagram[data-swap="760"] .diagram-main{display:none}.diagram[data-swap="760"] .diagram-alt{display:block}}@container diagram (max-width:820px){.diagram[data-swap="820"] .diagram-main{display:none}.diagram[data-swap="820"] .diagram-alt{display:block}}@container diagram (max-width:880px){.diagram[data-swap="880"] .diagram-main{display:none}.diagram[data-swap="880"] .diagram-alt{display:block}}@container diagram (max-width:940px){.diagram[data-swap="940"] .diagram-main{display:none}.diagram[data-swap="940"] .diagram-alt{display:block}}@container diagram (max-width:1000px){.diagram[data-swap="1000"] .diagram-main{display:none}.diagram[data-swap="1000"] .diagram-alt{display:block}}@media(max-width:640px){.diagram-canvas{padding:18px 12px}.diagram figcaption{font-size:calc(var(--dg-caption-size) - 1px)}}.diagram[data-motion] .dg-draw{stroke-dasharray:1 1}.diagram[data-motion=armed] .dg-draw{stroke-dashoffset:1px}.diagram[data-motion=armed] :is(.dg-node,.dg-port,.dg-arrow,.dg-elabel,.dg-packets){opacity:0}.diagram[data-motion=armed] [data-flow=right] .dg-node{transform:translate(-8px)}.diagram[data-motion=armed] [data-flow=down] .dg-node{transform:translateY(-8px)}.diagram[data-motion=play] .dg-draw{stroke-dashoffset:0;transition:stroke-dashoffset calc(var(--s) * var(--dg-step)) var(--dg-ease) calc(var(--r) * var(--dg-step) + .2s)}.diagram[data-motion=play] .dg-node{transition:opacity .45s ease calc(var(--r) * var(--dg-step)),transform .6s cubic-bezier(.2,.7,.2,1) calc(var(--r) * var(--dg-step))}.diagram[data-motion=play] .dg-port{transition:opacity .3s ease calc(var(--r) * var(--dg-step) + .15s)}.diagram[data-motion=play] .dg-arrow{transition:opacity .25s ease calc((var(--r) + var(--s)) * var(--dg-step) + .1s)}.diagram[data-motion=play] .dg-elabel{transition:opacity .4s ease calc((var(--r) + var(--s) * .5) * var(--dg-step) + .2s)}.diagram[data-motion=play] .dg-packets{transition:opacity .6s ease calc(var(--dg-ranks) * var(--dg-step) + .45s)}@media(prefers-reduced-motion:reduce){.dg-packets{display:none}.diagram *{transition:none!important;animation:none!important}}.post-body :is(.diagram-error,.diagram-note){border:1px dashed var(--dg-note,#e6db74);margin:1.6em 0 .6em;padding:8px 12px}@supports (color:color-mix(in lab,red,red)){.post-body :is(.diagram-error,.diagram-note){border:1px dashed color-mix(in srgb,var(--dg-note,#e6db74) 60%,transparent)}}.post-body :is(.diagram-error,.diagram-note){font-family:var(--dg-font,var(--font-mono,ui-monospace, monospace));color:var(--dg-note,#e6db74);border-radius:8px;font-size:12px;line-height:1.6}html[data-theme=light] .diagram-error{--dg-note:#a14a06}.post-body .diagram-note{margin:10px 0 0}.kit-slot:empty{display:none}.kit-slot{z-index:2;padding-top:var(--hdr);position:relative}.kit-slot:not(:empty)~main{margin-top:calc(var(--hdr) * -1 + 8px)}.sh{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.sh-k{margin:0 0 12px}.sh-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sh-b{border:1px solid var(--line2);background:rgba(var(--edge-rgb),.04);height:36px;color:var(--ink2);font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.sh-b:hover{color:var(--ink);background:rgba(var(--edge-rgb),.09);border-color:rgba(var(--lime-rgb),.5)}.sh-b svg{flex:none;width:15px;height:15px}.sh-b:focus-visible,.sh-cb:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sh-b[data-copied]{color:var(--lime);border-color:rgba(var(--lime-rgb),.55)}.sh-native{background:var(--ink);color:var(--bg);border-color:#0000}.sh-native:hover{background:var(--ink);color:var(--bg);box-shadow:0 10px 30px -12px rgba(var(--lime-rgb),.55)}:root[data-theme=light] .sh-b:hover{border-color:rgba(var(--lav-rgb),.5)}:root[data-theme=light] .sh-b[data-copied]{color:var(--lav);border-color:rgba(var(--lav-rgb),.5)}.sh-c{flex:none;position:relative}.hud.on .sh-c{pointer-events:auto}.sh-cb{border:1px solid var(--line2);height:30px;color:var(--ink2);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 12px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.sh-cb:hover,.sh-cb[aria-expanded=true]{color:var(--ink);background:rgba(var(--edge-rgb),.07);border-color:rgba(var(--lime-rgb),.5)}:root[data-theme=light] .sh-cb:hover,:root[data-theme=light] .sh-cb[aria-expanded=true]{border-color:rgba(var(--lav-rgb),.5)}.sh-cb svg{flex:none;width:14px;height:14px}.sh-pop{z-index:50;background:var(--panel-solid);border:1px solid var(--line2);box-shadow:var(--p1-shadow);border-radius:16px;width:max-content;padding:10px;position:absolute;top:calc(100% + 12px);right:0}.sh-pop[hidden]{display:none}.sh-pop .sh-list{flex-direction:column;gap:6px}.sh-pop .sh-b{width:100%}@media(max-width:560px){.sh-cl{display:none}.sh-cb{padding:0 9px}}.ftr-end{flex-wrap:wrap;gap:6px 18px;margin:0;display:flex}@media(max-width:1080px){.ftr-end{grid-column:1/-1}}.pv{padding-bottom:clamp(56px,7vw,110px)}.pv-s{border-top:1px solid var(--line);max-width:680px;padding:26px 0}.pv-s h2{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 12px}:root[data-theme=light] .pv-s h2{color:var(--lav)}.pv-s p{font:400 17px/1.65 var(--sans);color:var(--ink2);text-wrap:pretty;margin:0}.still .sh-b,.still .sh-cb{transition:none}@media(prefers-reduced-motion:reduce){.sh-b,.sh-cb{transition:none}}.cm-row{padding-top:0}.cm-card{background:var(--panel);border:1px solid var(--line2);box-shadow:var(--p1-shadow);border-radius:22px;gap:22px;padding:clamp(22px,3vw,34px);display:grid}.cm-react{border-bottom:1px solid var(--line);padding-bottom:20px}.cm-rl{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cm-rb{border:1px solid var(--line2);background:rgba(var(--edge-rgb),.04);min-width:64px;height:40px;color:var(--ink2);font:500 12.5px/1 var(--mono);letter-spacing:.04em;cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.cm-rb:hover:not(:disabled){color:var(--ink);background:rgba(var(--edge-rgb),.09);border-color:rgba(var(--lime-rgb),.5)}.cm-rb:active:not(:disabled){transform:scale(.96)}.cm-rb:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cm-rb[aria-pressed=true]{color:var(--ink);border-color:rgba(var(--lime-rgb),.7);background:rgba(var(--lime-rgb),.12)}.cm-rb:disabled{cursor:default;opacity:.75}.cm-re{font-size:17px;line-height:1}.cm-rn{font-variant-numeric:tabular-nums;min-width:1.2ch}:root[data-theme=light] .cm-rb:hover:not(:disabled){border-color:rgba(var(--lav-rgb),.5)}:root[data-theme=light] .cm-rb[aria-pressed=true]{border-color:rgba(var(--lav-rgb),.6);background:rgba(var(--lav-rgb),.1)}.cm-head{gap:10px;display:grid}.cm-head .kick{gap:0;display:inline-flex}.cm-n{color:var(--ink2);margin-left:.6em}.cm-title{font:600 clamp(22px,2.2vw,28px)/1.15 var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0}.cm-intro,.cm-none,.cm-closed{color:var(--ink2);font:400 15.5px/1.6 var(--sans);max-width:60ch;margin:0}.cm-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.cm-item{border-top:1px solid var(--line);padding:18px 0}.cm-item:first-child{border-top:0;padding-top:4px}.cm-item:target{scroll-margin-top:calc(var(--bar,64px) + 24px)}.cm-meta{font:500 11.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 8px;display:flex}.cm-name{font:600 15px/1.3 var(--sans);letter-spacing:-.005em;text-transform:none;color:var(--ink)}.cm-name a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:rgba(var(--lime-rgb),.55);text-decoration-color:rgba(var(--lime-rgb),.55);text-underline-offset:3px;border-radius:4px}.cm-name a:hover{text-decoration-color:currentColor}.cm-name a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:root[data-theme=light] .cm-name a{-webkit-text-decoration-color:rgba(var(--lav-rgb),.55);text-decoration-color:rgba(var(--lav-rgb),.55)}.cm-body p{color:var(--ink2);font:400 16px/1.65 var(--sans);overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 10px}.cm-body p:last-child{margin-bottom:0}#cm-ssr:empty{display:none}.cm-form{border-top:1px solid var(--line);gap:14px;padding-top:20px;display:grid}.cm-row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media(max-width:640px){.cm-row2{grid-template-columns:1fr}}.cm-f{gap:6px;display:grid}.cm-l{font:500 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.cm-l small{letter-spacing:.06em;text-transform:none;color:var(--dim);font-size:10.5px}.cm-f input,.cm-f textarea{border:1px solid var(--line2);background:var(--panel-solid);width:100%;color:var(--ink);font:400 15.5px/1.5 var(--sans);border-radius:12px;padding:11px 14px}.cm-f input{height:44px;padding-block:0}.cm-f textarea{resize:vertical;min-height:120px}.cm-f input:focus-visible,.cm-f textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:#0000}.cm-f [aria-invalid=true]{border-color:var(--pink,#ff5c8a)}.cm-p{font:500 13px/1.4 var(--sans);color:var(--pink,#ff5c8a)}.cm-left{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--dim);justify-self:end}.cm-left.over{color:var(--pink,#ff5c8a)}.cm-hp{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.cm-ts:empty{display:none}.cm-send{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.cm-send .btn:disabled{opacity:.6;cursor:progress}.cm-msg{font:500 14px/1.45 var(--sans);color:var(--ink2);margin:0}.cm-msg.cm-held{color:var(--lime)}.cm-msg.cm-error{color:var(--pink,#ff5c8a)}:root[data-theme=light] .cm-msg.cm-held{color:var(--lav)}.cm-feed{font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0}.cm-feed a{color:var(--dim)}.still .cm-rb{transition:none}@media(prefers-reduced-motion:reduce){.cm-rb{transition:none}.cm-rb:active:not(:disabled){transform:none}}.nl{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:end;gap:14px 28px;display:grid}.nl-card{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.nl-footer{background:var(--panel,var(--bg2));border:1px solid var(--rule2);border-radius:20px;margin-bottom:44px;padding:26px clamp(18px,3vw,30px)}.nl-page{grid-template-columns:minmax(0,1fr);max-width:620px}.nl-k{margin:0 0 8px}.nl-h{font:650 clamp(18px,1.6vw,21px)/1.25 var(--sans);letter-spacing:-.01em;color:var(--ink);margin:0}.nl-line{font:400 14.5px/1.55 var(--sans);color:var(--dim);text-wrap:pretty;margin:6px 0 0}.nl-f{flex-wrap:wrap;gap:8px;margin:0;display:flex}.nl-in{border:1px solid var(--rule2);background:rgba(var(--ink-rgb),.04);min-width:0;height:44px;color:var(--ink);font:400 15px/1 var(--sans);border-radius:999px;flex:220px;padding:0 18px}.nl-in::placeholder{color:var(--dim);opacity:.8}.nl-in:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-color:#0000}.nl-in[aria-invalid=true]{border-color:var(--rose)}.nl-in:disabled{opacity:.55;cursor:not-allowed}.nl-b{background:var(--lime);height:44px;color:var(--on-accent);font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 22px;transition:box-shadow .2s,opacity .2s}.nl-b:hover:not(:disabled){box-shadow:0 10px 30px -12px rgba(var(--lime-rgb),.7)}.nl-b:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.nl-b:disabled{opacity:.5;cursor:not-allowed}.nl-ts:empty{display:none}.nl-ts{flex-basis:100%}.nl-msg{min-height:0;font:400 13.5px/1.45 var(--sans);color:var(--rose);flex-basis:100%;margin:0}.nl-msg:empty{display:none}.nl-done,.nl-result{border:1px solid rgba(var(--lime-rgb),.45);color:var(--ink);font:500 15px/1.5 var(--sans);border-radius:14px;margin:0;padding:12px 16px}.nl-result.nl-bad{border-color:#ff7a9080}.nl-fine{font:400 11.5px/1.5 var(--mono);letter-spacing:.04em;color:var(--dim);grid-column:1/-1;margin:0}.nl-more{color:var(--ink2);text-underline-offset:3px;text-decoration:underline}.nl-more:hover{color:var(--lime)}.nl-more:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:3px}.nl-act p{margin:0 0 16px}.nl-act-b{margin-top:2px}:root[data-theme=light] .nl-in:focus-visible,:root[data-theme=light] .nl-more:focus-visible{outline-color:var(--lav)}:root[data-theme=light] .nl-more:hover{color:var(--lav)}:root[data-theme=light] .nl-done,:root[data-theme=light] .nl-result.nl-ok{border-color:rgba(var(--lav-rgb),.45)}@media(max-width:760px){.nl{grid-template-columns:minmax(0,1fr)}.nl-b{flex:100%}}@media(prefers-reduced-motion:reduce){.nl-b{transition:none}}.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop:before{content:"";background-image:radial-gradient(rgba(var(--ink-rgb),.07) 1px,transparent 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%)}.backdrop-glow{filter:blur(90px);opacity:.16;border-radius:50%;width:46vmax;height:46vmax;animation:36s ease-in-out infinite alternate drift;position:absolute}.backdrop-glow-a{background:var(--color-accent);top:-18vmax;left:-10vmax}.backdrop-glow-b{background:var(--color-lavender);animation-duration:44s;animation-direction:alternate-reverse;top:20vmax;right:-16vmax}@keyframes drift{to{transform:translate(8vmax,6vmax)scale(1.15)}}.crt .backdrop:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000059 2px 3px);position:absolute;inset:0}.crt body,.crt main{text-shadow:0 0 6px rgba(var(--lime-rgb),.25)}.cursor{vertical-align:-.15em;background:var(--color-lavender);width:.55em;height:1.05em;box-shadow:0 0 12px rgba(var(--lav-rgb),.53);margin-left:.15em;animation:1.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.type-line{white-space:nowrap;width:calc(var(--chars) * 1ch);max-width:100%;animation:typing calc(var(--chars) * 38ms) steps(var(--chars)) both;animation-delay:var(--delay,0s);display:block;overflow:hidden}.type-reveal{animation:.35s ease-out both reveal;animation-delay:var(--delay,0s)}@keyframes typing{0%{width:0}}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}}.git-log{margin:0;padding:0;list-style:none;position:relative}.git-log:before{content:"";background:linear-gradient(to bottom,var(--color-accent),var(--color-lavender) 60%,transparent);opacity:.6;width:2px;position:absolute;top:18px;bottom:18px;left:11px}.git-log-item{border:1px solid #0000;border-radius:8px;padding:20px 20px 20px 44px;transition:background .2s,border-color .2s,transform .2s;position:relative}.git-log-item:before{content:"";background:var(--color-paper);border:2px solid var(--color-accent);border-radius:50%;width:14px;height:14px;transition:background .2s,box-shadow .2s;position:absolute;top:27px;left:5px}.git-log-item:hover,.git-log-item[data-selected=true]{background:rgba(var(--bg2-rgb),.8);border-color:var(--color-line);transform:translate(4px)}.git-log-item:hover:before,.git-log-item[data-selected=true]:before{background:var(--color-accent);box-shadow:0 0 0 4px rgba(var(--lime-rgb),.2),0 0 18px var(--lime)}.ref-badge{font-family:var(--font-mono);border-radius:4px;align-items:center;padding:0 6px;font-size:11px;line-height:18px;display:inline-flex}.status-line{z-index:40;border-top:1px solid var(--color-line);background:rgba(var(--bg-rgb),.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:28px;font-family:var(--font-mono);color:var(--color-muted);align-items:stretch;font-size:11px;display:flex;position:fixed;inset:auto 0 0}.status-seg{white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:flex}.status-mode{background:var(--color-accent);color:var(--on-accent);letter-spacing:.08em;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-right:22px;font-weight:700}.status-mode[data-mode=SEARCH]{background:var(--color-green)}.status-mode[data-mode=HELP]{background:var(--color-yellow)}.overlay{z-index:70;background:rgba(var(--bg-rgb),.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.15s ease-out both reveal;display:flex;position:fixed;inset:0}.zoom-overlay{z-index:60;background:rgba(var(--bg-rgb),.9);cursor:zoom-out;touch-action:pinch-zoom;place-items:center;padding:4vmin;animation:.2s ease-out both reveal;display:grid;position:fixed;inset:0}.zoom-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));border:1px solid var(--rule2);background:var(--bg2);min-width:44px;min-height:44px;color:var(--ink);font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:0 16px;position:fixed}img[data-zoomable][role=button]{cursor:zoom-in}.zoom-overlay img{border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 30px 80px #000c}.reading-progress{z-index:45;transform-origin:0;background:linear-gradient(90deg,var(--color-accent),var(--color-lavender));height:3px;box-shadow:0 0 12px var(--lime);position:fixed;inset:0 0 auto}.frontmatter{font-family:var(--font-mono);color:var(--color-dim);font-size:13px;line-height:1.9}.frontmatter .key{color:var(--color-pink)}.frontmatter .str{color:var(--color-yellow)}.frontmatter .num{color:var(--color-accent)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.backdrop-glow,.cursor,.type-line,.type-reveal,.overlay,.zoom-overlay{animation:none!important}.git-log-item,.post-figure img{transition:none}}.admin-pill{font-family:var(--font-mono);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;line-height:1.6;display:inline-flex}.admin-pill-dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px}.admin-chip{border:1px solid var(--color-line);background:var(--color-paper);font-family:var(--font-mono);border-radius:5px;align-items:center;gap:6px;padding:1px 8px;font-size:11px;line-height:1.7;display:inline-flex}.admin-field{border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-mono);border-radius:6px;outline:none;padding:7px 10px;font-size:12px;transition:border-color .15s}.admin-field::placeholder{color:var(--color-line-strong)}.admin-field:focus,.admin-field:focus-within{border-color:var(--color-accent)}.admin-why{font-family:var(--font-mono);color:var(--color-dim);font-size:11px}.admin-segment{border:1px solid var(--color-line);background:var(--color-paper);font-family:var(--font-mono);border-radius:8px;flex-wrap:wrap;padding:3px;font-size:12px;display:inline-flex}.admin-segment button,.admin-segment a{cursor:pointer;color:var(--color-muted);border-radius:5px;padding:5px 12px;text-decoration:none;transition:background-color .15s,color .15s}.admin-segment button:hover:not(:disabled),.admin-segment a:hover{color:var(--color-ink)}.admin-segment button[aria-pressed=true],.admin-segment a[aria-current=page]{background:var(--color-raised);color:var(--color-accent);box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.33)}:root[data-theme=light] .admin-segment button[aria-pressed=true],:root[data-theme=light] .admin-segment a[aria-current=page]{color:#3f6600}.admin-segment button:disabled{cursor:default;color:var(--color-dim)}.admin-tile{border:1px solid var(--color-line);background:rgba(var(--bg2-rgb),.7);border-radius:10px;align-content:start;gap:4px;padding:16px 18px;transition:border-color .15s,transform .15s;display:grid}button.admin-tile{cursor:pointer}button.admin-tile:hover,.admin-tile[data-active=true]{border-color:rgba(var(--lime-rgb),.5)}.admin-tile-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.admin-tile-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-ink);font-size:34px;font-weight:600;line-height:1.1}.admin-tile-note{font-family:var(--font-mono);color:var(--color-dim);font-size:11px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{border-bottom:1px solid var(--color-line);font-family:var(--font-mono);letter-spacing:.12em;text-align:left;text-transform:uppercase;color:var(--color-dim);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:500}.admin-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:12px 14px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:rgba(var(--ink-rgb),.02)}.admin-action{cursor:pointer;color:var(--color-muted);border:1px solid #0000;border-radius:5px;padding:4px 8px;transition:border-color .15s,color .15s}.admin-action:hover:not(:disabled){border-color:var(--color-line);color:var(--color-ink)}.admin-action:disabled{cursor:not-allowed;opacity:.5}.admin-facts{font-family:var(--font-mono);grid-template-columns:82px minmax(0,1fr);gap:8px 10px;margin:0;font-size:12px;display:grid}.admin-facts dt{color:var(--color-dim)}.admin-facts dd{min-width:0;color:var(--color-muted);margin:0}.admin-choice{cursor:pointer;border:1px solid var(--color-line);background:var(--color-paper);border-radius:10px;gap:12px;padding:14px 16px;transition:border-color .15s;display:flex}.admin-choice[data-checked=true]{border-color:rgba(var(--lime-rgb),.5);box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.19)}.admin-dialog{border:1px solid var(--color-line-strong);background:var(--color-surface);width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--color-ink);color-scheme:dark;border-radius:12px;margin:auto;padding:0;box-shadow:0 30px 80px -20px #000}.admin-dialog-wide{width:min(980px,100vw - 32px)}.admin-dialog::backdrop{background:rgba(var(--bg-rgb),.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-snippets{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px;font-size:11px;display:inline-flex}.admin-snippets button{cursor:pointer;border:1px solid var(--color-line);min-height:24px;color:var(--color-muted);border-radius:4px;padding:1px 7px;transition:border-color .15s,color .15s}.admin-snippets button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.admin-snippets button:disabled{cursor:not-allowed;opacity:.5}.admin-drop{cursor:pointer;border:1px dashed var(--color-line-strong);background:var(--color-paper);color:var(--color-muted);font-family:var(--font-mono);text-align:center;border-radius:10px;outline:none;place-items:center;gap:4px;padding:28px 16px;font-size:12px;transition:border-color .15s,background-color .15s;display:grid}.admin-drop:hover,.admin-drop:focus-visible,.admin-drop[data-dragging=true]{border-color:var(--color-accent);background:rgba(var(--lime-rgb),.05)}.admin-sheet[open]{flex-direction:column;width:min(1180px,100vw - 32px);height:min(900px,100dvh - 48px);display:flex;overflow:hidden}@media(max-width:640px){.admin-sheet[open]{border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}}.album{flex-direction:column;flex:1;gap:10px;min-height:0;padding-top:12px;display:flex}.album[data-dragging=true]{outline:2px dashed var(--color-accent);outline-offset:-8px}.album-bar{flex-wrap:wrap;gap:8px;padding:0 16px;display:flex}.album-body{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.album-grid{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));align-content:start;gap:8px;padding:4px 16px 16px;display:grid;overflow-y:auto}.album-tile{aspect-ratio:1;cursor:pointer;border:1px solid var(--color-line);background:var(--color-raised);border-radius:8px;padding:0;position:relative;overflow:hidden}.album-tile img{object-fit:cover;width:100%;height:100%}.album-tile[data-focus=true]{border-color:var(--color-lavender)}.album-tile[aria-selected=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--lime-rgb),.53)}.album-check{background:var(--color-accent);min-width:22px;height:22px;color:var(--on-accent);font:600 11px var(--font-mono);border-radius:11px;place-items:center;padding:0 6px;display:grid;position:absolute;top:6px;right:6px}.album-tile-label{color:var(--color-muted);font:10px var(--font-mono);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#000c);padding:14px 6px 4px;position:absolute;inset:auto 0 0;overflow:hidden}.album-detail{border-top:1px solid var(--color-line);align-content:start;gap:10px;max-height:45dvh;padding:12px 16px 16px;display:grid;overflow-y:auto}@media(min-width:900px){.album-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px}.album-detail{border-top:0;border-left:1px solid var(--color-line);max-height:none;padding-top:4px}}.devcard{border:1px solid var(--color-line);color:var(--color-ink);border-radius:.5rem;margin-top:2.5rem;text-decoration:none;transition:border-color .2s,transform .2s;display:block;overflow:hidden;container-type:inline-size}.devcard:hover{border-color:var(--color-accent);transform:translateY(-2px)}.devcard:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.devcard-screen{aspect-ratio:1200/630;font-family:var(--font-mono);background:radial-gradient(60% 85% at 0 0,#ad78ff3d,#0000 70%),radial-gradient(50% 75% at 100% 0,#3c78ff33,#0000 70%),radial-gradient(45% 60% at 80% 115%,#6bdaef1a,#0000 70%),#0b0b0f;flex-direction:column;font-size:2.35cqw;line-height:1.5;display:flex;position:relative}.devcard-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.devcard-bar{color:var(--color-dim);border-bottom:1px solid #ffffff12;align-items:center;gap:1.2em;padding:.75em 1.2em;font-size:.68em;display:flex}.devcard-lights{color:var(--color-accent);letter-spacing:.25em}.devcard-on{color:var(--color-green);margin-left:auto}.devcard-body{white-space:pre;flex:1;padding:.9em 1.5em;overflow:hidden}.devcard-next{margin-top:.35em}.devcard-ls{white-space:normal;flex-wrap:wrap;gap:0 2ch;display:flex}.devcard-cursor{vertical-align:-.22em;background:var(--color-lavender);width:.6em;height:1.15em;margin-left:.1em;animation:1.06s step-end infinite devcard-blink;display:inline-block;box-shadow:0 0 .6em #6bdaef99}.devcard-status{background:#08080ce6;border-top:1px solid #ffffff12;align-items:stretch;font-size:.66em;display:flex}.devcard-status>span{color:var(--color-muted);white-space:nowrap;padding:.5em 1em}.devcard-status>.devcard-mode{background:var(--color-accent);color:#0b0b0f;letter-spacing:.08em;font-weight:700}.devcard-gap{flex:1}.devcard-status>.devcard-clock,.devcard .green{color:var(--color-green)}.devcard .accent,.devcard .title{color:var(--color-accent)}.devcard .title{font-weight:700}.devcard .art{color:var(--color-lavender);text-shadow:0 0 .5em #6bdaef73}.devcard .cyan{color:var(--color-lavender)}.devcard .yellow{color:var(--color-yellow)}.devcard .pink{color:var(--color-pink)}.devcard .orange{color:var(--color-orange)}.devcard .ink{color:var(--color-ink)}.devcard .swatch{vertical-align:-.15em;background:currentColor;width:2.6ch;height:1em;margin-right:1ch;display:inline-block}.devcard .key,.devcard .dim{color:var(--color-dim)}@container (max-width:560px){.devcard-screen{aspect-ratio:5/4;font-size:3.35cqw}.devcard-bar span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){.devcard-cursor{animation:none}.devcard:hover{transform:none}}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.top-1{top:calc(var(--spacing) * 1)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.isolate{isolation:isolate}.z-40{z-index:40}.order-last{order:9999}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.m-1{margin:calc(var(--spacing) * 1)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.m-6{margin:calc(var(--spacing) * 6)}.m-7{margin:calc(var(--spacing) * 7)}.m-8{margin:calc(var(--spacing) * 8)}.m-9{margin:calc(var(--spacing) * 9)}.m-10{margin:calc(var(--spacing) * 10)}.m-11{margin:calc(var(--spacing) * 11)}.m-12{margin:calc(var(--spacing) * 12)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.-ml-px{margin-left:-1px}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-\[38px\]{width:38px;height:38px}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[78vh\]{max-height:78vh}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[1\.5em\]{min-height:1.5em}.min-h-\[16rem\]{min-height:16rem}.min-h-\[38px\]{min-height:38px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[60vh\]{min-height:60vh}.w-2{width:calc(var(--spacing) * 2)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-56{width:calc(var(--spacing) * 56)}.w-\[106px\]{width:106px}.w-\[118px\]{width:118px}.w-\[176px\]{width:176px}.w-\[184px\]{width:184px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[40ch\]{max-width:40ch}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[220px\]{min-width:220px}.min-w-\[1080px\]{min-width:1080px}.flex-1{flex:1}.flex-\[2\]{flex:2}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-top-left{transform-origin:0 0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[96px_minmax\(0\,1fr\)\]{grid-template-columns:96px minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent\/40{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/40{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.border-accent\/50{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/50{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.border-green\/35{border-color:var(--color-green)}@supports (color:color-mix(in lab,red,red)){.border-green\/35{border-color:color-mix(in oklab,var(--color-green) 35%,transparent)}}.border-green\/40{border-color:var(--color-green)}@supports (color:color-mix(in lab,red,red)){.border-green\/40{border-color:color-mix(in oklab,var(--color-green) 40%,transparent)}}.border-lavender\/30{border-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.border-lavender\/30{border-color:color-mix(in oklab,var(--color-lavender) 30%,transparent)}}.border-lavender\/35{border-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.border-lavender\/35{border-color:color-mix(in oklab,var(--color-lavender) 35%,transparent)}}.border-lavender\/40{border-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.border-lavender\/40{border-color:color-mix(in oklab,var(--color-lavender) 40%,transparent)}}.border-lavender\/50{border-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.border-lavender\/50{border-color:color-mix(in oklab,var(--color-lavender) 50%,transparent)}}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-pink\/40{border-color:var(--color-pink)}@supports (color:color-mix(in lab,red,red)){.border-pink\/40{border-color:color-mix(in oklab,var(--color-pink) 40%,transparent)}}.border-pink\/50{border-color:var(--color-pink)}@supports (color:color-mix(in lab,red,red)){.border-pink\/50{border-color:color-mix(in oklab,var(--color-pink) 50%,transparent)}}.border-transparent{border-color:#0000}.border-yellow\/35{border-color:var(--color-yellow)}@supports (color:color-mix(in lab,red,red)){.border-yellow\/35{border-color:color-mix(in oklab,var(--color-yellow) 35%,transparent)}}.border-yellow\/40{border-color:var(--color-yellow)}@supports (color:color-mix(in lab,red,red)){.border-yellow\/40{border-color:color-mix(in oklab,var(--color-yellow) 40%,transparent)}}.border-yellow\/50{border-color:var(--color-yellow)}@supports (color:color-mix(in lab,red,red)){.border-yellow\/50{border-color:color-mix(in oklab,var(--color-yellow) 50%,transparent)}}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-accent,.bg-accent\/15{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/15{background-color:color-mix(in oklab,var(--color-accent) 15%,transparent)}}.bg-accent\/\[0\.04\]{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-accent) 4%,transparent)}}.bg-green,.bg-green\/5{background-color:var(--color-green)}@supports (color:color-mix(in lab,red,red)){.bg-green\/5{background-color:color-mix(in oklab,var(--color-green) 5%,transparent)}}.bg-green\/15{background-color:var(--color-green)}@supports (color:color-mix(in lab,red,red)){.bg-green\/15{background-color:color-mix(in oklab,var(--color-green) 15%,transparent)}}.bg-green\/70{background-color:var(--color-green)}@supports (color:color-mix(in lab,red,red)){.bg-green\/70{background-color:color-mix(in oklab,var(--color-green) 70%,transparent)}}.bg-lavender\/5{background-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.bg-lavender\/5{background-color:color-mix(in oklab,var(--color-lavender) 5%,transparent)}}.bg-lavender\/60{background-color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.bg-lavender\/60{background-color:color-mix(in oklab,var(--color-lavender) 60%,transparent)}}.bg-line{background-color:var(--color-line)}.bg-paper,.bg-paper\/60{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/60{background-color:color-mix(in oklab,var(--color-paper) 60%,transparent)}}.bg-paper\/70{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/70{background-color:color-mix(in oklab,var(--color-paper) 70%,transparent)}}.bg-paper\/80{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/80{background-color:color-mix(in oklab,var(--color-paper) 80%,transparent)}}.bg-paper\/90{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/90{background-color:color-mix(in oklab,var(--color-paper) 90%,transparent)}}.bg-paper\/95{background-color:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/95{background-color:color-mix(in oklab,var(--color-paper) 95%,transparent)}}.bg-pink,.bg-pink\/5{background-color:var(--color-pink)}@supports (color:color-mix(in lab,red,red)){.bg-pink\/5{background-color:color-mix(in oklab,var(--color-pink) 5%,transparent)}}.bg-pink\/15{background-color:var(--color-pink)}@supports (color:color-mix(in lab,red,red)){.bg-pink\/15{background-color:color-mix(in oklab,var(--color-pink) 15%,transparent)}}.bg-raised{background-color:var(--color-raised)}.bg-surface,.bg-surface\/40{background-color:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/40{background-color:color-mix(in oklab,var(--color-surface) 40%,transparent)}}.bg-surface\/60{background-color:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/60{background-color:color-mix(in oklab,var(--color-surface) 60%,transparent)}}.bg-surface\/70{background-color:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/70{background-color:color-mix(in oklab,var(--color-surface) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow\/5{background-color:var(--color-yellow)}@supports (color:color-mix(in lab,red,red)){.bg-yellow\/5{background-color:color-mix(in oklab,var(--color-yellow) 5%,transparent)}}.mask-center{-webkit-mask-position:50%;mask-position:50%}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-36{padding-bottom:calc(var(--spacing) * 36)}.\!pl-0{padding-left:calc(var(--spacing) * 0)!important}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.005em\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--on-accent\)\]{color:var(--on-accent)}.text-accent,.text-accent\/50{color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/50{color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-dim{color:var(--color-dim)}.text-gray-600{color:var(--color-gray-600)}.text-green{color:var(--color-green)}.text-ink{color:var(--color-ink)}.text-lavender,.text-lavender\/80{color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.text-lavender\/80{color:color-mix(in oklab,var(--color-lavender) 80%,transparent)}}.text-muted{color:var(--color-muted)}.text-pink{color:var(--color-pink)}.text-yellow{color:var(--color-yellow)}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.italic\!{font-style:italic!important}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline\!{text-decoration-line:underline!important}.underline-offset-4{text-underline-offset:4px}.accent-\[\#ad78ff\]{accent-color:#ad78ff}.accent-\[var\(--lime\)\]{accent-color:var(--lime)}.accent-accent{accent-color:var(--color-accent)}.\[color-scheme\:dark\]{color-scheme:dark}.opacity-60{opacity:.6}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ink{outline-color:var(--color-ink)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-dim::placeholder{color:var(--color-dim)}.placeholder\:text-lavender\/50::placeholder{color:var(--color-lavender)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-lavender\/50::placeholder{color:color-mix(in oklab,var(--color-lavender) 50%,transparent)}}.placeholder\:text-line-strong::placeholder{color:var(--color-line-strong)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:\!border-yellow:hover{border-color:var(--color-yellow)!important}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-line-strong:hover{border-color:var(--color-line-strong)}.hover\:border-pink:hover{border-color:var(--color-pink)}.hover\:bg-accent\/10:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.hover\:\!text-yellow:hover{color:var(--color-yellow)!important}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-pink:hover{color:var(--color-pink)}.hover\:outline:hover,.hover\:outline-1:hover{outline-style:var(--tw-outline-style);outline-width:1px}.hover\:outline-ink:hover{outline-color:var(--color-ink)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-accent:focus{border-color:var(--color-accent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.aria-pressed\:border-accent\/60[aria-pressed=true]{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.aria-pressed\:border-accent\/60[aria-pressed=true]{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.aria-pressed\:text-accent[aria-pressed=true]{color:var(--color-accent)}.aria-selected\:border-line[aria-selected=true]{border-color:var(--color-line)}.aria-selected\:bg-surface[aria-selected=true]{background-color:var(--color-surface)}.aria-selected\:text-accent[aria-selected=true],.data-\[active\=true\]\:text-accent[data-active=true]{color:var(--color-accent)}@media(min-width:40rem){.sm\:order-none{order:0}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:flex-1{flex:1}.sm\:basis-0{flex-basis:calc(var(--spacing) * 0)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[180px_minmax\(0\,1fr\)\]{grid-template-columns:180px minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_200px\]{grid-template-columns:minmax(0,1fr) 200px}.md\:grid-cols-\[minmax\(0\,330fr\)_minmax\(0\,620fr\)\]{grid-template-columns:minmax(0,330fr) minmax(0,620fr)}.md\:grid-cols-\[minmax\(0\,350fr\)_minmax\(0\,714fr\)\]{grid-template-columns:minmax(0,350fr) minmax(0,714fr)}.md\:overflow-x-auto{overflow-x:auto}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,22rem\)\]{grid-template-columns:minmax(0,1fr) minmax(0,22rem)}}@media(min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-\[88px\]{top:88px}.xl\:max-h-\[calc\(100vh-104px\)\]{max-height:calc(100vh - 104px)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.xl\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.xl\:overflow-y-auto{overflow-y:auto}}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-wght-normal.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-wght-normal.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-symbols2-wght-normal.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Fallback;src:local(Arial);size-adjust:104%;ascent-override:92%;descent-override:26%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local(Courier New);size-adjust:100%;ascent-override:86%;descent-override:24%;line-gap-override:0%}:root{--cw:1160px;--pad:clamp(26px, 8.4vw, 140px);--hdr:72px;--t-xl:clamp(46px, 7.4vw, 116px);--t-l:clamp(38px, 5.6vw, 84px);--t-m:clamp(28px, 3.9vw, 56px);--t-lead:clamp(18px, 1.45vw, 22px);--sans:"Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:var(--sans);--mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark;--bg:#08090b;--bg-rgb:8, 9, 11;--bg2:#0f1014;--bg2-rgb:15, 16, 20;--bg3:#15161b;--ink:#ecebe6;--ink-rgb:236, 235, 230;--ink2:#bebdb6;--dim:#8d8c86;--rule:#ecebe61f;--rule2:#ecebe638;--lime:#b8fc2c;--lime-rgb:184, 252, 44;--lav:#b880fc;--lav-rgb:184, 128, 252;--on-accent:#0a0d03;--rose:#ff7a90;--amber:#f2c14e;--shadow:0 30px 80px -30px #000c}:root[data-theme=light]{color-scheme:light;--bg:#f3efe6;--bg-rgb:243, 239, 230;--bg2:#ebe6da;--bg2-rgb:235, 230, 218;--bg3:#e3ddcf;--ink:#1a1915;--ink-rgb:26, 25, 21;--ink2:#3d3b34;--dim:#66625a;--rule:#1a191524;--rule2:#1a191542;--lime:#4a7700;--lime-rgb:74, 119, 0;--lav:#6a32c8;--lav-rgb:106, 50, 200;--on-accent:#f7f4ec;--rose:#b4233c;--amber:#8a5a00;--shadow:0 30px 70px -36px #3c2d1473}@media(max-width:700px){:root{--pad:30px;--hdr:60px}}@property --p{syntax:"<number>";inherits:false;initial-value:1}:root{--bar:var(--hdr);--r:18px;--r-sm:12px;--panel:rgba(var(--bg2-rgb), .74);--panel-solid:var(--bg2);--line:var(--rule);--line2:var(--rule2);--edge-rgb:var(--ink-rgb);--on-lime:var(--on-accent);--focus:var(--lime);--focus-glow:rgba(var(--lime-rgb), .24);--p1-shadow:0 18px 50px -18px #000000b3, 0 2px 8px #00000059;--p1-shadow-lift:0 30px 60px -24px #000000bf;--veil-a:rgba(var(--bg-rgb), .52);--veil-b:rgba(var(--bg-rgb), .9);--bloom-o:.5;--p1-max:var(--cw);--d-h1:650 var(--t-xl)/.98 var(--sans);--d-h1-ls:-.045em;--d-post:660 clamp(42px, 5.6vw, 88px)/.98 var(--sans);--d-row:640 clamp(30px, 3.2vw, 44px)/1.06 var(--sans);--d-row-ls:-.035em;--d-card:620 20px/1.25 var(--sans);--d-feat:640 clamp(26px, 2.5vw, 38px)/1.08 var(--sans);--d-ls:-.025em;--d-dek:400 var(--t-lead)/1.5 var(--sans);--d-ui:600 15px/1.25 var(--sans);--kick-dash:none}:root[data-theme=light]{--panel:#fffdf7cc;--panel-solid:#fbf9f3;--focus:var(--lav);--focus-glow:rgba(var(--lav-rgb), .2);--p1-shadow:0 18px 40px -22px #3c2d1461, 0 2px 6px #3c2d1414;--p1-shadow-lift:0 26px 50px -24px #3c2d146b;--bloom-o:.42}.p1-page .steps>figure:not(.code-frame),.p1-page .steps>.fk{width:min(var(--fw),100cqw);max-width:none;margin:26px 0 30px}.post-body .fk{margin-block:26px 30px}.post-body figure>figcaption,.post-body .fk .fk-cap{max-width:60em;font:400 14px/1.55 var(--sans);letter-spacing:0;text-transform:none;text-align:left;color:var(--dim);margin:0;padding:30px 4px 2px;display:block}.post-body figure>figcaption .fig-n,.post-body figure>figcaption b,.post-body figure>figcaption strong,.post-body .fk .fk-cap .fk-fig{font:600 14px/1.55 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink2);display:inline}.post-body .fk .fk-cap .fk-cap-t{display:inline}:is(.post-body,.p1-page .steps)>figure.img{--img-w:100%;width:var(--img-w);max-width:100%;margin:26px auto 30px}:is(.post-body,.p1-page .steps)>figure.img--s{--img-w:33%}:is(.post-body,.p1-page .steps)>figure.img--m{--img-w:50%}:is(.post-body,.p1-page .steps)>figure.img--l{--img-w:75%}:is(.post-body,.p1-page .steps)>figure.img--full{--img-w:100%}:is(.post-body,.p1-page .steps)>figure.img--w15{--img-w:15%}:is(.post-body,.p1-page .steps)>figure.img--w20{--img-w:20%}:is(.post-body,.p1-page .steps)>figure.img--w25{--img-w:25%}:is(.post-body,.p1-page .steps)>figure.img--w30{--img-w:30%}:is(.post-body,.p1-page .steps)>figure.img--w35{--img-w:35%}:is(.post-body,.p1-page .steps)>figure.img--w40{--img-w:40%}:is(.post-body,.p1-page .steps)>figure.img--w45{--img-w:45%}:is(.post-body,.p1-page .steps)>figure.img--w50{--img-w:50%}:is(.post-body,.p1-page .steps)>figure.img--w55{--img-w:55%}:is(.post-body,.p1-page .steps)>figure.img--w60{--img-w:60%}:is(.post-body,.p1-page .steps)>figure.img--w65{--img-w:65%}:is(.post-body,.p1-page .steps)>figure.img--w70{--img-w:70%}:is(.post-body,.p1-page .steps)>figure.img--w75{--img-w:75%}:is(.post-body,.p1-page .steps)>figure.img--w80{--img-w:80%}:is(.post-body,.p1-page .steps)>figure.img--w85{--img-w:85%}:is(.post-body,.p1-page .steps)>figure.img--w90{--img-w:90%}:is(.post-body,.p1-page .steps)>figure.img--w95{--img-w:95%}:is(.post-body,.p1-page .steps)>figure.img--w100{--img-w:100%}:is(.post-body,.p1-page .steps)>figure.img--left{float:left;clear:left;width:min(var(--img-w),60%);margin:6px 28px 18px 0}:is(.post-body,.p1-page .steps)>figure.img--right{float:right;clear:right;width:min(var(--img-w),60%);margin:6px 0 18px 28px}.post-body>figure.img>img{width:100%}.post-body>figure.img>figcaption,.post-body>figure.img .fk-cap{padding-top:12px}.post-body>figure.img--center:not(.img--full):not(.img--w100)>figcaption{text-align:center;margin-inline:auto}.post-body>figure:is(.img--left,.img--right)~:is(h1,h2,h3,h4,h5,h6,hr,pre,table,details,blockquote,.code-frame,.callout,.fk:not(.img--left):not(.img--right),figure:not(.img--left):not(.img--right),.footnotes){clear:both}.post-body>figure:is(.img--left,.img--right)~:is(ul,ol){display:flow-root}.post-body:has(>figure.img--left,>figure.img--right):after{content:"";clear:both;display:block}@media(max-width:640px){:is(.post-body,.p1-page .steps)>figure:is(.img--left,.img--right){float:none;width:100%;margin:26px 0 30px}:is(.post-body,.p1-page .steps)>figure.img--center{width:max(var(--img-w),60%)}}html{scroll-behavior:smooth}.admin-editor .mdxeditor{--baseBase:var(--bg2);--baseBgSubtle:var(--bg2);--baseBg:var(--bg3);--baseBgHover:var(--bg3);--baseBgActive:var(--bg3);--baseLine:var(--rule2);--baseBorder:var(--rule2);--baseBorderHover:var(--dim);--baseSolid:var(--dim);--baseText:var(--ink2);--baseTextContrast:var(--ink);--accentBorder:var(--lime);--accentSolid:var(--lime);--accentText:var(--lime);--basePageBg:var(--bg2);font-family:var(--font-sans)}.admin-editor .mdxeditor-toolbar{background:var(--bg2);border-bottom:1px solid var(--color-line);border-radius:0}.admin-prose{outline:none;min-height:55vh;padding:28px 32px}.admin-prose blockquote{font-family:var(--font-sans);font-size:1em}.admin-editor{color-scheme:inherit}.admin-editor .mdxeditor-toolbar{flex-wrap:wrap;height:auto;overflow:visible}.admin-editor .cm-editor{color:var(--color-ink);font-family:var(--font-mono);font-size:14px;background:var(--bg)!important}.admin-editor .cm-gutters{background:var(--bg2)!important;border-right:1px solid var(--color-line)!important;color:var(--dim)!important}.admin-editor .cm-activeLine,.admin-editor .cm-activeLineGutter{background:rgba(var(--lime-rgb),.08)!important}.admin-editor .cm-cursor{border-left-color:var(--color-lavender)!important}.admin-editor .cm-selectionBackground,.admin-editor .cm-focused .cm-selectionBackground{background:rgba(var(--lime-rgb),.25)!important}:root{--admin-sticky-top:var(--hdr)}.admin-editor .mdxeditor-toolbar{top:var(--admin-sticky-top);z-index:15;border-radius:8px 8px 0 0;box-shadow:0 6px 12px -10px #000}@keyframes devcard-blink{50%{opacity:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
