@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.lyric-line{white-space:nowrap;height:18px;transition:opacity var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);line-height:18px;overflow:hidden}@keyframes miniLyricSlideIn{0%{opacity:0;filter:blur(1.5px);transform:translateY(6px)}60%{filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}.mini-lyric-animate{will-change:transform, opacity, filter;animation:.36s cubic-bezier(.16,1,.3,1) forwards miniLyricSlideIn}#btn-mini-scroll-top{opacity:0;pointer-events:none;width:0;margin-right:0;padding-left:0;padding-right:0;transition:width .28s cubic-bezier(.16,1,.3,1),opacity .24s ease-out,transform .28s cubic-bezier(.16,1,.3,1),margin .28s,background-color .2s,border-color .2s,color .2s;overflow:hidden;transform:scale(.85)}body.has-scrolled #btn-mini-scroll-top{opacity:1;pointer-events:auto;width:2rem;transform:scale(1)}.article-mini-player{--mini-progress:0%;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:40;opacity:0;pointer-events:none;width:min(100% - 1.5rem,30rem);transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-slow) var(--ease-standard);position:fixed;transform:translate(-50%,1.25rem)scale(.985)}.article-mini-player:after{content:"";top:-1.25rem;left:-1rem;right:-1rem;bottom:calc(-1.5rem - env(safe-area-inset-bottom));pointer-events:none;z-index:-1;position:absolute}.article-mini-player.is-visible:after{pointer-events:auto}.article-mini-player.is-visible{opacity:1;pointer-events:auto;transition-duration:var(--motion-slow), .42s;transition-timing-function:var(--ease-standard), var(--ease-out);transform:translate(-50%)scale(1)}.article-mini-player.is-visible.is-docked{transform:translate(-50%, calc(100% + .75rem + env(safe-area-inset-bottom) - 10px));transition:transform .38s cubic-bezier(.16, 1, .3, 1), opacity var(--motion-base) var(--ease-standard)}@media (width>=640px){.article-mini-player{bottom:calc(1.25rem + env(safe-area-inset-bottom))}.article-mini-player.is-visible.is-docked{transform:translate(-50%, calc(100% + 1.25rem + env(safe-area-inset-bottom) - 10px))}}body.is-scrolling .article-mini-player.is-docked:not(.is-peek-expanded){transition:transform .22s,opacity .2s;transform:translate(-50%, calc(100% + 2rem + env(safe-area-inset-bottom)))!important;opacity:0!important;pointer-events:none!important}.article-mini-player.is-visible.is-peek-expanded{transform:translate(-50%)scale(1)!important}.mini-player-peek-handle{cursor:pointer;z-index:25;touch-action:manipulation;opacity:0;pointer-events:none;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:100px;height:24px;padding:0;transition:opacity .2s;display:flex;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.article-mini-player.is-docked .mini-player-peek-handle{opacity:1;pointer-events:auto}.mini-player-pill{background:var(--ink);opacity:.45;border-radius:9999px;width:36px;height:4px;transition:opacity .16s,width .2s,background-color .16s,transform .2s;box-shadow:0 1px 3px #0000001f}#btn-mini-pin{border:1px solid #0000;transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s}#btn-mini-pin svg{transition:transform .2s var(--ease-standard)}#btn-mini-pin[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper-card);box-shadow:0 0 0 1px color-mix(in srgb, var(--paper-card) 55%, transparent)}#btn-mini-pin[aria-pressed=true] svg{transform:rotate(-45deg)scale(1.08)}#btn-mini-pin[aria-pressed=false]{color:var(--muted)}.mini-player-peek-handle:hover .mini-player-pill,.mini-player-peek-handle:focus-visible .mini-player-pill{opacity:.85;background:var(--ink-strong);width:48px}.article-mini-player:not(.is-docked) .mini-player-peek-handle{pointer-events:none;opacity:0}.article-mini-progress{z-index:10;appearance:none;background:linear-gradient(to right, var(--ink) 0, var(--ink) var(--mini-progress), var(--line) var(--mini-progress), var(--line) 100%);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background-position:bottom;background-repeat:no-repeat;background-size:100% 2.5px;width:100%;height:18px;margin:0;position:absolute;inset:auto 0 0}.article-mini-progress::-webkit-slider-runnable-track{background:0 0;height:18px}.article-mini-progress::-webkit-slider-thumb{appearance:none;background:0 0;border:0;width:12px;height:18px;margin-top:0}.article-mini-progress::-moz-range-track{background:0 0;height:18px}.article-mini-progress::-moz-range-thumb{background:0 0;border:0;width:12px;height:18px}.article-mini-progress:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.article-mini-progress:disabled{cursor:default;opacity:.65}html.has-article-mini-player body{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));transition:padding-bottom .3s}html.has-expanded-player body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.progress-time-tooltip{z-index:30;background:var(--ink);color:var(--paper-card);font-family:var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;border-radius:4px;padding:2px 7px;font-size:11px;line-height:1.4;transition:opacity .12s;position:absolute}.progress-time-tooltip.is-visible{opacity:1}.mini-progress-tooltip{margin-bottom:6px;bottom:100%;transform:translate(-50%)}.site-toast-container[data-astro-cid-gpi4hsmx]{top:calc(1rem + env(safe-area-inset-top));z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:90%;max-width:440px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.site-toast{pointer-events:auto;opacity:0;-webkit-backdrop-filter:blur(8px);border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13.5px;line-height:1.4;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(-8px)scale(.98);box-shadow:0 4px 16px #00000014,0 1px 3px #0000000a}.site-toast--visible{opacity:1;transform:translateY(0)scale(1)}.site-toast--info{background:var(--paper-card);border:1px solid var(--line-strong);color:var(--text)}.site-toast--success{background:var(--paper-card);border:1px solid color-mix(in srgb, var(--success) 40%, var(--line));color:var(--text)}.site-toast--success .site-toast__icon{color:var(--success)}.site-toast--error{background:var(--paper-card);border:1px solid color-mix(in srgb, var(--danger) 50%, var(--line));color:var(--text)}.site-toast--error .site-toast__icon{color:var(--danger)}.site-toast--warning{background:var(--paper-card);border:1px solid color-mix(in srgb, var(--warning) 50%, var(--line));color:var(--text)}.site-toast--warning .site-toast__icon{color:var(--warning)}.site-toast__icon{flex-shrink:0;font-size:16px}.site-toast__message{word-break:break-word;flex:1;min-width:0}.site-toast__close{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:flex}.site-toast__close:hover{color:var(--text);background:var(--line)}:root{--arc-smooth-ease:cubic-bezier(.32, .72, 0, 1);--arc-elastic-out:linear(0, .5737 7.6%, .8382 11.87%, .9463 14.19%, 1.0292 16.54%, 1.0886 18.97%, 1.1258 21.53%, 1.137 22.97%, 1.1424 24.48%, 1.1423 26.1%, 1.1366 27.86%, 1.1165 31.01%, 1.0507 38.62%, 1.0219 42.57%, .9995 46.99%, .9872 51.63%, .9842 58.77%, 1.0011 81.26%, 1)}.arc-spark-layer{z-index:9998;pointer-events:none;mix-blend-mode:difference;position:fixed;inset:0;overflow:hidden}.arc-click-spark-burst{pointer-events:none;width:0;height:0;position:absolute}.arc-click-spark{width:10px;height:3.5px;transform:rotate(var(--spark-angle,-45deg));transform-origin:50%;pointer-events:none;position:absolute;top:-1.75px;left:-5px}.arc-click-spark>i{transform-origin:100%;background:#f2efe7;border-radius:999px;width:100%;height:100%;animation:.4s cubic-bezier(.22,1,.36,1) forwards arc-spark-radiate;display:block}@keyframes arc-spark-radiate{0%{opacity:1;transform:translate(0,0)scaleX(.95)}70%{opacity:.92}to{opacity:0;transform:translate(15px)scaleX(0)}}.arc-cursor{display:none}@media (hover:hover) and (pointer:fine){.arc-cursor{z-index:9997;pointer-events:none;will-change:transform;opacity:0;transition:opacity .28s;display:block;position:fixed;top:0;left:0}.arc-cursor.is-active{opacity:1}.arc-cursor-follower{pointer-events:none;transition:opacity .2s ease, transform .22s var(--arc-smooth-ease);position:absolute;top:0;left:0}.arc-cursor.has-pill .arc-cursor-follower{opacity:0;transform:scale(.4)}.arc-cursor-dot{mix-blend-mode:difference;background:#f2efe7;border-radius:50%;width:5px;height:5px;transition:transform .2s,opacity .2s;position:absolute;top:-2.5px;left:-2.5px}.arc-cursor.is-hovering .arc-cursor-dot{opacity:.6}.arc-cursor-ring{mix-blend-mode:difference;border:1px solid #f2efe773;border-radius:50%;width:26px;height:26px;transition:transform .22s cubic-bezier(.16,1,.3,1),width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),top .22s cubic-bezier(.16,1,.3,1),left .22s cubic-bezier(.16,1,.3,1),border-color .2s,background-color .2s;position:absolute;top:-13px;left:-13px}.arc-cursor.is-hovering .arc-cursor-ring{background:#f2efe714;border-color:#f2efe7d9;width:38px;height:38px;top:-19px;left:-19px;transform:scale(1.08)}.arc-cursor.is-down .arc-cursor-ring{transform:scale(.82)}.arc-cursor-pill{color:#f2efe7;letter-spacing:.02em;white-space:nowrap;opacity:0;clip-path:inset(0 100% 0 0 round 999px);transition:opacity .22s ease, transform .48s var(--arc-elastic-out), clip-path .36s var(--arc-smooth-ease), background-color .2s ease;transform-origin:0 0;pointer-events:none;background:#20201d;border:1px solid #f2efe72e;border-radius:999px;align-items:center;gap:8px;margin-top:14px;margin-left:16px;padding:7px 14px 7px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.1;display:inline-flex;transform:translate(-14px,-16px)scale(.62);box-shadow:0 12px 28px -8px #14141247}.arc-cursor.has-pill .arc-cursor-pill{opacity:1;clip-path:inset(0 0% 0 0 round 999px);transform:translate(0,0)scale(1)}.arc-cursor.has-pill.is-pressed .arc-cursor-pill{transform:translate(0,0)scale(.91)}.arc-cursor-icon-wrap{color:#20201d;background:#87a981;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.arc-cursor-svg{width:11px;height:11px;transition:transform .3s var(--arc-elastic-out), opacity .2s ease;grid-area:1/1}.arc-cursor[data-icon=arrow] .arc-cursor-svg--flip,.arc-cursor[data-icon=flip] .arc-cursor-svg--arrow{opacity:0;transform:scale(.5)rotate(-45deg)}.arc-cursor[data-icon=arrow] .arc-cursor-svg--arrow,.arc-cursor[data-icon=flip] .arc-cursor-svg--flip{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.arc-spark-layer,.arc-cursor{display:none!important}}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-black:#000;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--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:calc(1.5 / 1);--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-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--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;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--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)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.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}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-14{top:calc(var(--spacing) * -14)}.top-0{top:0}.top-full{top:100%}.right-0{right:0}.right-3\.5{right:calc(var(--spacing) * 3.5)}.bottom-\[calc\(100\%\+0\.75rem\)\]{bottom:calc(100% + .75rem)}.left-0{left:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-\[1px\]{margin-left:1px}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-\[1lh\]{height:1lh}.h-\[1px\]{height:1px}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:calc(var(--spacing) * 32)}.min-h-\[36px\]{min-height:36px}.min-h-\[65px\]{min-height:65px}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-\[35\%\]{width:35%}.w-\[65\%\]{width:65%}.w-\[90\%\]{width:90%}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[46rem\]{max-width:46rem}.max-w-\[210px\]{max-width:210px}.max-w-\[340px\]{max-width:340px}.min-w-0{min-width:0}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-x-0{--tw-scale-x:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.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)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.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-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.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)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}: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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-center{align-self:center}.self-start{align-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}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.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-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-none{--tw-border-style:none;border-style:none}.border-\[var\(--ink\)\]{border-color:var(--ink)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\],.border-\[var\(--line-strong\)\]\/60{border-color:var(--line-strong)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--line-strong\)\]\/60{border-color:color-mix(in oklab, var(--line-strong) 60%, transparent)}}.border-b-\[var\(--line\)\]{border-bottom-color:var(--line)}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.bg-\[var\(--ink-strong\)\]{background-color:var(--ink-strong)}.bg-\[var\(--line\)\],.bg-\[var\(--line\)\]\/60{background-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--line\)\]\/60{background-color:color-mix(in oklab, var(--line) 60%, transparent)}}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-\[var\(--paper-card\)\]{background-color:var(--paper-card)}.bg-\[var\(--paper-soft\)\],.bg-\[var\(--paper-soft\)\]\/60{background-color:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--paper-soft\)\]\/60{background-color:color-mix(in oklab, var(--paper-soft) 60%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-current{stroke:currentColor}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.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)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-24{padding-right:calc(var(--spacing) * 24)}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.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-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.9\]{--tw-leading:1.9;line-height:1.9}.leading-\[1\.85\]{--tw-leading:1.85;line-height:1.85}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--ink-strong\)\],.text-\[var\(--ink-strong\)\]\/80{color:var(--ink-strong)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--ink-strong\)\]\/80{color:color-mix(in oklab, var(--ink-strong) 80%, transparent)}}.text-\[var\(--line-strong\)\]{color:var(--line-strong)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--muted-light\)\]{color:var(--muted-light)}.text-\[var\(--paper-card\)\]{color:var(--paper-card)}.text-\[var\(--text\)\]{color:var(--text)}.text-amber-600{color:var(--color-amber-600)}.text-green-600{color:var(--color-green-600)}.text-red-600{color:var(--color-red-600)}.text-yellow-600{color:var(--color-yellow-600)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-\[var\(--line-strong\)\]{-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.placeholder-\[var\(--muted-light\)\]::placeholder{color:var(--muted-light)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[-8px_0_24px_rgba\(27\,54\,93\,0\.08\)\]{--tw-shadow:-8px 0 24px var(--tw-shadow-color,#1b365d14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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-style:var(--tw-outline-style);outline-width:1px}.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,)}.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-filter{-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-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,background-color\,border-color\]{transition-property:color,background-color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\[transform\,opacity\]{will-change:transform,opacity}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.\[offset\:\'\+offset\+\'\]{offset:"+offset+"}.\[offset\:-300\]{offset:-300}.\[offset\:-500\]{offset:-500}.\[offset\:1000\]{offset:1000}.\[offset\:86400000\]{offset:86400000}.\[title\:untimed\]{title:untimed}@media (hover:hover){.group-hover\:-translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:rotate-3:is(:where(.group):hover *){rotate:3deg}.group-hover\:text-\[var\(--ink\)\]:is(:where(.group):hover *){color:var(--ink)}.group-hover\:text-\[var\(--ink-strong\)\]:is(:where(.group):hover *){color:var(--ink-strong)}}.selection\:bg-\[\#d9cfb7\] ::selection{background-color:#d9cfb7}.selection\:bg-\[\#d9cfb7\]::selection{background-color:#d9cfb7}.placeholder\:text-\[var\(--muted-light\)\]::placeholder{color:var(--muted-light)}.focus-within\:border-\[var\(--ink\)\]:focus-within{border-color:var(--ink)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--ink\)\]:hover{border-color:var(--ink)}.hover\:border-\[var\(--line-strong\)\]:hover{border-color:var(--line-strong)}.hover\:bg-\[var\(--ink\)\]:hover{background-color:var(--ink)}.hover\:bg-\[var\(--ink-strong\)\]:hover{background-color:var(--ink-strong)}.hover\:bg-\[var\(--line\)\]:hover{background-color:var(--line)}.hover\:bg-\[var\(--paper-card\)\]:hover{background-color:var(--paper-card)}.hover\:bg-\[var\(--paper-soft\)\]:hover,.hover\:bg-\[var\(--paper-soft\)\]\/50:hover{background-color:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--paper-soft\)\]\/50:hover{background-color:color-mix(in oklab, var(--paper-soft) 50%, transparent)}}.hover\:bg-\[var\(--paper-soft\)\]\/60:hover{background-color:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--paper-soft\)\]\/60:hover{background-color:color-mix(in oklab, var(--paper-soft) 60%, transparent)}}.hover\:text-\[var\(--danger\,\#e11d48\)\]:hover{color:var(--danger,#e11d48)}.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink)}.hover\:text-\[var\(--ink-strong\)\]:hover{color:var(--ink-strong)}.hover\:text-\[var\(--paper-card\)\]:hover{color:var(--paper-card)}.hover\:decoration-\[var\(--ink\)\]:hover{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.hover\:shadow-sm:hover{--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)}.hover\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-\[var\(--ink\)\]:focus{border-color:var(--ink)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus\:ring-\[color-mix\(in_srgb\,var\(--ink\)_16\%\,transparent\)\]:focus{--tw-ring-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-\[color-mix\(in_srgb\,var\(--ink\)_16\%\,transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--ink) 16%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-\[var\(--ink\)\]:focus-visible{--tw-ring-color:var(--ink)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[var\(--paper-card\)\]:focus-visible{--tw-ring-offset-color:var(--paper-card)}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[var\(--line\)\]:disabled{background-color:var(--line)}.disabled\:text-\[var\(--muted-light\)\]:disabled{color:var(--muted-light)}@media (width>=40rem){.sm\:mx-0{margin-inline:0}.sm\:mt-16{margin-top:calc(var(--spacing) * 16)}.sm\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.sm\:inline-block{display:inline-block}.sm\:inline-flex{display:inline-flex}.sm\:w-\[400px\]{width:400px}.sm\:max-w-\[250px\]{max-width:250px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-3{padding:calc(var(--spacing) * 3)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-0{padding-inline:0}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:pb-5{padding-bottom:calc(var(--spacing) * 5)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:text-right{text-align:right}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:flex-row{flex-direction:row}.md\:text-left{text-align:left}}@media (width>=64rem){.lg\:w-\[var\(--ai-panel-width\)\]{width:var(--ai-panel-width)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.lg\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.lg\:py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=80rem){.xl\:hidden{display:none}}.dark\:bg-black\/40:where(.dark,.dark *){background-color:#0006}@supports (color:color-mix(in lab, red, red)){.dark\:bg-black\/40:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:where(.dark,.dark *){color:var(--color-yellow-400)}.dark\:invert:where(.dark,.dark *){--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,)}.dark\:selection\:bg-\[\#4a4336\]:where(.dark,.dark *) ::selection{background-color:#4a4336}.dark\:selection\:bg-\[\#4a4336\]:where(.dark,.dark *)::selection{background-color:#4a4336}.\[data-theme-toggle\]\:visible:is(data-theme-toggle){visibility:visible}}:root{--vt-x:50%;--vt-y:50%;--vt-duration:.52s;--vt-easing:ease-out;--paper:#f5f4ed;--paper-soft:#fbfaf4;--paper-card:#fffdf6;--ink:#1b365d;--ink-strong:#142842;--text:#25231f;--muted:#6f6a5f;--muted-light:#756f63;--line:#ded8c8;--line-strong:#c9bea8;--code-bg:#ebe6d8;--success:#587a52;--warning:#9a6a24;--danger:#9b3a32;--accent:#1b365d;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-ai:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei UI", "Segoe UI", Roboto, sans-serif;--motion-fast:.14s;--motion-base:.22s;--motion-slow:.34s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--site-header-height:62px;--page-gutter:20px;--layout-header-width:75rem;--layout-list-width:70rem;--layout-reading-width:50rem;--ai-panel-width:420px;--ai-layout-gap:32px;--layout-media-width:min(65rem, calc(100vw - 2 * var(--page-gutter)))}.dark{--paper:#181714;--paper-soft:#201f1b;--paper-card:#24221d;--ink:#aebfda;--ink-strong:#d5deef;--text:#eee8d8;--muted:#b0a895;--muted-light:#a59d8c;--line:#3d382e;--line-strong:#5a5244;--code-bg:#2c281f;--success:#9ab58f;--warning:#d2aa67;--danger:#d0877c;--accent:#aebfda}html{scrollbar-gutter:stable}html,body{background:var(--paper);color:var(--text)}body{font-family:var(--font-sans);isolation:isolate;min-height:100dvh;position:relative}.site-entry-loader{z-index:100;background:var(--paper);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s var(--ease-standard), visibility 0s linear .32s;place-items:center;display:grid;position:fixed;inset:0}.site-entry-loader__mark{color:var(--ink-strong);font-family:var(--font-serif);letter-spacing:.24em;transition:transform .32s var(--ease-out);justify-items:center;gap:14px;font-size:18px;font-weight:600;display:grid;transform:translateY(4px)}.site-entry-loader__line{background:var(--accent);transform-origin:0;width:56px;height:1px;transform:scaleX(0)}.site-entry-pending .site-entry-loader{opacity:1;visibility:visible;transition-delay:0s}.site-entry-pending .site-entry-loader__mark{transform:translateY(0)}.site-entry-pending .site-entry-loader__line{animation:entry-line .72s var(--ease-out) both}.site-entry-pending.site-entry-ready .site-entry-loader{opacity:0;visibility:hidden;transition-delay:0s,.32s}@keyframes entry-line{0%{opacity:.45;transform:scaleX(0)}55%,to{opacity:1;transform:scaleX(1)}}.site-entry-pending:not(.site-entry-ready) :is([data-entry-step],.page-enter,.animate-in,.stagger-item-top,.stagger-item-bottom,.scroll-reveal.is-visible){animation-play-state:paused!important}button:not(:disabled):not(.scroll-top-global):active,.site-icon-button:not(:disabled):active,a.scroll-reveal:not(:disabled):active{transition:transform .12s cubic-bezier(.4,0,.2,1)!important;transform:scale(.96)!important}.site-header{z-index:40;background:var(--paper);border-bottom:1px solid var(--line);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);position:sticky;top:0}.site-header:after{content:"";background:var(--accent);opacity:0;pointer-events:none;transform-origin:0;height:1px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.route-pending .site-header:after{opacity:.72;animation:route-progress .9s var(--ease-out) infinite alternate both}.route-pending.route-complete .site-header:after{opacity:0;transition:transform .12s var(--ease-out), opacity .14s var(--ease-standard) 40ms;animation:none;transform:scaleX(1)}@keyframes route-progress{0%{transform:scaleX(.08)}to{transform:scaleX(.82)}}.site-header[data-scrolled]{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.site-header[data-scrolled]{background:color-mix(in srgb, var(--paper) 98%, transparent)}}.site-header[data-scrolled]{-webkit-backdrop-filter:blur(20px)saturate(120%)}.site-header__inner{width:min(var(--layout-header-width), calc(100% - 2 * var(--page-gutter)));height:var(--site-header-height);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.site-wordmark{min-height:44px;color:var(--ink-strong);font-family:var(--font-serif);letter-spacing:.18em;white-space:nowrap;transition:color var(--motion-fast) var(--ease-standard);align-items:center;font-size:16px;font-weight:600;display:inline-flex}.site-wordmark:hover{color:var(--ink)}.site-header__controls,.site-menu,.site-mobile-menu{align-items:center}.site-header__controls{gap:20px;display:flex}.site-menu,.desktop-theme-button{display:none}.site-menu{color:var(--muted);gap:24px;font-size:12px}.site-menu a,.site-menu button{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;appearance:none;transition:color var(--motion-fast) var(--ease-standard);background:0 0;border:0;margin:0;padding-block:14px;padding-inline:0;position:relative}.site-menu a:after,.site-menu button:after{content:"";background:var(--ink);transform-origin:100%;height:1px;transition:transform var(--motion-base) var(--ease-standard);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.site-menu a:hover,.site-menu a[data-active=true],.site-menu button:hover,.site-menu button[data-active=true]{color:var(--ink)}.site-menu a:hover:after,.site-menu a[data-active=true]:after,.site-menu button:hover:after,.site-menu button[data-active=true]:after{transform-origin:0;transform:scaleX(1)}.site-main{width:min(56rem, calc(100% - 2 * var(--page-gutter)));margin-inline:auto;padding-block:48px}.site-main--wide,.site-footer__inner{width:min(var(--layout-list-width), calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.site-main--article{padding-top:28px}.article-reading-column{max-width:var(--layout-reading-width);margin-inline:auto}.article-toc{font:13px/1.6 var(--font-sans);color:var(--muted);display:none}.article-toc[data-toc-visible]{z-index:35;margin:0;display:block;position:fixed}.article-toc-panel{background:0 0;border:none;padding-right:4px;position:relative}.article-toc-header{border-bottom:1px solid var(--line);align-items:center;margin-bottom:6px;padding:0 0 8px 10px;display:flex}.article-toc-title{letter-spacing:.04em;color:var(--ink-strong);font-size:13px;font-weight:600}.article-toc-nav{max-height:var(--toc-max-height,calc(100vh - 140px));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-block:4px;overflow:hidden auto}.article-toc-nav::-webkit-scrollbar{width:4px}.article-toc-nav::-webkit-scrollbar-thumb{background-color:var(--line);border-radius:2px}.article-toc-list{margin:0;padding:0;list-style:none}.article-toc-item{margin:0;padding:0}.article-toc-item[data-toc-root=start]{margin-bottom:4px}.article-toc-item[data-toc-root=comments]{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}.article-toc-link--meta{font-weight:500}.article-toc-list a{box-sizing:border-box;width:100%;max-width:100%;min-height:28px;padding:4px 8px 4px calc(10px + var(--toc-level,0) * 12px);color:var(--muted);overflow-wrap:break-word;word-break:break-word;border-left:2px solid #0000;border-radius:0 4px 4px 0;font-size:13px;line-height:1.5;text-decoration:none;transition:color .18s,background-color .18s,border-color .18s;display:block}.article-toc-list a:hover{color:var(--ink);background:var(--paper-soft)}.article-toc-list a[aria-current]{color:var(--ink-strong);border-left-color:var(--ink);background:var(--paper-card);font-weight:600}@supports (color:color-mix(in lab, red, red)){.article-toc-list a[aria-current]{background:color-mix(in srgb, var(--paper-card) 90%, transparent)}}.article-toc :focus-visible,.article-table-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.article-location-notice{font:13px/1.7 var(--font-sans);color:var(--muted);margin-bottom:16px}.article-meta{row-gap:4px;font-size:13px;line-height:1.8}article[data-post-id] #article-body :is(h2,h3,h4,h5,h6)[id]{scroll-margin-top:calc(var(--site-header-height) + 24px)}[itemprop=headline]{scroll-margin-top:calc(var(--site-header-height) + 20px)}@keyframes toc-target-glow{0%{background-color:color-mix(in srgb, var(--ink) 14%, transparent);box-shadow:-4px 0 0 0 var(--ink)}40%{background-color:color-mix(in srgb, var(--ink) 8%, transparent);box-shadow:-4px 0 0 0 var(--ink)}to{background-color:#0000;box-shadow:-4px 0 #0000}}.article-section-target{animation:toc-target-glow 1.4s var(--ease-out) forwards;border-radius:4px}article[data-post-id] #article-body a{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){article[data-post-id] #article-body a{-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 55%, var(--line));-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 55%, var(--line));-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 55%, var(--line));text-decoration-color:color-mix(in srgb, var(--ink) 55%, var(--line))}}article[data-post-id] #article-body a{text-decoration-thickness:1px}.article-table{min-width:0;margin-block:2rem}.article-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.prose .article-table-scroll>table{width:100%;margin:0;display:table}article[data-post-id].prose p.article-table-hint{font:12px/1.6 var(--font-sans);color:var(--muted);margin:6px 0 0}article[data-post-id].prose .article-code{border:1px solid var(--line);background:var(--code-bg);width:100%;min-width:0;max-width:100%;color:var(--ink-strong);font-family:var(--font-mono);border-radius:8px;margin:1.5rem 0;position:relative;overflow:clip}article[data-post-id].prose #article-body>.article-code{width:max-content;min-width:100%;max-width:var(--layout-media-width);left:50%;translate:-50%}@media (width>=1280px){body:has(.article-toc[data-toc-visible]) article[data-post-id].prose #article-body>.article-code{width:100%;max-width:100%;left:auto;translate:none}}.article-code-header{border-bottom:1px solid var(--line);font:12px/1.6 var(--font-sans);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;padding:5px 12px;display:flex}.article-code-meta{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.article-code-filename{text-overflow:ellipsis;white-space:nowrap;max-width:min(36ch,70vw);color:var(--ink);overflow:hidden}.article-code-actions{flex-wrap:wrap;flex-shrink:0;gap:2px;max-width:100%;display:flex}.article-code button{min-height:32px;font:13px/1.5 var(--font-sans);color:var(--muted);cursor:pointer;border-radius:4px;padding:3px 8px}.article-code button:hover,.article-code button[aria-pressed=true]{color:var(--ink);background:var(--paper-card)}@supports (color:color-mix(in lab, red, red)){.article-code button:hover,.article-code button[aria-pressed=true]{background:color-mix(in srgb, var(--paper-card) 60%, transparent)}}.article-code :is(button,a,pre):focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.article-code button.is-copied{color:var(--ink)}article[data-post-id].prose .article-code pre{box-shadow:none;max-width:100%;font:14px/1.7 var(--font-mono);background:0 0;border:0;border-radius:0;margin:0;padding:14px 16px 14px 0;overflow-x:auto}article[data-post-id].prose .article-code pre:before{content:none}article[data-post-id].prose .article-code pre code{white-space:pre;width:max-content;min-width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:0;padding:0;display:block}.article-code-line{vertical-align:top;min-width:100%;min-height:1.7em;padding-left:4.3em;display:inline-block;position:relative}.article-code-line:before{content:attr(data-line);text-align:right;width:3.3em;color:var(--muted);opacity:.75;-webkit-user-select:none;user-select:none;pointer-events:none;font-variant-numeric:tabular-nums;padding-right:1em;position:absolute;left:0}.article-code[data-code-hide-numbers] .article-code-line{padding-left:16px}.article-code[data-code-hide-numbers] .article-code-line:before{content:none}article[data-post-id].prose .article-code[data-code-wrapped] pre code{white-space:pre-wrap;overflow-wrap:anywhere;width:100%}.article-code-details>summary{font:13px/1.7 var(--font-sans);cursor:pointer;padding:6px 12px}.article-code[data-code-enhanced] .article-code-details>summary{display:none}.article-code-preview{max-height:480px;position:relative;-webkit-mask-image:linear-gradient(#000 calc(100% - 64px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 64px),#0000 100%);overflow-y:hidden!important}.article-code-footer{border-top:1px solid var(--line);background:var(--paper-soft);justify-content:center;align-items:center;padding:6px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.article-code-footer{background:color-mix(in srgb, var(--paper-soft) 85%, transparent)}}.article-code-footer button[data-code-collapse]{border:1px solid var(--line);background:var(--paper-card);height:28px;color:var(--ink);font:12px/1 var(--font-sans);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:0 14px;font-weight:500;transition:all .18s;display:inline-flex;box-shadow:0 1px 3px #00000008}.article-code-footer button[data-code-collapse]:hover{border-color:var(--line-strong);background:var(--paper-soft);box-shadow:0 2px 8px #1b365d14}article[data-post-id].prose :is(h2,h3,h4,h5,h6)[id]{scroll-margin-top:calc(var(--site-header-height) + var(--article-anchor-gap,24px));position:relative}.article-heading-anchor{width:1.25em;height:1.25em;font-family:var(--font-mono);color:var(--muted-light);opacity:0;cursor:pointer;vertical-align:baseline;border-radius:4px;justify-content:center;align-items:center;margin-left:.35em;font-size:.8em;font-weight:400;transition:opacity .18s,color .15s,background-color .15s;display:inline-flex;text-decoration:none!important}article[data-post-id].prose :is(h2,h3,h4,h5,h6)[id]:hover .article-heading-anchor,.article-heading-anchor:focus-visible{opacity:.65}.article-heading-anchor:hover{background:var(--paper-card);opacity:1!important;color:var(--ink)!important}@supports (color:color-mix(in lab, red, red)){.article-heading-anchor:hover{background:color-mix(in srgb, var(--paper-card) 80%, transparent)}}.article-heading-anchor .anchor-check{color:var(--success,#16a34a);font-weight:600}@media (hover:none){.article-heading-anchor{opacity:.4}}article[data-post-id].prose .article-code .article-code-status{font:12px/1.7 var(--font-sans);color:var(--ink);margin:0;padding:6px 12px}.article-code [hidden]{display:none!important}article[data-post-id].prose #article-body :is(.article-code,.article-code-line)[id]{scroll-margin-top:calc(var(--site-header-height) + var(--article-anchor-gap,20px))}.article-token-0{color:#6b665c}.article-token-1{color:#744d7a}.article-token-2{color:#41634b}.article-token-3{color:#8e5634}.article-token-4{color:#365b82}.article-token-5{color:#785d26}.dark .article-token-0{color:#b5ae9f}.dark .article-token-1{color:#c8a4ca}.dark .article-token-2{color:#a4bd98}.dark .article-token-3{color:#d3ad83}.dark .article-token-4{color:#a8bedb}.dark .article-token-5{color:#c9b780}@media (width<=848px){article[data-post-id].prose #article-body>.article-code{max-width:100%}.article-code-header{column-gap:8px}}.reading-layout-content{transition:transform .36s var(--ease-out)}@media (width>=1280px){body.has-ai-sidebar .reading-layout-content{--layout-media-width:min(65rem, calc(100vw - var(--ai-panel-width) - 2 * var(--ai-layout-gap)));transform:translateX(min(0px, calc((100vw - 2 * var(--ai-panel-width) - max(var(--layout-reading-width), var(--layout-media-width)) - 2 * var(--ai-layout-gap)) / 2)))}}@media (width<=767px){body.has-ai-sidebar{overflow:hidden}}.article-card{isolation:isolate;--article-highlight-inset:12px;border-radius:.75rem;position:relative}.article-card:before{content:"";inset-block:0;inset-inline:calc(-1 * var(--article-highlight-inset));z-index:-1;border-radius:inherit;pointer-events:none;transition:background-color .28s var(--ease-standard), box-shadow .38s var(--ease-standard);position:absolute}.article-card__content{transition:translate .38s var(--ease-standard), color .2s var(--ease-standard);translate:0}.article-card:focus-within:before{background:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){.article-card:focus-within:before{background:color-mix(in srgb, var(--paper-soft) 70%, transparent)}}.article-card:focus-within:before{border-radius:.75rem}#article-list>.article-card:first-child,#article-list>.timeline-year-divider:first-child{padding-top:1.25rem}@media (width>=640px){.article-card{--article-highlight-inset:16px}#article-list>.article-card:first-child,#article-list>.timeline-year-divider:first-child{padding-top:1.5rem}}.category-filter,.paper-tab{transition:transform .14s var(--ease-out), color .18s var(--ease-standard), background-color .18s var(--ease-standard), border-color .18s var(--ease-standard), box-shadow .18s var(--ease-standard)}.paper-tab:focus-visible,.category-filter:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover) and (pointer:fine){body:not(.is-scrolling) .article-card:hover:before{background:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){body:not(.is-scrolling) .article-card:hover:before{background:color-mix(in srgb, var(--paper-soft) 55%, transparent)}}body:not(.is-scrolling) .article-card:hover:before{box-shadow:0 6px 22px -4px #1b365d14}body:not(.is-scrolling) .article-card:hover .article-card__content{translate:0 -2.5px}.paper-tab:hover{transform:translateY(-1px)}.category-filter:hover{transform:translateY(-2px)}}.paper-tab:active,.category-filter:active{transform:translateY(0)}@media (width>=640px){:root{--page-gutter:24px}.site-main{padding-block:64px}.site-main--article{padding-top:40px}}.site-mobile-menu{gap:2px;display:flex}.site-icon-button{width:38px;height:38px;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.site-icon-button.desktop-theme-button{display:none}.site-icon-button>svg{stroke-width:1.8px;width:18px;height:18px}.site-icon-button:hover,.site-icon-button[data-active=true],.site-icon-button[aria-current=page]{color:var(--ink);background:var(--paper-soft)}@supports (color:color-mix(in lab, red, red)){.site-icon-button:hover,.site-icon-button[data-active=true],.site-icon-button[aria-current=page]{background:color-mix(in srgb, var(--paper-soft) 72%, transparent)}}.site-icon-button[data-active=true]:after,.site-icon-button[aria-current=page]:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:3px;left:11px;right:11px}.site-theme-button{place-items:center;display:grid}.site-theme-icon{grid-area:1/1;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s}.theme-icon-dark{opacity:0;transform:rotate(-90deg)scale(.5)}.dark .theme-icon-dark,.theme-icon-light{opacity:1;transform:rotate(0)scale(1)}.dark .theme-icon-light{opacity:0;transform:rotate(90deg)scale(.5)}.site-theme-button:hover .theme-icon-light,.dark .site-theme-button:hover .theme-icon-dark{transform:rotate(20deg)scale(1.1)}.reading-progress{top:var(--site-header-height)}@media (width>=768px){.site-menu{display:flex}.site-icon-button.desktop-theme-button{display:grid}.site-mobile-menu{display:none}.site-icon-button{width:42px;height:42px}}@media (width<=767px){:root{--site-header-height:56px}.site-header__inner{gap:16px}.site-wordmark{letter-spacing:.16em;font-size:14px}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a1a1aa;border-radius:3px}.dark ::-webkit-scrollbar-thumb{background:#52525b}.dark ::-webkit-scrollbar-thumb:hover{background:#71717a}.animate-in{animation:content-enter var(--motion-slow) var(--ease-out) both}html[data-astro-transition] .page-enter{animation:none}::view-transition-group(blog-global-player){z-index:50}::view-transition-old(blog-global-player){mix-blend-mode:normal;animation:none}::view-transition-new(blog-global-player){mix-blend-mode:normal;animation:none}html:not(.theme-transitioning)::view-transition-group(root){mix-blend-mode:normal;animation:none}html:not(.theme-transitioning)::view-transition-old(root){mix-blend-mode:normal;animation:none}html:not(.theme-transitioning)::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(page-content){mix-blend-mode:normal;animation:none}::view-transition-group(article-list-hero){mix-blend-mode:normal;animation:none}::view-transition-group(site-header){mix-blend-mode:normal;animation:none}::view-transition-group(site-footer){mix-blend-mode:normal;animation:none}::view-transition-old(site-header){mix-blend-mode:normal;animation:none}::view-transition-new(site-header){mix-blend-mode:normal;animation:none}::view-transition-old(site-footer){mix-blend-mode:normal;animation:none}::view-transition-new(site-footer){mix-blend-mode:normal;animation:none}html:not(.theme-transitioning)::view-transition-old(page-content){animation:.1s ease-out both nav-leave}html:not(.theme-transitioning)::view-transition-new(page-content){animation:.16s ease-out 50ms both nav-arrive}html:not(.theme-transitioning)::view-transition-old(article-list-hero){animation:.12s ease-out both nav-leave}html:not(.theme-transitioning)::view-transition-new(article-list-hero){animation:.12s ease-out both nav-arrive}::view-transition-old(page-content){mix-blend-mode:normal;height:auto}::view-transition-new(page-content){mix-blend-mode:normal;height:auto}::view-transition-old(article-list-hero){mix-blend-mode:normal;height:auto}::view-transition-new(article-list-hero){mix-blend-mode:normal;height:auto}::view-transition-group(article-title-active){z-index:30;animation-duration:.28s;animation-timing-function:cubic-bezier(.22,.7,.2,1)}html[data-nav-direction=back]::view-transition-group(article-title-active){animation-duration:.24s}::view-transition-old(article-title-active){object-fit:none;object-position:left top;mix-blend-mode:normal;width:auto;height:auto;animation-duration:.28s;animation-delay:0s;animation-fill-mode:both}::view-transition-new(article-title-active){object-fit:none;object-position:left top;mix-blend-mode:normal;width:auto;height:auto;animation-duration:.28s;animation-delay:0s;animation-fill-mode:both}::view-transition-old(article-title-active){animation-name:nav-title-leave}::view-transition-new(article-title-active){animation-name:nav-title-arrive}html[data-nav-direction=back]::view-transition-old(article-title-active){animation-duration:.24s}html[data-nav-direction=back]::view-transition-new(article-title-active){animation-duration:.24s}html:not([data-nav-title])::view-transition-group(article-title-active){animation:none}html:not([data-nav-title])::view-transition-old(article-title-active){animation:80ms both nav-leave}@keyframes nav-leave{0%{opacity:1}to{opacity:0}}@keyframes nav-arrive{0%{opacity:0}to{opacity:1}}@keyframes nav-title-leave{0%,35%{opacity:1}60%,to{opacity:0}}@keyframes nav-title-arrive{0%,60%{opacity:0}to{opacity:1}}html[data-nav-reflow]::view-transition-old(page-content){animation-duration:30ms}html[data-nav-reflow]::view-transition-group(article-title-active){animation-duration:.25s;animation-delay:30ms}html[data-nav-reflow][data-nav-direction=back]::view-transition-group(article-title-active){animation-duration:.21s}html[data-nav-reflow]::view-transition-old(article-title-active){animation-name:nav-title-reflow-leave}html[data-nav-reflow]::view-transition-new(article-title-active){animation-name:nav-title-reflow-arrive}html[data-nav-reflow]::view-transition-new(page-content){animation:98ms ease-out .182s both nav-arrive}html[data-nav-reflow][data-nav-direction=back]::view-transition-new(page-content){animation-duration:84ms;animation-delay:.156s}@keyframes nav-title-reflow-leave{0%,45%{opacity:1}65%,to{opacity:0}}@keyframes nav-title-reflow-arrive{0%,65%{opacity:0}to{opacity:1}}html[data-site-navigated] main :is(.page-enter,.animate-in,.stagger-item-top,.stagger-item-bottom,.scroll-reveal):not(.article-locate-highlight):not(.article-locate-pulse){opacity:1;animation:none!important}html.theme-transitioning :is(main,#main-header,footer,[data-article-title],#article-list-hero){view-transition-name:none!important}@media (prefers-reduced-motion:reduce){::view-transition-group(article-title-active){animation:none!important}::view-transition-old(article-title-active){animation:none!important}::view-transition-new(article-title-active){animation:none!important}::view-transition-old(page-content){animation:none!important}::view-transition-new(page-content){animation:none!important}::view-transition-old(article-list-hero){animation:none!important}::view-transition-new(article-list-hero){animation:none!important}}.page-enter.skip-entry-animation{animation:none}@keyframes content-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes content-enter-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes content-enter-bottom{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger-item-top,.stagger-item-bottom{opacity:0;animation-duration:var(--motion-slow);animation-timing-function:var(--ease-out);animation-fill-mode:both;animation-delay:calc(var(--stagger-idx,0) * 85ms)}.stagger-item-top{animation-name:content-enter-top}.stagger-item-bottom{animation-name:content-enter-bottom}.scroll-reveal{opacity:1}.scroll-reveal.reveal-pending{opacity:0;animation:none}.scroll-reveal.reveal-pending.is-visible{animation:content-enter-bottom var(--motion-slow) var(--ease-out) both;animation-delay:var(--reveal-delay,0s)}html:not([data-site-navigated]) [data-entry-step]:not(.reveal-pending):not([data-entry-complete]){animation:content-enter-bottom var(--motion-slow) var(--ease-out) both;animation-delay:calc(var(--entry-step,0) * 85ms)}html:not([data-site-navigated]) :is(header[data-entry-step],#category-nav[data-entry-step]){animation-name:content-enter-top}main[data-route-enter]{animation:.16s ease-out both nav-arrive}html[data-astro-transition] .page-enter.skip-entry-animation .stagger-item-top,html[data-astro-transition] .page-enter.skip-entry-animation .stagger-item-bottom,.page-enter.skip-entry-animation .stagger-item-top,.page-enter.skip-entry-animation .stagger-item-bottom,.skip-entry-animation.stagger-item-top,.skip-entry-animation.stagger-item-bottom{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){[data-entry-step],main[data-route-enter],.stagger-item-top,.stagger-item-bottom,.scroll-reveal{opacity:1!important;animation:none!important}.site-header:after{animation:none!important}}.search-result-enter{animation:content-enter var(--motion-base) var(--ease-out) both;animation-delay:var(--stagger-delay,0s)}.comment-status-enter{animation:status-enter var(--motion-base) var(--ease-out) both}@keyframes status-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}::selection{background-color:#d4d4d8}.dark ::selection{background-color:#27272a}:focus-visible,.focus-ring:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.prose{max-width:none;overflow-x:hidden}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#18181b;margin-top:2.5rem;margin-bottom:1rem;font-weight:600}.prose h2{font-size:1.5rem;line-height:2rem}.prose h3{font-size:1.25rem;line-height:1.75rem}.prose code{background-color:#f4f4f5;border:1px solid #e4e4e7;border-radius:.375rem;padding:.2rem .4rem;font-family:Courier New,Consolas,Monaco,monospace;font-size:.875rem}.dark .prose code{background-color:#27272a;border-color:#3f3f46}.prose pre{-webkit-overflow-scrolling:touch;background-color:#f4f4f5;border:1px solid #e4e4e7;border-radius:.75rem;max-width:100%;margin:1.5rem 0;padding:2.5rem 1.25rem 1.25rem;line-height:1.6;transition:box-shadow .3s,border-color .3s;position:relative;overflow-x:auto}.prose pre:hover{border-color:var(--line-strong);box-shadow:0 4px 20px #0000000d}.dark .prose pre{background-color:#27272a;border-color:#3f3f46}.dark .prose pre:hover{border-color:#52525b;box-shadow:0 4px 20px #0003}.prose pre code{white-space:pre;background-color:#0000;border:none;border-radius:0;padding:0;font-size:.875rem;line-height:1.6;display:block}.prose pre:before{content:"Code";color:#71717a;font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;font-weight:500;position:absolute;top:.5rem;left:.75rem}.dark .prose pre:before{color:#a1a1aa}.msg-content pre{padding-top:2.25rem;transition:box-shadow .3s,border-color .3s;position:relative}.msg-content pre:hover{border-color:var(--line-strong);box-shadow:0 4px 20px #0000000d}.dark .msg-content pre:hover{border-color:#52525b;box-shadow:0 4px 20px #0003}.msg-content pre:before{content:"Code";color:var(--muted);font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;font-weight:500;position:absolute;top:.5rem;left:.75rem}.code-copy-btn{color:#71717a;background-color:var(--paper-card);align-items:center;gap:.25rem;padding:.2rem .45rem;font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;line-height:1;display:inline-flex;position:absolute;top:.45rem;right:.65rem}@supports (color:color-mix(in lab, red, red)){.code-copy-btn{background-color:color-mix(in srgb, var(--paper-card) 85%, transparent)}}.code-copy-btn{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.code-copy-btn{border:1px solid color-mix(in srgb, var(--line) 90%, transparent)}}.code-copy-btn{cursor:pointer;opacity:.5;transition:opacity .2s var(--ease-standard), background-color .2s, color .2s, border-color .2s;-webkit-user-select:none;user-select:none;z-index:5;border-radius:.375rem}.prose pre:hover .code-copy-btn,.msg-content pre:hover .code-copy-btn,.code-copy-btn:focus-visible,.code-copy-btn.is-copied{opacity:1}.code-copy-btn:hover{color:var(--ink);background-color:var(--paper-card);border-color:var(--line-strong)}.code-copy-btn.is-copied{color:#10b981;background-color:#10b981;border-color:#10b981}@supports (color:color-mix(in lab, red, red)){.code-copy-btn.is-copied{background-color:color-mix(in srgb, #10b981 12%, var(--paper-card))}}.dark .code-copy-btn{color:#a1a1aa;background-color:#18181ba6;border-color:#3f3f46cc}.dark .code-copy-btn:hover{color:#f4f4f5;background-color:#27272a;border-color:#71717a}.dark .code-copy-btn.is-copied{color:#34d399;background-color:#29463e;border-color:#34d399}@media (any-hover:none){.code-copy-btn{opacity:.85}}@media (width<=640px){.prose pre{border-radius:.5rem}}.prose blockquote{color:#71717a;background-color:#fafafa;border-left:4px solid #d4d4d8;border-radius:.5rem;margin:1.5rem 0;padding:1rem 1rem 1rem 1.25rem;font-style:italic;position:relative}.prose blockquote:before{content:"\"";color:#d4d4d8;font-family:serif;font-size:3rem;position:absolute;top:-.5rem;left:0}.dark .prose blockquote{color:#a1a1aa;background-color:#18181b;border-left-color:#3f3f46}.dark .prose blockquote:before{color:#3f3f46}.prose ul,.prose ol{margin:1.5rem 0;padding-left:1.5rem}.prose li{margin:.5rem 0;line-height:1.75}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose ul ul,.prose ol ul{margin-top:.5rem;list-style-type:circle}.prose ul ul ul,.prose ol ul ul,.prose ol ol ul{list-style-type:square}.prose table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:2rem 0;display:block;overflow-x:auto}.prose thead{background-color:#f4f4f5;border-bottom:2px solid #d4d4d8}.dark .prose thead{background-color:#27272a;border-bottom-color:#3f3f46}.prose th{text-align:left;color:#18181b;white-space:nowrap;border:1px solid #e4e4e7;padding:.75rem 1rem;font-weight:600}.dark .prose th{color:#f4f4f5;border-color:#3f3f46}.prose td{color:#3f3f46;border:1px solid #e4e4e7;padding:.75rem 1rem}.dark .prose td{color:#d4d4d8;border-color:#3f3f46}.prose tbody tr:nth-child(2n){background-color:#fafafa}.dark .prose tbody tr:nth-child(2n){background-color:#18181b}.prose tbody tr:hover{background-color:#f4f4f5}.dark .prose tbody tr:hover{background-color:#27272a}@media (width<=640px){.prose th,.prose td{padding:.5rem .75rem;font-size:.875rem}}.prose a{color:#18181b;text-underline-offset:2px;transition:color var(--motion-fast) var(--ease-standard), text-decoration-color var(--motion-fast) var(--ease-standard);word-break:break-word;overflow-wrap:break-word;-webkit-text-decoration:underline #d4d4d8;text-decoration:underline #d4d4d8}.dark .prose a{color:#f4f4f5;text-decoration-color:#3f3f46}.prose a:hover{text-decoration-color:#18181b}.dark .prose a:hover{text-decoration-color:#f4f4f5}.prose img{border:none;border-radius:.5rem;max-width:100%;height:auto;margin:2rem auto;display:block}@media (width<=640px){.prose img{border-radius:.5rem}}.prose hr{border:none;border-top:1px solid #e4e4e7;margin:2.5rem 0}.dark .prose hr{border-top-color:#3f3f46}.prose strong{color:#18181b;font-weight:600}.dark .prose strong{color:#f4f4f5}.prose em{font-style:italic}.prose :not(pre)>code{word-break:break-word;overflow-wrap:break-word}.loading-dots{gap:2px;display:inline-flex}.loading-dots div{background-color:currentColor;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both loading-bounce}.loading-dots div:first-child{animation-delay:-.32s}.loading-dots div:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}html.theme-transitioning body,html.theme-transitioning #mini-player{view-transition-name:none!important}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:none!important}html.theme-transitioning::view-transition-group(root){animation:none}html.theme-transitioning::view-transition-old(root){mix-blend-mode:normal;animation:none;display:block}html.theme-transitioning::view-transition-new(root){mix-blend-mode:normal;animation:none;display:block}html[data-theme-to=dark]::view-transition-new(root){z-index:2}html[data-theme-to=dark]::view-transition-old(root){z-index:1}html[data-theme-to=light]::view-transition-old(root){z-index:2}html[data-theme-to=light]::view-transition-new(root){z-index:1}html[data-theme-to=dark]::view-transition-new(root){clip-path:circle(0px at var(--vt-x,50%) var(--vt-y,50%));animation:vt-radial-in var(--vt-duration,.52s) var(--vt-easing,ease-out) forwards}html[data-theme-to=light]::view-transition-old(root){clip-path:circle(var(--vt-end-radius,150vmax) at var(--vt-x,50%) var(--vt-y,50%));animation:vt-radial-out var(--vt-duration,.52s) var(--vt-easing,ease-out) forwards}@keyframes vt-radial-in{0%{clip-path:circle(0px at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(var(--vt-end-radius,150vmax) at var(--vt-x,50%) var(--vt-y,50%))}}@keyframes vt-radial-out{0%{clip-path:circle(var(--vt-end-radius,150vmax) at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(0px at var(--vt-x,50%) var(--vt-y,50%))}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:.01ms!important}.section-reveal{opacity:1;transform:none}.site-entry-loader,.site-header:after{display:none}html.theme-transitioning::view-transition-new(root){animation:none!important}html.theme-transitioning::view-transition-old(root){animation:none!important}}@media print{.no-print{display:none!important}body{color:#000!important;background:#fff!important}.prose{font-size:12pt;line-height:1.5}}.kami-serif{font-family:var(--font-serif)}.kami-sans{font-family:var(--font-sans)}.paper-shadow{box-shadow:0 1px 2px #1b365d0a}.paper-lift:hover{box-shadow:0 2px 10px #1b365d12}.paper-lift{transition:box-shadow var(--motion-fast) var(--ease-standard)}::selection{color:var(--ink-strong);background-color:#d9cfb7}.dark ::selection{color:var(--ink-strong);background-color:#4a4336}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.prose{font-family:var(--font-serif);color:var(--text)}.prose p{color:var(--text);margin-bottom:1.45rem;line-height:1.85}.dark .prose p{color:var(--text)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--ink-strong);font-family:var(--font-serif);letter-spacing:0;font-weight:600}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose h5,.dark .prose h6{color:var(--ink-strong)}.prose h2{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.35rem}.prose h3{color:var(--ink)}.prose a{color:var(--ink);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.dark .prose a{color:var(--ink-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.prose a:hover,.dark .prose a:hover{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.prose strong,.dark .prose strong{color:var(--ink-strong);font-weight:600}article[data-post-id].prose{max-width:var(--layout-reading-width);font-size:1.0625rem}article[data-post-id].prose #article-body>pre{width:max-content;min-width:100%;max-width:var(--layout-media-width);left:50%;translate:-50%}article[data-post-id].prose .article-image--wide{width:var(--layout-media-width);margin-inline:0;position:relative;left:50%;translate:-50%}@media (width<=848px){article[data-post-id].prose #article-body>pre{max-width:100%}article[data-post-id].prose .article-image--wide{width:100%}}article[data-post-id].prose p{margin-bottom:1.65rem;line-height:1.95}article[data-post-id].prose [itemprop=articleBody]>p:first-child{color:var(--ink-strong);margin-bottom:2.1rem;font-size:1.1rem;line-height:2}article[data-post-id].prose h2{border-top:0;border-left:3px solid var(--ink);margin-top:3.75rem;margin-bottom:1.35rem;padding-top:0;padding-left:.9rem;font-size:1.55rem;line-height:1.5}article[data-post-id].prose h3{border-left:2px solid var(--line-strong);margin-top:2.6rem;margin-bottom:1rem;padding-left:.75rem;font-size:1.2rem;line-height:1.65}article[data-post-id].prose h4{margin-top:2.2rem;margin-bottom:.9rem;font-size:1.05rem;line-height:1.7}article[data-post-id].prose p.article-emphasis{border-left:3px solid var(--line-strong);background:var(--paper-soft);margin:2.4rem 0 1.35rem;padding:.65rem .9rem;line-height:1.75}article[data-post-id].prose p.article-emphasis strong{color:var(--ink-strong);font-size:1.05rem}article[data-post-id].prose li{margin:.65rem 0;line-height:1.85}@media (width<=640px){article[data-post-id].prose{font-size:1rem}article[data-post-id].prose [itemprop=articleBody]>p:first-child{font-size:1.04rem}article[data-post-id].prose h2{margin-top:3.1rem;font-size:1.35rem}article[data-post-id].prose h3{margin-top:2.25rem;font-size:1.12rem}}.prose blockquote{border:1px solid var(--line);border-left:3.5px solid var(--ink);background:var(--paper-soft);border-radius:8px;margin:1.75rem 0;padding:1.15rem 1.4rem 1.15rem 1.6rem;position:relative}@supports (color:color-mix(in lab, red, red)){.prose blockquote{background:color-mix(in srgb, var(--paper-soft) 92%, transparent)}}.prose blockquote{color:var(--text);font-family:var(--font-serif);font-size:.96em;font-style:normal;line-height:1.85;box-shadow:0 1px 4px #00000005}.prose blockquote:before{content:"“";font-family:var(--font-serif);color:var(--ink);opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3.6rem;line-height:1;transition:opacity .2s;position:absolute;top:.2rem;right:1.25rem}.prose blockquote:hover:before{opacity:.22}.prose blockquote p{color:inherit;margin:.5rem 0}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.dark .prose blockquote{background:var(--paper-card)}@supports (color:color-mix(in lab, red, red)){.dark .prose blockquote{background:color-mix(in srgb, var(--paper-card) 70%, transparent)}}.dark .prose blockquote{border-color:var(--line);border-left-color:var(--ink);color:var(--text)}.dark .prose blockquote:before{color:var(--ink);opacity:.15}.prose code{background:var(--code-bg);border-color:var(--line);color:var(--ink-strong);font-family:var(--font-mono)}.dark .prose code{background:var(--code-bg);border-color:var(--line)}.prose pre{background:var(--code-bg);border-color:var(--line);box-shadow:none;border-radius:8px}.dark .prose pre{background:var(--code-bg);border-color:var(--line)}.prose pre:before{color:var(--muted);font-family:var(--font-sans)}.prose table{font-family:var(--font-sans)}.prose thead,.dark .prose thead,.prose tbody tr:nth-child(2n),.dark .prose tbody tr:nth-child(2n){background:var(--paper-soft)}.prose th,.prose td,.dark .prose th,.dark .prose td{border-color:var(--line);color:var(--text)}.prose img{border:none;border-radius:8px}.dark .prose img{border:none}.prose .article-image{justify-content:center;width:100%;margin:2.2rem auto;display:flex}.prose .article-image-frame{width:fit-content;max-width:100%;min-height:0;color:inherit;cursor:zoom-in;font:inherit;appearance:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0 auto;padding:0;display:inline-flex;position:relative;overflow:visible}.prose .article-image-open:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:8px}.prose .article-image-open:disabled{cursor:default}.article-image-placeholder{display:none}.prose .article-image-img{object-fit:contain;border:0;border-radius:8px;width:auto;max-width:min(100%,660px);height:auto;max-height:min(70vh,600px);margin:0 auto;transition:opacity .32s ease-out,transform .2s ease-out,box-shadow .2s ease-out;display:block;box-shadow:0 4px 20px -2px #1b365d14,0 2px 8px -2px #0000000a}.dark .prose .article-image-img{box-shadow:0 4px 24px -2px #00000073,0 0 0 1px #ffffff0f}@media (hover:hover) and (pointer:fine){.prose .article-image-open:hover .article-image-img{transform:translateY(-2px);box-shadow:0 8px 28px -4px #1b365d1f,0 4px 12px -2px #0000000f}.dark .prose .article-image-open:hover .article-image-img{transform:translateY(-2px);box-shadow:0 8px 30px -4px #0009,0 0 0 1px #ffffff17}}body.has-article-image-lightbox{overflow:hidden}.article-image-lightbox{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.article-image-lightbox[open]{place-items:center;display:grid}.article-image-lightbox::backdrop{-webkit-backdrop-filter:blur(22px);background:#080d152e;animation:.32s cubic-bezier(.22,1,.36,1) both lightbox-backdrop-in}.article-image-lightbox.is-closing::backdrop{animation:.26s cubic-bezier(.55,0,1,.45) both lightbox-backdrop-out}.article-image-lightbox-shell{width:100%;height:100%;padding:max(4rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));place-items:center;animation:.36s cubic-bezier(.22,1,.36,1) both lightbox-content-in;display:grid;position:relative}.article-image-lightbox.is-closing .article-image-lightbox-shell{animation:.24s cubic-bezier(.55,0,1,.45) both lightbox-content-out}.article-image-lightbox-figure{flex-direction:column;justify-content:center;align-items:center;min-width:0;max-width:92vw;max-height:calc(100dvh - 6rem);margin:0;display:flex}.article-image-lightbox-viewport{touch-action:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.article-image-lightbox-image{object-fit:contain;cursor:zoom-in;transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:auto;max-width:92vw;height:auto;max-height:78vh;display:block;box-shadow:0 24px 80px #00000052,0 8px 24px #0000002e}.article-image-lightbox-image.is-zoomed{cursor:grab;border-radius:4px}.article-image-lightbox-image.is-zoomed:active{cursor:grabbing}.article-image-lightbox-toolbar{top:max(.85rem, env(safe-area-inset-top));z-index:2;-webkit-backdrop-filter:blur(16px);background:#0f1722b8;border:1px solid #fff3;border-radius:9999px;align-items:center;gap:4px;padding:4px 6px;animation:.32s cubic-bezier(.22,1,.36,1) 80ms both lightbox-btn-in;display:flex;position:fixed;left:50%;translate:-50%;box-shadow:0 12px 32px #0000005c}.article-image-lightbox.is-closing .article-image-lightbox-toolbar{animation:.18s cubic-bezier(.55,0,1,.45) both lightbox-btn-out}.lightbox-tool-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;width:32px;height:32px;padding:0;transition:all .16s cubic-bezier(.22,1,.36,1);display:grid}.lightbox-tool-btn:hover:not(:disabled){color:#fff;background:#ffffff29}.lightbox-tool-btn:active:not(:disabled){transform:scale(.92)}.lightbox-tool-btn:disabled{opacity:.32;cursor:not-allowed}.lightbox-tool-badge{width:auto;min-width:44px;font-size:11px;font-family:var(--font-mono,monospace);letter-spacing:.04em;padding-inline:8px;font-weight:600}.lightbox-tool-divider{background:#ffffff2e;width:1px;height:14px;margin-inline:2px}.article-image-lightbox-caption{color:#ffffffe6;max-width:min(42rem,88vw);font-family:var(--font-sans);text-align:center;text-wrap:balance;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.85rem;font-size:.9rem;line-height:1.6;transition:opacity .2s;display:-webkit-box;overflow:hidden}.article-image-lightbox-caption[hidden]{display:none}.article-image-lightbox-close{z-index:1;top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#0f1722ad;border:1px solid #ffffff4d;border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;animation:.32s cubic-bezier(.22,1,.36,1) 60ms both lightbox-btn-in;display:inline-flex;position:fixed}.article-image-lightbox.is-closing .article-image-lightbox-close{animation:.18s cubic-bezier(.55,0,1,.45) both lightbox-btn-out}.article-image-lightbox-close:hover,.article-image-lightbox-close:focus-visible{background:#0f1722e6;border-color:#ffffffb8}.article-image-lightbox-close:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes lightbox-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(22px)}}@keyframes lightbox-backdrop-out{0%{opacity:1;-webkit-backdrop-filter:blur(22px)}to{opacity:0;-webkit-backdrop-filter:blur()}}@keyframes lightbox-content-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes lightbox-content-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes lightbox-btn-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes lightbox-btn-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (width<=640px){.article-image-lightbox-image{max-height:72vh}}@media (prefers-reduced-motion:reduce){.prose .article-image-img{transition:none}.article-image-lightbox::backdrop,.article-image-lightbox-shell,.article-image-lightbox-close{animation-duration:.01ms!important}}.prose hr,.dark .prose hr{border-top-color:var(--line)}.prose mark{color:var(--ink-strong);background:#eadfac;border-radius:3px;padding:0 .15em}.dark .prose mark{color:var(--ink-strong);background:#5a4c24}.xiaoa-message-content{font-family:var(--font-ai);letter-spacing:.012em;color:var(--ink);font-size:14.5px;line-height:1.72}.ai-typing-cursor{background:var(--ink,currentColor);vertical-align:-.15em;width:2.5px;height:1.15em;box-shadow:0 0 6px var(--ink);border-radius:1.5px;margin-left:2.5px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.ai-typing-cursor{box-shadow:0 0 6px color-mix(in srgb, var(--ink) 45%, transparent)}}.ai-typing-cursor{animation:.9s cubic-bezier(.4,0,.2,1) infinite ai-cursor-breathe}@keyframes ai-cursor-breathe{0%,to{opacity:1;box-shadow:0 0 8px color-mix(in srgb, var(--ink) 50%, transparent);transform:scaleY(1)}50%{opacity:.18;transform:scaleY(.85);box-shadow:0 0 2px #0000}}@media (prefers-reduced-motion:reduce){.ai-typing-cursor{opacity:1;box-shadow:none;animation:none}}.xiaoa-message-content p{color:inherit;margin:.375rem 0;line-height:1.75}.xiaoa-message-content p:first-child,.xiaoa-message-content ul:first-child,.xiaoa-message-content ol:first-child,.xiaoa-message-content blockquote:first-child,.xiaoa-message-content pre:first-child{margin-top:0}.xiaoa-message-content p:last-child,.xiaoa-message-content ul:last-child,.xiaoa-message-content ol:last-child,.xiaoa-message-content blockquote:last-child,.xiaoa-message-content pre:last-child{margin-bottom:0}.xiaoa-message-content ul,.xiaoa-message-content ol{margin:.5rem 0;padding-left:1.25rem}.xiaoa-message-content ul{list-style:outside}.xiaoa-message-content ol{list-style:decimal}.xiaoa-message-content li{margin:.125rem 0;line-height:1.75}.xiaoa-message-content blockquote{border-left:2px solid var(--line-strong);color:var(--muted);margin:.5rem 0;padding:.125rem 0 .125rem .75rem}.xiaoa-message-content h1,.xiaoa-message-content h2,.xiaoa-message-content h3,.xiaoa-message-content h4{color:var(--ink-strong);font-family:var(--font-sans);margin:.75rem 0 .375rem;font-weight:600;line-height:1.4}.xiaoa-message-content pre{margin:.5rem 0;overflow-x:auto}.xiaoa-message-content a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.xiaoa-message-content a{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent)}}.xiaoa-message-content a{text-underline-offset:3px}.xiaoa-message-content a:hover{text-decoration-color:currentColor}.xiaoa-message-content a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}#ai-sidebar-panel{font-family:var(--font-ai);background:var(--paper-soft)!important}@supports (color:color-mix(in lab, red, red)){#ai-sidebar-panel{background:color-mix(in srgb, var(--paper-soft) 96%, transparent)!important}}#ai-sidebar-panel{transition:transform .36s var(--ease-out), translate .36s var(--ease-out);border-left-color:var(--line)!important;box-shadow:-8px 0 24px #1b365d14!important}#ai-sidebar-overlay{transition:opacity .2s var(--ease-standard)}#ai-sidebar-panel [data-ai-panel-content]{opacity:0;transition:opacity .24s var(--ease-standard), transform .24s var(--ease-out);transform:translateY(8px)}#ai-sidebar-panel[data-open=true] [data-ai-panel-content]{opacity:1;transition-delay:var(--ai-content-delay,0s);transform:translateY(0)}#ai-sidebar-panel header[data-ai-panel-content]{--ai-content-delay:35ms}#ai-chat-container{--ai-content-delay:65ms}#ai-sidebar-panel .ai-sidebar-input-area{--ai-content-delay:95ms}#ai-sidebar-panel header{padding-block:0;box-sizing:border-box!important;height:var(--site-header-height)!important;background:var(--paper-card)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}#ai-sidebar-panel .ai-sidebar-heading{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}#ai-sidebar-panel .ai-sidebar-heading h3{line-height:1.25}#ai-sidebar-panel .ai-sidebar-context{align-items:center;gap:4px;margin-top:2px;line-height:1.2;display:flex}@media (width<=639px){#ai-sidebar-panel{background:var(--paper-soft)!important}#ai-sidebar-panel .ai-sidebar-input-area{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))!important}}#ai-chat-container{background:var(--paper-soft)}#ai-chat-container .bg-white,#ai-chat-history .bg-white,#ai-turnstile-wrapper .bg-white{background:var(--paper-card)!important}#ai-chat-container .border-zinc-200\/60,#ai-chat-history .border-zinc-200\/60,#ai-turnstile-wrapper .border-zinc-200\/60{border-color:var(--line)!important}.ai-reading-context{min-width:0;font:12px/1.5 var(--font-ai);color:var(--muted);margin-bottom:8px;padding:0 1px;position:relative}.ai-reading-context[hidden],.ai-reading-context [hidden]{display:none!important}.ai-reading-context:not([hidden]){animation:.18s cubic-bezier(.16,1,.3,1) both ai-context-appear}@keyframes ai-context-appear{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}#ai-quote-row{align-items:center;gap:6px;min-width:0;min-height:28px;display:flex}#ai-quote-more{border:1px solid var(--line);background:var(--paper-card);height:26px;color:var(--text);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:4px;padding:0 10px;font-size:11.5px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #0000000a,0 2px 6px #1b365d0a}#ai-quote-more:hover,#ai-quote-more[aria-expanded=true]{color:var(--ink);border-color:var(--line-strong);box-shadow:0 2px 8px #1b365d14}#ai-quote-more .ai-user-quote-arrow{flex-shrink:0;transition:transform .18s}#ai-quote-more[aria-expanded=true] .ai-user-quote-arrow{transform:rotate(180deg)}.ai-reading-context button{cursor:pointer}.ai-reading-context button:hover{color:var(--ink)}#ai-quote-list{z-index:40;background:var(--paper-card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;width:min(340px,100vw - 36px);max-height:min(45dvh,280px);padding:12px;animation:.16s cubic-bezier(.16,1,.3,1) both ai-quote-pop;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f,0 2px 6px #1b365d0a}@keyframes ai-quote-pop{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}#ai-quote-preview pre,.ai-user-quote-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;font:12px/1.65 var(--font-mono);margin:4px 0;overflow:auto}.ai-reading-context :is(button,a):focus-visible,.ai-user-quote-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#ai-reading-context-error{color:var(--ink);margin:4px 0 0}#ai-input-container{background:var(--paper-card)!important}@supports (color:color-mix(in lab, red, red)){#ai-input-container{background:color-mix(in srgb, var(--paper-card) 92%, transparent)!important}}#ai-input-container{border-color:var(--line)!important;border-radius:14px!important;box-shadow:0 2px 14px #1b365d14!important}#ai-input-container textarea{color:var(--text)!important}#ai-send-btn{background:var(--ink)!important;color:var(--paper-card)!important;border-radius:8px!important}@supports (color:color-mix(in lab, red, red)){.tsb-btn-ai:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}}@media (width<=767px),(pointer:coarse){.text-select-toolbar{padding:5px}.tsb-btn{touch-action:manipulation;min-height:44px;padding-inline:14px;font-size:14px}}.text-select-toolbar{z-index:45;background:var(--paper-card);border:1px solid var(--line);pointer-events:none;opacity:0;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:10px;align-items:center;gap:0;padding:4px;display:flex;position:absolute;transform:translateY(6px)scale(.95);box-shadow:0 4px 16px #1b365d1a,0 1px 4px #1b365d0f}.text-select-toolbar.is-visible{pointer-events:auto;opacity:1;transform:translateY(0)scale(1)}.text-select-toolbar.is-below{transform:translateY(-6px)scale(.95)}.text-select-toolbar.is-below.is-visible{transform:translateY(0)scale(1)}.tsb-arrow{background:var(--paper-card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:9px;height:9px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.text-select-toolbar.is-below .tsb-arrow{border-bottom:none;border-right:none;border-left:1px solid var(--line);border-top:1px solid var(--line);top:-5px;bottom:auto}.tsb-btn{color:var(--muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;display:flex}.tsb-btn:hover{color:var(--ink);background:var(--paper-soft)}.tsb-btn-ai{color:var(--ink);font-family:var(--font-serif);letter-spacing:.02em}.tsb-btn-ai:hover{color:var(--ink-strong);background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.tsb-btn-ai:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}}.tsb-icon{flex-shrink:0;width:13px;height:13px}.tsb-divider{background:var(--line);flex-shrink:0;width:1px;height:16px}.dark .text-select-toolbar{box-shadow:0 4px 20px #0000004d,0 1px 4px #0003}@media (width<=767px),(pointer:coarse){.text-select-toolbar{padding:5px}.tsb-btn{touch-action:manipulation;min-height:44px;padding-inline:14px;font-size:14px}}.xiaoa-music-card-list{position:relative}.xiaoa-music-card{position:relative;overflow:hidden}@keyframes xiaoa-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.xiaoa-shimmer-box{background-color:var(--line);position:relative;overflow:hidden}.xiaoa-shimmer-box:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);animation:1.6s ease-in-out infinite xiaoa-shimmer;position:absolute;inset:0;transform:translate(-100%)}.dark .xiaoa-shimmer-box:after{background:linear-gradient(90deg,#0000 0%,#ffffff14 50%,#0000 100%)}@keyframes xiaoa-song-switch-in{0%{opacity:0;transform:translate(12px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.xiaoa-song-enter{animation:.28s cubic-bezier(.16,1,.3,1) both xiaoa-song-switch-in}@keyframes xiaoaEqualizer{0%,to{height:4px}50%{height:14px}}.xiaoa-eq-bar-1{animation:.8s ease-in-out infinite xiaoaEqualizer}.xiaoa-eq-bar-2{animation:.6s ease-in-out .2s infinite xiaoaEqualizer}.xiaoa-eq-bar-3{animation:.9s ease-in-out .4s infinite xiaoaEqualizer}@media (prefers-reduced-motion:reduce){.xiaoa-song-enter,.xiaoa-eq-bar-1,.xiaoa-eq-bar-2,.xiaoa-eq-bar-3,.btn-rotate-song svg{transition:none;animation:none;transform:none!important}}.xiaoa-dot-pill{transition:width .25s cubic-bezier(.16,1,.3,1),background-color .2s,opacity .2s}.btn-locate-article{display:none}@media (width>=640px){.btn-locate-article{display:inline-flex}}@keyframes articleSelectedWave{0%,to{transform:translateY(0)}22%{transform:translateY(-7px)}48%{transform:translateY(-1px)}72%{transform:translateY(-4px)}}@keyframes articleSelectedSurface{0%{background-color:#0000;box-shadow:0 0 #0000}22%{background-color:color-mix(in srgb, var(--paper-soft) 85%, transparent);box-shadow:0 12px 28px -4px #1b365d1a}48%{background-color:color-mix(in srgb, var(--paper-soft) 65%, transparent);box-shadow:0 4px 14px -2px #1b365d0f}72%{background-color:color-mix(in srgb, var(--paper-soft) 80%, transparent);box-shadow:0 8px 22px -3px #1b365d14}to{background-color:#0000;box-shadow:0 0 #0000}}.article-card.article-locate-highlight,.article-card.article-locate-pulse{border-radius:.75rem!important;animation:1.6s cubic-bezier(.22,1,.36,1) forwards articleSelectedWave!important}.article-card.article-locate-highlight:before,.article-card.article-locate-pulse:before{animation:1.6s cubic-bezier(.22,1,.36,1) forwards articleSelectedSurface}@media (prefers-reduced-motion:reduce){.article-card.article-locate-highlight,.article-card.article-locate-pulse{animation:none!important;transform:none!important}.article-card.article-locate-highlight:before,.article-card.article-locate-pulse:before{background-color:var(--paper-soft)!important;animation:none!important}@supports (color:color-mix(in lab, red, red)){.article-card.article-locate-highlight:before,.article-card.article-locate-pulse:before{background-color:color-mix(in srgb, var(--paper-soft) 70%, transparent)!important}}.reading-layout-content,.article-card,.article-card:before,.article-card__content,.paper-tab,.category-filter,#ai-sidebar-panel,#ai-sidebar-overlay,#ai-sidebar-panel [data-ai-panel-content]{transition:none!important}.article-card,.article-card__content,.paper-tab,.category-filter,#ai-sidebar-panel [data-ai-panel-content]{transform:translate(0)!important}}article[data-post-id] [id^=section-v1-]{scroll-margin-top:calc(var(--site-header-height) + 20px)}.ai-attempt-state{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:12px;padding-top:6px;font-size:12px;display:flex}.ai-attempt-state button{color:var(--ink);cursor:pointer;border-radius:4px;min-height:32px;padding:4px 6px;transition:background-color .16s}.ai-attempt-state button:hover{background:var(--paper-soft)}.ai-attempt-state button:disabled{opacity:.45;cursor:default}.ai-attempt-state button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#ai-chat-history{gap:28px}.ai-assistant-message{flex-shrink:0;width:100%;min-width:0;padding-inline:16px}.ai-assistant-message>.xiaoa-message-content{overflow-wrap:anywhere;width:100%;min-width:0}.ai-user-message{justify-content:flex-end;width:100%;display:flex}.ai-user-message-container{flex-direction:column;align-items:flex-end;gap:5px;max-width:85%;display:flex;position:relative}@media (width>=640px){.ai-user-message-container{max-width:70%}}.ai-user-bubble{background:var(--ink);width:fit-content;max-width:100%;color:var(--paper-card);font-family:var(--font-ai);white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;border-radius:20px 20px 5px;padding:10px 16px;font-size:13.5px;line-height:1.65}.ai-user-quote-box{justify-content:flex-end;display:flex;position:relative}.ai-user-quote-btn{border:1px solid var(--line);background:var(--paper-card);height:26px;color:var(--text);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:4px;padding:0 10px;font-size:11.5px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #0000000a,0 2px 6px #1b365d0a}.ai-user-quote-btn:hover,.ai-user-quote-btn[aria-expanded=true]{color:var(--ink);border-color:var(--line-strong);box-shadow:0 2px 8px #1b365d14}.ai-user-quote-arrow{flex-shrink:0;transition:transform .18s}.ai-user-quote-btn[aria-expanded=true] .ai-user-quote-arrow{transform:rotate(180deg)}.ai-user-quote-popover{z-index:40;background:var(--paper-card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;width:min(340px,100vw - 36px);max-height:min(45dvh,280px);padding:12px;animation:.16s cubic-bezier(.16,1,.3,1) both ai-quote-pop;display:flex;position:absolute;right:0;box-shadow:0 8px 24px #0000001f,0 2px 6px #1b365d0a}.ai-user-quote-popover.popover-down{top:calc(100% + 6px);bottom:auto}.ai-user-quote-popover.popover-up{top:auto;bottom:calc(100% + 6px)}.ai-user-quote-pop-header{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-bottom:6px;font-size:11px;font-weight:600;display:flex}.ai-user-quote-pop-close{width:20px;height:20px;color:var(--muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:inline-flex}.ai-user-quote-pop-close:hover{color:var(--ink);background:#0000000d}.ai-user-quote-pop-list{flex-direction:column;gap:8px;max-height:calc(min(45dvh,280px) - 38px);display:flex;overflow-y:auto}.ai-user-quote-item{background:var(--paper-soft);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.ai-user-quote-link{color:var(--ink);text-underline-offset:2px;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;text-decoration:underline;overflow:hidden}.ai-user-quote-link:hover{color:var(--ink-strong)}.ai-user-quote-pre{max-height:100px;font:11.5px/1.55 var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-all;background:0 0;margin:0;overflow:auto}.ai-error-content{color:var(--danger);font-size:14px;line-height:1.65}.ai-process{color:var(--muted);margin-bottom:12px;font-size:12px;line-height:1.65}.ai-tool-chain[hidden],.ai-process-overview[hidden],.ai-process-elapsed[hidden],.ai-process-overview svg[hidden]{display:none}.ai-process-toggle{min-width:0;max-width:100%;min-height:32px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:2px 0;font-weight:600;display:inline-flex}.ai-process-toggle:hover{color:var(--ink)}.ai-process-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.ai-process-status{flex-shrink:0}.ai-process[data-phase=thinking] .ai-process-title,.ai-process[data-phase=processing] .ai-process-title{font-weight:600}.ai-process-overview{align-items:center;gap:5px;min-width:0;font-weight:400;display:inline-flex}.ai-process-hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-process-overview svg,.ai-process-caret,.ai-tool-chain svg{flex-shrink:0}.ai-process-caret{transition:transform .22s cubic-bezier(.16,1,.3,1)}.ai-process-toggle[aria-expanded=true] .ai-process-caret{transform:rotate(90deg)}.ai-process[data-phase=complete],.ai-process[data-phase=interrupted],.ai-process[data-phase=stopped]{border-bottom:1px solid var(--line);padding-bottom:12px}.xiaoa-message-content .ai-tool-chain{max-height:320px;margin:8px 0 0;padding:0 8px 0 0;list-style:none;overflow-y:auto}.xiaoa-message-content .ai-tool-chain:not([hidden]){will-change:max-height, opacity, transform;animation:.24s cubic-bezier(.16,1,.3,1) both ai-tool-chain-expand;display:block}@keyframes ai-tool-chain-expand{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:320px;transform:translateY(0)}}.xiaoa-message-content .ai-tool-chain li{align-items:start;gap:8px;margin:10px 0 0;padding:0;font-size:13px;line-height:1.65;animation:.2s cubic-bezier(.16,1,.3,1) both ai-tool-item-in;display:flex}@keyframes ai-tool-item-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.ai-tool-chain svg{margin-top:3px}.ai-tool-chain li[data-status=failed],.ai-tool-chain li[data-status=interrupted]{color:var(--danger)}.ai-processing-shimmer{background:linear-gradient(100deg, var(--muted) 18%, var(--ink) 50%, var(--muted) 82%);color:#0000;filter:drop-shadow(0 0 7px var(--ink));background-size:220% 100%;-webkit-background-clip:text;background-clip:text}@supports (color:color-mix(in lab, red, red)){.ai-processing-shimmer{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--ink) 30%, transparent))}}.ai-processing-shimmer{animation:2.1s ease-in-out infinite ai-process-shimmer}@keyframes ai-process-shimmer{0%{background-position:110% 0}to{background-position:-110% 0}}@media (width>=640px){.ai-user-message-container{max-width:70%}}@media (prefers-reduced-motion:reduce){.ai-processing-shimmer{filter:none;color:var(--muted);background:0 0;animation:none}.ai-process-caret{transition:none}.xiaoa-message-content .ai-tool-chain:not([hidden]),.xiaoa-message-content .ai-tool-chain li,.ai-prompt-chip.flex{animation:none}}@media (width<=639px){.ai-assistant-message{padding-inline:12px}}.ai-process-speech{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.ai-prompt-suggestions{gap:6px}.ai-prompt-chip{border:1px solid var(--line);background:var(--paper-card);max-width:100%;min-height:34px;color:var(--muted);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:500;line-height:1.4;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 3px #0000000a}.ai-prompt-chip svg{flex-shrink:0;display:block}.ai-prompt-chip span{overflow-wrap:anywhere;min-width:0;line-height:1.25}.ai-prompt-chip:hover{color:var(--ink);border-color:var(--line-strong);background:var(--paper-soft);transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.ai-prompt-chip:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a}.ai-prompt-chip:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.ai-prompt-chip.flex{animation:.22s cubic-bezier(.16,1,.3,1) both ai-chip-entrance}@keyframes ai-chip-entrance{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.scroll-top-global[data-astro-cid-z4jru4n3]{z-index:45;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper-card);width:2.5rem;height:2.5rem;color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),border-color .2s,color .2s,bottom .3s;display:flex;position:fixed;transform:translate(-50%)translateY(1rem)scale(.9);box-shadow:0 2px 8px #0000000f}.scroll-top-global[data-astro-cid-z4jru4n3]:hover{border-color:var(--ink);color:var(--ink-strong)}.scroll-top-global[data-astro-cid-z4jru4n3]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.scroll-top-global[data-astro-cid-z4jru4n3]:active{transform:translate(-50%)translateY(0)scale(.92)!important}body.has-scrolled:not(.is-scrolling):not(.has-expanded-player) .scroll-top-global[data-astro-cid-z4jru4n3]{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}body.has-docked-player.has-scrolled:not(.is-scrolling):not(.has-expanded-player) .scroll-top-global[data-astro-cid-z4jru4n3]{bottom:calc(2.25rem + env(safe-area-inset-bottom))}body.is-scrolling .scroll-top-global[data-astro-cid-z4jru4n3],body.has-expanded-player .scroll-top-global[data-astro-cid-z4jru4n3]{opacity:0;pointer-events:none;transform:translate(-50%)translateY(1rem)scale(.9)}
