@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.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(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{color-scheme:light;--bg: #fbfaf6;--surface: #ffffff;--surface-alt: #f4f3ed;--text: #161c1b;--muted: #5d6662;--line: #d8d7cf;--brand: #0f5c46;--brand-strong: #0a4636;--accent: #1d5fd0;--accent-soft: #edf3ff;--warning: #a76614;--code-bg: #17211f;--code-text: #f8fafc;--danger: #b42318;--shadow: 0 10px 30px rgba(22, 28, 27, .06);--shadow-soft: 0 4px 16px rgba(22, 28, 27, .045);--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--font-ui: "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif;--font-editorial: "Source Serif 4 Variable", Georgia, serif;--font-mono: "JetBrains Mono Variable", "SFMono-Regular", Consolas, monospace;font-family:var(--font-ui)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;font-family:var(--font-ui);text-rendering:optimizeLegibility}a{color:var(--brand-strong);text-decoration-thickness:.08em;text-underline-offset:.16em}a:hover{color:var(--accent)}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button{border:0;cursor:pointer}pre,code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.container{width:min(1120px,calc(100% - 32px));margin-inline:auto}.section{padding:56px 0}.alt-section{background:var(--surface-alt);border-block:1px solid var(--line)}.split-section{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:32px;align-items:start}.feature-list{display:grid;gap:10px;margin:16px 0 0;padding-left:20px}.section-heading{max-width:760px;margin-bottom:24px}.section-heading h1,.section-heading h2{margin:0 0 10px;line-height:1.12}.section-heading p{margin:0;color:var(--muted)}.skip-link{position:absolute;left:16px;top:-80px;z-index:100;padding:10px 14px;background:var(--text);color:#fff;border-radius:var(--radius)}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:50;background:#f7f9fceb;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:800;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--radius);background:var(--brand);color:#fff}.site-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.site-nav a{color:var(--text);font-size:.96rem;font-weight:650;text-decoration:none}.site-nav a[aria-current=page]{color:var(--brand-strong);text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.28em}.hero{padding:72px 0 52px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(15,118,110,.1),transparent 42%),linear-gradient(90deg,rgba(37,99,235,.08),transparent 55%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:36px;align-items:center}.hero h1{max-width:820px;margin:0 0 18px;font-size:clamp(2.2rem,4vw,4.4rem);line-height:1.02}.hero p{max-width:680px;margin:0;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-search{display:grid;gap:9px;max-width:620px;margin-top:24px}.hero-search label{color:var(--text);font-weight:750}.button,.hero-actions a,.newsletter-form button,.tool-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:var(--radius);background:var(--brand);color:#fff;font-weight:750;text-decoration:none}.button.secondary,.hero-actions a.secondary,.tool-actions button.secondary,.tool-actions button.secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--line)}.tool-actions button.ghost-button{background:transparent;color:var(--muted);border:1px solid transparent}.newsletter-form button:disabled,.tool-actions button:disabled{cursor:not-allowed;opacity:.58}.newsletter-form input:disabled{background:#f1f5f9;color:var(--muted)}.lab-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);color:var(--code-text);box-shadow:var(--shadow);overflow:hidden}.lab-panel-header{display:flex;gap:7px;padding:14px;border-bottom:1px solid rgba(255,255,255,.12)}.lab-dot{width:10px;height:10px;border-radius:50%;background:#2dd4bf}.lab-dot:nth-child(2){background:#60a5fa}.lab-dot:nth-child(3){background:#f59e0b}.lab-panel pre{margin:0;padding:20px;overflow-x:auto;font-size:.9rem}.eyebrow{margin:0 0 8px;color:var(--brand-strong);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.content-card h2,.content-card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.25}.content-card h2 a,.content-card h3 a{color:var(--text);text-decoration:none}.content-card p{margin:0 0 14px;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0 0;list-style:none}.tag-list a,.pill{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.86rem;text-decoration:none}.text-link{font-weight:750}.internal-link{display:block;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft);color:var(--text);text-decoration:none}.internal-link span{display:block;font-weight:800}.internal-link small{display:block;margin-top:4px;color:var(--muted)}.breadcrumbs{margin-bottom:26px;color:var(--muted);font-size:.9rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:8px;color:#95a1b0}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:44px;align-items:start}.article-header{grid-column:1 / -1;max-width:820px}.article-header h1{margin:0 0 14px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05}.article-description{margin:0 0 18px;color:var(--muted);font-size:1.08rem}.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:.92rem}.toc{position:sticky;top:96px;grid-column:2;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.toc h2{margin:0 0 10px;font-size:.9rem}.toc ol{display:grid;gap:8px;padding:0;margin:0;list-style:none}.toc a{color:var(--muted);font-size:.9rem;text-decoration:none}.toc-depth-3{padding-left:14px}.article-content{grid-column:1}.article-cover{grid-column:1 / -1;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.article-cover img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.prose{max-width:780px;color:var(--text)}.prose h2,.prose h3{margin-top:2rem;line-height:1.22}.prose p,.prose ul,.prose ol{margin:1rem 0}.prose li+li{margin-top:.35rem}.prose code{padding:.15rem .35rem;border-radius:5px;background:var(--accent-soft);color:#123b7a;font-size:.92em}.prose pre{padding:18px;border-radius:var(--radius);background:var(--code-bg);color:var(--code-text);overflow-x:auto}.prose pre code{padding:0;background:transparent;color:inherit}.ad-slot{margin:2rem 0;padding:.75rem;border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);font-size:.8rem;text-align:center}.ad-slot span{display:block;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:0}.article-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}.article-neighbors div{min-height:86px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.article-neighbors span{display:block;color:var(--muted);font-size:.82rem;font-weight:750;text-transform:uppercase}.article-neighbors a{display:inline-block;margin-top:6px;color:var(--text);font-weight:750;text-decoration:none}.related-section{margin-top:54px}.newsletter-band{padding:44px 0;background:var(--surface-alt);border-block:1px solid var(--line)}.newsletter-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:center}.newsletter-inner h2{margin:0 0 8px;font-size:1.65rem;line-height:1.18}.newsletter-inner p{margin:0;color:var(--muted)}.newsletter-form{display:grid;gap:9px}.newsletter-form label{font-weight:750}.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.newsletter-form input,.search-form input,.tool-io textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}.newsletter-form input,.search-form input,.hero-search input{min-height:42px;padding:10px 12px}.form-message{min-height:1.4em;color:var(--muted);font-size:.92rem}.form-message[data-state=success]{color:var(--brand-strong)}.form-message[data-state=warning]{color:var(--warning)}.form-message[data-state=error]{color:#b42318}.search-form{display:grid;gap:9px;max-width:760px;margin-bottom:16px}.search-form label{font-weight:750}.search-form button,.hero-search button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:var(--radius);background:var(--brand);color:#fff;font-weight:750}.search-status{min-height:1.5em;margin:0 0 18px;color:var(--muted);font-weight:650}.search-results{display:grid;gap:14px}.search-result mark{padding:0 .2em;border-radius:4px;background:#fef3c7;color:var(--text)}.topic-cluster-list{display:grid;gap:22px}.topic-cluster{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:22px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.topic-cluster h2{margin:0 0 8px;line-height:1.2}.topic-cluster p{margin:0;color:var(--muted)}.topic-article-list{display:grid;gap:12px}.topic-article{position:relative;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.topic-article h3{margin:8px 0 6px;font-size:1rem;line-height:1.25}.topic-article h3 a{color:var(--text);text-decoration:none}.topic-article small{display:inline-block;margin-top:8px;color:var(--muted);font-weight:700;text-transform:capitalize}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase}.status-pill.published{background:#dcfce7;color:#166534}.status-pill.planned{background:#f1f5f9;color:#475569}.tool-layout{display:grid;gap:24px}.tool-panel{display:grid;gap:16px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tool-panel h2,.tool-panel p{margin:0}.tool-panel p{color:var(--muted)}.tool-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-pane{min-width:0}.tool-pane label,.tool-io label{display:grid;gap:8px;min-width:0;font-weight:750}.tool-io textarea{min-height:360px;padding:14px;resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.55}.tool-actions{display:flex;flex-wrap:wrap;gap:10px}.regex-grid,.regex-replace{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px);gap:16px}.regex-replace{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr)}.regex-grid input,.regex-replace input,.cheat-sheet-controls input,.cheat-sheet-controls select,.cron-grid input,.cron-grid select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.cheat-sheet-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:16px}.complexity-table-wrapper{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.complexity-table{width:100%;min-width:760px;border-collapse:collapse}.complexity-table caption{padding:14px 16px;color:var(--muted);text-align:left;font-size:.9rem;font-weight:700}.complexity-table th,.complexity-table td{padding:13px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.complexity-table th{background:#f1f7f5;color:var(--text);font-size:.82rem;text-transform:uppercase}.complexity-table td{color:var(--muted)}.complexity-table td:first-child{color:var(--text);font-weight:800}.complexity-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:#123b7a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84rem;font-weight:800}.cron-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,280px);gap:16px}.cron-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:16px}.cron-result-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.cron-result-panel h3{margin:0 0 14px;font-size:1rem;line-height:1.25}.cron-field-list{display:grid;gap:10px;margin:0}.cron-field-list dt{color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:800}.cron-field-list dd{margin:-8px 0 0;color:var(--muted)}.cron-next-list{display:grid;gap:10px;margin:0;padding-left:22px;color:var(--muted)}.cron-next-list li::marker{color:var(--brand-strong);font-weight:800}.tool-message{min-height:1.5em;margin:0;color:var(--muted);font-weight:650}.tool-message.error,.tool-message[data-state=error]{color:#b42318}.tool-message[data-state=success]{color:var(--brand-strong)}.tool-message[data-state=neutral]{color:var(--muted)}.diff-options{display:flex;flex-wrap:wrap;gap:12px}.diff-options label{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-weight:700}.diff-result-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.diff-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.diff-result-heading h3{margin:0;font-size:1rem;line-height:1.2}.diff-result-heading span{color:var(--muted);font-size:.88rem;font-weight:750}.diff-output{min-height:340px;max-height:560px;margin:0;padding:10px 0;overflow:auto;background:var(--code-bg);color:var(--code-text);font-size:.86rem;line-height:1.5}.diff-line{display:grid;grid-template-columns:24px 54px 54px minmax(0,1fr);gap:8px;min-width:720px;padding:2px 14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre-wrap}.diff-line span:last-child{overflow-wrap:anywhere}.diff-line.same{color:#d7e3f8}.diff-line.added{background:#16a34a33;color:#dcfce7}.diff-line.removed{background:#dc262633;color:#fee2e2}.workflow-list{display:grid;flex:1;gap:12px;padding:0;margin:0;list-style:none}.workflow-list li{padding:18px;border:1px solid #d5e1d8;border-radius:var(--radius);background:#fff}.workflow-list strong,.workflow-list span{display:block}.workflow-list span{margin-top:4px;color:var(--muted)}.section-heading.compact{margin-bottom:0}.calculator-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:20px;align-items:start}.builder-shell{display:grid;grid-template-columns:minmax(0,.96fr) minmax(360px,.82fr);gap:20px;align-items:start}.calculator-form-panel,.calculator-result-panel,.builder-form-panel,.builder-preview-panel{padding:24px}.calculator-form-panel,.builder-form-panel{background:var(--surface)}.calculator-grid,.builder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.field-card{display:grid;gap:7px;min-width:0;min-height:98px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf8}.field-card input,.field-card select{width:100%;min-height:36px;border:0;background:transparent;color:var(--text);font-weight:760}.field-card small{color:var(--muted);font-size:.78rem}.calculator-actions{flex-wrap:wrap;margin-top:18px}.calculator-result-panel{position:sticky;top:92px;background:#102018;color:#fff}.builder-preview-panel{position:sticky;top:92px;border:1px solid #b8cbe1;border-radius:var(--radius);background:#eef5ff}.calculator-result-panel .eyebrow{color:#a7dab4}.rate-range{display:block;margin:6px 0 8px;color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:860;line-height:1.05}.base-rate{margin:0 0 18px;color:#dcebe0}.rate-bands{display:grid;gap:10px}.rate-bands div,.addon-breakdown div,.result-note{padding:14px;border-radius:var(--radius);background:#173125}.addon-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.rate-bands span{color:#a7dab4}.addon-breakdown span{display:block;color:#a7dab4;font-size:.76rem;font-weight:780;text-transform:uppercase}.rate-bands strong{display:block;margin-top:4px;font-size:1.3rem}.addon-breakdown strong{display:block;margin-top:4px;color:#fff}.rate-bands small,.result-note p{display:block;margin-top:3px;color:#c8d8ce}.rate-card-output{margin-top:14px;padding:14px;border-radius:var(--radius);background:#f8faf8;color:var(--text)}.rate-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rate-card-heading span{min-width:max-content;color:var(--brand-strong);font-size:.82rem;font-weight:820}.rate-card-output textarea{width:100%;min-height:188px;padding:12px;border:1px solid #cfd9d3;border-radius:var(--radius);background:#fff;color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.45;resize:vertical}.rate-card-document{padding:18px;border:1px solid #cbd8e7;border-radius:var(--radius);background:#fff;color:var(--text)}.rate-card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rate-card-topline h3{margin:0;font-size:1.5rem;line-height:1.08}.rate-card-topline>span{min-width:max-content;padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.82rem;font-weight:820}.rate-card-summary{margin:14px 0 0;color:var(--muted)}.package-list{display:grid;gap:10px;margin-top:16px}.package-card{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf8}.package-card.featured{border-color:#94b9ff;background:#eef5ff}.package-card span{display:block;color:var(--muted);font-size:.76rem;font-weight:780;text-transform:uppercase}.package-card strong{display:block;margin-top:3px;font-size:1.55rem;line-height:1.05}.package-card p{margin:6px 0 0;color:var(--muted)}.builder-addons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.builder-addons div{min-width:0;padding:10px;border-radius:var(--radius);background:#102018;color:#fff}.builder-addons span{display:block;color:#a7dab4;font-size:.72rem;font-weight:780;text-transform:uppercase}.builder-addons strong{display:block;margin-top:3px;font-size:.9rem}.rate-card-output.light{border:1px solid #cbd8e7;background:#fff}.rate-card-output.light textarea{min-height:238px}.rate-card-output.light .rate-card-heading span{color:var(--accent)}.result-note{margin-top:14px}.result-note p{margin-bottom:0}.faq-list{display:grid;gap:12px}.faq-list details{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.faq-list summary{cursor:pointer;font-weight:800}.content-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.content-card:focus-within,.content-card:hover{border-color:#b7c7d9;box-shadow:0 10px 24px #17202a0f;transform:translateY(-1px)}.topic-shortcuts,.page-actions,.quick-link-list{margin-bottom:24px}.page-actions,.quick-link-list{display:flex;flex-wrap:wrap;gap:10px}.quick-link-list a{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-weight:700;text-decoration:none}.trust-note{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 24px;padding:14px 16px;border:1px solid #c7ddd7;border-radius:var(--radius);background:#f3fbf8;color:var(--muted)}.trust-note strong{color:var(--brand-strong)}.site-footer{padding:42px 0 24px;border-top:1px solid var(--line);background:var(--surface)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(160px,.6fr));gap:28px}.footer-grid h2{margin:0 0 10px;font-size:.95rem}.footer-grid p{max-width:420px;color:var(--muted)}.footer-grid nav{display:grid;align-content:start;gap:8px}.footer-grid nav a{color:var(--muted);text-decoration:none}.footer-bottom{margin-top:30px;color:var(--muted);font-size:.88rem}@media(max-width:860px){.hero-grid,.split-section,.calculator-shell,.builder-shell,.newsletter-inner,.article-grid,.topic-cluster,.tool-io,.regex-grid,.regex-replace,.cheat-sheet-controls,.cron-grid,.cron-results,.footer-grid{grid-template-columns:1fr}.article-header,.article-cover,.article-content,.toc{grid-column:1}.toc{position:static;grid-row:auto}.card-grid,.card-grid.three,.article-neighbors{grid-template-columns:1fr}.calculator-grid,.builder-grid,.builder-addons{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator-result-panel,.builder-preview-panel{position:static}.header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.site-nav{gap:12px}}@media(max-width:560px){.container{width:min(100% - 24px,1120px)}.section{padding:40px 0}.hero{padding:48px 0 38px}.form-row{grid-template-columns:1fr}.hero-actions a,.newsletter-form button,.tool-actions button,.calculator-actions .button,.calculator-actions button{width:100%}.calculator-actions,.rate-card-heading{flex-direction:column;align-items:stretch}.diff-options label{width:100%}.diff-result-heading{align-items:flex-start;flex-direction:column}.calculator-grid,.builder-grid,.builder-addons,.addon-breakdown{grid-template-columns:1fr}.calculator-form-panel,.calculator-result-panel,.builder-form-panel,.builder-preview-panel{padding:18px}.rate-range{font-size:2rem}}.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}h1,h2,h3,.editorial-title{font-family:var(--font-editorial);font-weight:560;letter-spacing:-.025em}button,input,select,textarea{font-family:var(--font-ui)}pre,code,.code-field{font-family:var(--font-mono)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.container{width:min(1240px,calc(100% - 48px))}.section{padding:72px 0}.alt-section{background:#f5f4ee}.site-header{background:#fbfaf6f5;border-bottom-color:var(--line);backdrop-filter:blur(16px)}.header-inner{min-height:64px}.brand{gap:12px;font-family:var(--font-editorial);font-size:1.16rem;font-weight:650;letter-spacing:-.02em}.brand-mark{width:32px;height:32px;padding:3px;border-radius:0;background:transparent;color:var(--brand)}.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.site-nav{gap:6px;flex-wrap:nowrap}.site-nav a{min-height:40px;display:inline-flex;align-items:center;padding:8px 13px;color:#323a37;font-size:.91rem;font-weight:620}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--brand);text-decoration:none}.site-nav a[aria-current=page]{box-shadow:inset 0 -2px var(--brand)}.nav-search{margin-left:18px;border:1px solid var(--line);border-radius:var(--radius-sm)}.nav-progress{color:var(--text)!important;border-left:1px solid var(--line)}.menu-toggle{display:none;width:44px;height:44px;padding:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.menu-toggle>span:not(.sr-only){display:block;height:2px;margin:5px 0;background:var(--text)}.button,.hero-actions a,.newsletter-form button,.tool-actions button,.search-form button,.hero-search button{min-height:44px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--brand);font-size:.92rem;font-weight:700;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.button:hover,.hero-actions a:hover,.tool-actions button:hover,.search-form button:hover,.hero-search button:hover{background:var(--brand-strong);color:#fff}.button.secondary,.hero-actions a.secondary,.tool-actions button.secondary,.tool-actions button.secondary-button{border-color:var(--line);background:var(--surface)}.section-heading{max-width:780px;margin-bottom:32px}.section-heading h1,.section-heading h2{margin-bottom:12px;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.02}.section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem)}.eyebrow{color:var(--brand);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.07em}.editorial-hero{padding:64px 0 52px;border-bottom:1px solid var(--line)}.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:72px;align-items:center}.editorial-hero h1{max-width:720px;margin:0 0 20px;font-size:clamp(3rem,5.5vw,5.7rem);line-height:.98}.editorial-hero .lead{max-width:650px;margin:0;color:var(--muted);font-size:1.1rem}.resume-panel,.knowledge-panel,.learning-panel,.progress-panel,.practice-callout{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb3}.resume-panel{padding:28px}.resume-panel h2,.resume-panel h3{margin:0 0 8px}.resume-meta,.lesson-meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.88rem}.progress-track{height:5px;margin:18px 0;overflow:hidden;border-radius:99px;background:#e5e4dd}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.course-atlas{border-top:1px solid var(--line)}.course-row{display:grid;grid-template-columns:72px minmax(220px,.9fr) minmax(280px,1.3fr) 110px;gap:24px;align-items:center;min-height:96px;padding:18px 0;border-bottom:1px solid var(--line)}.course-number{color:var(--brand);font-family:var(--font-editorial);font-size:1.6rem}.course-row h2,.course-row h3{margin:0;font-size:1.28rem}.course-row p{margin:4px 0 0;color:var(--muted);font-size:.92rem}.course-modules{color:var(--muted);font-size:.87rem}.course-row .text-link{justify-self:end}.content-card{border-radius:var(--radius-sm);box-shadow:none}.content-card:focus-within,.content-card:hover{border-color:#aaa99f;box-shadow:var(--shadow-soft);transform:none}.learning-grid{display:grid;grid-template-columns:250px minmax(0,760px) 300px;gap:36px;align-items:start}.lesson-rail,.lesson-context{position:sticky;top:88px}.lesson-rail{padding-right:24px;border-right:1px solid var(--line)}.lesson-rail h2{margin:0 0 4px;font-size:1.35rem}.lesson-rail ol{display:grid;gap:2px;padding:0;margin:20px 0 0;list-style:none}.lesson-rail a{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 10px;color:var(--muted);font-size:.83rem;text-decoration:none}.lesson-rail a[aria-current=page]{background:#efeee8;color:var(--text)}.lesson-main .article-header{max-width:none;padding-bottom:24px;border-bottom:1px solid var(--line)}.lesson-main .article-header h1{font-size:clamp(2.7rem,5vw,4.4rem)}.lesson-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.lesson-context{display:grid;gap:16px}.lesson-context>section,.lesson-context>aside{padding:20px;border:1px solid var(--line);background:var(--surface)}.lesson-context h2{margin:0 0 12px;font-size:1.18rem}.knowledge-checks{display:grid;gap:22px;margin-top:44px;padding:26px;border:1px solid var(--line);background:var(--surface)}.knowledge-checks>h2{margin:0;font-size:1.65rem}.knowledge-question{padding-top:18px;border-top:1px solid var(--line)}.knowledge-question fieldset{display:grid;gap:9px;padding:0;border:0}.knowledge-question legend{margin-bottom:12px;font-family:var(--font-editorial);font-size:1.15rem}.knowledge-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);background:#fff;cursor:pointer}.knowledge-option:has(input:checked){border-color:var(--brand);background:#f1f7f4}.knowledge-feedback{min-height:1.5em;margin:12px 0 0;color:var(--muted)}.knowledge-feedback[data-state=correct]{color:var(--brand)}.knowledge-feedback[data-state=error]{color:var(--danger)}.tool-workbench{border-top:1px solid var(--line)}.tool-workbench .tool-layout{gap:18px}.tool-workbench .tool-layout>.section-heading{display:none}.tool-panel,.tool-pane textarea,.tool-io textarea{border-radius:var(--radius-sm)}.tool-io{gap:0;border:1px solid var(--line);background:var(--surface)}.tool-pane{display:grid;min-width:0}.tool-pane+.tool-pane{border-left:1px solid var(--line)}.tool-pane>label{min-height:48px;padding:14px 16px;border-bottom:1px solid var(--line);font-family:var(--font-editorial);font-size:1.08rem}.tool-io textarea{min-height:430px;border:0;border-radius:0;background:#fff;font-family:var(--font-mono);font-size:.86rem}.tool-message{margin:0;padding:10px 14px;border-left:3px solid var(--line);background:#f7f6f1}.tool-message[data-state=success]{border-color:var(--brand)}.tool-message[data-state=error],.tool-message.error{border-color:var(--danger)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.filter-bar input,.filter-bar select{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.hero-lede{max-width:690px;font-size:clamp(1.05rem,1.5vw,1.28rem)}.editorial-hero.compact{padding:58px 0}.editorial-hero.compact h1{max-width:900px;font-size:clamp(3rem,6vw,5.7rem)}.hero-search{display:flex;max-width:610px;margin-top:28px}.hero-search input{flex:1;min-width:0;min-height:48px;padding:11px 15px;border:1px solid var(--line);border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--surface)}.hero-search button{min-height:48px;padding-inline:22px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.split-heading{display:flex;justify-content:space-between;gap:32px;align-items:end}.resume-panel{min-height:320px;padding:clamp(24px,4vw,42px);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft)}.resume-panel h2{font-size:clamp(1.8rem,3vw,2.7rem)}.resume-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.86rem}.progress-track{grid-column:1 / -1;overflow:hidden;height:7px;border-radius:99px;background:#e7e6df}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.practice-card{min-height:245px;padding:24px;border:1px solid var(--line);background:var(--surface)}.practice-card h2{margin:22px 0 10px;font-size:1.48rem}.practice-card p{color:var(--muted)}.practice-card-meta{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.practice-card-meta span{padding:4px 7px;border:1px solid var(--line)}.practice-card-meta .extension-label{border-color:#d5b27a;color:var(--warning)}.filter-bar a{display:inline-flex;min-height:44px;padding:10px 14px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--muted);text-decoration:none}.filter-bar a.active,.filter-bar a:hover{border-color:var(--brand);color:var(--brand)}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--surface)}.progress-summary>div{display:grid;gap:4px;padding:26px}.progress-summary>div+div{border-left:1px solid var(--line)}.progress-summary strong{font-family:var(--font-editorial);font-size:2.6rem}.progress-summary span,.saved-lesson-list span{color:var(--muted);font-size:.85rem}.course-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0 54px}.course-progress-card{display:grid;grid-template-columns:1fr auto;gap:16px;padding:22px;border:1px solid var(--line);background:var(--surface)}.course-progress-card h2{margin:0;font-size:1.35rem}.course-progress-card>strong{color:var(--brand)}.saved-lesson-list{padding:0;list-style:none;border-top:1px solid var(--line)}.saved-lesson-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.progress-reset{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}.lesson-context .toc{position:static;width:auto}.lesson-context ul{padding-left:18px}.lesson-main .article-content{max-width:72ch}.practice-callout .button{width:100%}.library-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr));align-items:end}.library-filters label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.library-count{color:var(--muted);font-size:.9rem}.library-list{border-top:1px solid var(--line)}.library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.library-row h2{margin:5px 0;font-size:clamp(1.25rem,2vw,1.6rem)}.library-row p:last-child{max-width:760px;margin:0;color:var(--muted)}.topic-map{display:grid;gap:72px}.topic-domain{display:grid;grid-template-columns:280px 1fr;gap:clamp(36px,7vw,96px);padding-top:28px;border-top:1px solid var(--line)}.topic-domain-intro{position:sticky;top:90px;align-self:start}.topic-domain-intro h2{margin:10px 0;font-size:2rem}.topic-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.topic-modules article{padding:20px;border:1px solid var(--line);background:var(--surface)}.topic-modules h3{margin:0 0 8px;font-size:1.2rem}.topic-modules p{color:var(--muted);font-size:.9rem}.topic-modules ul{padding-left:18px}.topic-modules li+li{margin-top:8px}.tool-hero .section-heading{max-width:850px;margin-bottom:0}.tool-stage{padding-top:32px;background:#f0efe9}.workbench-bar{display:flex;justify-content:space-between;gap:18px;min-height:48px;padding:12px 16px;align-items:center;border:1px solid var(--line);border-bottom:0;background:#ecebe5;color:var(--muted);font-size:.78rem}.workbench-bar>div{display:flex;gap:14px;align-items:center}.workbench-bar strong{color:var(--text)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}.tool-guide{max-width:780px}.tool-index-stat{display:grid;align-content:center;min-height:280px;padding:30px;border:1px solid var(--line);background:var(--surface)}.tool-index-stat strong{font-family:var(--font-editorial);font-size:5rem;line-height:1;color:var(--brand)}.tool-index-stat span{font-weight:700}.tool-index-stat p{color:var(--muted)}.tool-filter-search{flex:1;min-width:240px}.tool-filter-search input{width:100%}.filter-bar button.active{border-color:var(--brand);color:var(--brand);background:#f1f7f4}.tool-directory{display:grid;gap:56px}.tool-list{border-top:1px solid var(--line)}.tool-list-row{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.tool-list-row h3{margin:0 0 4px;font-size:1.25rem}.tool-list-row p{margin:0;color:var(--muted)}@media(max-width:1200px){.learning-grid{grid-template-columns:220px minmax(0,1fr)}.lesson-context{position:static;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.header-inner{min-height:62px;flex-direction:row;align-items:center;padding:0}.menu-toggle{display:block;margin-left:auto}.site-nav{position:absolute;inset:63px 0 auto;display:none;padding:12px 24px 20px;border-bottom:1px solid var(--line);background:var(--bg)}.site-nav.is-open{display:grid}.site-nav a,.nav-search,.nav-progress{min-height:44px;margin:0;border:0;box-shadow:none!important}.editorial-hero-grid,.learning-grid{grid-template-columns:1fr}.lesson-rail{position:static;padding:18px;border:1px solid var(--line)}.lesson-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-context{grid-column:1}.course-row{grid-template-columns:54px 1fr 120px}.course-modules{grid-column:2 / -1}.practice-grid,.library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-domain{grid-template-columns:1fr}.topic-domain-intro{position:static}}@media(max-width:720px){.container{width:min(100% - 28px,1240px)}.section{padding:48px 0}.editorial-hero{padding:42px 0}.editorial-hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.editorial-hero-grid{gap:36px}.course-row{grid-template-columns:44px 1fr;gap:14px}.course-row .text-link,.course-modules{grid-column:2;justify-self:start}.learning-grid{gap:24px}.lesson-rail ol,.lesson-context{grid-template-columns:1fr}.lesson-main .article-header h1{font-size:clamp(2.35rem,12vw,3.5rem)}.tool-io{grid-template-columns:1fr}.tool-pane+.tool-pane{border-top:1px solid var(--line);border-left:0}.tool-io textarea{min-height:300px}.tool-actions button,.lesson-actions .button,.lesson-actions button{width:100%}.split-heading,.saved-lesson-list li,.library-row,.tool-list-row{display:block}.workbench-bar,.workbench-bar>div{align-items:flex-start;flex-direction:column}.practice-grid,.course-progress-list,.progress-summary,.library-filters,.topic-modules{grid-template-columns:1fr}.progress-summary>div+div{border-top:1px solid var(--line);border-left:0}.hero-search{display:grid}.hero-search input,.hero-search button{border:1px solid var(--line);border-radius:var(--radius-sm)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.lesson-context{grid-template-columns:1fr}.lesson-rail h2 a{display:inline;padding:0;color:var(--text)}.lesson-main,.article-content{min-width:0}.article-content table{display:block;max-width:100%;overflow-x:auto}.article-content pre{max-width:100%;overflow-x:auto}.article-content code{overflow-wrap:anywhere}
