@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--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,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scrollbar-thin{scrollbar-width:thin}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--hue:220;--primary:oklch(.7 .14 var(--hue));--primary-dim:oklch(.92 .04 var(--hue));--page-bg:oklch(.95 .01 var(--hue));--bg:var(--page-bg);--sidebar-bg:#fff;--card-bg:#fff;--float-panel-bg:#fff;--text:oklch(.2 .02 var(--hue));--text-muted:oklch(.5 .02 var(--hue));--deep-text:oklch(.25 .02 var(--hue));--title-active:oklch(.6 .1 var(--hue));--btn-regular-bg:oklch(.95 .025 var(--hue));--btn-regular-bg-hover:oklch(.9 .05 var(--hue));--btn-regular-bg-active:oklch(.85 .08 var(--hue));--btn-plain-bg-hover:oklch(.9 .04 var(--hue));--btn-plain-bg-active:oklch(.85 .07 var(--hue));--btn-card-bg-hover:oklch(.98 .005 var(--hue));--btn-card-bg-active:oklch(.9 .03 var(--hue));--hover-bg:oklch(.95 .01 var(--hue));--active-bg:oklch(.92 .05 var(--hue));--link-underline:oklch(.93 .04 var(--hue));--link-hover:oklch(.95 .025 var(--hue));--link-active:oklch(.9 .05 var(--hue));--border:oklch(.92 .01 var(--hue));--line-divider:#00000014;--line-color:#0000001a;--meta-divider:#0003;--codeblock-bg:oklch(.17 .015 var(--hue));--codeblock-topbar-bg:oklch(.3 .02 var(--hue));--inline-code-bg:var(--btn-regular-bg);--inline-code-color:var(--primary);--codeblock-selection:oklch(.4 .08 var(--hue));--admonitions-color-tip:oklch(70% .14 180);--admonitions-color-note:oklch(70% .14 250);--admonitions-color-important:oklch(70% .14 310);--admonitions-color-warning:oklch(70% .14 60);--admonitions-color-caution:oklch(60% .2 25);--toc-badge-bg:oklch(.89 .05 var(--hue));--toc-btn-hover:oklch(.926 .015 var(--hue));--toc-btn-active:oklch(.9 .015 var(--hue));--toc-item-active:oklch(.7 .13 var(--hue));--font-sans:"Inter", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "Fira Code", ui-monospace, monospace;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-full:9999px;--radius-card:1.25rem;--radius-large:1rem;--transition:.15s cubic-bezier(.4, 0, .2, 1);--content-delay:.15s;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-card:0 4px 16px #0000000f, 0 1px 3px #0000000a;--sidebar-width:14rem;--content-max-width:64rem;--toc-width:16rem;--page-padding:1rem;--card-gap:1rem}[data-theme=dark]{--page-bg:oklch(.16 .014 var(--hue));--bg:var(--page-bg);--sidebar-bg:oklch(.2 .012 var(--hue));--card-bg:oklch(.23 .015 var(--hue));--float-panel-bg:oklch(.19 .015 var(--hue));--primary:oklch(.75 .14 var(--hue));--primary-dim:oklch(.35 .06 var(--hue));--text:oklch(.95 .01 var(--hue));--text-muted:oklch(.65 .02 var(--hue));--deep-text:oklch(.95 .01 var(--hue));--btn-regular-bg:oklch(.33 .035 var(--hue));--btn-regular-bg-hover:oklch(.38 .04 var(--hue));--btn-regular-bg-active:oklch(.43 .045 var(--hue));--btn-plain-bg-hover:oklch(.3 .035 var(--hue));--btn-plain-bg-active:oklch(.27 .025 var(--hue));--btn-card-bg-hover:oklch(.3 .03 var(--hue));--btn-card-bg-active:oklch(.35 .035 var(--hue));--hover-bg:oklch(.27 .02 var(--hue));--active-bg:oklch(.3 .05 var(--hue));--link-underline:oklch(.4 .08 var(--hue));--link-hover:oklch(.4 .08 var(--hue));--link-active:oklch(.35 .07 var(--hue));--border:oklch(.3 .015 var(--hue));--line-divider:#ffffff14;--line-color:#ffffff1a;--meta-divider:#fff3;--codeblock-topbar-bg:oklch(.12 .015 var(--hue));--inline-code-bg:var(--btn-regular-bg);--admonitions-color-tip:oklch(75% .14 180);--admonitions-color-note:oklch(75% .14 250);--admonitions-color-important:oklch(75% .14 310);--admonitions-color-warning:oklch(75% .14 60);--admonitions-color-caution:oklch(65% .2 25);--toc-btn-hover:oklch(.22 .02 var(--hue));--toc-btn-active:oklch(.25 .02 var(--hue));--toc-item-active:oklch(.35 .07 var(--hue));--shadow-sm:0 1px 2px #0003;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-card:0 4px 16px #00000059, 0 1px 3px #00000040}@media(prefers-color-scheme:dark){:root:not([data-theme]){--page-bg:oklch(.16 .014 var(--hue));--bg:var(--page-bg);--sidebar-bg:oklch(.2 .012 var(--hue));--card-bg:oklch(.23 .015 var(--hue));--float-panel-bg:oklch(.19 .015 var(--hue));--primary:oklch(.75 .14 var(--hue));--primary-dim:oklch(.35 .06 var(--hue));--text:oklch(.95 .01 var(--hue));--text-muted:oklch(.65 .02 var(--hue));--btn-regular-bg:oklch(.33 .035 var(--hue));--btn-regular-bg-hover:oklch(.38 .04 var(--hue));--btn-regular-bg-active:oklch(.43 .045 var(--hue));--btn-plain-bg-hover:oklch(.3 .035 var(--hue));--btn-plain-bg-active:oklch(.27 .025 var(--hue));--btn-card-bg-hover:oklch(.3 .03 var(--hue));--btn-card-bg-active:oklch(.35 .035 var(--hue));--hover-bg:oklch(.27 .02 var(--hue));--active-bg:oklch(.3 .05 var(--hue));--link-underline:oklch(.4 .08 var(--hue));--link-hover:oklch(.4 .08 var(--hue));--link-active:oklch(.35 .07 var(--hue));--border:oklch(.3 .015 var(--hue));--line-divider:#ffffff14;--line-color:#ffffff1a;--meta-divider:#fff3;--codeblock-topbar-bg:oklch(.12 .015 var(--hue));--inline-code-bg:var(--btn-regular-bg);--admonitions-color-tip:oklch(75% .14 180);--admonitions-color-note:oklch(75% .14 250);--admonitions-color-important:oklch(75% .14 310);--admonitions-color-warning:oklch(75% .14 60);--admonitions-color-caution:oklch(65% .2 25);--toc-btn-hover:oklch(.22 .02 var(--hue));--toc-btn-active:oklch(.25 .02 var(--hue));--toc-item-active:oklch(.35 .07 var(--hue));--shadow-card:0 4px 16px #00000059, 0 1px 3px #00000040}}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font-sans);background:var(--bg);color:var(--text);scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;line-height:1.6}body{background:var(--bg);min-height:100vh;font-size:1.0625rem}a{color:var(--primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--primary)}button{cursor:pointer;font-family:inherit}img{max-width:100%;height:auto}h1,h2,h3,h4{color:var(--text);margin:0;font-weight:700;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-90{opacity:.9}.text-75{opacity:.75}.text-50{opacity:.5}.text-30{opacity:.3}.text-25{opacity:.25}.card-base{border-radius:var(--radius-large);background:var(--card-bg);transition:all var(--transition);overflow:hidden}.card-shadow{filter:drop-shadow(0 2px 4px #00000001)}.btn-regular{background:var(--btn-regular-bg);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:all var(--transition);border:none;padding:.375rem .75rem;font-family:inherit}.btn-regular:hover{background:var(--btn-regular-bg-hover)}.btn-regular:active{background:var(--btn-regular-bg-active)}.btn-regular-dark{background:var(--codeblock-bg);border-radius:var(--radius-sm);color:oklch(.85 .01 var(--hue));cursor:pointer;transition:all var(--transition);border:none;padding:.375rem .75rem;font-family:inherit}.btn-regular-dark.success{color:#fff;background:oklch(45% .14 180)}.btn-plain{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;padding:.375rem .75rem;font-family:inherit;position:relative}.btn-plain:hover{background:var(--btn-plain-bg-hover);color:var(--text)}.btn-plain:active{background:var(--btn-plain-bg-active)}.btn-plain.scale-animation{overflow:visible}.btn-plain.scale-animation:before{content:"";border-radius:inherit;background:var(--btn-plain-bg-hover);opacity:0;z-index:-10;transition:transform var(--transition),opacity var(--transition);position:absolute;inset:0;transform:scale(.85)}.btn-plain.scale-animation:hover:before{opacity:1;transform:scale(1)}.btn-plain.scale-animation:active:before{background:var(--btn-plain-bg-active)}.btn-card{background:var(--card-bg);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:all var(--transition);border:none;padding:.375rem .75rem;font-family:inherit}.btn-card:hover{background:var(--btn-card-bg-hover)}.btn-card:active{background:var(--btn-card-bg-active)}.btn-card.disabled{opacity:.1;pointer-events:none}.link{color:var(--primary);transition:all var(--transition);border-radius:.375rem;padding:.125rem .25rem;position:relative}.link:before{content:"";border-radius:inherit;background:var(--btn-plain-bg-hover);opacity:0;z-index:-1;transition:transform var(--transition),opacity var(--transition);position:absolute;inset:0;transform:scale(.85)}.link:hover:before{opacity:1;transform:scale(1)}.link:active:before{background:var(--btn-plain-bg-active)}.link-lg{padding:.25rem .5rem;font-size:1.0625rem}.link-underline{text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline)}.float-panel{background:var(--float-panel-bg);border-radius:var(--radius-large);box-shadow:var(--shadow-lg),0 0 0 1px var(--line-divider);z-index:100;transition:opacity var(--transition),transform var(--transition),visibility var(--transition);position:fixed;top:5.25rem}.float-panel-closed{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.5rem)}.meta-icon{border-radius:var(--radius-sm);background:var(--btn-regular-bg);width:2rem;height:2rem;transition:all var(--transition);justify-content:center;align-items:center;display:flex}.with-divider:before{content:"/";color:var(--meta-divider);margin:0 .375rem}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.expand-animation{position:relative;overflow:visible}.expand-animation:before{content:"";border-radius:inherit;background:var(--btn-plain-bg-hover);opacity:0;z-index:-10;transition:transform var(--transition),opacity var(--transition);position:absolute;inset:0;transform:scale(.85)}.expand-animation:hover:before{opacity:1;transform:scale(1)}.expand-animation:active:before{background:var(--btn-plain-bg-active)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}.onload-animation{animation:.3s ease-out fade-in-up}#navbar{animation-delay:0s}#sidebar{animation-delay:.1s}#content-wrapper{animation-delay:var(--content-delay)}.footer{animation-delay:.25s}#banner-credit{animation-delay:.4s}@keyframes pulsate{0%{opacity:.15}50%{opacity:.25}to{opacity:.15}}.loading-pulse{pointer-events:none;animation:2s linear infinite pulsate}html.is-changing{transition:opacity .2s,transform .2s}html.is-animating{opacity:0;transform:translateY(1rem)}.layout{gap:var(--card-gap);padding:var(--page-padding);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);gap:var(--card-gap);top:var(--page-padding);max-height:calc(100vh - var(--page-padding) * 2);flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.main{background:var(--card-bg);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card);flex:1;overflow:hidden}.content-container{width:100%;padding:3rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary-dim);color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:1279px){.layout{gap:.75rem;padding:.75rem}.sidebar{max-height:calc(100vh - 1.5rem);top:.75rem}.content-container{padding:2.5rem 2rem}}.mobile-topbar{display:none}.sidebar-overlay{z-index:40;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;transition:opacity .25s ease-out;display:none;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}@media(max-width:1023px){.mobile-topbar{z-index:30;align-items:center;gap:.5rem;padding:.625rem .625rem 0;display:flex;position:sticky;top:0}.mobile-topbar-inner{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex:1;align-items:center;gap:.75rem;min-height:3rem;padding:.5rem .875rem;display:flex}.mobile-topbar-title{color:var(--text);flex:1;font-size:1rem;font-weight:600}.mobile-icon-btn{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-icon-btn:hover{background:var(--btn-regular-bg);color:var(--text)}.mobile-icon-btn:active{background:var(--btn-regular-bg-hover)}.mobile-icon-btn svg{width:1.25rem;height:1.25rem}.layout{flex-direction:column;gap:.625rem;padding:.5rem .625rem .625rem}.sidebar{border-radius:0 var(--radius-card) var(--radius-card) 0;z-index:50;width:15rem;height:100dvh;max-height:100dvh;padding-top:.625rem;transition:transform .25s ease-out;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.main{width:100%}.content-container{padding:2rem 1.5rem}}@media(max-width:640px){.mobile-topbar{padding:.5rem .5rem 0}.layout{gap:.5rem;padding:.5rem}.main{border-radius:var(--radius-md)}.content-container{padding:1.5rem 1.25rem}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.sidebar-close-btn[data-astro-cid-ssfzsv2f]{display:none;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;margin:0 0 .25rem auto;transition:all var(--transition)}.sidebar-close-btn[data-astro-cid-ssfzsv2f]:hover{background:var(--btn-regular-bg);color:var(--text)}.sidebar-close-btn[data-astro-cid-ssfzsv2f]:active{background:var(--btn-regular-bg-hover)}@media(max-width:1023px){.sidebar-close-btn[data-astro-cid-ssfzsv2f]{display:flex}}.sidebar-card[data-astro-cid-ssfzsv2f]{background:var(--sidebar-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.25rem 1rem;transition:box-shadow var(--transition)}.nav-card[data-astro-cid-ssfzsv2f]{display:flex;flex-direction:column;gap:1rem}.sidebar-nav[data-astro-cid-ssfzsv2f]{display:flex;flex-direction:column;gap:.25rem}.nav-item[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;gap:.75rem;padding:0 .875rem;height:2.5rem;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:.9375rem;transition:all var(--transition);position:relative}.nav-item[data-astro-cid-ssfzsv2f]:hover{background:var(--btn-regular-bg);color:var(--text);text-decoration:none}.nav-item[data-astro-cid-ssfzsv2f]:active{background:var(--btn-regular-bg-hover)}.nav-item[data-astro-cid-ssfzsv2f]:before{content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:3px;background:var(--primary);border-radius:var(--radius-full);opacity:0;transition:opacity var(--transition),width var(--transition)}.nav-item[data-astro-cid-ssfzsv2f]:hover:before{opacity:.45;width:2px}.nav-item[data-astro-cid-ssfzsv2f].active{background:var(--btn-regular-bg-hover);color:var(--primary);font-weight:600}.nav-item[data-astro-cid-ssfzsv2f].active:before{opacity:1;width:3px}.nav-icon[data-astro-cid-ssfzsv2f]{width:1.125rem;height:1.125rem;flex-shrink:0}.sidebar-controls[data-astro-cid-ssfzsv2f]{display:flex;gap:.375rem;padding-top:.75rem;border-top:1px solid var(--line-divider)}.sidebar-copyright[data-astro-cid-ssfzsv2f]{margin:auto 0 0;padding-top:.75rem;font-size:.6875rem;color:var(--text-muted);opacity:.5;text-align:center}.ctrl-btn[data-astro-cid-ssfzsv2f]{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition);position:relative}.ctrl-btn[data-astro-cid-ssfzsv2f]:hover{background:var(--btn-regular-bg);color:var(--text)}.ctrl-btn[data-astro-cid-ssfzsv2f]:active{background:var(--btn-regular-bg-hover)}.ctrl-btn[data-astro-cid-ssfzsv2f] svg{width:1.125rem;height:1.125rem}.profile-card[data-astro-cid-ssfzsv2f]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.75rem 1rem}.profile-avatar-large[data-astro-cid-ssfzsv2f]{width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-full);background:var(--primary-dim);flex-shrink:0;overflow:hidden;box-shadow:0 2px 12px #0000001a}.profile-avatar-large[data-astro-cid-ssfzsv2f] img{width:100%;height:100%;object-fit:cover}.profile-name-large[data-astro-cid-ssfzsv2f]{font-size:1.125rem;font-weight:600;color:var(--deep-text, var(--text));margin-top:.25rem}.profile-bio[data-astro-cid-ssfzsv2f]{font-size:.8125rem;color:var(--text-muted);line-height:1.5;opacity:.9}.profile-socials[data-astro-cid-ssfzsv2f]{display:flex;gap:.375rem;margin-top:.25rem}.profile-socials[data-astro-cid-ssfzsv2f] a[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition);text-decoration:none}.profile-socials[data-astro-cid-ssfzsv2f] a[data-astro-cid-ssfzsv2f]:hover{color:var(--primary);background:var(--btn-regular-bg)}.profile-socials[data-astro-cid-ssfzsv2f] a[data-astro-cid-ssfzsv2f]:active{background:var(--btn-regular-bg-hover)}.profile-socials[data-astro-cid-ssfzsv2f] svg{width:1rem;height:1rem}.search-panel{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh}.search-panel[hidden]{display:none}.search-backdrop{position:absolute;inset:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:search-fade-in .15s ease-out}.search-modal{position:relative;width:min(40rem,calc(100vw - 2rem));max-height:75vh;background:var(--float-panel-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-lg),0 0 0 1px var(--line-divider);overflow:hidden;display:flex;flex-direction:column;animation:search-scale-in .2s ease-out}@keyframes search-fade-in{0%{opacity:0}to{opacity:1}}@keyframes search-scale-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-input-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.search-icon{font-size:1.125rem;opacity:.5;flex-shrink:0}#search-input{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:1rem;color:var(--text);font-family:inherit}#search-input::placeholder{color:var(--text-muted);opacity:.5}.search-esc{font-size:.6875rem;padding:.125rem .4375rem;background:var(--btn-regular-bg);color:var(--text-muted);border-radius:var(--radius-sm);font-family:var(--font-mono);flex-shrink:0}.search-results{flex:1;overflow-y:auto;padding:.75rem;min-height:0}.search-hint{padding:3rem 1rem 2.5rem;text-align:center;color:var(--text-muted);font-size:.9375rem}.hint-icon{font-size:2.5rem;opacity:.4;margin-bottom:.75rem}.hint-sub{margin-top:1rem;font-size:.8125rem;opacity:.7}.hint-sub kbd{font-family:var(--font-mono);font-size:.6875rem;padding:.125rem .4375rem;background:var(--btn-regular-bg);color:var(--text-muted);border-radius:3px;margin:0 .125rem}.search-section+.search-section{margin-top:1rem}.search-section-label{padding:.25rem .5rem .625rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:.5rem}.search-section-count{background:var(--btn-regular-bg);color:var(--text-muted);padding:.0625rem .5rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:500}.search-item{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;border-radius:var(--radius-md);cursor:pointer;color:var(--text);text-decoration:none;transition:all var(--transition);position:relative;margin-bottom:.375rem;background:var(--btn-regular-bg);border:1px solid var(--border)}.search-item:last-child{margin-bottom:0}.search-item:hover{background:var(--btn-regular-bg-hover);border-color:var(--text-muted);transform:translateY(-1px);box-shadow:var(--shadow-sm);text-decoration:none}.search-item:active{background:var(--btn-regular-bg-active);transform:translateY(0)}.search-item.active{background:var(--active-bg);border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.search-item.active:before{content:"";position:absolute;left:-1px;top:.75rem;bottom:.75rem;width:3px;background:var(--primary);border-radius:2px}.search-item-badge{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.search-item-badge.type-post{background:oklch(.92 .06 240);color:oklch(.45 .15 240)}.search-item-badge.type-tool{background:oklch(.92 .06 290);color:#5740a1}.search-item-badge.type-note{background:oklch(.92 .07 50);color:oklch(.45 .15 50)}[data-theme=dark] .search-item-badge.type-post{background:oklch(.3 .08 240);color:oklch(.85 .12 240)}[data-theme=dark] .search-item-badge.type-tool{background:#2e2553;color:oklch(.85 .12 290)}[data-theme=dark] .search-item-badge.type-note{background:oklch(.3 .08 50);color:oklch(.85 .12 50)}.search-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;padding-top:.125rem}.search-item-title{font-size:.9375rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.search-item-title mark{background:var(--primary-dim);color:var(--primary);padding:0 .1875rem;border-radius:3px;font-weight:600}.search-item-desc{font-size:.8125rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.search-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.125rem}.search-item-meta:empty{display:none}.search-item-category{font-size:.6875rem;padding:.0625rem .5rem;background:var(--primary-dim);color:var(--primary);border-radius:var(--radius-full);font-weight:500}.search-item-tag{font-size:.6875rem;padding:.0625rem .5rem;background:var(--btn-regular-bg);color:var(--text-muted);border-radius:var(--radius-full)}.search-item-tag:before{content:"#";opacity:.5}.search-item-arrow{flex-shrink:0;font-size:.875rem;color:var(--text-muted);opacity:0;transition:opacity var(--transition),color var(--transition);align-self:center;font-family:var(--font-mono)}.search-item.active .search-item-arrow,.search-item:hover .search-item-arrow{opacity:1;color:var(--primary)}.search-footer{display:flex;gap:1.25rem;padding:.625rem 1.25rem;border-top:1px solid var(--line-divider);background:var(--float-panel-bg);font-size:.75rem;color:var(--text-muted);opacity:.75}.search-footer kbd{font-family:var(--font-mono);font-size:.6875rem;padding:.0625rem .4375rem;background:var(--btn-regular-bg);border:1px solid var(--border);border-radius:3px;margin-right:.3125rem}@media(max-width:640px){.search-panel{padding-top:4vh}.search-modal{max-height:90vh}.search-item-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-footer{gap:.75rem;padding:.5rem .875rem}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@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(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
