@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-italic.BicUS2cM.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-italic.BfTTTDIL.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-italic.Py8at3oI.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) 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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.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:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/karla-latin-ext-400-normal.DQe2ZdED.woff2) format("woff2"),url(/_astro/karla-latin-ext-400-normal.CMxStcnq.woff) format("woff");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:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/karla-latin-400-normal.C_jajTY_.woff2) format("woff2"),url(/_astro/karla-latin-400-normal.iWRxgclR.woff) format("woff");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:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/karla-latin-ext-700-normal.DnPH2EDB.woff2) format("woff2"),url(/_astro/karla-latin-ext-700-normal.eTNnM7bB.woff) format("woff");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:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/karla-latin-700-normal.DFuMffT3.woff2) format("woff2"),url(/_astro/karla-latin-700-normal.CospC10L.woff) format("woff");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:Karla;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/karla-latin-ext-400-italic.B1lElno-.woff2) format("woff2"),url(/_astro/karla-latin-ext-400-italic.DEh2sQXX.woff) format("woff");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:Karla;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/karla-latin-400-italic.Fk2VRqKq.woff2) format("woff2"),url(/_astro/karla-latin-400-italic.rXUtClAN.woff) format("woff");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}:root{--bg: #f5efe0;--surface: #fdfbf4;--ink: #1d2b4e;--ink-soft: #4a5a7d;--accent: #c95a3b;--accent-deep: #a8442c;--olive: #2d6a4f;--gold: #f0bf4c;--bleu-vif: #2e69cf;--tan: #b8ab94;--line: #e3dcc9;--font-display: "Fraunces Variable", "Fraunces", Georgia, serif;--font-body: "Manrope Variable", "Manrope", "Karla", "Segoe UI", system-ui, sans-serif;--text-xs: .8rem;--text-sm: .9rem;--text-base: 1.0625rem;--text-lg: clamp(1.2rem, 1rem + .8vw, 1.4rem);--text-xl: clamp(1.5rem, 1.1rem + 1.5vw, 2rem);--text-display: clamp(2rem, 1.4rem + 3vw, 3.2rem);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s6: 24px;--s8: 32px;--s12: 48px;--s16: 64px;--s24: 96px;--radius: 16px;--radius-pill: 999px;--shadow: 0 12px 32px -18px rgba(29, 43, 78, .35);--shadow-lift: 0 16px 40px -16px rgba(29, 43, 78, .35);--w-prose: 640px;--w-wide: 1152px;--gutter: 24px;--glass: rgba(253, 251, 244, .72);--glass-border: rgba(29, 43, 78, .12);--ph-1: #f6ead8;--ph-2: #efcdaf;--ph-3: #dfa07c;color-scheme:light}@media(max-width:639px){:root{--gutter: 16px}}[data-theme=dark]{--bg: #131c30;--surface: #1a2540;--ink: #f0ead8;--ink-soft: #aab6cf;--accent: #d97a5a;--accent-deep: #e69578;--olive: #7fa88f;--gold: #f0bf4c;--bleu-vif: #5b8ee6;--tan: #8b93ad;--line: #2b3a5c;--glass: rgba(26, 37, 64, .72);--glass-border: rgba(240, 234, 216, .14);--shadow: 0 12px 32px -18px rgba(0, 0, 0, .5);--shadow-lift: 0 16px 40px -16px rgba(0, 0, 0, .5);--ph-1: #20294a;--ph-2: #2a365c;--ph-3: #3a4a7a;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #131c30;--surface: #1a2540;--ink: #f0ead8;--ink-soft: #aab6cf;--accent: #d97a5a;--accent-deep: #e69578;--olive: #7fa88f;--gold: #f0bf4c;--bleu-vif: #5b8ee6;--tan: #8b93ad;--line: #2b3a5c;--glass: rgba(26, 37, 64, .72);--glass-border: rgba(240, 234, 216, .14);--shadow: 0 12px 32px -18px rgba(0, 0, 0, .5);--shadow-lift: 0 16px 40px -16px rgba(0, 0, 0, .5);--ph-1: #20294a;--ph-2: #2a365c;--ph-3: #3a4a7a;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;overflow-wrap:break-word}a{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:color-mix(in srgb,var(--gold) 40%,transparent)}.container{max-width:var(--w-wide);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--w-prose);margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--gutter);top:-48px;z-index:100;background:var(--accent);color:#fff9f0;padding:var(--s2) var(--s4);border-radius:var(--radius-pill);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:var(--s2)}.pill{display:inline-flex;align-items:center;background:var(--gold);color:var(--ink);border:1px solid transparent;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:3px 12px;border-radius:var(--radius-pill)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:var(--radius-pill);background:var(--accent);color:#fff9f0;font-weight:700;text-decoration:none;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--accent-deep);color:#fff9f0}.btn-ghost{background:transparent;color:var(--accent-deep);border:1px solid var(--line)}.btn-ghost:hover{background:var(--surface);color:var(--accent)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.header-inner{display:flex;align-items:center;gap:var(--s4);height:64px}.wordmark{font-family:var(--font-display);font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:var(--ink);text-decoration:none;white-space:nowrap}.wm-dot{color:var(--accent)}.nav-toggle{position:absolute;opacity:0;width:1px;height:1px}.nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;margin-left:auto;padding:12px 10px;cursor:pointer;border-radius:8px}.nav-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-toggle:focus-visible~.nav-burger{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle:checked~.nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle:checked~.nav-burger span:nth-child(2){opacity:0}.nav-toggle:checked~.nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none}.nav-toggle:checked~.site-nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--bg);padding:var(--s6) var(--gutter) var(--s8);overflow-y:auto;border-bottom:3px double var(--ink);box-shadow:0 24px 40px -20px #1d2b4e66}.nav-toggle:checked~.site-nav a{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);text-decoration:none;padding:var(--s4) 0;min-height:56px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.nav-toggle:checked~.site-nav a:hover{color:var(--accent)}@media(min-width:720px){.nav-burger{display:none}.site-nav{display:flex;gap:28px;margin-left:auto}.nav-toggle:checked~.site-nav{position:static;padding:0}.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:var(--s2) 0;font-size:.875rem;font-weight:700;color:var(--ink);text-decoration:none}.site-nav a:hover{color:var(--accent);background:transparent}.nav-toggle:checked~.site-nav a{font-family:var(--font-body);font-size:.95rem;min-height:44px;padding:var(--s2) var(--s3);border-bottom:none}}.home-hero{padding-block:var(--s12) var(--s8)}.home-kicker{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep);margin-bottom:var(--s3)}.home-hero h1{font-size:var(--text-display);margin-bottom:var(--s4)}.home-hero h1 em{font-style:italic;color:var(--accent)}.home-lede{font-size:var(--text-lg);color:var(--ink-soft);max-width:620px}.home-cta{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s8)}@media(min-width:720px){.home-hero{padding-block:var(--s24) var(--s16)}}.home-section{padding-block:var(--s8)}.home-section h2{font-size:var(--text-xl);margin-bottom:var(--s6)}.grid-hubs{display:grid;gap:var(--s4);grid-template-columns:1fr}@media(min-width:560px){.grid-hubs{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid-hubs{grid-template-columns:repeat(4,1fr)}}.hub-card{display:flex;flex-direction:column;gap:var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s6);text-decoration:none;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.hub-card:hover .hub-name{color:var(--accent)}.hub-glyph{font-family:var(--font-display);font-style:italic;font-size:2.4rem;line-height:1;color:var(--accent)}.hub-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--ink)}.hub-blurb{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.55}.hub-count{margin-top:auto;padding-top:var(--s2);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.hub-hero{padding-block:var(--s12) var(--s8);border-bottom:3px double var(--ink)}.hub-kicker{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.28em;color:var(--accent);margin-bottom:var(--s3)}.hub-hero h1{font-size:var(--text-display);font-weight:900;letter-spacing:-.02em;text-wrap:balance;margin-bottom:var(--s4)}.hub-intro{font-size:var(--text-lg);color:var(--ink-soft)}.hub-page-grid{padding-block:var(--s4) var(--s12)}@media(min-width:720px){.hub-hero{padding-block:var(--s16) var(--s12)}}.grid{display:grid;gap:var(--s6);grid-template-columns:1fr}@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid{grid-template-columns:repeat(3,1fr)}}.card{height:100%}.card-link{display:flex;flex-direction:column;height:100%;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.card-link:hover,.card-link:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-lift);color:inherit}.card-media{aspect-ratio:3 / 2;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ph-1) 0%,var(--ph-2) 55%,var(--ph-3) 100%)}.card-media img{width:100%;height:100%;object-fit:cover}.card-glyph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-style:italic;font-size:4.2rem;color:var(--accent);opacity:.55}.card-body{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s4) var(--s6);flex:1}.card-title{font-size:1.15rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-link:hover .card-title{color:var(--accent)}.card-desc{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:auto;padding-top:var(--s2);font-size:var(--text-xs);color:var(--ink-soft)}.article-header{padding-top:var(--s8);padding-bottom:var(--s6);border-top:3px double var(--ink);border-bottom:1px solid var(--line)}.breadcrumb{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--s6)}.breadcrumb a{color:var(--ink-soft)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb-sep{margin-inline:var(--s2)}.article-title{font-size:clamp(2rem,1.2rem + 3.4vw,3.4rem);font-weight:900;letter-spacing:-.02em;line-height:1.06;text-wrap:balance;margin-block:var(--s3) var(--s4)}.article-lede{font-size:var(--text-lg);line-height:1.6;color:var(--ink-soft)}.article-tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.pill-level-easy{background:color-mix(in srgb,var(--olive) 30%,transparent)}.pill-level-medium{background:color-mix(in srgb,var(--gold) 30%,transparent)}.pill-level-hard{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-deep)}.pill-region{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft)}.article-tags a.pill{text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}.article-tags a.pill:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-deep);transform:translateY(-1px)}.pairs-with{margin-top:var(--s8);padding-block:var(--s6);padding-inline:var(--s6);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.pairs-with h2{font-size:var(--text-lg);margin:0 0 var(--s4)}.pairs-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s4)}.pairs-item{display:grid;gap:var(--s1);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.pairs-item:last-child{padding-bottom:0;border-bottom:none}.pairs-item>a{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.3}.pairs-item>a:hover{color:var(--accent)}.pairs-meta{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-deep)}.pairs-item p{margin:0;font-size:var(--text-sm);color:var(--ink-soft);line-height:1.55}.article-meta{margin-top:var(--s4);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft)}.media-badge{position:absolute;top:10px;z-index:2;display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);box-shadow:var(--shadow)}.badge-course{left:10px}.badge-level{right:10px}.badge-level.level-easy{color:color-mix(in srgb,var(--olive) 60%,var(--ink))}.badge-level.level-medium{color:color-mix(in srgb,var(--gold) 58%,var(--ink))}.badge-level.level-hard{color:var(--accent-deep)}.pill-baguettes{display:inline-flex;align-items:center;gap:2px}.pill-level{gap:5px}.filterbar{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s6);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filter-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-right:4px}.filter-input{position:absolute;opacity:0;width:1px;height:1px}.filter-pill{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:4px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg);color:var(--ink-soft);font-size:var(--text-sm);font-weight:700;cursor:pointer;user-select:none;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-pill:hover{border-color:var(--accent);color:var(--accent)}.filter-input:checked+.filter-pill{background:var(--accent);border-color:var(--accent);color:#fff9f0}.filter-input:focus-visible+.filter-pill{outline:2px solid var(--accent);outline-offset:2px}.filter-count{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 var(--s6)}.filterable:has(#fc-starter:checked) .card:not([data-course=starter]){display:none}.filterable:has(#fc-main:checked) .card:not([data-course=main]){display:none}.filterable:has(#fc-dessert:checked) .card:not([data-course=dessert]){display:none}.filterable:has(#fl-easy:checked) .card:not([data-level=easy]){display:none}.filterable:has(#fl-medium:checked) .card:not([data-level=medium]){display:none}.filterable:has(#fl-hard:checked) .card:not([data-level=hard]){display:none}.pairs-meta a{color:inherit;text-decoration:none}.pairs-meta a:hover{color:var(--accent)}.article-content{padding-bottom:var(--s8)}.reading-progress{display:none}@supports (animation-timeline: scroll()){.reading-progress{display:block;position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:0 50%;z-index:60;animation:reading-grow linear both;animation-timeline:scroll(root)}@keyframes reading-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.prose p{margin-block:var(--s4)}.prose h2{font-size:var(--text-xl);font-weight:900;letter-spacing:-.01em;margin-top:var(--s12);margin-bottom:var(--s4);scroll-margin-top:72px}.prose h3{font-size:var(--text-lg);font-weight:900;margin-top:var(--s8);margin-bottom:var(--s2)}.prose ul,.prose ol{padding-left:1.25rem;margin-block:var(--s4)}.prose li{margin-block:var(--s2)}.prose strong{font-weight:700}.prose blockquote{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--accent-deep);border-left:3px solid var(--gold);padding-left:var(--s4);margin-block:var(--s8)}.dropcap>p:first-of-type:first-letter,.article-content>p:first-of-type:first-letter,.story-fold .story-lead:first-letter{font-family:var(--font-display);font-weight:900;font-size:3.2em;float:left;line-height:.78;padding-right:.1em;padding-top:.06em;color:var(--accent)}.story-fold-input{position:absolute;opacity:0;width:1px;height:1px}.story-fold-input:not(:checked)~.story-lead{max-height:7.2em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent 100%);mask-image:linear-gradient(180deg,#000 65%,transparent 100%)}.story-fold-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-block:var(--s1) var(--s4);padding:8px 18px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-deep);font-size:var(--text-sm);font-weight:700;cursor:pointer;user-select:none}.story-fold-btn:after{content:"▾";font-size:.9em}.story-fold-btn .less,.story-fold-rest{display:none}.story-fold-input:checked~.story-fold-btn .more{display:none}.story-fold-input:checked~.story-fold-btn .less{display:inline}.story-fold-input:checked~.story-fold-btn{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.story-fold-input:checked~.story-lead{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}.story-fold-input:checked~.story-fold-rest{display:block}.story-fold-input:focus-visible~.story-fold-btn{outline:2px solid var(--accent);outline-offset:2px}@media(min-width:900px){.story-fold-input,.story-fold-btn{display:none}.story-fold-input:not(:checked)~.story-lead{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}.story-fold-rest{display:block}}.article-actions{margin-top:var(--s4)}.jump-recipe{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 22px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--bleu-vif, #2e69cf);color:#fdf6e8;font-size:var(--text-sm);font-weight:700;text-decoration:none;transition:transform .15s ease,background .15s ease}.jump-recipe:hover{background:var(--accent);color:#fdf6e8;transform:translateY(-2px)}.box{margin-block:var(--s8)}.box-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-deep);margin-bottom:var(--s2)}.box-regle{border-left:3px solid var(--accent);padding:var(--s2) 0 var(--s2) var(--s4)}.box-regle-text{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.45;margin:0}.box-saviezvous{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4) var(--s6)}.box-saviezvous .box-text{margin:0}.box-star{color:var(--gold);margin-right:6px}.box-cliche{display:grid;grid-template-columns:1fr;gap:var(--s4)}@media(min-width:560px){.box-cliche{grid-template-columns:1fr 1fr}}.cliche-col{background:color-mix(in srgb,var(--line) 45%,transparent);border-radius:var(--radius);padding:var(--s4)}.cliche-col .box-label{color:var(--ink-soft)}.cliche-col p{margin:0;font-size:var(--text-sm);color:var(--ink-soft);font-style:italic}.real-col{background:color-mix(in srgb,var(--olive) 20%,transparent);border-radius:var(--radius);padding:var(--s4)}.real-col p{margin:0;font-size:var(--text-sm)}.read-next{margin-top:var(--s8);padding:var(--s6);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);margin-bottom:var(--s12)}.read-next h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 var(--s6)}.read-next-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s6)}.read-next-list a{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);line-height:1.3}.read-next-meta{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--s1)}.empty-note{border:1px dashed var(--glass-border);border-radius:var(--radius);background:var(--glass);padding:var(--s8);text-align:center;color:var(--ink-soft);font-style:italic;max-width:var(--w-prose);margin-inline:auto}.simple-page{padding-block:var(--s12)}.simple-page h1{font-size:var(--text-display);margin-bottom:var(--s6)}.notfound{text-align:center;padding-block:var(--s16)}.notfound-code{font-family:var(--font-display);font-weight:600;font-size:clamp(4rem,18vw,8rem);line-height:1;color:var(--accent)}.notfound h1{font-size:var(--text-xl);margin-block:var(--s4) var(--s2)}.notfound p{color:var(--ink-soft);margin-bottom:var(--s4)}.site-footer{margin-top:var(--s24);background:#1d2b4e;color:#f3ecda}.footer-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);padding-block:40px 36px}.footer-brand{font-family:var(--font-display);font-weight:900;font-size:1.9rem;line-height:1}.footer-brand .wm-dot{color:var(--accent)}.footer-tag{margin-top:6px;font-size:.85rem;opacity:.7}.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;opacity:.75}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(243,236,218,.16);padding-block:var(--s4)}.footer-bottom p{font-size:var(--text-xs);color:#f3ecda8c}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
