@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-cyrillic-ext-wght-normal.b5cdd476.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-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-cyrillic-wght-normal.49594fb5.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-greek-ext-wght-normal.f4df85d1.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-greek-wght-normal.4f908aee.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-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-vietnamese-wght-normal.ab4bb8dc.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-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-latin-ext-wght-normal.8bff79fb.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-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/dist/assets/inter-latin-wght-normal.4f2981d8.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-display:swap;font-family:Playfair Display Variable;font-style:normal;font-weight:400 900;src:url(/dist/assets/playfair-display-cyrillic-wght-normal.0735b13f.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Playfair Display Variable;font-style:normal;font-weight:400 900;src:url(/dist/assets/playfair-display-vietnamese-wght-normal.7e20ebd1.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-display:swap;font-family:Playfair Display Variable;font-style:normal;font-weight:400 900;src:url(/dist/assets/playfair-display-latin-ext-wght-normal.f29ff9cb.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-display:swap;font-family:Playfair Display Variable;font-style:normal;font-weight:400 900;src:url(/dist/assets/playfair-display-latin-wght-normal.2c41744a.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}:root{color-scheme:light dark;--bp-slate:#7f8ca8;--bp-slate-dark:#5a6884;--bp-mist:#c1c7d6;--bp-mist-light:#eef0f5;--bp-green:#8ac86b;--bp-green-dark:#4e8a33;--bp-green-ink:#3f7326;--bp-ink:#1c2230;--surface:#f4f6fa;--surface-alt:#e6eaf2;--surface-raised:#fff;--text:#1c2230;--text-muted:#5a6884;--text-on-brand:#fff;--border:#c1c7d6;--border-strong:#9aa4bc;--brand:#5a6884;--brand-hover:#4a5670;--brand-accent:#8ac86b;--accent-strong:#3f7326;--link:#3f7326;--link-hover:#4e8a33;--danger:#b03a2a;--danger-hover:#96311f;--info-bg:#e6eaf2;--success-bg:#edf6e7;--warning-bg:#fdf3df;--warning-border:#c89230;--warning-text:#7a5a14;--danger-bg:#fbeeeb;--focus-ring:#4e8a33;--shadow:0 2px 12px #1c22301a;--grad-rule:linear-gradient(to right,var(--bp-slate-dark),var(--bp-slate) 62%,var(--bp-green));--btn-primary-bg:#5a6884;--btn-primary-bg-hover:#4a5670;--btn-primary-fg:#fff;--btn-success-bg:#3f7326;--btn-success-bg-hover:#35611f;--btn-success-fg:#fff;--btn-danger-bg:#b03a2a;--btn-danger-bg-hover:#96311f;--btn-danger-fg:#fff;--font-body:"Inter Variable",Inter,system-ui,"Segoe UI",Arial,sans-serif;--font-display:"Playfair Display Variable","Playfair Display",Georgia,"Times New Roman",serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px}@media (prefers-color-scheme:dark){:root{--surface:#141824;--surface-alt:#1c2130;--surface-raised:#202636;--text:#e8eaf1;--text-muted:#a9b2c8;--text-on-brand:#141824;--border:#39415a;--border-strong:#4a5470;--brand:#a7b3cf;--brand-hover:#c1c7d6;--brand-accent:#8ac86b;--accent-strong:#97d178;--link:#97d178;--link-hover:#b4e09a;--danger:#f08a76;--danger-hover:#f6a896;--info-bg:#1c2130;--success-bg:#1c2a1a;--warning-bg:#2a2416;--warning-border:#c89230;--warning-text:#e8c377;--danger-bg:#2e1b18;--focus-ring:#8ac86b;--shadow:0 2px 14px #00000073;--btn-primary-bg:#7f8ca8;--btn-primary-bg-hover:#93a0bb;--btn-primary-fg:#141824;--btn-success-bg:#8ac86b;--btn-success-bg-hover:#9bd37e;--btn-success-fg:#141824;--btn-danger-bg:#e06b52;--btn-danger-bg-hover:#e98a75;--btn-danger-fg:#141824}}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6}img,svg{display:block;max-width:100%}h1,h2,h3{color:var(--brand);font-family:var(--font-display);font-weight:700;line-height:1.2;margin-block:var(--space-5) var(--space-3);text-wrap:balance}h1{font-size:clamp(1.75rem,3.5vw,2.5rem)}h2{font-size:clamp(1.4rem,2.5vw,1.9rem)}h3{font-size:1.25rem}h4,h5,h6{font-family:var(--font-body);font-weight:600;margin-block:var(--space-4) var(--space-2)}ol,p,table,ul{margin-block:0 var(--space-4)}a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 40%,#0000);text-underline-offset:3px;&:hover{color:var(--link-hover);text-decoration-color:initial}}hr{background:var(--grad-rule);border:none;border-radius:2px;height:3px;margin-block:var(--space-5)}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--focus-ring);outline-offset:2px}.eyebrow{color:var(--text-muted);font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}iframe{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%}body{display:flex;flex-direction:column;min-height:100dvh}.container{margin-inline:auto;max-width:1200px;padding-inline:var(--space-4);width:100%}.site-contents{flex:1;padding-block:var(--space-5) var(--space-7)}.site-header{background:var(--surface-raised);border-bottom:4px solid #0000;border-image:var(--grad-rule) 1;position:relative}.site-header__inner{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;max-width:1400px;min-height:64px}.logo a{display:inline-block}.logo img{height:72px;width:auto}.site-nav{align-items:center;display:flex;gap:var(--space-5)}.nav-list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0;& a{border-radius:var(--radius-sm);color:var(--text);display:block;font-size:.875rem;font-weight:500;padding:6px 10px;text-decoration:none;white-space:nowrap;&:hover{background:var(--surface-alt);color:var(--accent-strong)}}}.nav-greeting{color:var(--text-muted);font-size:.875rem;padding-inline:var(--space-3);white-space:nowrap}.nav-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:none;padding:10px}.nav-toggle__bars{background:var(--text);display:block;height:2px;position:relative;transition:background .2s;width:22px;&:after,&:before{background:var(--text);content:"";height:2px;left:0;position:absolute;transition:translate .2s,rotate .2s;width:22px}&:before{translate:0 -7px}&:after{translate:0 7px}}[data-nav-open] .nav-toggle__bars{background:#0000;&:before{rotate:45deg;translate:0 0}&:after{rotate:-45deg;translate:0 0}}@media (max-width:899px){.nav-toggle{display:block}.site-nav{align-items:stretch;background:var(--surface);border-bottom:4px solid #0000;border-image:var(--grad-rule) 1;box-shadow:var(--shadow);display:none;flex-direction:column;gap:0;left:0;padding:var(--space-3) var(--space-4) var(--space-4);position:absolute;right:0;top:100%;z-index:50}[data-nav-open] .site-nav{display:flex}.site-nav{background:var(--surface-raised)}.nav-list{align-items:stretch;flex-direction:column;gap:0;& a{border-bottom:1px solid var(--border);font-size:1rem;padding:var(--space-3)}}.nav-greeting{padding:var(--space-3)}}.site-footer{background:var(--surface-alt);border-image:var(--grad-rule) 1;border-top:3px solid #0000;color:var(--text-muted);font-size:.875rem;padding-block:var(--space-4);& p{margin:0}}.layout-sidebar,.layout-split{align-items:start;display:grid;gap:var(--space-5)}@media (min-width:900px){.layout-sidebar{grid-template-columns:280px 1fr}.layout-split{grid-template-columns:1fr 2fr}}.btn{background:var(--btn-primary-bg);border:1px solid #0000;border-radius:var(--radius-sm);color:var(--btn-primary-fg);cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.2;padding:10px 20px;text-align:center;text-decoration:none;transition:background .15s,border-color .15s,color .15s;&:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg);text-decoration:none}&:disabled,&[aria-disabled=true]{cursor:not-allowed;opacity:.55}}.btn--secondary{background:#0000;border-color:var(--border-strong);color:var(--brand);&:hover{background:var(--surface-alt);border-color:var(--brand);color:var(--brand)}}.btn--success{background:var(--btn-success-bg);color:var(--btn-success-fg);&:hover{background:var(--btn-success-bg-hover);color:var(--btn-success-fg)}}.btn--danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg);&:hover{background:var(--btn-danger-bg-hover);color:var(--btn-danger-fg)}}.btn--sm{font-size:.8125rem;padding:6px 14px}.btn--block{display:block;width:100%}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-block-end:var(--space-4);padding:var(--space-4) var(--space-5);&>:last-child{margin-block-end:0}}.card--info{background:var(--info-bg);border-left:4px solid var(--brand)}.card--success{background:var(--success-bg);border-left:4px solid var(--accent-strong)}.card--warning{background:var(--warning-bg);border-color:var(--warning-border);border-left:4px solid var(--warning-border);color:var(--warning-text)}.card--danger{background:var(--danger-bg);border-left:4px solid var(--danger)}.blog-post{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-block-end:var(--space-5);padding:var(--space-5);& .blog-post-title{margin-block-start:0}&>:last-child{margin-block-end:0}}.table-wrap{margin-block-end:var(--space-4);overflow-x:auto}.table{border-collapse:initial;border-spacing:0;font-size:.9375rem;width:100%;& th{background:var(--brand);color:var(--text-on-brand);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:10px 14px;text-align:left;text-transform:uppercase;&:first-child{border-top-left-radius:var(--radius-sm)}&:last-child{border-top-right-radius:var(--radius-sm)}}& td{border-bottom:1px solid var(--border);padding:10px 14px}}.table--striped tbody tr:nth-child(2n) td{background:var(--surface-alt)}.table--hover tbody tr:hover td{background:color-mix(in srgb,var(--brand) 12%,var(--surface))}table.striped tbody tr:nth-child(2n) td{background:var(--surface-alt)}table.hover tbody tr:hover td{background:color-mix(in srgb,var(--brand) 12%,var(--surface))}.form-grid{display:grid;gap:var(--space-4);margin-block-end:var(--space-5)}@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .field--full{grid-column:1/-1}}.field{display:flex;flex-direction:column;gap:var(--space-1);& label{color:var(--text);font-size:.875rem;font-weight:600}& .hint{color:var(--text-muted);font-size:.8125rem}}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:1rem;padding:10px 12px;width:100%;&:focus-visible{border-color:var(--focus-ring);outline:2px solid var(--focus-ring);outline-offset:0}}input[type=checkbox],input[type=radio]{accent-color:var(--accent-strong);height:18px;width:18px}.checkbox-field,.radio-field{align-items:center;display:flex;gap:var(--space-2);& label{font-size:.9375rem;font-weight:500}}fieldset{border:1px solid var(--border);border-radius:var(--radius-md);margin-block-end:var(--space-4);padding:var(--space-4);& legend{font-weight:600;padding-inline:var(--space-2)}}.input-validation-error{border-color:var(--danger)!important}.field-validation-error{color:var(--danger);font-size:.8125rem;font-weight:500}.validation-summary-errors{background:var(--danger-bg);border:1px solid var(--danger);border-left-width:4px;border-radius:var(--radius-md);color:var(--danger);margin-block-end:var(--space-4);padding:var(--space-3) var(--space-4);& ul{margin:0;padding-inline-start:var(--space-4)}}.validation-summary-valid{display:none}dialog.bp-dialog{background:var(--surface-raised);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--text);margin:auto;max-height:calc(100dvh - var(--space-5)*2);overflow:auto;padding:0;width:min(560px,calc(100vw - var(--space-4)*2))}dialog.bp-dialog::backdrop{backdrop-filter:blur(2px);background:#1c22308c}.bp-dialog__header{align-items:center;background:var(--brand);color:var(--text-on-brand);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-3) var(--space-5);& h1,& h2,& h3{color:var(--text-on-brand);font-family:var(--font-display);font-size:1.25rem;margin:0}}.bp-dialog__close{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-on-brand);cursor:pointer;font-size:1.5rem;line-height:1;padding:var(--space-1) var(--space-2);&:hover{background:#ffffff26}}.bp-dialog__body{padding:var(--space-5);&>:last-child{margin-block-end:0}}.bp-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;margin-block-start:var(--space-4)}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin-block:var(--space-5);padding:0;& a,& span{border-radius:var(--radius-pill);color:var(--text);display:inline-block;font-size:.9375rem;min-width:38px;padding:6px 12px;text-align:center;text-decoration:none}& a:hover{background:var(--surface-alt);color:var(--accent-strong)}& .is-current span,& span.is-current{background:var(--brand);color:var(--text-on-brand);font-weight:600}& .is-disabled span,& span.is-disabled{color:var(--text-muted);opacity:.6}}.sidebar-panel{background:var(--surface-raised);border:1px solid var(--border);border-image:var(--grad-rule) 1;border-radius:var(--radius-lg);border-top:4px solid #0000;box-shadow:var(--shadow);padding:var(--space-4);& h3{border-bottom:2px solid var(--brand-accent);font-size:1.1rem;margin-block:0 var(--space-3);padding-block-end:var(--space-2)}& .no-event,& h3{text-align:center}& .no-event{color:var(--text-muted);font-size:.875rem;margin:0}}.event-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);margin-block-end:var(--space-3);padding:var(--space-3);& h4{margin-block:0 var(--space-2)}&>:last-child{margin-block-end:0;padding-block-end:0}}.event-item{align-items:center;display:flex;font-size:.875rem;gap:var(--space-3);padding-block:var(--space-2);&+.event-item{border-top:1px solid var(--border)}}.date-badge{align-items:center;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);border-top:6px solid var(--brand);display:flex;flex-direction:column;flex-shrink:0;height:44px;justify-content:center;line-height:1.1;width:44px}.date-badge__month{color:var(--text-muted);font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.date-badge__day{color:var(--text);font-size:1.125rem;font-weight:700}.icon{display:inline-block;fill:currentColor;height:1em;vertical-align:-.125em;width:1em}.icon--lg{height:1.5em;width:1.5em}#calendar{--fc-page-bg-color:var(--surface-raised);--fc-border-color:var(--border);--fc-neutral-bg-color:var(--surface-alt);--fc-neutral-text-color:var(--text-muted);--fc-today-bg-color:color-mix(in srgb,var(--brand-accent) 14%,#0000);--fc-button-bg-color:var(--btn-primary-bg);--fc-button-text-color:var(--btn-primary-fg);--fc-button-border-color:#0000;--fc-button-hover-bg-color:var(--btn-primary-bg-hover);--fc-button-hover-border-color:#0000;--fc-button-active-bg-color:var(--btn-primary-bg-hover);--fc-button-active-border-color:#0000;--fc-list-event-hover-bg-color:var(--surface-alt);--fc-highlight-color:color-mix(in srgb,var(--brand) 15%,#0000);background:var(--surface-raised);border:1px solid var(--border);border-image:var(--grad-rule) 1;border-radius:var(--radius-lg);border-top:4px solid #0000;box-shadow:var(--shadow);margin-block-end:var(--space-6);padding:var(--space-4)}#calendar .fc-toolbar-title{font-family:var(--font-display)}@media (max-width:640px){#calendar{border-radius:var(--radius-md);font-size:.8125rem;max-width:100%;overflow-x:auto;padding:var(--space-2)}#calendar .fc-header-toolbar{flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-3);row-gap:var(--space-2)}#calendar .fc-toolbar-chunk:has(.fc-toolbar-title){order:-1;text-align:center;width:100%}#calendar .fc-toolbar-title{font-size:1.2rem}#calendar .fc-button{font-size:.8125rem;padding:4px 10px}#calendar .fc-daygrid-day-frame{min-height:3em}}.calendar-legend{display:flex;flex-wrap:wrap;font-size:.875rem;gap:var(--space-2) var(--space-5);list-style:none;margin-block:var(--space-3) var(--space-5);padding:0}.calendar-legend__item{align-items:center;display:flex;gap:var(--space-2);&:before{background:var(--dot,var(--brand));border-radius:50%;content:"";height:12px;width:12px}}.auth-page{align-items:center;background:var(--surface-alt);display:flex;flex-direction:column;gap:var(--space-5);justify-content:center;min-height:100dvh;padding:var(--space-5) var(--space-4)}.auth-card{background:var(--surface-raised);border:1px solid var(--border);border-image:var(--grad-rule) 1;border-radius:var(--radius-lg);border-top:4px solid #0000;box-shadow:var(--shadow);padding:var(--space-6) var(--space-5);width:min(420px,100%);& h1,& h2{margin-block-start:0;text-align:center}& .field{margin-block-end:var(--space-4)}}.auth-logo img{height:80px;width:auto}.visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.text-right{text-align:right}.text-center{text-align:center}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.stack>*+*{margin-block-start:var(--space-4)}.cluster{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.mt-0{margin-block-start:0}.mb-0{margin-block-end:0}.mt-4{margin-block-start:var(--space-4)}.callout,.mb-4{margin-block-end:var(--space-4)}.callout{background:var(--surface-raised);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.callout.primary{background:var(--info-bg)}.callout.success{background:var(--success-bg);border-left-color:var(--accent-strong)}.callout.warning{background:var(--warning-bg);border-left-color:var(--warning-border)}.callout.alert{background:var(--danger-bg);border-left-color:var(--danger)}.button{background:var(--btn-primary-bg);border:1px solid #0000;border-radius:var(--radius-sm);color:var(--btn-primary-fg);cursor:pointer;display:inline-block;font-weight:600;padding:10px 20px;text-decoration:none}.button.alert{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.button.success{background:var(--btn-success-bg);color:var(--btn-success-fg)}.grid-x{display:flex;flex-wrap:wrap;gap:var(--space-4)}.cell{flex:1 1 280px;min-width:0}@media (prefers-color-scheme:dark){:is(.blog-post-content,.calendar-event-content) [style]{background-color:initial!important;color:inherit!important}}