@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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-wght-normal.DqGufNeO.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-wght-normal.DlzME5K_.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-wght-normal.CkhJZR-_.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-wght-normal.CBcvBZtf.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-wght-normal.DO1Apj_S.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-wght-normal.Dx4kXJAl.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}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-cyrillic-ext-wght-normal.YcVxMP-u.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-cyrillic-wght-normal.UWPuZLjM.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-math-wght-normal.sOy7rEfW.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-symbols-wght-normal.DQ5VrUkH.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-vietnamese-wght-normal.CfJ7gtf3.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-ext-wght-normal.C2Wlntb9.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:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-wght-normal.BiLcIKcI.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}@font-face{font-family:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-cyrillic-ext-wght-italic.Cgu7qCFu.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:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-cyrillic-wght-italic.BWw7-oF9.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-math-wght-italic.CnuSFIyO.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-symbols-wght-italic.BMZuTBzt.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-vietnamese-wght-italic.BGkqizij.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:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-ext-wght-italic.BC6VAxdc.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:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-wght-italic.DBI-iqMr.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}*,: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:var(--font-sans),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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 45 20% 97%;--foreground: 240 8% 12%;--card: 0 0% 100%;--card-foreground: 0 0% 6%;--popover: 0 0% 100%;--popover-foreground: 0 0% 6%;--primary: 0 0% 6%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 94%;--secondary-foreground: 0 0% 6%;--muted: 0 0% 94%;--muted-foreground: 240 4% 40%;--accent: 0 0% 90%;--accent-foreground: 0 0% 6%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 98%;--border: 240 8% 81%;--input: 40 13% 70%;--ring: 252 55% 46%;--signal: 252 55% 46%;--stamp-fg: 252 55% 36%;--stamp-bg: 252 55% 92%;--stamp-border: 252 40% 84%;--stamp-dot: 252 45% 55%;--ease-out: cubic-bezier(.23, 1, .32, 1);--radius: .25rem;--font-sans: "Inter Variable", "Inter", system-ui, sans-serif;--font-serif: "Lora Variable", "Lora", Georgia, serif}.dark{--background: 240 10% 9%;--foreground: 45 15% 94%;--card: 0 0% 6%;--card-foreground: 0 0% 92%;--popover: 0 0% 6%;--popover-foreground: 0 0% 92%;--primary: 0 0% 92%;--primary-foreground: 0 0% 6%;--secondary: 0 0% 14%;--secondary-foreground: 0 0% 92%;--muted: 0 0% 14%;--muted-foreground: 240 7% 70%;--accent: 0 0% 14%;--accent-foreground: 0 0% 92%;--destructive: 0 62% 30%;--destructive-foreground: 0 0% 92%;--border: 240 7% 26%;--input: 0 0% 18%;--ring: 252 95% 79%;--signal: 252 95% 79%;--stamp-fg: 252 95% 86%;--stamp-bg: 252 35% 18%;--stamp-border: 252 40% 32%;--stamp-dot: 252 90% 78%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:var(--font-sans),system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}html{color-scheme:light;scroll-behavior:smooth;scroll-padding-top:6.25rem}html.dark{color-scheme:dark}body{display:flex;flex-direction:column;line-height:1.65;overflow-wrap:break-word;isolation:isolate;padding-top:6.25rem}body:before{content:"";position:absolute;inset:0 0 auto;height:850px;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,hsl(var(--foreground) / .12) 1px,transparent 1.5px),linear-gradient(hsl(var(--foreground) / .045) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground) / .045) 1px,transparent 1px);background-size:72px 72px;background-position:center top;-webkit-mask-image:linear-gradient(#000,#000 55%,transparent);mask-image:linear-gradient(#000,#000 55%,transparent)}:focus-visible{outline:3px solid hsl(var(--signal));outline-offset:3px}::-moz-selection{background:hsl(var(--signal) / .2)}::selection{background:hsl(var(--signal) / .2)}[hidden]{display:none!important}.tag{font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.025em;color:hsl(var(--muted-foreground))}.prose-content{font-family:var(--font-serif),Georgia,serif;font-size:1.125rem;line-height:1.75rem;line-height:1.625;color:hsl(var(--foreground) / .9)}.prose-content h1,.prose-content h2,.prose-content h3{margin-top:2.5rem;margin-bottom:1rem;font-family:var(--font-sans),system-ui,sans-serif;font-weight:600;letter-spacing:-.025em;color:hsl(var(--foreground))}.prose-content h1{font-size:1.875rem;line-height:2.25rem}.prose-content h2{font-size:1.5rem;line-height:2rem}.prose-content h3{font-size:1.25rem;line-height:1.75rem}.prose-content p{margin-bottom:1.5rem}.prose-content a{text-decoration-line:underline;text-underline-offset:4px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.prose-content a:hover{color:hsl(var(--foreground) / .7)}.prose-content ul,.prose-content ol{margin-bottom:1.5rem;list-style-type:disc;padding-left:1.5rem}.prose-content ol{list-style-type:decimal}.prose-content li{margin-bottom:.5rem}.prose-content blockquote{margin-top:1.5rem;margin-bottom:1.5rem;border-left-width:2px;border-color:hsl(var(--foreground) / .2);padding-left:1.5rem;font-style:italic;color:hsl(var(--muted-foreground))}.prose-content code{border-radius:.25rem;background-color:hsl(var(--muted));padding:.125rem .375rem;font-family:var(--font-sans),system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.prose-content pre{margin-top:1.5rem;margin-bottom:1.5rem;overflow-x:auto;border-radius:.25rem;background-color:hsl(var(--muted));padding:1rem}.prose-content pre code{background-color:transparent;padding:0}.prose-content img{margin-top:2rem;margin-bottom:2rem;border-radius:.25rem}.site-shell{width:min(100% - 4rem,960px);margin-inline:auto}.site-header{position:fixed;inset:0 0 auto;z-index:20;padding:1rem 0 .75rem;background:hsl(var(--background) / .92);backdrop-filter:blur(16px)}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:64px;padding:.5rem 1.25rem;border:1px solid hsl(var(--border) / .8);border-radius:16px;background:hsl(var(--background) / .94);box-shadow:0 4px 18px hsl(var(--foreground) / .035);backdrop-filter:blur(16px)}.brand-line{display:flex;align-items:baseline;gap:1rem;white-space:nowrap}.wordmark{display:inline-flex;align-items:baseline;font-size:1.5rem;font-weight:650;letter-spacing:-.065em;line-height:1.2}.brand-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground))}.accent-text{color:hsl(var(--signal))}.nav-controls{display:flex;align-items:center;gap:1rem}.nav-icons{display:inline-flex;align-items:center;gap:.15rem}.language-toggle,.theme-toggle{display:grid;place-items:center;width:44px;height:44px;color:hsl(var(--foreground));flex-shrink:0;border-radius:50%;transition:background .16s ease,color .16s ease,transform .16s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.language-toggle:active,.theme-toggle:active{transform:scale(.97)}.about-link{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;white-space:nowrap;color:hsl(var(--muted-foreground));text-underline-offset:.35em;transition:color .16s ease,transform .16s var(--ease-out)}.about-link:is(:hover,[aria-current=page]){color:hsl(var(--signal));text-decoration:underline}.about-link:active{transform:scale(.97)}.site-main{flex:1;padding-block:5rem}.site-main:not(.showcase-main){max-width:840px}.site-main:not(.showcase-main)>article,.site-main:not(.showcase-main)>.max-w-2xl{margin-inline:auto;border:1px solid hsl(var(--border));border-radius:20px;padding:clamp(1.5rem,4vw,3rem);background:hsl(var(--background) / .97);box-shadow:0 16px 50px hsl(var(--foreground) / .04)}.showcase-main{padding-block:0 3rem}.intro{text-align:center;padding-block:3rem 2.75rem}.intro-identity{display:flex;align-items:center;justify-content:center;gap:2rem}.eyebrow{font-size:.65rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.intro h1{font-family:var(--font-serif);font-size:clamp(3rem,6.3vw,5.25rem);font-weight:650;line-height:1.18;letter-spacing:-.065em;margin-block:0 .65rem}.intro-role{color:hsl(var(--signal));font-size:.9rem;font-weight:500}.identity-stamp{display:flex;flex-direction:column;justify-content:center;align-items:center;width:124px;height:140px;flex-shrink:0;color:hsl(var(--stamp-fg));background:hsl(var(--stamp-bg));border:1px solid hsl(var(--stamp-border));border-radius:16px;transform:rotate(-8deg);box-shadow:0 12px 28px hsl(var(--stamp-fg) / .16);transition:transform .2s var(--ease-out),background .16s ease,border-color .16s ease,color .16s ease}.identity-stamp>span:first-child{font-family:var(--font-serif);font-size:4.4rem;line-height:1.2;font-weight:600;letter-spacing:-.12em;margin-left:-.15em}.stamp-dot{color:hsl(var(--stamp-dot))}.stamp-caption{font-size:.5rem;letter-spacing:.04em;margin-top:.5rem}.intro-statement{margin:1.75rem auto 0;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.35;letter-spacing:-.03em}.intro-statement em{font-family:var(--font-serif);color:hsl(var(--signal));letter-spacing:-.04em}.intro-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.intro-shortcuts a{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:44px;padding:.6rem 1rem;border-radius:8px;border:1px solid hsl(var(--border));font-size:.75rem;background:hsl(var(--background));transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s var(--ease-out)}.intro-shortcuts .shortcut-primary{background:hsl(var(--foreground));color:hsl(var(--background));border-color:hsl(var(--foreground))}.intro-shortcuts a:active{transform:scale(.97)}.project-index{scroll-margin-top:1rem}.project-index>h2{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.04em;margin-bottom:1rem}.project-list>li+li{border-top:1px solid hsl(var(--border) / .65)}.project-row{display:block;padding:1.25rem 1rem;border-radius:8px;transition:background .16s ease,transform .16s var(--ease-out)}.project-row:hover,.project-row:focus-visible{background:hsl(var(--signal) / .05)}.project-row:active{transform:scale(.985)}.project-row:focus-visible{outline-offset:2px}.project-row h3{font-family:var(--font-serif);color:hsl(var(--signal));font-size:1.35rem;font-weight:600;line-height:1.3;letter-spacing:-.045em}.project-summary{display:grid;grid-template-rows:1fr}.project-summary p{overflow:hidden;min-height:0;margin-top:.35rem;font-size:.875rem;line-height:1.65;color:hsl(var(--muted-foreground))}.project-row .product-status{display:block;margin-top:.35rem;margin-bottom:0}.product-status{display:inline-block;margin-top:.45rem;font-size:.6875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.index-empty{padding:2rem;color:hsl(var(--muted-foreground))}.product-detail-cover{width:100%;height:auto;margin-block:1rem 3rem;border:1px solid hsl(var(--border));border-radius:12px}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem;color:hsl(var(--muted-foreground))}.back-link:hover{color:hsl(var(--signal))}.visit-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin-bottom:1.25rem;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:.35em}.visit-link:hover{color:hsl(var(--signal))}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.page-heading{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid hsl(var(--border))}.page-heading h1{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin-block:1rem}.page-heading>p:last-child{color:hsl(var(--muted-foreground));max-width:36rem;font-size:1.125rem}.about-projects-link{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.about-projects-link a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.875rem;font-weight:600;color:hsl(var(--signal));text-underline-offset:.35em;transition:color .16s ease,transform .16s var(--ease-out)}.about-projects-link a:hover{text-decoration:underline}.about-projects-link a:active{transform:scale(.97)}.site-footer{margin-inline:auto;width:min(100% - 4rem,960px);border-top:1px solid hsl(var(--border))}.footer-line{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px;color:hsl(var(--muted-foreground))}.footer-line a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.75rem;white-space:nowrap}.footer-identity{gap:.875rem!important}.footer-identity .wordmark{color:hsl(var(--foreground));font-size:1.125rem}.footer-year{font-size:.625rem}.footer-links{display:flex;align-items:center;gap:1.5rem}.footer-line a:hover{color:hsl(var(--signal))}.to-top{position:fixed;right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px) + var(--footer-overlap, 0px));z-index:15;display:grid;place-items:center;width:52px;height:52px;border:1px solid hsl(var(--foreground));border-radius:50%;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .22);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s var(--ease-out)}.to-top:hover{background:hsl(var(--signal));border-color:hsl(var(--signal));color:#fff}.to-top:active{transform:scale(.97)}.back-link,.visit-link{transition:color .16s ease,transform .16s var(--ease-out)}.back-link:active,.visit-link:active{transform:scale(.97)}.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}.absolute{position:absolute}.relative{position:relative}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.max-w-2xl{max-width:42rem}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.pl-4{padding-left:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.tracking-\[0\.2em\]{letter-spacing:.2em}.text-muted-foreground{color:hsl(var(--muted-foreground))}.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)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.running{animation-play-state:running}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){html{scroll-padding-top:5.25rem}body{padding-top:5.25rem}.site-shell,.site-footer{width:calc(100% - 2rem)}.site-header{padding:.5rem 0}.site-nav{min-height:60px;padding:.35rem .65rem;gap:.4rem;border-radius:12px}.brand-line{gap:.4rem;min-width:0}.wordmark{font-size:1.2rem}.brand-subtitle{display:none}.nav-controls{gap:.55rem;flex-shrink:0}.nav-icons{gap:0}.about-link{font-size:.6875rem;padding-inline:.15rem}.language-toggle,.theme-toggle{width:40px;height:40px;flex-shrink:0}.intro{padding-block:2rem 1.75rem}.intro-identity{flex-direction:column;gap:1.25rem}.identity-stamp{width:82px;height:90px;border-radius:12px}.identity-stamp>span:first-child{font-size:3rem}.stamp-caption{font-size:.375rem;margin-top:.1rem}.intro h1{font-size:clamp(2.7rem,10vw,4rem)}.intro-role{font-size:.75rem}.intro-statement{margin-top:1.25rem;font-size:1.2rem}.intro-shortcuts{gap:.5rem}.intro-shortcuts a{padding-inline:.75rem;font-size:.6875rem;gap:.6rem}.project-row{padding:1.1rem .75rem}.project-row h3{font-size:1.25rem}.project-summary p{font-size:.8125rem}.to-top{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px) + var(--footer-overlap, 0px));width:48px;height:48px}.site-main:not(.showcase-main){padding-block:2rem}.site-main:not(.showcase-main)>article,.site-main:not(.showcase-main)>.max-w-2xl{padding:1.5rem}.footer-line{min-height:72px}.footer-links{gap:.8rem}.footer-identity{gap:.5rem!important}.footer-line a{font-size:.6875rem;gap:.25rem}}@media(hover:hover)and (pointer:fine){.intro-identity:hover .identity-stamp{transform:rotate(-3deg) translateY(-3px)}.intro-shortcuts a:hover{transform:translateY(-2px);border-color:hsl(var(--signal))}.language-toggle:hover,.theme-toggle:hover{background:hsl(var(--signal) / .08);color:hsl(var(--signal))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.identity-stamp,.intro-shortcuts a,.project-row,.language-toggle,.theme-toggle,.to-top,.about-link,.about-projects-link a,.back-link,.visit-link{transition:background .16s ease,border-color .16s ease,color .16s ease!important}.identity-stamp,.intro-identity:hover .identity-stamp{transform:rotate(-8deg)!important}.intro-shortcuts a:hover,.intro-shortcuts a:active,.project-row:active,.language-toggle:active,.theme-toggle:active,.to-top:active,.about-link:active,.about-projects-link a:active,.back-link:active,.visit-link:active{transform:none!important}.animate-fade-in{animation:none!important}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-0:before{content:var(--tw-content);left:0}.before\:content-\[\'–\'\]:before{--tw-content: "–";content:var(--tw-content)}.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-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-50:focus{z-index:50}.focus\:rounded:focus{border-radius:.25rem}.focus\:border:focus{border-width:1px}.focus\:border-border:focus{border-color:hsl(var(--border))}.focus\:bg-background:focus{background-color:hsl(var(--background))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-foreground:focus{color:hsl(var(--foreground))}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}
