.social-link[data-astro-cid-zamss57n]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;color:rgb(var(--fg-soft));transition:color .25s var(--ease-smooth),background .25s var(--ease-smooth),transform .25s var(--ease-smooth)}.social-link[data-astro-cid-zamss57n]:hover{color:rgb(var(--primary));background:rgb(var(--primary-light) / .1);transform:translateY(-1px)}.social-link[data-astro-cid-zamss57n] svg[data-astro-cid-zamss57n]{width:1rem;height:1rem}#entry-animation[data-astro-cid-km7n5w5i]{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:1.5rem;background:rgb(var(--bg) / .42);backdrop-filter:blur(18px) saturate(1.6) brightness(1.05);overflow:hidden}#entry-animation[data-astro-cid-km7n5w5i][hidden]{display:none}html.ea-lock{overflow:hidden}@supports not (backdrop-filter: blur(1px)){#entry-animation[data-astro-cid-km7n5w5i]{background:rgb(var(--bg) / .92)}}.ea-card[data-astro-cid-km7n5w5i]{position:relative;border-radius:24px;background:rgb(var(--glass-bg) / .35);backdrop-filter:blur(16px) saturate(1.6) brightness(1.1);border:1px solid rgb(var(--glass-border) / .15);box-shadow:0 4px 16px -4px #0000000f,0 12px 40px -8px #0000000d,inset 0 .5px #ffffff80,inset 0 -.5px #ffffff14;padding:clamp(1.9rem,6vw,3rem) clamp(2.2rem,7vw,3.6rem);opacity:0;transform:translateY(14px) scale(.94)}.dark .ea-card[data-astro-cid-km7n5w5i]{background:rgb(var(--glass-bg) / .45);backdrop-filter:blur(16px) saturate(1.4) brightness(1.15);border-color:rgb(var(--glass-border) / .2);box-shadow:0 4px 16px -4px #00000026,0 12px 40px -8px #00000040,inset 0 .5px #ffffff0f,inset 0 -.5px #ffffff05}@supports not (backdrop-filter: blur(1px)){.ea-card[data-astro-cid-km7n5w5i]{background:rgb(var(--surface) / .9)}}.ea-play[data-astro-cid-km7n5w5i] .ea-card[data-astro-cid-km7n5w5i]{animation:ea-card-in .42s var(--ease-smooth) forwards}@keyframes ea-card-in{to{opacity:1;transform:translateY(0) scale(1)}}.ea-title-wrap[data-astro-cid-km7n5w5i]{position:relative}.ea-title[data-astro-cid-km7n5w5i]{margin:0;font-family:Architects Daughter,Ma Shan Zheng,cursive;font-weight:400;font-size:clamp(1.8rem,6.8vw,3.8rem);letter-spacing:.04em;line-height:1.25;white-space:nowrap;color:rgb(var(--fg))}.ea-en[data-astro-cid-km7n5w5i]{color:rgb(var(--primary-light))}.ea-zh[data-astro-cid-km7n5w5i]{margin-left:.08em}.ea-ch[data-astro-cid-km7n5w5i]{display:inline-block;opacity:0;will-change:clip-path,transform,opacity}.ea-play[data-astro-cid-km7n5w5i] .ea-ch[data-astro-cid-km7n5w5i]{animation:ea-char .3s var(--ease-smooth) both;animation-delay:calc(.22s + var(--i) * 58ms)}@keyframes ea-char{0%{opacity:0;clip-path:inset(-18% 103% -18% -8%);transform:translateY(.14em) rotate(5deg)}45%{opacity:1}to{opacity:1;clip-path:inset(-18% -12% -18% -8%);transform:translateY(0) rotate(0)}}.ea-line[data-astro-cid-km7n5w5i]{position:absolute;left:50%;bottom:-.42em;width:min(94%,30rem);height:auto;transform:translate(-50%);color:rgb(var(--primary-light))}.ea-line[data-astro-cid-km7n5w5i] path[data-astro-cid-km7n5w5i]{stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:370;stroke-dashoffset:370}.ea-play[data-astro-cid-km7n5w5i] .ea-line[data-astro-cid-km7n5w5i] path[data-astro-cid-km7n5w5i]{animation:ea-draw .4s var(--ease-smooth) forwards;animation-delay:1.02s}@keyframes ea-draw{to{stroke-dashoffset:0}}.ea-spark[data-astro-cid-km7n5w5i]{position:absolute;top:-.66em;right:-.34em;width:clamp(13px,2.4vw,20px);height:auto;color:rgb(var(--primary-light));opacity:0;transform:scale(.3) rotate(-30deg)}.ea-play[data-astro-cid-km7n5w5i] .ea-spark[data-astro-cid-km7n5w5i]{animation:ea-pop .36s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-delay:1.22s}@keyframes ea-pop{to{opacity:.85;transform:scale(1) rotate(0)}}.ea-sub[data-astro-cid-km7n5w5i]{margin:1.1rem 0 0;text-align:center;font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:rgb(var(--fg-soft));opacity:0}.ea-play[data-astro-cid-km7n5w5i] .ea-sub[data-astro-cid-km7n5w5i]{animation:ea-sub-in .32s var(--ease-smooth) forwards;animation-delay:1.32s}@keyframes ea-sub-in{to{opacity:.72}}#entry-animation[data-astro-cid-km7n5w5i].ea-done{animation:ea-fade .46s var(--ease-smooth) forwards}@keyframes ea-fade{to{opacity:0}}@media (prefers-reduced-motion: reduce){#entry-animation[data-astro-cid-km7n5w5i]{display:none!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg: 236 246 241;--bg-soft: 220 238 229;--surface: 248 252 250;--surface-variant: 201 234 217;--fg: 6 13 40;--fg-soft: 17 27 66;--fg-on-primary: 255 255 255;--primary: 0 26 110;--primary-container: 214 224 252;--primary-light: 1 38 150;--secondary: 42 107 84;--secondary-container: 196 234 216;--tertiary: 29 80 56;--tertiary-container: 204 235 218;--sage: 74 138 106;--border: 188 214 200;--outline: 96 122 108;--glass-bg: 255 255 255;--glass-border: 188 214 200;--glass-shadow: 0 8px 32px 0 rgba(1, 38, 150, .08);--glass-sat: 1.8;--glass-bright: 1.08;--blob-color: 1 38 150;--doodle-color: 1 38 150;--prose-fg: 6 13 40;--prose-soft: 36 48 88;--prose-pre-bg: 228 240 233;--prose-code-bg: 209 232 219;--prose-border: 201 234 217}.dark{--bg: 0 0 38;--bg-soft: 10 12 54;--surface: 14 16 62;--surface-variant: 28 32 88;--fg: 240 240 245;--fg-soft: 230 195 172;--fg-on-primary: 0 0 38;--primary: 255 119 15;--primary-container: 86 36 2;--primary-light: 255 119 15;--secondary: 150 165 255;--secondary-container: 16 32 128;--tertiary: 177 207 167;--tertiary-container: 132 161 124;--sage: 177 207 167;--border: 38 44 100;--outline: 130 142 190;--glass-bg: 14 16 62;--glass-border: 38 44 100;--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .35);--glass-sat: 1.6;--glass-bright: 1.15;--blob-color: 255 119 15;--doodle-color: 255 119 15;--prose-fg: 240 240 245;--prose-soft: 230 195 172;--prose-pre-bg: 10 12 54;--prose-code-bg: 28 32 88;--prose-border: 28 32 88;--radius-large: 1rem;--content-delay: .15s;--page-width: 72rem;--toc-width: 14rem}html{scroll-behavior:smooth;font-feature-settings:"cv11","ss01"}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background-color:rgb(var(--bg));color:rgb(var(--fg));font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid rgb(var(--primary-light));outline-offset:2px}::-moz-selection{background:rgb(var(--primary-light));color:rgb(var(--fg-on-primary))}::selection{background:rgb(var(--primary-light));color:rgb(var(--fg-on-primary))}.dark ::-moz-selection{background:rgb(var(--primary));color:rgb(var(--bg))}.dark ::selection{background:rgb(var(--primary));color:rgb(var(--bg))}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.prose{color:var(--tw-prose-body);max-width:70ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:none;font-weight:500;border-bottom:1px solid #7eb8d6;transition:all .2s}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{border-bottom-color:transparent}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:500;font-size:.9em;background-color:#faf7f0;padding:.15em .35em;border-radius:.25rem}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #2c2c2c;--tw-prose-headings: #1a1a1a;--tw-prose-lead: #4a4a4a;--tw-prose-links: #7eb8d6;--tw-prose-bold: #1a1a1a;--tw-prose-counters: #7a7a7a;--tw-prose-bullets: #e8dfc9;--tw-prose-hr: #f3ede0;--tw-prose-quotes: #4a4a4a;--tw-prose-quote-borders: #7eb8d6;--tw-prose-captions: #7a7a7a;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #1a1a1a;--tw-prose-pre-code: #fdfcf9;--tw-prose-pre-bg: #faf7f0;--tw-prose-th-borders: #e8dfc9;--tw-prose-td-borders: #f3ede0;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(h1,h2,h3,h4):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:600;letter-spacing:-.01em}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}:root{--ease-smooth: cubic-bezier(.23, 1, .32, 1);--ease-snappy: cubic-bezier(.34, 1.56, .64, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-active: cubic-bezier(.23, 1, .32, 1);--dur-fast: .15s;--dur-mid: .25s;--dur-slow: .4s;--radius-large: 1rem;--content-delay: .15s;--page-width: 72rem}.dark .ios-surface{background:rgb(var(--glass-bg) / .45);backdrop-filter:blur(20px) saturate(140%) brightness(1.15);border-color:rgb(var(--glass-border) / .2);box-shadow:0 .5px #ffffff14 inset,0 2px 8px #00000026,0 8px 24px -4px #00000040}.dark .ios-surface-heavy{background:rgb(var(--glass-bg) / .6);border-color:rgb(var(--glass-border) / .25);box-shadow:0 .5px #ffffff0f inset,0 4px 12px #0003,0 12px 32px -4px #0000004d}.ios-press{transition:transform .12s var(--ease-active)}.ios-press:active{transform:scale(.97)}.ios-press-light{transition:transform .1s var(--ease-active)}.ios-press-light:active{transform:scale(.92)}.onload-animation{opacity:0;transform:translateY(12px);transition:opacity var(--content-delay, .15s) var(--ease-smooth),transform var(--content-delay, .15s) var(--ease-smooth)}.onload-animation.is-visible{opacity:1;transform:translateY(0)}.onload-animation.is-visible{transform:none}@keyframes ios-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.liquid-glass{--glass-radius: 14px;position:relative;isolation:isolate;display:flex;flex-direction:column;border-radius:var(--glass-radius);overflow:hidden;border:1px solid rgb(255 255 255 / .45);background:rgb(var(--glass-bg) / .08);backdrop-filter:saturate(1.8) brightness(1.07);box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -1px 1px rgb(var(--glass-border) / .14),0 4px 8px #00000008,0 16px 40px -16px rgb(var(--primary) / .16);transform:translateZ(0);backface-visibility:hidden;transition:transform var(--dur-slow) var(--ease-smooth),box-shadow var(--dur-slow) var(--ease-smooth),border-color var(--dur-slow) var(--ease-smooth)}.dark .liquid-glass{background:rgb(var(--glass-bg) / .14);border-color:#ffffff29;box-shadow:inset 0 1px 1px #ffffff14,inset 0 -1px 1px #0003,0 4px 10px #00000026,0 16px 44px -16px #00000059}.liquid-glass:hover{transform:translateY(-3px) translateZ(0);border-color:#fff9;box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -1px 1px rgb(var(--glass-border) / .14),0 8px 20px #0000000d,0 24px 54px -18px rgb(var(--primary) / .22)}.dark .liquid-glass:hover{border-color:#ffffff3d;box-shadow:inset 0 1px 1px #ffffff14,inset 0 -1px 1px #0003,0 8px 22px #00000038,0 24px 56px -18px #00000073}@supports not (backdrop-filter: blur(1px)){.liquid-glass{background:rgb(var(--glass-bg) / .75);box-shadow:0 2px 8px #0000000f,0 8px 24px -4px #0000001a}.dark .liquid-glass{background:rgb(var(--glass-bg) / .85)}}.liquid-glass-vibe{background:rgb(var(--glass-bg) / .35);backdrop-filter:blur(16px) saturate(1.6) brightness(1.1);border:1px solid rgb(var(--glass-border) / .15);box-shadow:0 4px 16px -4px #0000000f,0 12px 40px -8px #0000000d,inset 0 .5px #ffffff80,inset 0 -.5px #ffffff14;transition:box-shadow .3s cubic-bezier(.23,1,.32,1),border-color .3s cubic-bezier(.23,1,.32,1),background .3s cubic-bezier(.23,1,.32,1)}.dark .liquid-glass-vibe{background:rgb(var(--glass-bg) / .45);backdrop-filter:blur(16px) saturate(1.4) brightness(1.15);border-color:rgb(var(--glass-border) / .2);box-shadow:0 4px 16px -4px #00000026,0 12px 40px -8px #00000040,inset 0 .5px #ffffff0f,inset 0 -.5px #ffffff05}.liquid-glass-vibe:hover{box-shadow:0 6px 20px -4px #0000001a,0 16px 48px -8px #00000014,inset 0 .5px #ffffff80,inset 0 -.5px #ffffff14}.dark .liquid-glass-vibe:hover{box-shadow:0 6px 20px -4px #0003,0 16px 48px -8px #00000059,inset 0 .5px #ffffff0f,inset 0 -.5px #ffffff05}.scroll-reveal{opacity:0;transition:opacity .6s var(--ease-smooth),transform .6s var(--ease-smooth)}.scroll-reveal{transform:translateY(16px)}.scroll-reveal.is-visible{opacity:1;transform:none}.scroll-reveal.scale{transform:translateY(8px) scale(.96)}.scroll-reveal.scale.is-visible{opacity:1;transform:none}.scroll-reveal.left{transform:translate(-20px)}.scroll-reveal.left.is-visible{opacity:1;transform:none}.scroll-reveal.right{transform:translate(20px)}.scroll-reveal.right.is-visible{opacity:1;transform:none}.scroll-reveal[style*=--reveal-delay]{transition-delay:var(--reveal-delay, 0ms)}.page-entrance{animation:page-entrance .5s var(--ease-smooth) backwards}@keyframes page-entrance{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.archive-slide-hover{transition:transform var(--dur-fast) var(--ease-standard)}.archive-slide-hover:hover{transform:translate(6px)}@keyframes glow-pulse{0%,to{box-shadow:0 0 rgb(var(--primary-light) / .4)}50%{box-shadow:0 0 0 8px rgb(var(--primary-light) / 0)}}.doodle-underline{position:relative;display:inline-block}.doodle-underline:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:8px;background-image:url("data:image/svg+xml,%3Csvg width='100' height='8' viewBox='0 0 100 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6C20 3 40 7 60 4C80 1 98 5 98 5' stroke='%23012696' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%}.dark .doodle-underline:after{background-image:url("data:image/svg+xml,%3Csvg width='100' height='8' viewBox='0 0 100 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6C20 3 40 7 60 4C80 1 98 5 98 5' stroke='%23ff770f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.dark .scrapbook-card{background:#14193233;border-color:#fff3;box-shadow:inset 0 1px #ffffff2e}.dark .scrapbook-card:hover{border-color:#ffffff4d}.postit-tag{display:inline-flex;align-items:center;padding:4px 12px;font-family:Architects Daughter,cursive;font-size:14px;line-height:20px;border-radius:8px;transition:background-color .2s ease}.postit-tag:hover{background-color:rgb(var(--primary-light) / .12)}@keyframes dash{to{stroke-dashoffset:0}}.cursor-blob{width:300px;height:300px;background:radial-gradient(circle,rgb(var(--blob-color) / .2),rgb(var(--blob-color) / 0) 70%);pointer-events:none;position:fixed;z-index:0;transform:translate(-50%,-50%);transition:width .3s,height .3s;will-change:transform}@media (hover: none),(pointer: coarse){.cursor-blob{display:none!important}}.reading-progress{position:fixed;top:0;left:0;z-index:50;height:.125rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;width:0%;background:linear-gradient(90deg,rgb(var(--primary)),rgb(var(--secondary)))}.dark .card-hover{border:1px solid rgba(255,255,255,.15)}.dark .card-hover:hover{box-shadow:0 12px 40px #00000038,inset 0 1px #ffffff26}.tag-chip{display:inline-flex;cursor:pointer;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:Montserrat,sans-serif;background-color:rgb(var(--surface-variant) / .5);color:rgb(var(--fg-soft))}.tag-chip:hover{background-color:rgb(var(--primary-light) / .18);color:rgb(var(--primary))}.tag-filter.active{background-color:rgb(var(--primary) / .15);color:rgb(var(--primary))}.dark .tag-filter.active{background-color:rgb(var(--primary) / .25)}.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:1rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-family:Montserrat,sans-serif;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-active);transition-property:transform,background,color,box-shadow}.btn:active{transform:scale(.97)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:.5rem}::-webkit-scrollbar-track{background:rgb(var(--bg-soft))}::-webkit-scrollbar-thumb{background:rgb(var(--surface-variant));border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--outline))}@media print{.no-print{display:none!important}body{background:#fff!important;color:#000!important}.prose{max-width:100%!important}}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.featured-card{padding:0}.featured-card:hover{transform:translateY(-2px) translateZ(0)!important}.theme-toggle{margin-left:.5rem;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.theme-toggle:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.theme-toggle{color:rgb(var(--primary))}.theme-toggle:hover{background:rgba(var(--primary-light),.15)}.post-container{transition:opacity .25s ease,transform .25s ease}.post-container.hidden-filter{opacity:0;transform:scale(.97);pointer-events:none;position:absolute;visibility:hidden}.prose pre{position:relative}.code-copy-btn{position:absolute;top:.5rem;right:.5rem;width:1.9rem;height:1.9rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:rgb(var(--fg-soft) / .85);background:rgb(var(--surface) / .88);border:1px solid rgb(var(--border) / .35);opacity:0;cursor:pointer;transition:opacity .25s var(--ease-smooth),color .25s var(--ease-smooth),border-color .25s var(--ease-smooth)}.code-copy-btn .material-symbols-outlined{font-size:16px}.prose pre:hover .code-copy-btn,.code-copy-btn:focus-visible{opacity:1}.code-copy-btn.copied{opacity:1;color:rgb(var(--secondary))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-reveal,.onload-animation{opacity:1;transform:none;transition:none;animation:none}.page-entrance{animation:none;opacity:1;transform:none}.img-zoom-wrapper img,.img-zoom-overlay,.img-zoom-icon{transition:none}.img-zoom-wrapper:hover img{transform:none}.img-zoom-wrapper:hover .img-zoom-overlay{background:transparent}.img-zoom-wrapper:hover .img-zoom-icon{opacity:0;transform:none}.archive-slide-hover,.archive-slide-hover:hover{transition:none;transform:none}.glow-pulse{animation:none}.cursor-blob{display:none!important}}.card-base{background:rgb(var(--glass-bg) / .08);backdrop-filter:saturate(1.8) brightness(1.07);border:1px solid rgb(255 255 255 / .45);border-radius:var(--radius-large, 1rem);box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -1px 1px rgb(var(--glass-border) / .14),0 4px 8px #00000008,0 16px 40px -16px rgb(var(--primary) / .16);transition:transform var(--dur-slow) var(--ease-smooth),box-shadow var(--dur-slow) var(--ease-smooth),border-color var(--dur-slow) var(--ease-smooth)}.card-base:hover{border-color:#fff9;box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -1px 1px rgb(var(--glass-border) / .14),0 8px 20px #0000000d,0 24px 54px -18px rgb(var(--primary) / .22)}.dark .card-base{background:rgb(var(--glass-bg) / .14);border-color:#ffffff29;box-shadow:inset 0 1px 1px #ffffff14,inset 0 -1px 1px #0003,0 4px 10px #00000026,0 16px 44px -16px #00000059}.dark .card-base:hover{border-color:#ffffff3d;box-shadow:inset 0 1px 1px #ffffff14,inset 0 -1px 1px #0003,0 8px 22px #00000038,0 24px 56px -18px #00000073}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.float-panel-closed{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}#nav-menu-panel:not(.float-panel-closed){opacity:1;pointer-events:auto;visibility:visible}.post-grid{display:grid}.card-cream-cover{position:relative;width:100%;aspect-ratio:16 / 9;flex-shrink:0;overflow:hidden;border-radius:0;z-index:10}.card-cream-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .5s cubic-bezier(.23,1,.32,1)}.card-cream:hover .card-cream-cover img,.liquid-glass:hover .card-cream-cover img{transform:scale(1.05)}.card-cream-body{padding:16px 20px 20px;flex:1 0 auto;display:flex;flex-direction:column;position:relative;z-index:10}.tag-cream{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.6;transition:opacity .2s ease}.tag-cream:hover{opacity:.8}.tag-cream[data-tag=公告]{background:#f9e9c8;color:#7a5f2e}.tag-cream[data-tag=AI]{background:#e8f0f9;color:#3d5e8a}.tag-cream[data-tag=随笔]{background:#e9f7e9;color:#3d7a3d}.tag-cream[data-tag=工具]{background:#f2e8f9;color:#6a3d8a}.tag-cream[data-tag=更新]{background:#fce8e8;color:#8a3d3d}.tag-cream[data-tag=日记]{background:#fef3e2;color:#8a6a3d}.tag-cream[data-tag=分享]{background:#e6f0fa;color:#3d5e7a}.tag-cream[data-tag=学习]{background:#eaf4e8;color:#3a6a3a}.tag-cream[data-tag=旅行]{background:#e8f4f8;color:#3a6a7a}.tag-cream:not([data-tag]){background:#f0ebe4;color:#6a5a4a}.tag-chip-cream{display:inline-flex;align-items:center;padding:4px 12px;border-radius:8px;font-size:12px;font-weight:500;color:rgb(var(--fg-soft));background:rgb(var(--glass-bg) / .1);backdrop-filter:saturate(1.8) brightness(1.07);border:1px solid rgb(255 255 255 / .45);box-shadow:inset 0 1px 1px #ffffff80;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer;line-height:1.5}.tag-chip-cream:hover{background:rgb(var(--primary-light) / .15);color:rgb(var(--primary));border-color:rgb(var(--primary-light) / .25)}.dark .tag-chip-cream{background:rgb(var(--glass-bg) / .16);color:#c8b4a0;border-color:#ffffff29;box-shadow:inset 0 1px 1px #ffffff14}.dark .tag-chip-cream:hover{background:rgb(var(--primary) / .12);color:rgb(var(--primary));border-color:rgb(var(--primary) / .2)}.dark .liquid-glass-pure{--glass-border-alpha: .12;--glass-highlight: .7;border-color:#ffffff26;box-shadow:inset 2px -2px 1px -1px #ffffff80,inset -2px 2px 1px -1px #ffffff80,inset 6px -6px 1px -6px #ffffff4d,inset -6px 6px 1px -6px #ffffff4d,inset 0 0 2px #000000e6,0 4px 12px #0006;filter:brightness(.85)}.dark .liquid-glass-pure:before{border-color:#ffffff1f;filter:blur(10px)}.dark .liquid-glass-pure:after{background:linear-gradient(45deg,rgba(255,255,255,.25) 0%,transparent 25%,transparent 75%,rgba(255,255,255,.25) 100%)}.dark .liquid-glass-pure:hover{box-shadow:inset 2px -2px 1px -1px #fff6,inset -2px 2px 1px -1px #fff6,inset 6px -6px 1px -6px #ffffff40,inset -6px 6px 1px -6px #ffffff40,inset 0 0 2px #000000e6,0 8px 24px #00000080}.dark .liquid-glass-container .liquid-glass-pure{filter:brightness(.85)}.sidebar-section{background:#ffffff4d;backdrop-filter:blur(16px) saturate(1.7);border:1px solid rgba(255,255,255,.38);border-radius:14px;padding:20px;box-shadow:inset 0 1px #ffffff73;transition:box-shadow var(--dur-fast) cubic-bezier(.23,1,.32,1),border-color var(--dur-fast) cubic-bezier(.23,1,.32,1),background .3s cubic-bezier(.23,1,.32,1)}.dark .sidebar-section{background:#14193257;border-color:#fff3;box-shadow:inset 0 1px #ffffff2e}.sidebar-section:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff73}.dark .sidebar-section:hover{box-shadow:inset 0 1px #ffffff2e}.sidebar-section-title{font-size:11px;font-weight:600;color:#7180a8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:flex;align-items:center;gap:6px}.sidebar-recent-item{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0;border-bottom:1px solid rgba(215,195,184,.1);transition:color .2s ease}.sidebar-recent-item:last-child{border-bottom:none}.sidebar-recent-item a{flex:1;font-size:13px;color:#4a4a4a;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;transition:color .2s ease}.sidebar-recent-item a:hover{color:rgb(var(--primary))}.dark .sidebar-recent-item a{color:#c8b9af}.sidebar-archive-item{display:flex;align-items:center;justify-content:space-between;min-height:32px;font-size:13px;color:#46527e;border-bottom:1px solid rgba(215,195,184,.08);transition:color .2s ease;cursor:default}.sidebar-archive-item:last-child{border-bottom:none}.sidebar-archive-item:hover{color:rgb(var(--primary))}.sidebar-archive-item .count{font-size:12px;color:#7180a8}.dark .sidebar-archive-item{color:#b4a59b}.read-more-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:rgb(var(--primary));text-decoration:none;transition:gap var(--dur-fast) ease}.read-more-link:hover{gap:8px}html:not(.dark) .article-readable header h1{text-shadow:0 1px 3px rgb(255 255 255 / .95)}html:not(.dark) .article-readable header p,html:not(.dark) .article-readable header div,html:not(.dark) .article-readable .prose p,html:not(.dark) .article-readable .prose li,html:not(.dark) .article-readable .prose h2,html:not(.dark) .article-readable .prose h3,html:not(.dark) .article-readable .prose h4{text-shadow:0 1px 2px rgb(255 255 255 / .9)}html.dark .article-readable header h1{text-shadow:0 1px 3px rgb(0 0 0 / .85)}html.dark .article-readable header p,html.dark .article-readable header div,html.dark .article-readable .prose p,html.dark .article-readable .prose li,html.dark .article-readable .prose h2,html.dark .article-readable .prose h3,html.dark .article-readable .prose h4{text-shadow:0 1px 2px rgb(0 0 0 / .8)}.text-cream-heading{color:#16224a;text-shadow:0 1px 2px rgb(255 255 255 / .9)}.dark .text-cream-heading{color:#eef0f8;text-shadow:0 1px 2px rgb(0 0 0 / .8)}.text-cream-body{color:#24366b;text-shadow:0 1px 2px rgb(255 255 255 / .88)}.dark .text-cream-body{color:#a9b2d0;text-shadow:0 1px 2px rgb(0 0 0 / .78)}.text-cream-soft{color:#3f5090;text-shadow:0 1px 2px rgb(255 255 255 / .85)}.dark .text-cream-soft{color:#7e88ad;text-shadow:0 1px 2px rgb(0 0 0 / .72)}.text-cream-link{color:rgb(var(--primary))}.dark .text-cream-link{color:rgb(var(--primary-light))}.bg-cream-search{background:rgb(var(--glass-bg) / .4);backdrop-filter:blur(8px) saturate(1.4)}.dark .bg-cream-search{background:rgb(var(--glass-bg) / .45)}.border-cream{border-color:#d7c3b840}.dark .border-cream{border-color:#5a41364d}.btn-glass{background:rgb(var(--glass-bg) / .1);backdrop-filter:saturate(1.8) brightness(1.07);border:1px solid rgb(255 255 255 / .5);box-shadow:inset 0 1px 1px #ffffff8c,0 4px 14px -6px rgb(var(--primary) / .15)}.btn-glass:hover{background:rgb(var(--glass-bg) / .22);border-color:#ffffffa6}.dark .btn-glass{background:rgb(var(--glass-bg) / .16);border-color:#ffffff2e;box-shadow:inset 0 1px 1px #ffffff14}.dark .btn-glass:hover{background:rgb(var(--glass-bg) / .3);border-color:#ffffff42}.tag-filter-cream{display:inline-flex;align-items:center;padding:4px 14px;border-radius:8px;font-size:12px;font-weight:500;color:rgb(var(--fg-soft));background:rgb(var(--glass-bg) / .1);backdrop-filter:saturate(1.8) brightness(1.07);border:1px solid rgb(255 255 255 / .45);box-shadow:inset 0 1px 1px #ffffff80;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;line-height:1.5}.tag-filter-cream:hover{background:rgb(var(--glass-bg) / .22);border-color:#fff9}.tag-filter-cream.active{background:rgb(var(--primary-light));color:rgb(var(--fg-on-primary));border-color:transparent;box-shadow:none}.dark .tag-filter-cream{color:#c8b4a0;background:rgb(var(--glass-bg) / .16);border-color:#ffffff29;box-shadow:inset 0 1px 1px #ffffff14}.dark .tag-filter-cream:hover{background:rgb(var(--glass-bg) / .3);border-color:#ffffff3d}.dark .tag-filter-cream.active{background:rgb(var(--primary));color:rgb(var(--fg-on-primary));border-color:transparent;box-shadow:none}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-2{inset:.5rem}.inset-x-0{left:0;right:0}.-left-\[1\.9rem\]{left:-1.9rem}.bottom-0{bottom:0}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.bottom-\[9\.25rem\]{bottom:9.25rem}.left-0{left:0}.left-2\.5{left:.625rem}.right-0{right:0}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-2{top:.5rem}.top-24{top:6rem}.top-6{top:1.5rem}.top-\[4\.75rem\]{top:4.75rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1 / span 1}.row-start-2{grid-row-start:2}.m-0{margin:0}.mx-\[20px\]{margin-left:20px;margin-right:20px}.mx-auto{margin-left:auto;margin-right:auto}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.-ml-px{margin-left:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[10px\]{margin-bottom:10px}.mb-\[16px\]{margin-bottom:16px}.mb-\[8px\]{margin-bottom:8px}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[20px\]{margin-top:20px}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[3\.25rem\]{height:3.25rem}.h-\[3px\]{height:3px}.h-\[4\.5rem\]{height:4.5rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[55vh\]{max-height:55vh}.min-h-\[1\.6em\]{min-height:1.6em}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-4{width:1rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18rem\]{width:18rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-6xl{max-width:72rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[calc\(100vw-2\.5rem\)\]{max-width:calc(100vw - 2.5rem)}.max-w-\[var\(--page-width\,72rem\)\]{max-width:var(--page-width,72rem)}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.columns-2{-moz-columns:2;columns:2}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-y-7{row-gap:1.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[rgb\(var\(--border\)\)\]\/25>:not([hidden])~:not([hidden]){border-color:rgb(var(--border) / .25)}.overflow-hidden{overflow:hidden}.\!overflow-visible{overflow:visible!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[rgb\(var\(--border\)\)\]{border-color:rgb(var(--border))}.border-\[rgb\(var\(--border\)\)\]\/30{border-color:rgb(var(--border) / .3)}.border-\[rgb\(var\(--border\)\)\]\/40{border-color:rgb(var(--border) / .4)}.border-\[rgb\(var\(--border\)\)\]\/50{border-color:rgb(var(--border) / .5)}.border-\[rgb\(var\(--border\)\)\]\/60{border-color:rgb(var(--border) / .6)}.border-\[rgb\(var\(--border\)\/0\.25\)\]{border-color:rgb(var(--border)/.25)}.border-\[rgb\(var\(--border\)\/0\.5\)\]{border-color:rgb(var(--border)/.5)}.border-\[rgb\(var\(--primary\)\)\]{border-color:rgb(var(--primary))}.border-transparent{border-color:transparent}.bg-\[rgb\(var\(--bg\)\)\]{background-color:rgb(var(--bg))}.bg-\[rgb\(var\(--bg\)\)\]\/60{background-color:rgb(var(--bg) / .6)}.bg-\[rgb\(var\(--bg\)\)\]\/70{background-color:rgb(var(--bg) / .7)}.bg-\[rgb\(var\(--bg\)\)\]\/80{background-color:rgb(var(--bg) / .8)}.bg-\[rgb\(var\(--bg-soft\)\)\]{background-color:rgb(var(--bg-soft))}.bg-\[rgb\(var\(--bg-soft\)\)\]\/30{background-color:rgb(var(--bg-soft) / .3)}.bg-\[rgb\(var\(--primary\)\)\]{background-color:rgb(var(--primary))}.bg-\[rgb\(var\(--primary-container\)\)\]{background-color:rgb(var(--primary-container))}.bg-\[rgb\(var\(--primary-light\)\)\]{background-color:rgb(var(--primary-light))}.bg-\[rgb\(var\(--primary-light\)\/0\.1\)\]{background-color:rgb(var(--primary-light)/.1)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/55{--tw-gradient-from: rgb(0 0 0 / .55) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-9{padding-left:2.25rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[rgb\(var\(--fg\)\)\]{color:rgb(var(--fg))}.text-\[rgb\(var\(--fg-on-primary\)\)\]{color:rgb(var(--fg-on-primary))}.text-\[rgb\(var\(--fg-soft\)\)\]{color:rgb(var(--fg-soft))}.text-\[rgb\(var\(--fg-soft\)\)\]\/60{color:rgb(var(--fg-soft) / .6)}.text-\[rgb\(var\(--fg-soft\)\/0\.6\)\]{color:rgb(var(--fg-soft)/.6)}.text-\[rgb\(var\(--primary\)\)\]{color:rgb(var(--primary))}.text-\[rgb\(var\(--secondary\)\)\]{color:rgb(var(--secondary))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[rgb\(var\(--bg\)\)\]\/70{--tw-ring-color: rgb(var(--bg) / .7)}.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-blur-md{--tw-backdrop-blur: blur(12px);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-blur-xl{--tw-backdrop-blur: blur(24px);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{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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[filter\]{transition-property:filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-\[var\(--ease-smooth\)\]{transition-timing-function:var(--ease-smooth)}.\[backdrop-filter\:blur\(24px\)_saturate\(1\.6\)\]{backdrop-filter:blur(24px) saturate(1.6)}.placeholder\:text-cream-soft::-moz-placeholder{color:#3f5090;text-shadow:0 1px 2px rgb(255 255 255 / .85)}.placeholder\:text-cream-soft::placeholder{color:#3f5090;text-shadow:0 1px 2px rgb(255 255 255 / .85)}.dark .placeholder\:text-cream-soft::-moz-placeholder{color:#7e88ad;text-shadow:0 1px 2px rgb(0 0 0 / .72)}.dark .placeholder\:text-cream-soft::placeholder{color:#7e88ad;text-shadow:0 1px 2px rgb(0 0 0 / .72)}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-x-1:hover{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[rgb\(var\(--primary\)\)\/0\.3\]:hover{border-color:rgb(var(--primary))/.3}.hover\:border-\[rgb\(var\(--primary\)\)\]:hover{border-color:rgb(var(--primary))}.hover\:border-\[rgb\(var\(--primary\)\)\]\/40:hover{border-color:rgb(var(--primary) / .4)}.hover\:border-\[rgb\(var\(--primary-light\)\)\/0\.2\]:hover{border-color:rgb(var(--primary-light))/.2}.hover\:bg-\[\#0088CC\]\/10:hover{background-color:#0088cc1a}.hover\:bg-\[\#1DA1F2\]\/10:hover{background-color:#1da1f21a}.hover\:bg-\[\#E6162D\]\/10:hover{background-color:#e6162d1a}.hover\:bg-\[rgb\(var\(--primary-light\)\)\]\/5:hover{background-color:rgb(var(--primary-light) / .05)}.hover\:bg-\[rgb\(var\(--primary-light\)\/0\.06\)\]:hover{background-color:rgb(var(--primary-light)/.06)}.hover\:bg-\[rgb\(var\(--primary-light\)\/0\.08\)\]:hover{background-color:rgb(var(--primary-light)/.08)}.hover\:bg-\[rgb\(var\(--surface-variant\)\)\]\/30:hover{background-color:rgb(var(--surface-variant) / .3)}.hover\:text-\[\#0088CC\]:hover{--tw-text-opacity: 1;color:rgb(0 136 204 / var(--tw-text-opacity, 1))}.hover\:text-\[\#1DA1F2\]:hover{--tw-text-opacity: 1;color:rgb(29 161 242 / var(--tw-text-opacity, 1))}.hover\:text-\[\#E6162D\]:hover{--tw-text-opacity: 1;color:rgb(230 22 45 / var(--tw-text-opacity, 1))}.hover\:text-\[rgb\(var\(--primary\)\)\]:hover{color:rgb(var(--primary))}.hover\:text-\[rgb\(var\(--primary-light\)\)\]:hover{color:rgb(var(--primary-light))}.hover\:shadow-\[0_0_12px_rgba\(var\(--primary-light\)\,0\.3\)\]:hover{--tw-shadow: 0 0 12px rgba(var(--primary-light),.3);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(255\,182\,147\,0\.5\)\]:hover{--tw-shadow: 0 0 20px rgba(255,182,147,.5);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[rgb\(var\(--primary\)\)\]\/20:focus{--tw-ring-color: rgb(var(--primary) / .2)}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x: 1.03;--tw-scale-y: 1.03;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-\[rgb\(var\(--primary\)\)\]{color:rgb(var(--primary))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:brightness-110{--tw-brightness: brightness(1.1);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\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-90:is(.dark *){--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:opacity-0:is(.dark *){opacity:0}.dark\:opacity-100:is(.dark *){opacity:1}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-start-2{grid-column-start:2}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (min-width: 768px){.md\:inset-3{inset:.75rem}.md\:col-span-1{grid-column:span 1 / span 1}.md\:mx-0{margin-left:0;margin-right:0}.md\:mt-24{margin-top:6rem}.md\:mt-5{margin-top:1.25rem}.md\:mt-8{margin-top:2rem}.md\:flex{display:flex}.md\:aspect-auto{aspect-ratio:auto}.md\:h-36{height:9rem}.md\:min-h-\[240px\]{min-height:240px}.md\:w-2\/5{width:40%}.md\:w-32{width:8rem}.md\:w-36{width:9rem}.md\:columns-3{-moz-columns:3;columns:3}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-8{gap:2rem}.md\:p-7{padding:1.75rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-6{padding-top:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:row-start-1{grid-row-start:1}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[260px_1fr\]{grid-template-columns:260px 1fr}.lg\:flex-row{flex-direction:row}.lg\:gap-8{gap:2rem}.lg\:text-5xl{font-size:3rem;line-height:1}}@media (min-width: 1536px){.\32xl\:block{display:block}.\32xl\:hidden{display:none}}:root{--content-delay: 0ms;--page-width: 72rem}#cursor-blob[data-astro-cid-37fxchfa]{transition:width .3s,height .3s,opacity .22s var(--ease-smooth)}#cursor-blob[data-astro-cid-37fxchfa].blob-paused{opacity:0}h1[data-astro-cid-37fxchfa],h2[data-astro-cid-37fxchfa],h3[data-astro-cid-37fxchfa],h4[data-astro-cid-37fxchfa],h5[data-astro-cid-37fxchfa],h6[data-astro-cid-37fxchfa]{letter-spacing:-.02em}body{letter-spacing:.01em}#bg-layer[data-astro-cid-37fxchfa]{position:fixed;inset:0;z-index:-1;overflow:hidden;transform:translateZ(0)}#bg-layer[data-astro-cid-37fxchfa] img[data-astro-cid-37fxchfa]{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.bg-desktop[data-astro-cid-37fxchfa]{display:block}#bg-overlay[data-astro-cid-37fxchfa]{position:absolute;inset:0;background:rgb(var(--bg) / .08);transition:background .9s cubic-bezier(.23,1,.32,1)}.dark #bg-overlay[data-astro-cid-37fxchfa]{background:#11131c47}body.bg-veil #bg-overlay[data-astro-cid-37fxchfa]{background:rgb(var(--bg) / .85)}html.dark body.bg-veil #bg-overlay[data-astro-cid-37fxchfa]{background:#11131ca8}@media (max-width: 768px){#bg-layer[data-astro-cid-37fxchfa] img[data-astro-cid-37fxchfa]{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}}.page-entrance[data-astro-cid-37fxchfa]{animation:page-entrance .35s var(--ease-smooth) backwards}@keyframes page-entrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
