@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-opsz-normal.CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-opsz-normal.BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-opsz-normal.BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-opsz-normal.BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-opsz-normal.Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-opsz-normal.DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-normal.BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*,: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,SF Pro Display,SF Pro Text,Inter Variable,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:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter Variable,system-ui,sans-serif;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: #f5f5f7;--fg: #1d1d1f;--muted: #6e6e73;--line: #d2d2d7;--surface: #ffffff;--accent: #0066cc;--status-shipped: #1f7a3a;--status-progress: #b25000;--kind-product: #1f7a3a;--kind-contribution: #4f4dc9;--kind-talk: #c41e5b;--kind-coursework: #b25000;--kind-practice: #636366;--activity: #1f7a3a;--nav: rgb(245 245 247 / .72);--shadow-raised: 0 2px 6px rgb(0 0 0 / .04), 0 12px 32px -12px rgb(0 0 0 / .12);--shadow-lifted: 0 4px 12px rgb(0 0 0 / .06), 0 30px 60px -20px rgb(0 0 0 / .22);color-scheme:light}.dark{--bg: #000000;--fg: #f5f5f7;--muted: #98989d;--line: #38383a;--surface: #1c1c1e;--accent: #2997ff;--status-shipped: #30d158;--status-progress: #ff9f0a;--kind-product: #30d158;--kind-contribution: #7d7aff;--kind-talk: #ff375f;--kind-coursework: #ff9f0a;--kind-practice: #a1a1a6;--activity: #30d158;--nav: rgb(22 22 23 / .72);--shadow-raised: inset 0 0 0 1px rgb(255 255 255 / .06), 0 12px 32px -12px rgb(0 0 0 / .8);--shadow-lifted: inset 0 0 0 1px rgb(255 255 255 / .09), 0 30px 60px -20px rgb(0 0 0 / .9);color-scheme:dark}body{background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}[hidden]{display:none!important}::-moz-selection{background:color-mix(in srgb,var(--accent) 28%,var(--bg));color:var(--fg)}::selection{background:color-mix(in srgb,var(--accent) 28%,var(--bg));color:var(--fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html.motion [data-reveal],html.motion [data-bento-tile],html.motion [data-split-lines] .line-mask>span{opacity:0}@media (max-width: 767px){html.motion [data-reveal-mobile]{opacity:0}}@media (prefers-reduced-motion: reduce){.raised-hover:hover{transform:none}::view-transition-old(root),::view-transition-new(root){animation:.3s ease both page-fade}::view-transition-old(root){animation-direction:reverse}}@keyframes page-fade{0%{opacity:0}}.prose{color:var(--tw-prose-body);max-width:65ch}.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:underline;font-weight:500;text-underline-offset:4px}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:500}.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;letter-spacing:-.025em}.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:700;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6;letter-spacing:-.02em}.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:700;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:400;font-size:.875em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.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:inherit;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: var(--fg);--tw-prose-headings: var(--fg);--tw-prose-lead: var(--muted);--tw-prose-links: var(--accent);--tw-prose-bold: var(--fg);--tw-prose-counters: var(--muted);--tw-prose-bullets: var(--muted);--tw-prose-hr: var(--line);--tw-prose-quotes: var(--fg);--tw-prose-quote-borders: var(--line);--tw-prose-captions: var(--muted);--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: var(--fg);--tw-prose-pre-code: var(--fg);--tw-prose-pre-bg: var(--surface);--tw-prose-th-borders: var(--line);--tw-prose-td-borders: var(--line);--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-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.75em;margin-bottom:1.75em}.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:2rem;margin-top:2.5em;margin-bottom:.9em;line-height:1.2}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5rem;margin-top:2em;margin-bottom:.75em;line-height:1.3}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.75em;margin-bottom:.6em;line-height:1.5555556;font-size:1.25rem}.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:.75em;margin-bottom:.75em}.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}.prose-lg :where(ul,ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.75em;margin-bottom:1.75em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-3{left:.75rem;right:.75rem}.-bottom-\[10px\]{bottom:-10px}.-bottom-\[2px\]{bottom:-2px}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.bottom-\[2\.5\%\]{bottom:2.5%}.left-0{left:0}.left-3{left:.75rem}.left-\[21px\]{left:21px}.left-\[4\.5px\]{left:4.5px}.left-\[6\.5px\]{left:6.5px}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[10px\]{top:10px}.top-\[48px\]{top:48px}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.m-auto{margin:auto}.-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.-ml-\[18px\]{margin-left:-18px}.-mt-7{margin-top:-1.75rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.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-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-40{margin-top:10rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/11\]{aspect-ratio:16/11}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[9\/19\.5\]{aspect-ratio:9/19.5}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-\[18px\]{height:18px}.h-\[21px\]{height:21px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[52px\]{height:52px}.h-\[7px\]{height:7px}.h-\[9px\]{height:9px}.h-\[min\(68vh\,640px\)\]{height:min(68vh,640px)}.h-full{height:100%}.max-h-\[440px\]{max-height:440px}.min-h-\[1\.5em\]{min-height:1.5em}.min-h-\[560px\]{min-height:560px}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[10px\]{width:10px}.w-\[18px\]{width:18px}.w-\[21px\]{width:21px}.w-\[26px\]{width:26px}.w-\[2px\]{width:2px}.w-\[30px\]{width:30px}.w-\[38px\]{width:38px}.w-\[52px\]{width:52px}.w-\[7px\]{width:7px}.w-\[9px\]{width:9px}.w-\[min\(100\%\,300px\)\]{width:min(100%,300px)}.w-\[min\(1100px\,94vw\)\]{width:min(1100px,94vw)}.w-\[min\(26\%\,200px\)\]{width:min(26%,200px)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[30ch\]{max-width:30ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[420px\]{max-width:420px}.max-w-\[56ch\]{max-width:56ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.origin-top{transform-origin:top}.-translate-y-1\/2{--tw-translate-y: -50%;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))}.translate-y-\[-2px\]{--tw-translate-y: -2px;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))}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness: mandatory}.snap-center{scroll-snap-align:center}.scroll-mt-16{scroll-margin-top:4rem}.scroll-mt-20{scroll-margin-top:5rem}.grid-flow-col{grid-auto-flow:column}.auto-rows-\[minmax\(150px\,auto\)\]{grid-auto-rows:minmax(150px,auto)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[14px_1fr\]{grid-template-columns:14px 1fr}.grid-cols-\[44px_1fr\]{grid-template-columns:44px 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-rows-7{grid-template-rows:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[3px\]{gap:3px}.gap-\[5\%\]{gap:5%}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-14{row-gap:3.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-7{row-gap:1.75rem}.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))}.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-line>:not([hidden])~:not([hidden]){border-color:var(--line)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[19px\]{border-radius:19px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[26px\]{border-radius:26px}.rounded-\[2px\]{border-radius:2px}.rounded-\[34px\]{border-radius:34px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[6px\]{border-width:6px}.border-\[7px\]{border-width:7px}.border-t{border-top-width:1px}.border-\[\#0b0b0c\]{--tw-border-opacity: 1;border-color:rgb(11 11 12 / var(--tw-border-opacity, 1))}.border-\[color\:var\(--kind\)\]{border-color:var(--kind)}.border-line{border-color:var(--line)}.bg-\[\#0b0b0c\]{--tw-bg-opacity: 1;background-color:rgb(11 11 12 / var(--tw-bg-opacity, 1))}.bg-\[color\:color-mix\(in_srgb\,var\(--fg\)_45\%\,transparent\)\]{background-color:color-mix(in srgb,var(--fg) 45%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--fg\)_8\%\,transparent\)\]{background-color:color-mix(in srgb,var(--fg) 8%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--fg\)_9\%\,transparent\)\]{background-color:color-mix(in srgb,var(--fg) 9%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--kind\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--kind) 12%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--kind\)_12\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--kind) 12%,var(--surface))}.bg-\[color\:color-mix\(in_srgb\,var\(--kind\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--kind) 14%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--kind\)_45\%\,transparent\)\]{background-color:color-mix(in srgb,var(--kind) 45%,transparent)}.bg-\[color\:color-mix\(in_srgb\,var\(--kind\)_var\(--seg\)\,transparent\)\]{background-color:color-mix(in srgb,var(--kind) var(--seg),transparent)}.bg-\[color\:var\(--bg\)\]{background-color:var(--bg)}.bg-\[color\:var\(--kind\)\]{background-color:var(--kind)}.bg-\[color\:var\(--line\)\]{background-color:var(--line)}.bg-\[color\:var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--status-progress\)\]{background-color:var(--status-progress)}.bg-\[var\(--status-shipped\)\]{background-color:var(--status-shipped)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/75{background-color:#000000bf}.bg-current{background-color:currentColor}.bg-fg{background-color:var(--fg)}.bg-line{background-color:var(--line)}.bg-muted{background-color:var(--muted)}.bg-surface{background-color:var(--surface)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.bg-white\/50{background-color:#ffffff80}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/45{--tw-gradient-from: rgb(0 0 0 / .45) 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)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-current{stroke:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-\[3px\]{padding:3px}.p-\[5px\]{padding:5px}.p-\[7\%\]{padding:7%}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.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}.px-\[6\%\]{padding-left:6%;padding-right:6%}.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-\[6\%\]{padding-top:6%;padding-bottom:6%}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pb-\[7\%\]{padding-bottom:7%}.pb-\[72px\]{padding-bottom:72px}.pb-\[76px\]{padding-bottom:76px}.pl-0\.5{padding-left:.125rem}.pl-\[22px\]{padding-left:22px}.pr-2\.5{padding-right:.625rem}.pt-0\.5{padding-top:.125rem}.pt-10{padding-top:2.5rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-\[5\%\]{padding-top:5%}.pt-\[7px\]{padding-top:7px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter Variable,system-ui,sans-serif}.\!text-\[14px\]{font-size:14px!important}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[clamp\(20px\,2vw\,24px\)\]{font-size:clamp(20px,2vw,24px)}.text-\[clamp\(20px\,2vw\,28px\)\]{font-size:clamp(20px,2vw,28px)}.text-\[clamp\(24px\,3\.2vw\,40px\)\]{font-size:clamp(24px,3.2vw,40px)}.text-\[clamp\(30px\,11cqw\,120px\)\]{font-size:clamp(30px,11cqw,120px)}.text-\[clamp\(30px\,3\.4vw\,44px\)\]{font-size:clamp(30px,3.4vw,44px)}.text-\[clamp\(40px\,5\.6vw\,64px\)\]{font-size:clamp(40px,5.6vw,64px)}.text-\[clamp\(40px\,6vw\,72px\)\]{font-size:clamp(40px,6vw,72px)}.text-\[clamp\(44px\,6\.4vw\,80px\)\]{font-size:clamp(44px,6.4vw,80px)}.text-\[clamp\(48px\,8vw\,96px\)\]{font-size:clamp(48px,8vw,96px)}.text-\[clamp\(52px\,9vw\,112px\)\]{font-size:clamp(52px,9vw,112px)}.text-\[clamp\(56px\,9vw\,112px\)\]{font-size:clamp(56px,9vw,112px)}.text-\[clamp\(96px\,16vw\,200px\)\]{font-size:clamp(96px,16vw,200px)}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[0\.98\]{line-height:.98}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.45\]{line-height:1.45}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.015em\]{letter-spacing:-.015em}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.025em\]{letter-spacing:-.025em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.text-\[\#1d1d1f\]{--tw-text-opacity: 1;color:rgb(29 29 31 / var(--tw-text-opacity, 1))}.text-\[color\:color-mix\(in_srgb\,var\(--fg\)_75\%\,transparent\)\]{color:color-mix(in srgb,var(--fg) 75%,transparent)}.text-\[color\:color-mix\(in_srgb\,var\(--fg\)_80\%\,transparent\)\]{color:color-mix(in srgb,var(--fg) 80%,transparent)}.text-\[color\:var\(--kind\)\]{color:var(--kind)}.text-accent{color:var(--accent)}.text-bg{color:var(--bg)}.text-fg{color:var(--fg)}.text-muted{color:var(--muted)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-\[0_24px_48px_-12px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow: 0 24px 48px -12px rgba(0,0,0,.35);--tw-shadow-colored: 0 24px 48px -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)}.shadow-\[0_8px_30px_-12px_rgb\(0_0_0\/0\.35\)\]{--tw-shadow: 0 8px 30px -12px rgb(0 0 0/.35);--tw-shadow-colored: 0 8px 30px -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)}.shadow-\[var\(--shadow-lifted\)\]{--tw-shadow-color: var(--shadow-lifted);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[var\(--shadow-raised\)\]{--tw-shadow-color: var(--shadow-raised);--tw-shadow: var(--tw-shadow-colored)}.\!ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring{--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(3px + 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-1{--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)}.ring-2{--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(2px + 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-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-\[color\:color-mix\(in_srgb\,var\(--fg\)_12\%\,transparent\)\]{--tw-ring-color: color-mix(in srgb,var(--fg) 12%,transparent)}.ring-\[color\:color-mix\(in_srgb\,var\(--kind\)_22\%\,transparent\)\]{--tw-ring-color: color-mix(in srgb,var(--kind) 22%,transparent)}.ring-\[color\:color-mix\(in_srgb\,var\(--line\)_70\%\,transparent\)\]{--tw-ring-color: color-mix(in srgb,var(--line) 70%,transparent)}.ring-\[color\:var\(--surface\)\]{--tw-ring-color: var(--surface)}.ring-black\/10{--tw-ring-color: rgb(0 0 0 / .1)}.ring-black\/\[0\.06\]{--tw-ring-color: rgb(0 0 0 / .06)}.ring-transparent{--tw-ring-color: transparent}.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)}.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-\[background-color\,color\,transform\]{transition-property:background-color,color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[translate\]{transition-property:translate;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-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[background\:linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--kind\)_70\%\,white\)\,var\(--kind\)\)\]{background:linear-gradient(145deg,color-mix(in srgb,var(--kind) 70%,white),var(--kind))}.\[background\:linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--rank\)_70\%\,white\)\,var\(--rank\)\)\]{background:linear-gradient(145deg,color-mix(in srgb,var(--rank) 70%,white),var(--rank))}.\[container-type\:inline-size\]{container-type:inline-size}.display{font-weight:600;line-height:1.04;letter-spacing:-.035em}.avatar-ring{position:relative;display:inline-grid;place-items:center;width:92px;height:92px;border-radius:50%;isolation:isolate;transition:transform .5s cubic-bezier(.22,1,.36,1)}@media (min-width: 640px){.avatar-ring{width:116px;height:116px}}.avatar-img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 0 1px color-mix(in srgb,var(--fg) 10%,transparent),0 12px 28px -12px #00000059;transition:transform .5s cubic-bezier(.22,1,.36,1)}.avatar-ring:hover{transform:translateY(-3px) rotate(-3deg)}.avatar-ring:hover .avatar-img{transform:scale(1.05)}.avatar-online{position:absolute;right:6%;bottom:6%;width:18px;height:18px;border-radius:50%;color:var(--status-shipped);background:currentColor;border:3px solid var(--surface)}.island-pill{display:inline-flex;align-items:center;gap:.6em;height:34px;padding:0 14px 0 13px;border-radius:980px;font-size:14px;font-weight:600;letter-spacing:-.01em;color:#f5f5f7;background:#000;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 24px -12px #0000008c;transition:padding .5s cubic-bezier(.34,1.56,.64,1),transform .5s cubic-bezier(.34,1.56,.64,1)}.island-dot{width:7px;height:7px;border-radius:50%;background:#30d158;box-shadow:0 0 6px #30d158bf}.island-chevron{width:0;height:11px;margin-left:-.6em;opacity:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:width .5s cubic-bezier(.34,1.56,.64,1),margin .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.island-pill:hover,.island-pill:focus-visible{padding-inline:18px 16px;transform:scale(1.03)}.island-pill:hover .island-chevron,.island-pill:focus-visible .island-chevron{width:7px;margin-left:0;opacity:.6}@media (prefers-reduced-motion: reduce){.island-pill,.island-chevron{transition:none}.island-pill:hover,.island-pill:focus-visible{transform:none}.avatar-ring:hover,.avatar-ring:hover .avatar-img{transform:none}}.hero-shine{background:linear-gradient(100deg,var(--sa, var(--accent)),var(--sb, var(--kind-contribution)),var(--sc, var(--kind-talk)),var(--sa, var(--accent)));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hero-shine 8s linear infinite}@keyframes hero-shine{to{background-position:300% 0}}.hero-lead{color:var(--fg)}.hero-chip{display:inline-flex;align-items:center;gap:.22em;padding:.04em .36em .08em .26em;border-radius:.34em;color:var(--chip);background:color-mix(in srgb,var(--chip) 11%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chip) 26%,transparent);transition:transform .4s cubic-bezier(.22,1,.36,1)}.hero-chip:nth-of-type(2){transform:rotate(-2deg)}.hero-chip:nth-of-type(3){transform:rotate(2deg)}.hero-chip:hover{transform:rotate(0) scale(1.06)}.hero-chip svg{width:.78em;height:.78em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.hero-chip svg circle{fill:currentColor;stroke:none}.hero-stack{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hero-stack span+span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:.7rem;vertical-align:middle;border-radius:50%;background:var(--accent)}@media (prefers-reduced-motion: reduce){.hero-shine{animation:none}.hero-chip,.hero-chip:hover{transform:none}}.line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line-mask>span{display:block}.raised{background:var(--surface);box-shadow:var(--shadow-raised);border-radius:22px}.raised-hover{transition:box-shadow .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.raised-hover:hover{box-shadow:var(--shadow-lifted);transform:translateY(-4px)}.community-tab{transition:box-shadow .4s cubic-bezier(.22,1,.36,1),background-color .4s cubic-bezier(.22,1,.36,1)}.community-tab:hover{box-shadow:var(--shadow-lifted)}.community-tab[aria-selected=true]{background:color-mix(in srgb,var(--kind) 8%,var(--surface));box-shadow:var(--shadow-raised),inset 0 0 0 1.5px var(--kind)}.community-latest{box-shadow:0 0 0 4px color-mix(in srgb,var(--kind) 22%,transparent);animation:community-halo 2.4s cubic-bezier(.22,1,.36,1) infinite}@keyframes community-halo{0%{box-shadow:0 0 color-mix(in srgb,var(--kind) 45%,transparent)}to{box-shadow:0 0 0 9px color-mix(in srgb,var(--kind) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.community-latest,.step-latest{animation:none}}.cursor-dot,.cursor-ring,.cursor-ripple{position:fixed;left:0;top:0;pointer-events:none;border-radius:9999px}.cursor-dot{z-index:71;width:7px;height:7px;background:var(--accent);opacity:0;transition:opacity .2s ease-out,width .25s,height .25s}.cursor-ring{z-index:70;display:grid;place-items:center;width:36px;height:36px;border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent);opacity:0;transition:width .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1),border-radius .4s cubic-bezier(.22,1,.36,1),background-color .3s ease-out,border-color .3s ease-out,opacity .25s ease-out;will-change:transform}.cursor-dot[data-on],.cursor-ring[data-on]{opacity:1}.cursor-ring[data-hover]{width:54px;height:54px;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.cursor-ring[data-wrap]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.cursor-ring[data-label]{width:78px;height:78px;border-color:var(--accent);background:var(--accent);box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 35%,transparent)}.cursor-label{font-size:12px;font-weight:600;letter-spacing:.01em;color:#fff;opacity:0;transform:scale(.6);transition:opacity .25s ease-out,transform .4s cubic-bezier(.22,1,.36,1)}.cursor-ring[data-label] .cursor-label{opacity:1;transform:scale(1)}.cursor-dot[data-hide]{width:0;height:0}.cursor-ripple{z-index:69;width:36px;height:36px;border:1.5px solid var(--accent);animation:cursor-ripple .6s cubic-bezier(.22,1,.36,1) forwards}@keyframes cursor-ripple{0%{opacity:.7;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}.work-track:before{content:"";position:absolute;top:-35%;right:-25%;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--kind) 16%,transparent),transparent);pointer-events:none}.work-track>*{position:relative}.step-latest{animation:step-halo 2.4s cubic-bezier(.22,1,.36,1) infinite}@keyframes step-halo{0%{box-shadow:0 0 color-mix(in srgb,var(--kind) 45%,transparent)}to{box-shadow:0 0 0 12px color-mix(in srgb,var(--kind) 0%,transparent)}}@keyframes stack-recede{to{scale:var(--stack-scale)}}@keyframes stack-dim{to{opacity:.1}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference) and (min-width: 1024px){[data-stack-card][data-recedes]{will-change:scale;animation:stack-recede linear both;animation-timeline:var(--stack-next);animation-range:cover 0% cover 70vh}[data-stack-card][data-recedes] [data-stack-dim]{will-change:opacity;animation:stack-dim linear both;animation-timeline:var(--stack-next);animation-range:cover 0% cover 70vh}}}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.pill{display:inline-flex;align-items:center;gap:.4em;border-radius:980px;padding:.7em 1.35em;font-size:17px;font-weight:500;letter-spacing:-.01em;transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .25s ease,opacity .25s ease}.pill:active{transform:scale(.96)}.pill-primary{background:var(--accent);color:#fff}.pill-primary:hover{opacity:.88}.link-chevron{font-size:17px;color:var(--accent)}.link-chevron:hover{text-decoration:underline;text-underline-offset:4px}.nav-glass{background:var(--nav);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}::view-transition-old(root){animation:.35s cubic-bezier(.4,0,1,1) both page-out}::view-transition-new(root){animation:.7s cubic-bezier(.22,1,.36,1) both page-in}@keyframes page-out{to{opacity:0;transform:scale(.985)}}@keyframes page-in{0%{opacity:0;transform:scale(1.015)}}[data-kind-color=product]{--kind: var(--kind-product)}[data-kind-color=contribution]{--kind: var(--kind-contribution)}[data-kind-color=talk]{--kind: var(--kind-talk)}[data-kind-color=coursework]{--kind: var(--kind-coursework)}[data-kind-color=practice]{--kind: var(--kind-practice)}html.dock-ready .dock-sheet:not([data-open]){display:none}[data-dock][data-scrolled]{padding:4px}@media (min-width: 768px){[data-dock][data-scrolled] [data-dock-name]{display:none}}.tech-tile{--tint: var(--brand, var(--kind));color:var(--tint);background:color-mix(in srgb,var(--tint) 12%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tint) 22%,transparent)}html:not(.dark) .tech-tile[data-light]{color:color-mix(in srgb,var(--tint) 60%,black)}.dark .tech-tile[data-dim]{color:color-mix(in srgb,var(--tint) 55%,white)}.dark .tech-tile[data-dark]{--tint: var(--fg);color:var(--fg)}.stack-title{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1}.stack-badge{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--badge-a, var(--accent)),var(--badge-mid, var(--kind-contribution)) 55%,var(--badge-b, var(--kind-talk)));box-shadow:0 8px 20px -8px color-mix(in srgb,var(--badge-a, var(--kind-contribution)) 80%,transparent);animation:stack-glow 4s ease-in-out infinite}.stack-badge svg{width:19px;height:19px}@keyframes stack-glow{50%{box-shadow:0 8px 26px -4px color-mix(in srgb,var(--kind-talk) 70%,transparent);transform:rotate(-6deg)}}.stack-count{flex-shrink:0;white-space:nowrap;padding:5px 11px;border-radius:980px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.stack-count span{color:var(--fg)}@media (prefers-reduced-motion: reduce){.stack-badge{animation:none}}.facts-card{position:relative;isolation:isolate;overflow:hidden;padding:22px;border-radius:26px;background:radial-gradient(120% 60% at 100% 0%,color-mix(in srgb,var(--kind) 18%,transparent),transparent 65%),var(--surface);box-shadow:var(--shadow-raised),inset 0 0 0 1px color-mix(in srgb,var(--kind) 18%,transparent)}.facts-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:980px;font-size:12.5px;font-weight:600;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 22%,transparent)}.facts-pill svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.facts-dot{position:relative;width:7px;height:7px;border-radius:50%;background:currentColor}.facts-dot-live:after,.facts-live-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:currentColor;animation:talk-ping 1.8s cubic-bezier(0,0,.2,1) infinite}.facts-heading{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts-heading svg{width:15px;height:15px;fill:none;stroke:var(--kind);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.facts-tech{display:flex;min-width:0;align-items:center;gap:9px;padding:8px 10px;border-radius:14px;font-size:13.5px;font-weight:600;transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s ease}.facts-tech>.truncate{color:var(--fg)}.facts-tech:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--tint) 20%,var(--surface))}.facts-tech-icon{display:grid;flex-shrink:0;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--tint) 16%,var(--surface))}.facts-tech-icon svg{width:16px;height:16px}.facts-action{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.facts-action-icon{display:grid;flex-shrink:0;place-items:center;width:38px;height:38px;border-radius:12px}.facts-action-icon svg{width:20px;height:20px}.facts-arrow{width:16px;height:16px;flex-shrink:0;transition:transform .3s cubic-bezier(.22,1,.36,1)}.facts-action:hover .facts-arrow{transform:translate(2px,-2px)}.facts-action-live{color:#fff;background:linear-gradient(135deg,var(--accent),var(--kind-contribution));box-shadow:0 14px 30px -14px color-mix(in srgb,var(--accent) 90%,transparent)}.facts-action-live .facts-action-icon{background:#ffffff2e}.facts-action-live:hover{transform:translateY(-2px);box-shadow:0 20px 36px -14px color-mix(in srgb,var(--accent) 90%,transparent)}.facts-live-dot{position:relative;width:7px;height:7px;border-radius:50%;color:#4ade80;background:currentColor}.facts-action-code{color:var(--bg);background:var(--fg)}.facts-action-code .facts-action-icon{background:color-mix(in srgb,var(--bg) 14%,transparent)}.facts-action-code:hover{transform:translateY(-2px);box-shadow:0 16px 30px -16px #00000080}.facts-action-muted{background:color-mix(in srgb,var(--fg) 4%,transparent);border:1px dashed var(--line)}.facts-action-muted .facts-action-icon{color:var(--muted);background:color-mix(in srgb,var(--fg) 6%,transparent)}.facts-commit{display:flex;align-items:center;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.facts-commit time{color:var(--fg);font-weight:600}.facts-commit svg{width:15px;height:15px;fill:none;stroke:var(--kind);stroke-width:2}@media (prefers-reduced-motion: reduce){.facts-dot-live:after,.facts-live-dot:after{animation:none}}.web-shot{perspective:900px;width:175%}.web-shot img{transform:rotateX(10deg) rotateY(-8deg) rotate(1deg);transform-origin:center bottom;box-shadow:0 0 0 1px color-mix(in srgb,var(--fg) 12%,transparent),0 30px 50px -18px #00000073;transition:transform .8s cubic-bezier(.22,1,.36,1)}.group:hover .web-shot img{transform:none}@media (prefers-reduced-motion: reduce){.web-shot img{transition:none}}.shine-warm{background:linear-gradient(100deg,var(--status-progress),var(--kind-talk),var(--kind-coursework),var(--status-progress));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hero-shine 8s linear infinite}.build-badge{background:linear-gradient(135deg,var(--status-progress),var(--kind-talk));box-shadow:0 8px 20px -8px color-mix(in srgb,var(--status-progress) 80%,transparent);animation-name:build-glow}@keyframes build-glow{50%{box-shadow:0 8px 26px -4px color-mix(in srgb,var(--status-progress) 75%,transparent);transform:rotate(6deg)}}.build-live{display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:middle;border-radius:50%;background:var(--status-progress);animation:build-blink 1.4s ease-in-out infinite}@keyframes build-blink{50%{opacity:.25}}.build-row{display:flex;align-items:center;gap:12px;margin-inline:-8px;padding:8px;border-radius:14px;transition:background .3s ease}.build-row:hover{background:color-mix(in srgb,var(--status-progress) 8%,transparent)}@media (prefers-reduced-motion: reduce){.shine-warm,.build-live{animation:none}}.cycle-stage{display:grid}.cycle-item{grid-area:1 / 1;opacity:0;transform:translateY(14px);transition:opacity .3s ease,transform .6s cubic-bezier(.22,1,.36,1);pointer-events:none}.cycle-item[data-active]{opacity:1;transform:none;transition-delay:.25s}.cycle-item:not([data-active]){transform:translateY(-14px)}.cycle-logo{display:grid;flex-shrink:0;place-items:center;width:56px;height:56px;padding:9px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #0000000f,0 10px 24px -12px #00000059}.cycle-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.cycle-dot{position:relative;height:4px;width:14px;overflow:hidden;border-radius:980px;background:var(--line);transition:width .4s cubic-bezier(.22,1,.36,1)}.cycle-dot[data-active]{width:32px}.cycle-dot i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--kind-product),var(--accent))}.cycle-dot[data-active] i{animation:cycle-fill var(--cycle, 3.6s) linear forwards}@keyframes cycle-fill{to{transform:scaleX(1)}}.gh-badge{--badge-a: #24292f;--badge-mid: #24292f;--badge-b: #57606a;animation:none}.dark .gh-badge{--badge-a: #f5f5f7;--badge-mid: #d2d2d7;--badge-b: #8e8e93;color:#000}.gh-badge svg{width:20px;height:20px}.gh-live{display:inline-flex;align-items:center;gap:6px}.gh-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.gh-live[data-live]{color:var(--activity);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--activity) 40%,transparent)}.gh-live[data-live] .gh-dot{background:var(--activity);animation:build-blink 1.4s ease-in-out infinite}.gh-stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}.gh-stats>span{display:inline-flex;align-items:center;gap:5px}.gh-stats b{color:var(--fg);font-weight:600}.gh-stats svg{width:14px;height:14px;fill:none;stroke:var(--activity);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gh-tile:hover [data-mini-graph]>span{transition:transform .3s ease}.gh-tile:hover [data-mini-graph]>span:nth-child(5n){transform:scale(1.25)}.clock-period{display:inline-flex;align-items:center;gap:5px}.clock-period svg{width:14px;height:14px;fill:none;stroke:var(--kind-coursework);stroke-width:2;stroke-linecap:round}.clock-face{width:clamp(120px,34vw,150px);height:clamp(120px,34vw,150px);overflow:visible;filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--kind-talk) 28%,transparent))}.clock-track{fill:none;stroke:color-mix(in srgb,var(--surface) 75%,transparent);stroke-width:3.2}.clock-arc{fill:none;stroke:var(--surface);stroke-width:3.2;stroke-linecap:round;transition:stroke-dasharray .35s cubic-bezier(.22,1,.36,1)}.clock-dial{stroke:color-mix(in srgb,var(--fg) 8%,transparent);stroke-width:.6}.clock-tick-h{stroke:var(--fg);stroke-width:2.2;stroke-linecap:round}.clock-tick-m{stroke:var(--muted);stroke-width:.8;opacity:.6}.clock-num{fill:var(--fg);font-size:8.5px;font-weight:700;text-anchor:middle;dominant-baseline:middle;letter-spacing:-.02em}.clock-hand{transform-box:view-box;transform-origin:50px 50px}.clock-hand-sec{transition:transform .3s cubic-bezier(.4,2.2,.4,1)}.clock-hand-h,.clock-hand-m,.clock-hand-s{fill:none;stroke-linecap:round}.clock-hand-h{stroke:var(--fg);stroke-width:4.2}.clock-hand-m{stroke:var(--fg);stroke-width:2.8}.clock-hand-s{stroke:var(--kind-talk);stroke-width:1.3}.clock-pin{fill:var(--kind-talk)}.clock-pin-core{fill:var(--surface)}@media (prefers-reduced-motion: reduce){.clock-hand-sec,.clock-arc{transition:none}}.clock-sec{color:var(--kind-talk)}.clock-sec[data-tick]{animation:clock-tick .4s cubic-bezier(.22,1,.36,1)}@keyframes clock-tick{0%{opacity:.35;transform:translateY(-3px)}}.clock-sec{display:inline-block}.talk-wave{display:inline-flex;align-items:center;gap:3px;height:22px}.talk-wave i{width:3px;height:100%;border-radius:3px;background:linear-gradient(var(--kind-talk),var(--kind-coursework));transform-origin:center;animation:talk-wave 1.1s ease-in-out infinite}.talk-wave i:nth-child(2){animation-delay:-.9s}.talk-wave i:nth-child(3){animation-delay:-.5s}.talk-wave i:nth-child(4){animation-delay:-.75s}.talk-wave i:nth-child(5){animation-delay:-.3s}@keyframes talk-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.talk-chip{padding:3px 10px;border-radius:980px;font-size:12px;font-weight:600;color:var(--kind-talk);background:color-mix(in srgb,var(--kind-talk) 11%,transparent)}.talk-tile{background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--kind-talk) 14%,transparent),transparent 70%),var(--surface)}@media (prefers-reduced-motion: reduce){.cycle-item,.cycle-item:not([data-active]){transform:none}.talk-wave i,.gh-live[data-live] .gh-dot,.clock-sec[data-tick]{animation:none}.talk-wave i{transform:scaleY(.6)}}.stack-marquee{display:grid;gap:8px}.stack-row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.stack-track{display:flex;gap:8px;width:-moz-max-content;width:max-content;padding-right:8px;animation:stack-scroll var(--dur, 30s) linear infinite}.stack-row[data-reverse] .stack-track{animation-direction:reverse}.stack-marquee:hover .stack-track{animation-play-state:paused}@keyframes stack-scroll{to{transform:translate(-50%)}}.stack-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 10px;border-radius:980px;font-size:13px;font-weight:600;white-space:nowrap;transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s ease}.stack-chip span{color:var(--fg)}.stack-chip svg{width:16px;height:16px;flex-shrink:0}.stack-chip:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--tint) 22%,var(--surface))}@media (prefers-reduced-motion: reduce){.stack-row{-webkit-mask-image:none;mask-image:none;padding-inline:24px}.stack-track{flex-wrap:wrap;width:auto;animation:none}.stack-chip[data-dup]{display:none}}@media (min-width: 640px){.tabs-bar:before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;pointer-events:none;background:linear-gradient(var(--bg) 72%,transparent);opacity:0;transition:opacity .25s ease}.tabs-bar[data-stuck]:before{opacity:1}}.label-row>*{white-space:nowrap}.label-row>*:before{content:"·";display:inline-block;width:18px;text-align:center;color:var(--muted);font-weight:400}.contact-card{--tone: var(--brand, var(--fg))}.talk-stage{position:relative;overflow:hidden;border-radius:36px;background:var(--surface);box-shadow:var(--shadow-lifted)}.talk-status{display:inline-flex;align-items:center;gap:.55em;padding:.45em 1em;border-radius:980px;font-size:14px;font-weight:600;color:var(--status-shipped);background:color-mix(in srgb,var(--status-shipped) 12%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-shipped) 28%,transparent)}.talk-dot{width:8px;height:8px;border-radius:50%;background:currentColor}@keyframes talk-ping{75%,to{transform:scale(2.6);opacity:0}}.talk-cta{--tone: #fff;padding:.85em 1.6em;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--accent) 80%,transparent)}.talk-cta svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}.talk-cta:hover svg{transform:translate(4px)}.pill-ghost{--tone: var(--accent);color:var(--fg);background:color-mix(in srgb,var(--surface) 70%,transparent);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(8px)}.pill-ghost:hover{box-shadow:inset 0 0 0 1px var(--accent)}.talk-stage .contact-card{background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.talk-stage .contact-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 45%,transparent),0 18px 40px -18px color-mix(in srgb,var(--tone) 60%,transparent)}.contact-icon{color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,var(--surface));transition:background .3s ease,color .3s ease,box-shadow .3s ease}.dark .contact-icon{color:color-mix(in srgb,var(--tone) 72%,white)}.contact-card:hover .contact-icon,.contact-card:focus-visible .contact-icon{color:#fff;background:var(--tone);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--tone) 70%,transparent)}.contact-card[data-contact-card=github]:hover .contact-icon,.contact-card[data-contact-card=github]:focus-visible .contact-icon{color:var(--bg)}.contact-card[data-contact-card=instagram]:hover .contact-icon,.contact-card[data-contact-card=instagram]:focus-visible .contact-icon{background:linear-gradient(45deg,#f9ce34,#ee2a7b 50%,#6228d7)}.contact-card:focus-visible{outline:2px solid var(--tone);outline-offset:3px}.cover-tile{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--kind) 30%,transparent),transparent 62%),color-mix(in srgb,var(--kind) 9%,var(--surface))}.dark .cover-tile{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--kind) 26%,transparent),transparent 62%),color-mix(in srgb,var(--kind) 7%,var(--surface))}.desk-card{position:relative;border-radius:26px;padding:22px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.desk-badge{display:grid;flex-shrink:0;width:44px;height:44px;place-items:center;border-radius:14px;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,var(--surface))}.desk-badge svg{width:22px;height:22px}.desk-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.desk-chip span{display:inline-block;cursor:pointer;padding:.45em .95em;border-radius:980px;font-size:14px;font-weight:600;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);transition:color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.desk-chip:hover span{color:var(--fg)}.desk-chip:active span{transform:scale(.95)}.desk-chip input:checked+span{color:#fff;background:var(--accent);box-shadow:0 8px 20px -10px var(--accent)}.desk-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.desk-field{display:grid;gap:6px}.desk-field input,.desk-field textarea{width:100%;border-radius:14px;padding:.7em .9em;font-size:16px;color:var(--fg);background:color-mix(in srgb,var(--bg) 70%,transparent);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s ease,background .25s ease;resize:vertical}.desk-field input::-moz-placeholder,.desk-field textarea::-moz-placeholder{color:var(--muted);opacity:.7}.desk-field input::placeholder,.desk-field textarea::placeholder{color:var(--muted);opacity:.7}.desk-field input:focus,.desk-field textarea:focus{outline:none;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.desk-field [aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--kind-talk)}.desk-send[disabled]{opacity:.7;cursor:progress}.desk-form[data-state=sending] .desk-send svg{animation:desk-fly .9s cubic-bezier(.22,1,.36,1) infinite}@keyframes desk-fly{0%{transform:translate(0);opacity:1}60%{transform:translate(12px);opacity:0}61%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}.desk-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center;border-radius:inherit;background:var(--surface)}.desk-done[hidden]{display:none}.desk-done-mark{width:64px;height:64px;fill:none;stroke:var(--kind-product);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.desk-done-mark circle{stroke-dasharray:151;stroke-dashoffset:151;animation:desk-draw .7s cubic-bezier(.22,1,.36,1) forwards}.desk-done-mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:desk-draw .45s .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes desk-draw{to{stroke-dashoffset:0}}.desk-book{overflow:hidden;display:flex;flex-direction:column}.desk-book:before{content:"";position:absolute;top:-45%;right:-35%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--tone) 26%,transparent),transparent),radial-gradient(closest-side at 30% 70%,color-mix(in srgb,#34a853 14%,transparent),transparent);pointer-events:none}.desk-book>*{position:relative}.book-badge{background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 18%,var(--surface)),color-mix(in srgb,#34a853 10%,var(--surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 22%,transparent)}.book-open-pill{--tone: #30d158;display:inline-flex;flex-shrink:0;align-items:center;gap:7px;padding:5px 11px;border-radius:980px;font-size:12.5px;font-weight:700;color:#1f7a3a;background:color-mix(in srgb,#30d158 14%,transparent)}.dark .book-open-pill{color:#30d158}.book-open-pill .talk-dot{width:7px;height:7px}.book-key{display:inline-block;width:7px;height:7px;margin-right:3px;border-radius:50%;vertical-align:1px}.book-key-on{background:#30d158}.book-key-off{background:repeating-linear-gradient(135deg,var(--muted) 0 1.5px,transparent 1.5px 3px);box-shadow:inset 0 0 0 1px var(--line)}.book-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.book-day{position:relative;display:grid;justify-items:center;gap:1px;padding:8px 0 10px;border-radius:14px;color:var(--fg);background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 85%,transparent);transition:transform .3s cubic-bezier(.22,1,.36,1),background .25s ease,box-shadow .25s ease,color .25s ease}.book-day:not(:disabled){cursor:pointer}.book-day:not(:disabled):hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tone) 60%,transparent),0 12px 24px -16px var(--tone)}.book-dow{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.book-date{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.book-mark{width:5px;height:5px;margin-top:2px;border-radius:50%;background:#30d158}.book-day[data-off]{color:var(--muted);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--fg) 5%,transparent) 0 4px,transparent 4px 8px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent)}.book-day[data-off] .book-date{opacity:.55}.book-day[data-off] .book-mark{width:auto;height:auto;background:none;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.book-day[data-off] .book-mark:after{content:"Off"}.book-day[aria-checked=true]{color:#fff;background:linear-gradient(160deg,#4285f4,#1a73e8);box-shadow:0 12px 26px -12px #1a73e8e6}.book-day[aria-checked=true] .book-dow{color:#fffc}.book-day[aria-checked=true] .book-mark{background:#fff}.book-day:focus-visible,.book-slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.book-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.book-slot{display:block;padding:7px 0;border-radius:11px;text-align:center;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;color:#1a73e8;background:color-mix(in srgb,#4285f4 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#4285f4 28%,transparent);transition:transform .25s cubic-bezier(.22,1,.36,1),background .2s ease,color .2s ease}.dark .book-slot{color:#8ab4f8}.book-slot:hover{transform:translateY(-2px);color:#fff;background:#1a73e8}.book-slot[aria-disabled=true]{pointer-events:none;color:var(--muted);text-decoration:line-through;background:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent);opacity:.6}.desk-book-cta{--tone: #fff;background:linear-gradient(135deg,#4285f4,#1a73e8);box-shadow:0 14px 30px -12px #4285f4cc}.book-dialog{text-align:left;width:min(1120px,calc(100vw - 32px));max-width:none;height:min(780px,calc(100dvh - 48px));max-height:none;margin:auto;padding:0;border:0;border-radius:28px;color:var(--fg);background:var(--surface);box-shadow:var(--shadow-lifted),0 0 0 1px color-mix(in srgb,var(--fg) 8%,transparent);overflow:hidden}.book-dialog::backdrop{background:#00000080;backdrop-filter:blur(8px) saturate(140%)}.book-dialog[open]{animation:book-in .5s cubic-bezier(.22,1,.36,1)}.book-dialog[open]::backdrop{animation:book-fade .3s ease}@keyframes book-in{0%{opacity:0;transform:translateY(28px) scale(.97)}}@keyframes book-fade{0%{opacity:0}}.book-sheet{display:grid;height:100%;grid-template-columns:300px minmax(0,1fr)}.book-side{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:32px 28px 24px;color:#ffffffd9;background:linear-gradient(165deg,#0b1a3a,#0a0a0f 70%)}.book-side>*{position:relative}.book-side>.book-side-glow{position:absolute;top:-30%;right:-40%;width:120%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgb(66 133 244 / .45),transparent),radial-gradient(closest-side at 20% 80%,rgb(52 168 83 / .25),transparent);filter:blur(10px);pointer-events:none}.book-avatar{width:56px;height:56px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 0 3px #ffffff1f,0 12px 24px -8px #0009}.book-side-list{display:grid;gap:14px;font-size:14px}.book-side-list li{display:flex;align-items:center;gap:11px}.book-side-list svg{width:18px;height:18px;flex-shrink:0;padding:7px;box-sizing:content-box;border-radius:10px;color:#8ab4f8;background:#ffffff12}.book-picked{margin-top:22px;padding:12px 14px;border-radius:14px;font-size:13.5px;line-height:1.45;color:#fff;background:#4285f42e;box-shadow:inset 0 0 0 1px #8ab4f859}.book-picked strong{display:block;font-size:16px;font-weight:650}.book-main{display:flex;min-width:0;flex-direction:column}.book-main header{border-bottom:1px solid var(--line)}.book-close{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--muted);background:color-mix(in srgb,var(--fg) 6%,transparent);transition:color .2s ease,background .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}.book-close:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 12%,transparent);transform:rotate(90deg)}.book-close svg{width:16px;height:16px}.book-frame{position:relative;flex:1;background:#fff}.book-frame iframe{position:relative;width:100%;height:100%;border:0}.book-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px}.book-loading span{width:10px;height:10px;border-radius:50%;background:#4285f4;animation:book-dot 1s ease-in-out infinite}.book-loading span:nth-child(2){background:#ea4335;animation-delay:.15s}.book-loading span:nth-child(3){background:#34a853;animation-delay:.3s}@keyframes book-dot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}}@media (max-width: 900px){.book-sheet{grid-template-columns:minmax(0,1fr)}.book-side{display:none}}@media (max-width: 640px){.book-dialog{width:100vw;height:100dvh;border-radius:0}}@media (prefers-reduced-motion: reduce){.book-dialog[open],.book-dialog[open]::backdrop,.desk-form[data-state=sending] .desk-send svg,.book-loading span{animation:none}.desk-done-mark circle,.desk-done-mark path{animation-duration:.01s;animation-delay:0s}}.backdrop\:bg-black\/80::backdrop{background-color:#000c}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.first\:border-t-0:first-child{border-top-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--fg\)_14\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--fg) 14%,transparent)}.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--fg\)_18\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--fg) 18%,transparent)}.hover\:bg-bg:hover{background-color:var(--bg)}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-white\/25:hover{background-color:#ffffff40}.hover\:text-\[color\:var\(--kind\)\]:hover{color:var(--kind)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-fg:hover{color:var(--fg)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:\[translate\:0_-4px\]:hover{translate:0 -4px}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-3:focus{left:.75rem}.focus\:top-3:focus{top:.75rem}.focus\:z-\[60\]:focus{z-index:60}.focus\:bg-bg:focus{background-color:var(--bg)}.focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;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))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-0:disabled{opacity:0}.group:hover .group-hover\:-translate-y-0\.5{--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))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .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))}.group:hover .group-hover\:translate-x-1{--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))}.group:hover .group-hover\:-rotate-6{--tw-rotate: -6deg;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\:scale-105{--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))}.group:hover .group-hover\:scale-\[0\.985\]{--tw-scale-x: .985;--tw-scale-y: .985;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\: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\:scale-\[1\.04\]{--tw-scale-x: 1.04;--tw-scale-y: 1.04;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\:scale-\[1\.08\]{--tw-scale-x: 1.08;--tw-scale-y: 1.08;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-\[color\:var\(--brand\,var\(--fg\)\)\]{color:var(--brand,var(--fg))}.group:hover .group-hover\:text-\[color\:var\(--kind\)\]{color:var(--kind)}.group:hover .group-hover\:text-\[color\:var\(--status-progress\)\]{color:var(--status-progress)}.group:hover .group-hover\:opacity-100{opacity:1}.aria-pressed\:bg-\[color\:var\(--kind\)\][aria-pressed=true]{background-color:var(--kind)}.aria-pressed\:bg-fg[aria-pressed=true]{background-color:var(--fg)}.aria-pressed\:text-bg[aria-pressed=true]{color:var(--bg)}.aria-\[current\=page\]\:bg-\[color\:var\(--kind\,var\(--fg\)\)\][aria-current=page]{background-color:var(--kind,var(--fg))}.aria-\[current\=page\]\:bg-fg[aria-current=page]{background-color:var(--fg)}.aria-\[current\=page\]\:text-bg[aria-current=page]{color:var(--bg)}.aria-\[current\=page\]\:text-muted[aria-current=page]{color:var(--muted)}.aria-\[current\]\:text-fg[aria-current]{color:var(--fg)}.data-\[active\]\:w-4[data-active]{width:1rem}.data-\[active\]\:bg-white[data-active]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.data-\[active\]\:opacity-100[data-active]{opacity:1}.data-\[active\]\:opacity-80[data-active]{opacity:.8}.data-\[active\]\:ring-\[color\:var\(--kind\)\][data-active]{--tw-ring-color: var(--kind)}.group[data-enhanced] .group-data-\[enhanced\]\:block{display:block}.group[data-enhanced] .group-data-\[enhanced\]\:aria-\[current\=page\]\:bg-transparent[aria-current=page]{background-color:transparent}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:ring-white\/15:is(.dark *){--tw-ring-color: rgb(255 255 255 / .15)}@media (min-width: 640px){.sm\:sticky{position:sticky}.sm\:-right-\[5px\]{right:-5px}.sm\:bottom-auto{bottom:auto}.sm\:left-\[5px\]{left:5px}.sm\:left-\[calc\(3\.5rem\+1rem\+6\.5px\)\]{left:calc(4.5rem + 6.5px)}.sm\:top-0{top:0}.sm\:top-\[4\.5px\]{top:4.5px}.sm\:z-30{z-index:30}.sm\:col-start-3{grid-column-start:3}.sm\:-mt-6{margin-top:-1.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-14{margin-top:3.5rem}.sm\:mt-16{margin-top:4rem}.sm\:mt-2\.5{margin-top:.625rem}.sm\:mt-6{margin-top:1.5rem}.sm\:line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.sm\:block{display:block}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:aspect-\[16\/8\]{aspect-ratio:16/8}.sm\:aspect-\[16\/9\]{aspect-ratio:16/9}.sm\:h-px{height:1px}.sm\:w-auto{width:auto}.sm\:w-fit{width:-moz-fit-content;width:fit-content}.sm\:max-w-full{max-width:100%}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[3\.5rem_14px_1fr\]{grid-template-columns:3.5rem 14px 1fr}.sm\:grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-12{gap:3rem}.sm\:overflow-x-auto{overflow-x:auto}.sm\:rounded-\[22px\]{border-radius:22px}.sm\:rounded-\[28px\]{border-radius:28px}.sm\:rounded-full{border-radius:9999px}.sm\:p-7{padding:1.75rem}.sm\:p-9{padding:2.25rem}.sm\:p-\[6px\]{padding:6px}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:pb-0{padding-bottom:0}.sm\:pb-3{padding-bottom:.75rem}.sm\:pr-4{padding-right:1rem}.sm\:pt-16{padding-top:4rem}.sm\:pt-28{padding-top:7rem}.sm\:pt-32{padding-top:8rem}.sm\:pt-36{padding-top:9rem}.sm\:text-\[21px\]{font-size:21px}.sm\:text-\[24px\]{font-size:24px}.sm\:text-\[clamp\(21px\,2\.2vw\,28px\)\]{font-size:clamp(21px,2.2vw,28px)}.sm\:font-semibold{font-weight:600}.sm\:leading-\[1\.25\]{line-height:1.25}.sm\:tracking-\[-0\.02em\]{letter-spacing:-.02em}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,17rem\)_1fr\]{grid-template-columns:minmax(0,17rem) 1fr}}@media (min-width: 1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:5rem}.lg\:top-\[var\(--stack-top\)\]{top:var(--stack-top)}.lg\:row-span-2{grid-row:span 2 / span 2}.lg\:mt-auto{margin-top:auto}.lg\:aspect-auto{aspect-ratio:auto}.lg\:min-h-\[300px\]{min-height:300px}.lg\:min-h-\[400px\]{min-height:400px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.25fr_1fr\]{grid-template-columns:1.25fr 1fr}.lg\:grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}.lg\:grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.lg\:rounded-\[27px\]{border-radius:27px}.lg\:rounded-\[34px\]{border-radius:34px}.lg\:p-\[7px\]{padding:7px}.lg\:pt-5{padding-top:1.25rem}}.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}}
