@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-5.3.0.woff2) format("woff2");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{color-scheme:light;--tf-petrol-900: #0b3a47;--tf-petrol-700: #0f4c5c;--tf-petrol-500: #2d7385;--tf-petrol-300: #7fb8c6;--tf-petrol-100: #dcebef;--tf-amber-500: #f2a541;--tf-amber-300: #f7c886;--tf-amber-100: #fdf0d9;--tf-neutral-0: #ffffff;--tf-neutral-50: #faf8f3;--tf-neutral-100: #f1eee6;--tf-neutral-200: #e2ddd1;--tf-neutral-300: #cbc5b6;--tf-neutral-500: #8a8577;--tf-neutral-600: #5e5a50;--tf-neutral-700: #45423b;--tf-neutral-900: #1d1c19;--tf-bg: #faf8f3;--tf-surface: #ffffff;--tf-surface-2: #f1eee6;--tf-text: #1d1c19;--tf-text-muted: #5e5a50;--tf-border: #cbc5b6;--tf-border-subtle: #e2ddd1;--tf-primary: #0f4c5c;--tf-primary-hover: #0b3a47;--tf-on-primary: #ffffff;--tf-link: #0f4c5c;--tf-accent: #f2a541;--tf-accent-hover: #e8922a;--tf-on-accent: #1d1c19;--tf-success: #1b6b45;--tf-success-bg: #e3f2ea;--tf-warning: #8a4b00;--tf-warning-bg: #fdf0d9;--tf-error: #b3261e;--tf-error-bg: #fbe7e5;--tf-focus: #0f4c5c;--tf-theme-color: #0f4c5c;--tf-grid-bg: #ffffff;--tf-grid-text: #1d1c19;--tf-grid-header-bg: #eef1f0;--tf-grid-header-text: #45423b;--tf-grid-header-active-bg: #dcebef;--tf-grid-header-active-text: #0b3a47;--tf-gridline: #dcdfdc;--tf-grid-selection-fill: rgba(15, 76, 92, .12);--tf-grid-active-outline: #0f4c5c;--tf-grid-fill-handle: #0f4c5c;--tf-grid-formula-bar-bg: #ffffff;--tf-grid-error-text: #b3261e;--tf-ref-1: #2659c9;--tf-ref-2: #b23c0b;--tf-ref-3: #7a35d6;--tf-ref-4: #0b7a5f;--tf-ref-5: #a8178f;--tf-ref-6: #8a5a00;--tf-font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tf-font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace;--tf-text-xs: .75rem;--tf-text-sm: .875rem;--tf-text-base: 1rem;--tf-text-lg: 1.125rem;--tf-text-xl: 1.25rem;--tf-text-2xl: 1.5rem;--tf-text-3xl: clamp(1.625rem, 1.3rem + 1.4vw, 1.875rem);--tf-text-4xl: clamp(1.875rem, 1.4rem + 2.2vw, 2.5rem);--tf-leading-tight: 1.2;--tf-leading-normal: 1.6;--tf-weight-normal: 400;--tf-weight-medium: 550;--tf-weight-bold: 700;--tf-space-1: .25rem;--tf-space-2: .5rem;--tf-space-3: .75rem;--tf-space-4: 1rem;--tf-space-5: 1.25rem;--tf-space-6: 1.5rem;--tf-space-8: 2rem;--tf-space-10: 2.5rem;--tf-space-12: 3rem;--tf-space-16: 4rem;--tf-content-width: 68rem;--tf-prose-width: 42rem;--tf-radius-sm: 4px;--tf-radius-md: 8px;--tf-radius-lg: 12px;--tf-radius-xl: 20px;--tf-radius-full: 999px;--tf-shadow-sm: 0 1px 2px rgba(29, 28, 25, .08);--tf-shadow-md: 0 2px 8px rgba(29, 28, 25, .1), 0 1px 2px rgba(29, 28, 25, .06);--tf-shadow-lg: 0 12px 32px rgba(29, 28, 25, .14), 0 2px 6px rgba(29, 28, 25, .08);--tf-focus-width: 3px;--tf-focus-offset: 2px;--tf-duration-fast: .12s;--tf-ease-out: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--tf-bg: #0e1a1e;--tf-surface: #15252a;--tf-surface-2: #1c3036;--tf-text: #e9edeb;--tf-text-muted: #a8b5b6;--tf-border: #3a535a;--tf-border-subtle: #273d43;--tf-primary: #6fc0d2;--tf-primary-hover: #93d2e0;--tf-on-primary: #0e1a1e;--tf-link: #7fcadb;--tf-accent: #f2a541;--tf-accent-hover: #f7c886;--tf-on-accent: #1d1c19;--tf-success: #6fd39b;--tf-success-bg: #12332a;--tf-warning: #f5bd6a;--tf-warning-bg: #3a2a12;--tf-error: #ff8f86;--tf-error-bg: #3d1a18;--tf-focus: #f2a541;--tf-theme-color: #0e1a1e;--tf-grid-bg: #13222a;--tf-grid-text: #e9edeb;--tf-grid-header-bg: #1c3036;--tf-grid-header-text: #c2cccc;--tf-grid-header-active-bg: #24505c;--tf-grid-header-active-text: #ffffff;--tf-gridline: #2a3f45;--tf-grid-selection-fill: rgba(111, 192, 210, .18);--tf-grid-active-outline: #6fc0d2;--tf-grid-fill-handle: #6fc0d2;--tf-grid-formula-bar-bg: #15252a;--tf-grid-error-text: #ff8f86;--tf-ref-1: #7aa7ff;--tf-ref-2: #ff9a6b;--tf-ref-3: #c39bff;--tf-ref-4: #4fd1ab;--tf-ref-5: #f07fd8;--tf-ref-6: #e8c15a;--tf-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--tf-shadow-md: 0 2px 8px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--tf-shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--tf-bg: #0e1a1e;--tf-surface: #15252a;--tf-surface-2: #1c3036;--tf-text: #e9edeb;--tf-text-muted: #a8b5b6;--tf-border: #3a535a;--tf-border-subtle: #273d43;--tf-primary: #6fc0d2;--tf-primary-hover: #93d2e0;--tf-on-primary: #0e1a1e;--tf-link: #7fcadb;--tf-accent: #f2a541;--tf-accent-hover: #f7c886;--tf-on-accent: #1d1c19;--tf-success: #6fd39b;--tf-success-bg: #12332a;--tf-warning: #f5bd6a;--tf-warning-bg: #3a2a12;--tf-error: #ff8f86;--tf-error-bg: #3d1a18;--tf-focus: #f2a541;--tf-theme-color: #0e1a1e;--tf-grid-bg: #13222a;--tf-grid-text: #e9edeb;--tf-grid-header-bg: #1c3036;--tf-grid-header-text: #c2cccc;--tf-grid-header-active-bg: #24505c;--tf-grid-header-active-text: #ffffff;--tf-gridline: #2a3f45;--tf-grid-selection-fill: rgba(111, 192, 210, .18);--tf-grid-active-outline: #6fc0d2;--tf-grid-fill-handle: #6fc0d2;--tf-grid-formula-bar-bg: #15252a;--tf-grid-error-text: #ff8f86;--tf-ref-1: #7aa7ff;--tf-ref-2: #ff9a6b;--tf-ref-3: #c39bff;--tf-ref-4: #4fd1ab;--tf-ref-5: #f07fd8;--tf-ref-6: #e8c15a;--tf-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--tf-shadow-md: 0 2px 8px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--tf-shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;background:var(--tf-bg);color:var(--tf-text);font-family:var(--tf-font-sans);font-size:var(--tf-text-base);line-height:var(--tf-leading-normal);overflow-wrap:break-word}main{flex:1 0 auto}main:focus{outline:none}h1,h2,h3{line-height:var(--tf-leading-tight);letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--tf-text-4xl);margin:0 0 var(--tf-space-4)}h2{font-size:var(--tf-text-2xl);margin:var(--tf-space-10) 0 var(--tf-space-3)}p{margin:0 0 var(--tf-space-4)}a{color:var(--tf-link);text-underline-offset:.15em}img,svg{max-width:100%}code,kbd{font-family:var(--tf-font-mono);font-size:.95em}:focus-visible{outline:var(--tf-focus-width) solid var(--tf-focus);outline-offset:var(--tf-focus-offset)}.container{width:100%;max-width:var(--tf-content-width);margin-inline:auto;padding-inline:var(--tf-space-4)}@media(min-width:48rem){.container{padding-inline:var(--tf-space-8)}}.skip-link{position:absolute;top:var(--tf-space-2);left:var(--tf-space-2);z-index:10;padding:var(--tf-space-2) var(--tf-space-4);background:var(--tf-primary);color:var(--tf-on-primary);border-radius:var(--tf-radius-md);transform:translateY(-200%)}.skip-link:focus{transform:none}.lead{max-width:var(--tf-prose-width);color:var(--tf-text-muted);font-size:var(--tf-text-lg)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--tf-space-2);min-height:2.75rem;padding:var(--tf-space-3) var(--tf-space-6);border:2px solid transparent;border-radius:var(--tf-radius-full);font:inherit;font-weight:var(--tf-weight-bold);line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--tf-duration-fast) var(--tf-ease-out),border-color var(--tf-duration-fast) var(--tf-ease-out)}.button--primary{background:var(--tf-primary);color:var(--tf-on-primary)}.button--primary:hover{background:var(--tf-primary-hover)}.button--accent{background:var(--tf-accent);color:var(--tf-on-accent)}.button--accent:hover{background:var(--tf-accent-hover)}.button--ghost{border-color:var(--tf-border);background:transparent;color:var(--tf-text)}.button--ghost:hover{background:var(--tf-surface-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{padding-block:var(--tf-space-6) var(--tf-space-16)}.prose{max-width:var(--tf-prose-width)}.prose h3{margin:var(--tf-space-6) 0 var(--tf-space-2);font-size:var(--tf-text-lg)}.prose ul,.prose ol{margin:0 0 var(--tf-space-4);padding-left:var(--tf-space-6)}.prose li+li{margin-top:var(--tf-space-1)}.prose code,.syntax code,.faq code,.mistake code{padding:0 .25em;border-radius:var(--tf-radius-sm);background:var(--tf-surface-2)}.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--tf-space-1) var(--tf-space-2);margin:0 0 var(--tf-space-4);padding:0;list-style:none;color:var(--tf-text-muted);font-size:var(--tf-text-sm)}.crumbs li+li:before{content:"›";margin-right:var(--tf-space-2);color:var(--tf-text-muted)}.crumbs a{color:var(--tf-text-muted)}.meta-line{margin:0 0 var(--tf-space-4);color:var(--tf-text-muted);font-size:var(--tf-text-sm)}.cards{display:grid;gap:var(--tf-space-4);margin:0;padding:0;list-style:none}@media(min-width:40rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{display:flex;flex-direction:column;gap:var(--tf-space-2);padding:var(--tf-space-4) var(--tf-space-5);border:1px solid var(--tf-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-surface)}.card h2,.card h3{margin:0;font-size:var(--tf-text-lg)}.card p{margin:0;color:var(--tf-text-muted)}.card__link{font-weight:var(--tf-weight-bold)}.badge{display:inline-block;padding:.1em .6em;border-radius:var(--tf-radius-full);background:var(--tf-surface-2);color:var(--tf-text);font-size:var(--tf-text-xs);font-weight:var(--tf-weight-bold);white-space:nowrap}.badge--free{background:var(--tf-success-bg);color:var(--tf-success)}.lesson-list{display:grid;gap:var(--tf-space-2);margin:0;padding:0;list-style:none}.lesson-list li{padding:var(--tf-space-3) var(--tf-space-4);border:1px solid var(--tf-border-subtle);border-radius:var(--tf-radius-md);background:var(--tf-surface)}.lesson-list__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--tf-space-2)}.lesson-list a{font-weight:var(--tf-weight-medium)}.lesson-list p{margin:var(--tf-space-1) 0 0;color:var(--tf-text-muted);font-size:var(--tf-text-sm)}.table-wrap{max-width:100%;margin:0 0 var(--tf-space-6);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--tf-text-sm)}.data-table caption{margin-bottom:var(--tf-space-2);color:var(--tf-text-muted);text-align:left}.data-table th,.data-table td{padding:var(--tf-space-2) var(--tf-space-3);border-bottom:1px solid var(--tf-border-subtle);text-align:left;vertical-align:top}.data-table thead th{border-bottom:2px solid var(--tf-border);background:var(--tf-surface-2)}.syntax{margin:0 0 var(--tf-space-6);padding:var(--tf-space-4) var(--tf-space-5);border:1px solid var(--tf-border-subtle);border-left:4px solid var(--tf-primary);border-radius:var(--tf-radius-md);background:var(--tf-surface)}.syntax__formula{display:block;margin-bottom:var(--tf-space-3);font-family:var(--tf-font-mono);font-size:var(--tf-text-base);font-weight:var(--tf-weight-bold);overflow-wrap:anywhere}.syntax dl{display:grid;gap:var(--tf-space-2);margin:0}.syntax dt{font-family:var(--tf-font-mono);font-weight:var(--tf-weight-bold)}.syntax dd{margin:0 0 var(--tf-space-1)}.answer{max-width:var(--tf-prose-width);margin:0 0 var(--tf-space-6);padding:var(--tf-space-4) var(--tf-space-5);border-radius:var(--tf-radius-md);background:var(--tf-surface-2);font-size:var(--tf-text-lg)}.answer p{margin:0}.mistake{max-width:52rem}.faq{max-width:var(--tf-prose-width)}.faq h3{margin:var(--tf-space-5) 0 var(--tf-space-2);font-size:var(--tf-text-lg)}.cta{display:grid;gap:var(--tf-space-3);margin:var(--tf-space-10) 0;padding:var(--tf-space-6);border-radius:var(--tf-radius-xl);border:2px solid var(--tf-primary);background:var(--tf-surface-2)}.cta h2,.cta p{margin:0}.cta__actions{display:flex;flex-wrap:wrap;gap:var(--tf-space-3)}.author{display:flex;gap:var(--tf-space-4);align-items:flex-start;max-width:var(--tf-prose-width);margin-top:var(--tf-space-10);padding:var(--tf-space-4) var(--tf-space-5);border:1px solid var(--tf-border-subtle);border-radius:var(--tf-radius-lg);background:var(--tf-surface)}.author__initials{display:grid;flex:none;place-items:center;width:3rem;height:3rem;border-radius:var(--tf-radius-full);background:var(--tf-primary);color:var(--tf-on-primary);font-weight:var(--tf-weight-bold)}.author p{margin:0}.author__name{font-weight:var(--tf-weight-bold)}.draft-banner{margin:0 0 var(--tf-space-6);padding:var(--tf-space-3) var(--tf-space-4);border:2px solid var(--tf-warning);border-radius:var(--tf-radius-md);background:var(--tf-warning-bg);color:var(--tf-warning);font-weight:var(--tf-weight-bold)}.link-list{margin:0 0 var(--tf-space-4);padding-left:var(--tf-space-6)}.link-list li+li{margin-top:var(--tf-space-1)}.section-intro{max-width:var(--tf-prose-width)}.prose table{width:100%;margin:0 0 var(--tf-space-4);border-collapse:collapse;font-size:var(--tf-text-sm)}.prose th,.prose td{padding:var(--tf-space-2) var(--tf-space-3);border-bottom:1px solid var(--tf-border-subtle);text-align:left}.prose thead th{border-bottom:2px solid var(--tf-border);background:var(--tf-surface-2)}.site-footer[data-astro-cid-gcn2mc3v]{margin-top:auto;background:var(--tf-surface-2);border-top:1px solid var(--tf-border-subtle);color:var(--tf-text-muted);font-size:var(--tf-text-sm)}.site-footer__inner[data-astro-cid-gcn2mc3v]{display:grid;gap:var(--tf-space-3);padding-block:var(--tf-space-8)}.site-footer__links[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:var(--tf-space-2) var(--tf-space-5);margin:0;padding:0;list-style:none}.site-footer__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{display:inline-block;padding-block:var(--tf-space-1);color:var(--tf-text)}.site-footer[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{margin:0}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:var(--tf-space-2);color:var(--tf-text);font-size:var(--tf-text-xl);font-weight:var(--tf-weight-bold);letter-spacing:-.01em;text-decoration:none;border-radius:var(--tf-radius-sm)}.logo__glyph[data-astro-cid-tvrurpns]{flex:none}.logo__fit[data-astro-cid-tvrurpns]{color:var(--tf-link)}.site-header[data-astro-cid-ctg3m53h]{position:relative;background:var(--tf-surface);border-bottom:1px solid var(--tf-border-subtle)}.site-header__inner[data-astro-cid-ctg3m53h]{display:flex;align-items:center;justify-content:space-between;gap:var(--tf-space-2) var(--tf-space-6);padding-block:var(--tf-space-3)}.site-nav[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:var(--tf-space-1) var(--tf-space-2)}.site-nav__list[data-astro-cid-ctg3m53h]{display:flex;flex-wrap:wrap;gap:var(--tf-space-1) var(--tf-space-2);margin:0;padding:0;list-style:none}.site-nav__link[data-astro-cid-ctg3m53h]{display:inline-block;padding:var(--tf-space-2) var(--tf-space-3);border-radius:var(--tf-radius-md);color:var(--tf-text);font-weight:var(--tf-weight-medium);text-decoration:none;white-space:nowrap}.site-nav__link[data-astro-cid-ctg3m53h]:hover{background:var(--tf-surface-2)}.site-nav__link--account[data-astro-cid-ctg3m53h]{border:1px solid var(--tf-border)}.site-nav__link[data-astro-cid-ctg3m53h][aria-current=page]{color:var(--tf-link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}.site-menu[data-astro-cid-ctg3m53h]{display:none}@media(max-width:30rem){.site-header__inner[data-astro-cid-ctg3m53h]{gap:var(--tf-space-2)}.site-nav__list[data-astro-cid-ctg3m53h]{display:none}.site-menu[data-astro-cid-ctg3m53h]{display:block}.site-menu__toggle[data-astro-cid-ctg3m53h]{cursor:pointer;list-style:none}.site-menu__toggle[data-astro-cid-ctg3m53h]::-webkit-details-marker{display:none}.site-menu__toggle[data-astro-cid-ctg3m53h]:after{content:" ▾";content:" ▾" / "";font-size:.8em}.site-menu[data-astro-cid-ctg3m53h][open] .site-menu__toggle[data-astro-cid-ctg3m53h]{background:var(--tf-surface-2)}.site-menu[data-astro-cid-ctg3m53h][open] .site-menu__toggle[data-astro-cid-ctg3m53h]:after{content:" ▴";content:" ▴" / ""}.site-menu__list[data-astro-cid-ctg3m53h]{position:absolute;top:100%;right:0;left:0;z-index:50;display:grid;margin:0;padding:var(--tf-space-2) var(--tf-space-4) var(--tf-space-3);border-bottom:1px solid var(--tf-border-subtle);background:var(--tf-surface);box-shadow:var(--tf-shadow-md);list-style:none}.site-menu__list[data-astro-cid-ctg3m53h] .site-nav__link[data-astro-cid-ctg3m53h]{display:block;padding-block:var(--tf-space-3)}.site-nav__link[data-astro-cid-ctg3m53h]{padding-inline:var(--tf-space-2)}}
