@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-wght-normal.192d14b2.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-wght-normal.b0b919fc.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-greek-wght-normal.ef1c8a30.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-vietnamese-wght-normal.bdc4ddcb.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-ext-wght-normal.a8a9073d.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-wght-normal.a7358d2e.woff2) format("woff2-variations");unicode-range:u+00??,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,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(/_next/static/media/lora-cyrillic-ext-wght-normal.a558ae93.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(/_next/static/media/lora-cyrillic-wght-normal.e27a8659.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(/_next/static/media/lora-math-wght-normal.b7769d42.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+1ee??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/lora-symbols-wght-normal.0f558387.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+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,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+1f0??,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+1f7??,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+1fb??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/lora-vietnamese-wght-normal.19149cdf.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(/_next/static/media/lora-latin-ext-wght-normal.ffcbee2d.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(/_next/static/media/lora-latin-wght-normal.f60a385c.woff2) format("woff2-variations");unicode-range:u+00??,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}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-mono:var(--font-mono);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono);--color-background:var(--color-background);--color-surface:var(--color-surface);--color-surface-raised:var(--color-surface-raised);--color-border:var(--color-border);--color-foreground:var(--color-foreground);--color-foreground-secondary:var(--color-foreground-secondary);--color-foreground-muted:var(--color-foreground-muted);--color-accent:var(--color-accent);--color-accent-hover:var(--color-accent-hover);--color-accent-muted:var(--color-accent-muted);--color-success:var(--color-success);--color-warning:var(--color-warning);--color-danger:var(--color-danger);--color-focus:var(--color-focus);--font-display:var(--font-display);--text-hero:var(--text-hero);--text-display:var(--text-display);--text-h1:var(--text-h1);--text-h2:var(--text-h2);--text-h3:var(--text-h3);--text-h4:var(--text-h4);--text-lead:var(--text-lead);--text-body-lg:var(--text-body-lg);--text-body:var(--text-body);--text-small:var(--text-small);--text-caption:var(--text-caption);--text-code:var(--text-code);--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-full:var(--radius-full);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.border{border-style:var(--tw-border-style);border-width:1px}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-wrap{text-wrap:wrap}.text-accent{color:var(--color-accent)}.text-foreground-muted{color:var(--color-foreground-muted)}.text-foreground-secondary{color:var(--color-foreground-secondary)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow-md{--tw-shadow:var(--shadow-md)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm)}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:dark;--color-background:#0b0f14;--color-surface:#121821;--color-surface-raised:#18212c;--color-border:#2a3543;--color-foreground:#f3f6f9;--color-foreground-secondary:#b7c0cb;--color-foreground-muted:#8994a3;--color-accent:#4b9cd2;--color-accent-hover:#67afe0;--color-accent-muted:#223e55;--color-success:#49b68a;--color-warning:#e2b85b;--color-danger:#e06c75;--color-focus:var(--color-accent);--font-display:"Lora Variable",Georgia,"Times New Roman",serif;--font-body:"IBM Plex Sans Variable",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono Variable","SFMono-Regular",Consolas,"Liberation Mono",monospace;--text-hero:clamp(2.5rem,4.5vw,3.75rem);--text-display:clamp(2.25rem,3.5vw,3rem);--text-h1:clamp(2rem,3vw,2.5rem);--text-h2:clamp(1.5rem,2vw,1.875rem);--text-h3:clamp(1.3125rem,1.8vw,1.625rem);--text-h4:1.1875rem;--text-lead:clamp(1.125rem,1.5vw,1.25rem);--text-body-lg:1.125rem;--text-body:1rem;--text-small:.875rem;--text-caption:.8125rem;--text-code:.9375rem;--leading-hero:1.06;--leading-display:1.1;--leading-h1:1.12;--leading-h2:1.2;--leading-h3:1.25;--leading-h4:1.35;--leading-lead:1.6;--leading-body-lg:1.7;--leading-body:1.65;--leading-small:1.5;--leading-code:1.65;--tracking-hero:-.025em;--tracking-display:-.02em;--tracking-h1:-.018em;--tracking-h2:-.012em;--tracking-h3:-.008em;--tracking-h4:-.005em;--tracking-lead:0;--tracking-body-lg:0;--tracking-body:0;--tracking-label:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--border-thin:1px;--border-emphasis:2px;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 12px 32px #0003;--width-reading:70ch;--width-lead:62ch;--width-content:80rem;--width-narrow:48rem;--duration-fast:.15s;--duration-standard:.22s;--ease-standard:cubic-bezier(.2,0,0,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--color-background)}body{color:var(--color-foreground);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin-block:0}.type-display,.type-hero,h1,h2,h3,h4{overflow-wrap:anywhere;text-wrap:balance}li,p{text-wrap:pretty}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}:focus-visible{outline:var(--border-emphasis) solid var(--color-focus);outline-offset:var(--space-1)}::selection{background:var(--color-accent-muted);color:var(--color-foreground)}.site-shell{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.site-main{min-width:0}.skip-link{z-index:1;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-4);border:var(--border-emphasis) solid var(--color-focus);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-foreground);transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--duration-fast) var(--ease-standard);font-weight:600;position:fixed}.skip-link:focus-visible{transform:translateY(0)}.layout-container{width:min(100% - (2 * var(--space-6)),var(--width-content));margin-inline:auto}.layout-reading{width:min(100%,var(--width-reading))}.layout-narrow{width:min(100%,var(--width-narrow))}.wide-feature{width:100%}.layout-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.section-space{padding-block:var(--space-16)}.institutional-page{padding-bottom:var(--space-20)}.institutional-page-header{max-width:var(--width-lead);padding-block:var(--space-8) var(--space-16)}.institutional-page-content{width:min(100%,var(--width-narrow));margin-inline:auto}.institutional-page-content-wide{width:100%}.editorial-list,.editorial-prose{width:min(100%,var(--width-reading))}.editorial-list{gap:var(--space-2);padding-left:var(--space-6);margin:0;display:grid}.institutional-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.institutional-callout{width:min(100%,var(--width-narrow))}.offering-detail-page,.offerings-page{padding-bottom:var(--space-20)}.offering-detail-header,.offerings-introduction{max-width:var(--width-lead);padding-block:var(--space-8) var(--space-20)}.offerings-introduction-copy{max-width:var(--width-lead)}.offerings-list{border-top:var(--border-thin) solid var(--color-border)}.offering-overview{gap:var(--space-4);min-width:0;padding-block:var(--space-10);border-bottom:var(--border-thin) solid var(--color-border);display:grid}.offering-number{font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:var(--tracking-label)}.offering-title{max-width:28ch}.offering-title .component-link{color:var(--color-foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-decoration-thickness:var(--border-thin);text-underline-offset:var(--space-2)}.offering-title .component-link:hover{color:var(--color-accent-hover);text-decoration-thickness:var(--border-emphasis)}.offering-description{max-width:44ch}.offering-detail-contact,.offerings-contact{padding-block:var(--space-16);align-items:flex-start}.offerings-contact{border-bottom:var(--border-thin) solid var(--color-border);text-align:left}.offering-detail-content{width:min(100%,var(--width-reading))}.offering-detail-section{gap:var(--space-6);padding-block:var(--space-10);display:grid}.offering-detail-contact,.offering-detail-section{border-top:var(--border-thin) solid var(--color-border)}.offering-detail-contact{width:min(100%,var(--width-reading))}.homepage-introduction{isolation:isolate;background-color:var(--color-background);background-image:url(/images/home/aston-cyber-hero-960.jpg);background-position:43%;background-size:cover;position:relative;overflow:hidden}.homepage-introduction:after,.homepage-introduction:before{z-index:-1;pointer-events:none;content:"";position:absolute;inset:0}.homepage-introduction:before{background:radial-gradient(ellipse at center,var(--color-background) 0,var(--color-background) 48%,var(--color-background) 100%),linear-gradient(to bottom,var(--color-background) 0,var(--color-background) 18%,var(--color-background) 78%,var(--color-background) 100%)}@supports (color:color-mix(in lab,red,red)){.homepage-introduction:before{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-background) 76%,transparent) 0,color-mix(in srgb,var(--color-background) 48%,transparent) 48%,color-mix(in srgb,var(--color-background) 66%,transparent) 100%),linear-gradient(to bottom,var(--color-background) 0,color-mix(in srgb,var(--color-background) 36%,transparent) 18%,color-mix(in srgb,var(--color-background) 36%,transparent) 78%,var(--color-background) 100%)}}.homepage-introduction:after{background:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.homepage-introduction:after{background:color-mix(in srgb,var(--color-background) 18%,transparent)}}.homepage-hero{z-index:1;text-align:center;min-height:18rem;text-shadow:0 1px 2px var(--color-background);justify-content:center;margin-inline:auto;position:relative}@supports (color:color-mix(in lab,red,red)){.homepage-hero{text-shadow:0 1px 2px color-mix(in srgb,var(--color-background) 72%,transparent)}}.homepage-hero .type-hero,.homepage-hero .type-lead{margin-inline:auto}.homepage-hero .page-introduction-actions{justify-content:center;align-self:center}.homepage-hero .text-foreground-secondary{color:var(--color-foreground)}.page-introduction,.section-introduction{max-width:var(--width-lead)}.page-introduction-actions{align-self:flex-start}.layout-three{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.focus-grid,.mission-focus{align-items:stretch}.focus-item{min-width:0;padding-block:var(--space-6);border-top:var(--border-thin) solid var(--color-border)}.pillar-icon{width:var(--space-10);height:var(--space-10);color:var(--color-accent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;margin-inline:auto}.section-heading-row{gap:var(--space-3);flex-direction:column;display:flex}.contact-band{gap:var(--space-4);flex-direction:column;display:flex}.mission-principles{width:100%}.mission-conclusion{display:flex}.person-profile{width:min(100%,var(--width-narrow))}.research-page{padding-bottom:var(--space-20)}.collection-card-grid,.related-publication-list,.research-archive,.research-topic-list{gap:var(--space-6);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.resource-list{gap:var(--space-3);padding-left:var(--space-6);margin:0;display:grid}.research-archive-featured{grid-template-columns:minmax(0,1fr)}.content-card-featured .type-h3{max-width:32ch;font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.content-card-featured .type-body{max-width:var(--width-lead)}.research-publication-note{border-left:var(--border-emphasis) solid var(--color-accent)}.research-outline{width:min(100%,var(--width-reading))}.research-outline ol{gap:var(--space-2) var(--space-8);padding-left:var(--space-6);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.editorial-prose .component-link,.research-body a,.research-outline a{text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:.08em}.research-body{width:min(100%,var(--width-reading))}.research-body>*+*{margin-top:var(--space-4)}.research-body>h2{margin-top:var(--space-16);font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.research-body>h2,.research-body>h3{font-family:var(--font-display);font-weight:600}.research-body>h3{margin-top:var(--space-10);font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.research-body>h2[id],.research-body>h3[id]{scroll-margin-top:var(--space-8)}.research-body p{line-height:var(--leading-body)}.research-body a{color:var(--color-accent)}.research-body a:hover{color:var(--color-accent-hover)}.research-body ol,.research-body ul{gap:var(--space-2);padding-left:var(--space-6);display:grid}.research-body li{overflow-wrap:anywhere;min-width:0}.research-body pre{max-width:100%;padding:var(--space-4);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);font-family:var(--font-mono);font-size:var(--text-small);overflow-x:auto}.research-download{width:min(100%,var(--width-reading))}.stack-lg,.stack-md,.stack-sm,.stack-xl{flex-direction:column;display:flex}.stack-sm{gap:var(--space-2)}.stack-md{gap:var(--space-4)}.stack-lg{gap:var(--space-6)}.stack-xl{gap:var(--space-10)}.cluster{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.type-display,.type-h1,.type-h2,.type-h3,.type-h4,.type-hero{color:var(--color-foreground);font-family:var(--font-display)}.type-hero{max-width:15ch;font-size:var(--text-hero);font-weight:550;line-height:var(--leading-hero);letter-spacing:var(--tracking-hero)}.type-display{max-width:20ch;font-size:var(--text-display);font-weight:550;line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.type-h1{font-size:var(--text-h1);font-weight:550;line-height:var(--leading-h1);letter-spacing:var(--tracking-h1)}.type-h2{font-size:var(--text-h2);font-weight:600;line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.type-h3{font-size:var(--text-h3);font-weight:600;line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}.type-h4{font-size:var(--text-h4);font-weight:600;line-height:var(--leading-h4);letter-spacing:var(--tracking-h4)}.type-lead{max-width:var(--width-lead);font-size:var(--text-lead);line-height:var(--leading-lead);letter-spacing:var(--tracking-lead)}.type-body{max-width:var(--width-reading);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}.type-body-lg{max-width:68ch;font-size:var(--text-body-lg);line-height:var(--leading-body-lg);letter-spacing:var(--tracking-body-lg)}.type-small{font-size:var(--text-small)}.type-caption,.type-small{line-height:var(--leading-small)}.type-caption{font-size:var(--text-caption);font-weight:500;letter-spacing:0}.type-code{font-family:var(--font-mono);font-size:var(--text-code);line-height:var(--leading-code)}.type-navigation{font-size:var(--text-small);letter-spacing:.01em;font-weight:500;line-height:1.2}.type-button-label{font-size:var(--text-code);letter-spacing:var(--tracking-body);font-weight:500;line-height:1.2}.type-eyebrow{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500;line-height:1.4}.brand-mark{align-items:center;display:inline-flex}.brand-logo{width:auto;height:var(--space-10);display:block}.site-header{border-bottom:var(--border-thin) solid var(--color-border);background:var(--color-background)}.site-header-inner{min-height:var(--space-20);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.brand-link,.navigation-link{text-decoration:none}.brand-link{align-items:center;display:inline-flex}.desktop-navigation{display:none}.site-header-actions{align-items:center;gap:var(--space-4);display:flex}.site-header-actions>.desktop-contact-action{display:none}.breadcrumbs ol,.footer-link-list,.navigation-list{margin:0;padding:0;list-style:none}.navigation-link{min-height:var(--space-12);color:var(--color-foreground-secondary);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);align-items:center;display:flex}.navigation-link:hover{color:var(--color-foreground)}.navigation-link[aria-current=page]{color:var(--color-accent)}.mobile-navigation{position:relative}.mobile-navigation>summary{min-height:var(--space-12);cursor:pointer;padding-inline:var(--space-4);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-foreground);align-items:center;list-style:none;display:flex}.mobile-navigation>summary::-webkit-details-marker{display:none}.mobile-navigation[open]>summary{border-color:var(--color-accent);background:var(--color-surface-raised)}.mobile-navigation-panel{z-index:1;top:calc(100% + var(--space-2));width:min(calc(100vw - (2 * var(--space-6))),var(--width-narrow));padding:var(--space-3);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);position:absolute;right:0}.mobile-navigation-panel .navigation-link{padding-inline:var(--space-4);border-radius:var(--radius-sm)}.mobile-navigation-panel .navigation-link:hover{background:var(--color-accent-muted)}.mobile-navigation-panel .navigation-link[aria-current=page]{background:var(--color-accent);color:var(--color-background);font-weight:600}.mobile-contact-action{width:100%;margin-top:var(--space-3)}.breadcrumbs{padding-block:var(--space-6);color:var(--color-foreground-muted);font-size:var(--text-small)}.breadcrumbs ol{gap:var(--space-2);flex-wrap:wrap;display:flex}.breadcrumbs li:not(:last-child):after{margin-left:var(--space-2);color:var(--color-border);content:"/"}.breadcrumbs a:hover{color:var(--color-accent-hover)}.breadcrumbs [aria-current=page]{color:var(--color-foreground-secondary)}.site-footer{border-top:var(--border-thin) solid var(--color-border);background:var(--color-surface)}.site-footer-inner{gap:var(--space-4);padding-block:var(--space-8);text-align:center;flex-direction:column;align-items:center;display:flex}.footer-identity{align-items:center}.footer-navigation{width:100%}.footer-navigation-list{justify-content:center;gap:var(--space-2) var(--space-4);color:var(--color-foreground-secondary);font-size:var(--text-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.footer-navigation-list a,.footer-navigation-list li{align-items:center;display:inline-flex}.footer-navigation-list a{min-height:var(--space-8)}.footer-navigation-list a:hover{color:var(--color-accent-hover)}.footer-copyright{width:100%;padding-top:var(--space-4);border-top:var(--border-thin) solid var(--color-border)}.surface-base,.surface-raised{padding:var(--space-6);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg)}.surface-base{background:var(--color-surface);box-shadow:var(--shadow-sm)}.surface-raised{background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.button-primary,.button-secondary{min-height:var(--space-12);padding-inline:var(--space-5);border:var(--border-thin) solid transparent;border-radius:var(--radius-md);font-size:var(--text-code);letter-spacing:var(--tracking-body);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-accent);color:var(--color-background)}.button-primary:hover{background:var(--color-accent-hover)}.button-secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-foreground)}.button-secondary:hover{border-color:var(--color-accent);background:var(--color-surface-raised)}.text-link{width:fit-content;color:var(--color-accent);font-size:var(--text-code);font-weight:500}.text-link:hover{color:var(--color-accent-hover)}.component-link{color:var(--color-accent)}.component-link:hover{color:var(--color-accent-hover)}.component-status,.component-tag{width:fit-content;min-height:var(--space-8);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-full);align-items:center;display:inline-flex}.component-tag{padding-inline:var(--space-3);background:var(--color-surface-raised);color:var(--color-foreground-secondary);font-size:var(--text-small);text-decoration:none}.component-tag:hover{border-color:var(--color-accent);color:var(--color-foreground)}.component-status{gap:var(--space-2);padding-inline:var(--space-3);text-transform:capitalize}.status-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:currentColor;flex:none}.status-active{color:var(--color-accent)}.status-completed,.status-published{color:var(--color-success)}.status-preliminary{color:var(--color-warning)}.status-archived,.status-technical-validation{color:var(--color-foreground-muted)}.metadata-row{gap:var(--space-3) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.metadata-item{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.metadata-item dd{overflow-wrap:anywhere;margin:0}.component-state,.content-card{padding:var(--space-6);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.content-card{height:100%;box-shadow:var(--shadow-sm)}.content-card-title-link{color:var(--color-foreground);transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard);text-decoration-color:#0000}.content-card-title-link:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}.component-error-state{border-color:var(--color-danger)}.component-example-group{padding-block:var(--space-6);border-block:var(--border-thin) solid var(--color-border)}.component-card-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.code-sample{width:fit-content;max-width:100%;padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-foreground-secondary)}.specimen-brand{gap:var(--space-3) var(--space-6);padding-bottom:var(--space-10);border-bottom:var(--border-thin) solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.specimen-section{margin-top:var(--space-24)}.specimen-row{padding-bottom:var(--space-6);border-bottom:var(--border-thin) solid var(--color-border)}.state-list{gap:var(--space-4) var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.state-list li{gap:var(--space-2);color:var(--color-foreground-secondary);font-size:var(--text-small);align-items:center;display:inline-flex}.state-indicator{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);flex:none}@media (min-width:40rem){.layout-container{width:min(100% - (2 * var(--space-10)),var(--width-content))}.section-space{padding-block:var(--space-20)}.component-state,.content-card,.surface-base,.surface-raised{padding:var(--space-8)}.footer-navigation-list li:not(:last-child):after{margin-left:var(--space-4);color:var(--color-border);content:"|"/""}}@media (min-width:48rem){.desktop-navigation{display:block}.site-header-actions>.desktop-contact-action{display:inline-flex}.desktop-navigation .navigation-list{gap:var(--space-2);display:flex}.desktop-navigation .navigation-link{padding-inline:var(--space-3);position:relative}.desktop-navigation .navigation-link[aria-current=page]:after{right:var(--space-3);bottom:0;left:var(--space-3);height:var(--border-emphasis);background:var(--color-accent);content:"";position:absolute}.mobile-navigation{display:none}.layout-grid{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}.page-introduction,.section-introduction{text-align:center;margin-inline:auto}.page-introduction .type-h1,.page-introduction .type-hero,.page-introduction .type-lead,.section-introduction .type-h2{margin-inline:auto}.page-introduction-actions{justify-content:center;align-self:center}.homepage-introduction{background-image:url(/images/home/aston-cyber-hero-1600.jpg);background-position:50% 48%}.institutional-page>.breadcrumbs,.research-page>.breadcrumbs{width:min(100%,var(--width-narrow));margin-inline:auto}.institutional-page-header{text-align:center;margin-inline:auto}.institutional-page-header .type-h1,.institutional-page-header .type-lead{margin-inline:auto}.offering-detail-header,.offerings-introduction{padding-block:var(--space-12) var(--space-24)}.offerings-contact{padding-block:var(--space-20);text-align:center;align-items:center}.offering-detail-section{gap:var(--space-12);padding-block:var(--space-16);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr)}.contact-band,.section-heading-row{flex-direction:row;justify-content:space-between;align-items:center}.mission-conclusion{justify-content:center}.collection-card-grid,.institutional-grid,.related-publication-list,.research-archive,.research-topic-list{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}.research-archive-featured{grid-template-columns:minmax(0,1fr)}.component-card-grid,.research-outline ol{grid-template-columns:repeat(2,minmax(0,1fr))}.component-card-grid{gap:var(--space-8)}.section-space{padding-block:var(--space-24)}}@media (min-width:80rem){.homepage-introduction{background-image:url(/images/home/aston-cyber-hero.jpg)}}@media (forced-colors:active){.component-link,.research-body a,.text-link{text-decoration-line:underline}.navigation-link[aria-current=page]{outline:var(--border-emphasis) solid currentColor;outline-offset:calc(-1 * var(--border-emphasis))}}@media (min-width:64rem){.offering-overview{gap:var(--space-6);padding-block:var(--space-16);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.offering-overview:nth-child(odd) .offering-number{grid-column:1}.offering-overview:nth-child(odd) .offering-title{grid-column:2/span 6}.offering-overview:nth-child(odd) .offering-description{grid-column:9/-1}.offering-overview:nth-child(2n) .offering-number{grid-area:1/12;justify-self:end}.offering-overview:nth-child(2n) .offering-title{text-align:right;grid-area:1/6/auto/span 6;justify-self:end}.offering-overview:nth-child(2n) .offering-description{grid-area:1/1/auto/span 4}.homepage-hero{max-width:var(--width-content);min-height:20rem}.homepage-hero .type-hero{max-width:none}.layout-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.focus-item{padding:var(--space-8);border-top:0;border-left:var(--border-thin) solid var(--color-border)}.focus-item:first-child{border-left:0}.focus-item-heading{text-align:center;margin-inline:auto}.mission-principles-list{column-gap:var(--space-10);grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.breadcrumbs,.site-footer,.site-header,.skip-link{display:none}body{color:#000;background:#fff}.layout-reading,.research-body,.research-page{width:100%;max-width:none}.research-body a,.research-page .text-accent,.research-page .text-foreground-muted,.research-page .text-foreground-secondary,.research-page .type-h1,.research-page .type-h2,.research-page .type-h3,.research-page .type-h4{color:#000}.research-body pre,.research-page .surface-base,.research-page .surface-raised{box-shadow:none;background:#fff;border-color:#000}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}