:root{--background:#f7f9fc;--surface:#ffffff;--surface-muted:#eef3f8;--surface-blue:#eaf2ff;--text:#0f172a;--text-soft:#334155;--text-muted:#64748b;--border:#dce3ec;--border-strong:#c4cfdd;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-dark:#173a75;--accent-tn:#e70013;--success:#15803d;--success-soft:#e9f8ee;--warning:#b45309;--warning-soft:#fff7e8;--code-background:#0b1220;--code-surface:#111c31;--code-text:#e5eef8;--shadow-sm:0 8px 24px rgba(15,23,42,0.06);--shadow-lg:0 28px 80px rgba(30,64,175,0.13);--radius-sm:10px;--radius:16px;--radius-lg:26px;--container:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:clip}body{margin:0;background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0 0 auto;z-index:-1;height:600px;background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.13),transparent 34%),radial-gradient(circle at 88% 5%,rgba(231,0,19,.06),transparent 28%);pointer-events:none}img,svg{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.skipLink{position:fixed;left:1rem;top:1rem;z-index:100;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--text);color:white;transform:translateY(-160%);transition:transform .16s ease}.skipLink:focus{transform:translateY(0)}.container{width:min(var(--container),calc(100% - 2rem));margin-inline:auto}.narrow{max-width:780px}.siteHeader{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(220,227,236,.88);background:rgba(247,249,252,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.headerInner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{display:inline-flex;align-items:center;text-decoration:none;font-weight:850;font-size:1.35rem;letter-spacing:-.055em;line-height:1;position:relative;z-index:52}.logoSql{color:var(--text)}.logoTn{color:var(--accent-tn)}.logoMark{width:29px;height:29px;margin-right:.55rem;position:relative;border:2px solid var(--primary);border-radius:50%}.logoMark span{position:absolute;left:4px;right:4px;height:5px;border:1.5px solid var(--primary);border-radius:50%}.logoMark span:first-child{top:4px;background:#dbeafe}.logoMark span:nth-child(2){top:10px}.logoMark span:nth-child(3){top:16px}.mainNav,.mainNav ul{display:flex;align-items:center}.mainNav{gap:1.2rem}.mainNav ul{list-style:none;gap:.15rem;padding:0;margin:0}.mainNav ul a{display:block;padding:.65rem .72rem;border-radius:8px;color:var(--text-soft);font-size:.92rem;font-weight:650;text-decoration:none}.mainNav ul a:hover,.mainNav ul a[aria-current=page]{background:var(--surface-blue);color:var(--primary-hover)}.menuBackdrop,.menuButton{display:none}.button{min-height:46px;padding:.75rem 1.15rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:11px;font-weight:750;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.buttonPrimary{background:var(--primary);color:white;box-shadow:0 8px 20px rgba(37,99,235,.18)}.buttonPrimary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 12px 24px rgba(37,99,235,.24)}.buttonSecondary{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.buttonSecondary:hover:not(:disabled){border-color:#93c5fd;background:#f8fbff}.buttonGhost{background:transparent;color:var(--primary-hover)}.buttonRow{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}.eyebrow{margin:0 0 .7rem;color:var(--primary-hover);font-size:.78rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.hero{padding:5.5rem 0 4.5rem;overflow:hidden}.heroGrid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);align-items:center;gap:clamp(2.5rem,7vw,6rem)}.articleHeader h1,.hero h1,.lessonHeader h1,.pageHero h1,.simplePage h1{margin:0;color:var(--text);font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.03;letter-spacing:-.06em}.heroLead{max-width:660px;margin:1.35rem 0 0;font-size:clamp(1.06rem,2vw,1.25rem);line-height:1.7}.heroLead,.trustList{color:var(--text-soft)}.trustList{display:flex;flex-wrap:wrap;gap:.7rem 1.25rem;padding:0;margin:1.6rem 0 0;list-style:none;font-size:.92rem;font-weight:650}.trustList li:before{content:"✓";margin-right:.45rem;color:var(--success);font-weight:900}.heroImageWrap,.heroVisual{position:relative}.heroImageWrap{border:1px solid rgba(147,197,253,.5);border-radius:var(--radius-lg);overflow:hidden;background:#dbeafe;box-shadow:var(--shadow-lg)}.heroImageWrap img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.floatingQuery{width:min(90%,440px);margin:-3.2rem auto 0;position:relative;z-index:2;overflow:hidden;border:1px solid #233553;border-radius:15px;background:var(--code-background);color:var(--code-text);box-shadow:0 22px 48px rgba(3,7,18,.28)}.queryBar{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;border-bottom:1px solid #233553;color:#9fb0ca;font:700 .72rem ui-monospace,monospace}.queryDots{display:flex;gap:5px}.queryDots i{width:8px;height:8px;border-radius:50%;background:#334155}.queryDots i:first-child{background:#e70013}.queryDots i:nth-child(2){background:#f59e0b}.queryDots i:nth-child(3){background:#22c55e}.floatingQuery pre{margin:0;padding:1rem;overflow-x:auto;font:500 .78rem/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.sqlKeyword{color:#7dd3fc}.sqlValue{color:#fda4af}.section{padding:5.5rem 0}.sectionMuted{background:var(--surface-muted)}.sectionDark{background:#0b1220}.sectionDark .container,.sectionDark h2{color:white}.sectionDark p:not(.eyebrow){color:#b7c5d9}.sectionDark .buttonSecondary{border-color:#52698c;background:transparent;color:white}.featureSplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:clamp(2rem,6vw,5rem);align-items:center}.featureSplit h2{max-width:720px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.045em}.featureSplit p{max-width:680px}.featureTerminal{overflow:hidden;border:1px solid #2b4164;border-radius:var(--radius);background:#070d18;box-shadow:0 28px 70px rgba(0,0,0,.35)}.featureTerminal .queryBar{position:static}.terminalRows{display:grid;grid-template-columns:1fr 1fr}.terminalRows span,.terminalRows strong{padding:.7rem 1rem;border-top:1px solid #1d2c45;color:#c6d5e9;font:600 .82rem ui-monospace,SFMono-Regular,Menlo,monospace}.terminalRows span{color:#7dd3fc;background:#0f1a2d}.sectionDark{background:var(--text);color:white}.sectionHeading{max-width:700px;margin-bottom:2.4rem}.sectionHeading h2{margin:0;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.1;letter-spacing:-.045em}.sectionHeading p:last-child{margin:1rem 0 0;color:var(--text-muted);font-size:1.05rem}.sectionDark .sectionHeading p:last-child{color:#aebbd0}.cardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.courseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.courseCard,.exerciseCard,.methodCard,.pricingCard{padding:1.5rem}.card h3{margin:1rem 0 .65rem;font-size:1.24rem;line-height:1.25;letter-spacing:-.025em}.card p{color:var(--text-muted)}.articleMeta,.cardTopline,.lessonMeta,.quizProgress>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.articleMeta span,.badge,.lessonMeta span,.status,.tagList li{display:inline-flex;align-items:center;min-height:28px;padding:.28rem .65rem;border-radius:999px;font-size:.74rem;font-weight:780}.badge{background:var(--surface-blue);color:var(--primary-hover)}.statusAvailable{background:var(--success-soft);color:var(--success)}.statusSoon{background:var(--warning-soft);color:var(--warning)}.isMuted{background:#fbfcfe}.tagList{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:1.2rem 0;list-style:none}.tagList li{border:1px solid var(--border);background:transparent;color:var(--text-soft);font-weight:650}.textLink{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;color:var(--primary-hover);font-weight:780;text-decoration:none}.textLink:hover span{transform:translateX(3px)}.textLink span{transition:transform .15s ease}.textLink.disabled{color:var(--text-muted)}.levelLabel{display:block;color:var(--text-soft);font-size:.85rem;font-weight:700}.methodCard .stepNumber{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--primary);color:white;font-weight:850}.articleCard{overflow:hidden}.articleCard>img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-blue)}.articleCardBody{padding:1.35rem}.articleMeta{justify-content:flex-start;color:var(--text-muted)}.articleMeta span{padding:0}.pricingGrid{align-items:stretch}.pricingCard{display:flex;flex-direction:column}.pricingCard.featured{border-color:#93c5fd;box-shadow:var(--shadow-lg)}.price{margin:.8rem 0 0;font-size:1.65rem;font-weight:850;letter-spacing:-.035em}.featureList{flex:1 1;padding:0;margin:1.4rem 0;list-style:none}.featureList li{margin:.55rem 0;color:var(--text-soft)}.featureList li:before{content:"✓";margin-right:.55rem;color:var(--success);font-weight:900}.ctaBand{padding:4rem 0}.ctaPanel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-lg);background:linear-gradient(135deg,#173a75,#1d4ed8);color:white;box-shadow:var(--shadow-lg)}.ctaPanel h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em}.ctaPanel p{max-width:650px;margin:.7rem 0 0;color:#dbeafe}.ctaPanel .button{background:white;color:var(--primary-hover)}.siteFooter{padding:4rem 0 1.5rem;border-top:1px solid #1e293b;background:#0b1220;color:#e5eef8}.footerGrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem}.siteFooter .logoSql{color:white}.footerBrand p{max-width:320px;color:#9fb0ca}.siteFooter h2{margin:0 0 1rem;font-size:.9rem}.siteFooter ul{padding:0;margin:0;list-style:none}.siteFooter li{margin:.55rem 0}.siteFooter a:not(.logo){color:#9fb0ca;text-decoration:none}.siteFooter a:hover{color:white}.footerBottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.3rem;border-top:1px solid #1e293b;color:#7f91ad;font-size:.78rem}.footerBottom p{margin:0}.articlePage,.exercisePage,.lessonPage,.pageHero,.simplePage{padding:4.5rem 0 5.5rem}.pageHero{padding-bottom:3rem;text-align:center}.pageHero .container{max-width:820px}.pageHero h1{font-size:clamp(2.4rem,5vw,4.2rem)}.pageHero p:last-child{margin:1.2rem auto 0;color:var(--text-muted);font-size:1.1rem}.articleHeader h1,.lessonHeader h1,.simplePage h1{font-size:clamp(2.25rem,4.5vw,4rem)}.articleHeader .lead,.lessonHeader .lead,.simplePage .lead{color:var(--text-muted);font-size:1.12rem}.breadcrumbs{margin-bottom:1.4rem;font-size:.84rem;color:var(--text-muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:0;list-style:none}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.35rem;color:#a8b4c4}.breadcrumbs a{color:var(--primary-hover);text-decoration:none}.articleLayout,.lessonLayout{display:grid;grid-template-columns:230px minmax(0,760px);justify-content:center;gap:3.5rem;margin-top:3rem}.articleToc,.lessonToc{position:sticky;top:105px;align-self:start;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.articleToc strong,.lessonToc strong{display:block;margin-bottom:.7rem}.articleToc ol,.lessonToc ol{padding-left:1.15rem;margin:0;color:var(--text-muted)}.articleToc li,.lessonToc li{margin:.55rem 0}.articleToc a,.lessonToc a{color:inherit;text-decoration:none}.articleToc a:hover,.lessonToc a:hover{color:var(--primary-hover)}.prose{min-width:0}.prose h2{margin:3rem 0 1rem;font-size:clamp(1.55rem,3vw,2rem);line-height:1.2;letter-spacing:-.035em;scroll-margin-top:110px}.prose h2:first-child{margin-top:0}.prose h3{margin-top:2rem}.prose p{color:var(--text-soft)}.prose code:not(pre code){padding:.12rem .34rem;border:1px solid #d8e2f0;border-radius:5px;background:#edf3fb;color:#173a75;font:650 .88em ui-monospace,SFMono-Regular,Menlo,monospace}.prose ol,.prose ul{color:var(--text-soft)}.prose li{margin:.45rem 0}.callout{margin:1.5rem 0;padding:1rem 1.15rem;border-left:4px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-blue);color:var(--primary-dark)}.objectives{margin:2rem 0 0;padding:1.2rem 1.4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.objectives h2{margin:0 0 .7rem;font-size:1rem}.objectives ul{margin:0;padding-left:1.2rem}.lessonMeta{justify-content:flex-start;margin-top:1.4rem}.lessonMeta span{background:var(--surface-muted);color:var(--text-soft)}.courseProgress{display:grid;grid-template-columns:1fr minmax(220px,.6fr) auto;gap:1.5rem;align-items:center;margin-top:3rem;padding:1.3rem;border:1px solid #bfd3f5;border-radius:var(--radius);background:linear-gradient(145deg,#ffffff,#eef5ff);box-shadow:var(--shadow-sm)}.courseProgress p{margin:0;color:var(--text-muted);font-size:.82rem}.courseProgress strong{display:block;margin:.15rem 0;color:var(--text);font-size:1.05rem}.progressVisual{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.7rem}.progressVisual progress{width:100%;height:10px;accent-color:var(--primary)}.progressVisual span{color:var(--primary-dark);font-size:.82rem;font-weight:850}.lessonCompletion{margin:3rem 0 1rem;padding:1.4rem;border:1px solid #bfd3f5;border-radius:var(--radius);background:var(--surface-blue)}.lessonCompletion.isCompleted{border-color:#a7dfba;background:var(--success-soft)}.lessonCompletion h2{margin:.15rem 0 .4rem}.lessonCompletion p:not(.eyebrow){margin:0;color:var(--text-muted)}.codeBlock{margin:1.5rem 0;overflow:hidden;border:1px solid #233553;border-radius:14px;background:var(--code-background);color:var(--code-text);box-shadow:0 16px 40px rgba(2,6,23,.14)}.codeToolbar{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 .9rem;border-bottom:1px solid #233553;background:var(--code-surface);color:#aebbd0;font:700 .74rem ui-monospace,SFMono-Regular,Menlo,monospace}.codeToolbar button{padding:.35rem .6rem;border:0;border-radius:7px;background:#233553;color:white;cursor:pointer}.codeBlock pre{margin:0;padding:1.1rem;overflow-x:auto;color:var(--code-text);font:500 .88rem/1.7 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.solutionReveal{margin:1.4rem 0}.solutionPanel{margin-top:1rem;padding:1.2rem;border:1px solid #a7dfba;border-radius:var(--radius);background:var(--success-soft)}.lessonNavigation{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}.lessonNavigation a{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-soft);text-decoration:none}.lessonNavigation a:last-child{text-align:right}.tableScroll{margin:1.5rem 0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.9rem}caption{color:var(--text-soft);font-weight:750}caption,td,th{padding:.75rem 1rem;text-align:left}td,th{border-top:1px solid var(--border);white-space:nowrap}th{background:#f1f5f9;color:var(--text)}td{color:var(--text-soft)}.dataset+.dataset{margin-top:2.5rem}.relationDiagram{margin:1.5rem 0 2rem;overflow-x:auto;border:1px solid #bfd3f5;border-radius:var(--radius);background:linear-gradient(145deg,#f8fbff,#eaf2ff)}.relationDiagram svg{min-width:650px}.relationDiagram .diagramTable>rect{fill:#ffffff;stroke:#a9c5ef;stroke-width:2}.relationDiagram .diagramHead{fill:#173a75}.relationDiagram text{fill:#334155;font:600 18px Inter,ui-sans-serif,system-ui,sans-serif}.relationDiagram .diagramTitle{fill:#ffffff;font-size:22px;font-weight:800}.relationDiagram .diagramForeignKey,.relationDiagram .diagramKey{fill:#1d4ed8;font-size:14px;font-weight:850}.relationDiagram .diagramForeignKey{fill:#c21828}.relationDiagram .relationLine{fill:none;stroke:#2563eb;stroke-width:4}.relationDiagram marker path{fill:#2563eb}.relationDiagram .relationOne{fill:#ffffff;stroke:#2563eb;stroke-width:2}.relationDiagram .relationCardinality{fill:#1d4ed8;font-size:13px;font-weight:900}.relationDiagram .relationLabel{fill:#475569;font-size:13px}.relationDiagram figcaption{padding:.8rem 1rem;border-top:1px solid #bfd3f5;color:var(--text-soft);font-size:.86rem}.exerciseHeaderGrid{display:grid;grid-template-columns:1fr 330px;gap:2.5rem;align-items:start}.exerciseAside{padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.exerciseAside dl{margin:0}.exerciseAside div{padding:.7rem 0;border-bottom:1px solid var(--border)}.exerciseAside div:last-child{border:0}.exerciseAside dt{color:var(--text-muted);font-size:.78rem}.exerciseAside dd{margin:.15rem 0 0;font-weight:750}.honestyNote{margin:2rem 0;padding:1.2rem;border:1px solid #f4cb8d;border-radius:var(--radius);background:var(--warning-soft);color:#7c3e08}.sqlPlayground{margin:2.5rem 0;padding:clamp(1.1rem,3vw,1.7rem);border:1px solid #294165;border-radius:var(--radius-lg);background:linear-gradient(145deg,#0b1220,#101d33);color:var(--code-text);box-shadow:0 22px 60px rgba(2,6,23,.2)}.sqlPlaygroundHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.sqlPlaygroundHeader h2{margin:.15rem 0 .45rem;color:white}.sqlPlaygroundHeader p:not(.eyebrow){max-width:650px;margin:0;color:#b7c5d9}.sqlPlaygroundHeader .eyebrow{color:#7dd3fc}.sqlPlaygroundHeader .status{flex:0 0 auto}.sqlEditorLabel{display:block;margin:1.4rem 0 .45rem;color:#dbeafe;font-size:.84rem;font-weight:800}.sqlEditorInput{width:100%;min-height:220px;resize:vertical;padding:1rem;border:1px solid #334b70;border-radius:12px;background:#070d18;color:#e6f0ff;caret-color:#7dd3fc;font:500 .92rem/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;tab-size:2}.sqlEditorInput:focus-visible{outline-color:#60a5fa}.sqlPlaygroundActions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.keyboardHint{margin-left:auto;color:#91a5c1;font-size:.75rem}.sqlPlaygroundMessage{margin-top:1rem;padding:.75rem .9rem;border:1px solid #2c4a70;border-radius:10px;background:rgba(30,64,175,.14);color:#cbdaf0;font-size:.86rem}.sqlPlaygroundMessage.isError{border-color:#7f1d1d;background:rgba(127,29,29,.2);color:#fecaca}.sqlResultWrap{margin-top:1rem;overflow-x:auto;border:1px solid #334b70;border-radius:12px;background:white}.sqlResultWrap table{margin:0}.sqlResultWrap caption{background:#eaf2ff;color:var(--primary-dark)}.editorWorkspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:3rem}.editorWorkspace .sqlPlayground{margin:0}.editorDatasetCard{position:sticky;top:105px;padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.editorDatasetCard h2{margin:.25rem 0}.editorDatasetCard>p:not(.eyebrow){color:var(--text-muted);font-size:.9rem}.editorSchema{margin-top:1.3rem}.editorSchema h3{margin:0 0 .55rem}.editorSchema ul{padding:0;margin:0;list-style:none}.editorSchema li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.8rem}.editorSchema li span{color:var(--text-muted)}.sectionCompact{margin-top:4rem}.projectBrief{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;margin:3rem 0 2rem;padding:clamp(1.4rem,4vw,2.4rem);border:1px solid #bfd3f5;border-radius:var(--radius-lg);background:linear-gradient(145deg,#f8fbff,#eaf2ff)}.projectBrief h2{margin:.2rem 0 .6rem}.projectBrief p{margin:0;color:var(--text-soft)}.projectBrief ol{margin:0;padding-left:1.3rem}.projectBrief li{margin:.65rem 0;color:var(--text-soft)}.resourceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.resourceCommand{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm)}.resourceCommand span{color:var(--text-muted);font-size:.84rem;font-weight:800}.resourceCommand code{overflow-x:auto;color:var(--primary-dark);font:650 .86rem ui-monospace,SFMono-Regular,Menlo,monospace}.exerciseCatalog{display:grid;gap:1.5rem}.catalogToolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(180px,.75fr));gap:1rem;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.catalogToolbar label{display:grid;gap:.45rem;color:var(--text);font-size:.88rem;font-weight:750}.catalogToolbar input,.catalogToolbar select{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid var(--border-strong);border-radius:.75rem;background:#fff;color:var(--text);font:inherit}.catalogToolbar input:focus,.catalogToolbar select:focus{border-color:var(--primary);outline:3px solid rgba(37,99,235,.18)}.catalogSummary{display:flex;align-items:center;gap:.35rem;color:var(--text-muted)}.catalogSummary button{margin-left:auto;border:0;padding:.3rem 0;background:transparent;color:var(--primary);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.emptyState{padding:clamp(2rem,5vw,4rem);border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);text-align:center}.emptyState h2{margin-top:0}.quizResult,.quizShell{max-width:820px;margin:2rem auto 0;padding:clamp(1.3rem,4vw,2.4rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.quizProgress span{color:var(--text-muted);font-size:.82rem;font-weight:700}.quizProgress progress{width:100%;height:8px;margin-top:.6rem;accent-color:var(--primary)}.quizShell fieldset{padding:0;margin:2rem 0 0;border:0}.quizShell legend{width:100%;font-size:1.35rem;font-weight:800;line-height:1.35}.quizShell legend>span{display:block;margin-bottom:.5rem;color:var(--primary-hover);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.quizOptions{display:grid;gap:.65rem;margin-top:1.5rem}.quizOptions label{min-height:58px;display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.quizOptions label.isSelected,.quizOptions label:hover{border-color:#93c5fd;background:var(--surface-blue)}.quizOptions input{width:18px;height:18px;accent-color:var(--primary)}.optionLetter{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:8px;background:var(--surface-muted);font-weight:800}.quizActions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.quizHint{color:var(--warning);font-size:.85rem}.quizResult{display:grid;grid-template-columns:auto 1fr;gap:1.4rem 2rem;align-items:center}.scoreRing{width:112px;height:112px;display:grid;place-content:center;border:8px solid #bfdbfe;border-radius:50%;text-align:center}.scoreRing strong{font-size:2.1rem;line-height:1}.scoreRing span{color:var(--text-muted);font-size:.8rem}.answerReview{grid-column:1/-1;display:grid;gap:.8rem}.answerReview article{padding:1rem;border-left:4px solid;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.answerReview article>span{font-size:.72rem;font-weight:850;text-transform:uppercase}.answerReview h3{margin:.35rem 0;font-size:1rem}.answerReview p{margin:.35rem 0;color:var(--text-soft)}.answerCorrect{border-color:var(--success)!important;background:var(--success-soft)}.answerWrong{border-color:var(--warning)!important;background:var(--warning-soft)}.faqList{max-width:850px;margin:2rem auto 0}.faqList details{border-bottom:1px solid var(--border);background:var(--surface)}.faqList details:first-child{border-radius:var(--radius) var(--radius) 0 0}.faqList details:last-child{border:0;border-radius:0 0 var(--radius) var(--radius)}.faqList summary{padding:1.15rem 1.3rem;font-weight:780;cursor:pointer}.faqList details p{padding:0 1.3rem 1.2rem;margin:0;color:var(--text-soft)}.legalNotice{padding:1rem 1.2rem;border:1px solid #f4cb8d;border-radius:var(--radius-sm);background:var(--warning-soft);color:#7c3e08}.legalSection{margin-top:2.5rem}.legalSection h2{margin-bottom:.7rem}.errorCode{display:block;color:#bfdbfe;font-size:clamp(6rem,20vw,12rem);font-weight:900;line-height:.8;letter-spacing:-.09em}.notFoundPage{min-height:65vh;display:grid;align-items:center}.adminLoginPage{min-height:72vh;display:grid;place-items:center;padding:4rem 1rem;background:linear-gradient(145deg,#eef5ff,#f8fafc 55%,#fff1f2)}.adminLoginCard{width:min(100%,480px);padding:clamp(1.5rem,5vw,2.5rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.adminLoginCard h1{margin:.3rem 0 .6rem;font-size:2rem}.adminLoginForm{display:grid;gap:.55rem;margin-top:1.5rem}.adminForm label,.adminLoginForm label{font-weight:800}.adminLoginForm input{width:100%;min-height:48px;margin-bottom:.65rem;padding:.7rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:white}.adminShell{min-height:80vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:#f3f6fa}.adminSidebar{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;padding:1.4rem 1rem;background:#0b1220;color:#dce8f8}.adminBrand{padding:.4rem .7rem 1.2rem;color:white;font-size:1.2rem;font-weight:900;text-decoration:none}.adminBrand span{color:#93c5fd;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.adminSidebar ul{display:grid;gap:.2rem;padding:0;margin:0;list-style:none}.adminSidebar nav a{display:block;padding:.58rem .7rem;border-radius:8px;color:#bfd0e5;font-size:.88rem;text-decoration:none}.adminSidebar nav a:hover{background:#17253c;color:white}.adminUser{display:grid;gap:.15rem;margin-top:auto;padding:1rem .7rem 0;border-top:1px solid #263650}.adminUser span{color:#8fa5c1;font-size:.75rem;text-transform:uppercase}.adminUser button{padding:0;margin-top:.5rem;border:0;background:transparent;color:#fca5a5;cursor:pointer;text-align:left}.adminMain{min-width:0;padding:clamp(1.2rem,4vw,3rem)}.adminPageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.adminPageHeader h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.adminPageHeader p:last-child{margin:.4rem 0 0;color:var(--text-muted)}.adminStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.adminStatCard{display:grid;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow-sm);text-decoration:none}.adminStatCard span{color:var(--text-soft);font-weight:750}.adminStatCard strong{margin:.35rem 0;color:var(--primary-dark);font-size:2.2rem;line-height:1}.adminStatCard small{color:var(--text-muted)}.adminTableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow-sm)}.adminTableWrap table{min-width:760px}.adminStatus{display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:850;text-transform:uppercase}.adminStatus-published{background:var(--success-soft);color:var(--success)}.adminStatus-review{background:#fff7e8;color:#9a4d08}.adminStatus-draft{background:#eaf2ff;color:#1d4ed8}.adminStatus-archived{background:#f1f5f9;color:#64748b}.adminEditor{max-width:1180px}.adminForm{padding:clamp(1rem,3vw,1.8rem);border:1px solid var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow-sm)}.friendlyEditor{display:grid;gap:2rem}.adminForm input:not([type=hidden]):not([type=checkbox]),.adminForm select,.adminForm textarea{width:100%;min-height:46px;padding:.68rem .8rem;resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:white;color:var(--text)}.adminForm textarea{min-height:110px}.adminForm input[readonly]{background:#f1f5f9;color:var(--text-muted);cursor:not-allowed}.adminForm input:not([type=hidden]):not([type=checkbox]):focus,.adminForm select:focus,.adminForm textarea:focus{border-color:#60a5fa;outline:3px solid #dbeafe}.adminPublicationBox{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);align-items:center;gap:1.2rem;padding:1rem 1.2rem;border:1px solid #bfdbfe;border-left:5px solid var(--primary);border-radius:var(--radius-sm);background:#eff6ff}.adminPublicationBox label{font-size:1.05rem}.adminPublicationBox p{margin:.15rem 0 0;color:var(--text-soft);font-size:.88rem}.adminPublicationBox-published{border-color:#a7dfba;border-left-color:var(--success);background:var(--success-soft)}.adminPublicationBox-review{border-color:#f4cb8d;border-left-color:var(--warning);background:var(--warning-soft)}.adminPublicationBox-archived{border-color:#cbd5e1 #cbd5e1 #cbd5e1 #64748b;background:#f1f5f9}.adminBuilder,.adminFormSection{padding-top:1.7rem;border-top:1px solid var(--border)}.adminBuilderTitle,.adminSectionHeading{margin-bottom:1.2rem}.adminBuilderTitle h2,.adminSectionHeading h2{margin:.1rem 0 .15rem;font-size:1.35rem}.adminBuilderTitle p:last-child,.adminSectionHeading>p:last-child{margin:0;color:var(--text-muted);font-size:.9rem}.adminBuilderTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.adminFieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.25rem}.adminField{min-width:0}.adminFieldWide{grid-column:1/-1}.adminField label,.adminFieldLabel{display:block;margin-bottom:.35rem;font-weight:800}.adminField .fieldHelp{margin:-.15rem 0 .45rem}.adminCheckboxField{display:flex;align-items:center;gap:.75rem;min-height:50px;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;cursor:pointer}.adminCheckboxField input{width:21px;height:21px;accent-color:var(--primary)}.adminListEditor,.adminListRow{display:grid;gap:.55rem}.adminListRow{grid-template-columns:minmax(0,1fr) auto;align-items:center}.adminAddButton,.adminIconButton,.adminMiniActions button,.adminTextButton{min-height:38px;padding:.42rem .7rem;border:1px solid var(--border-strong);border-radius:8px;background:white;color:var(--primary-hover);font-weight:750;cursor:pointer}.adminAddButton{justify-self:start;border-color:#93c5fd;background:#eff6ff}.adminIconButton{color:var(--text-muted);font-size:.78rem}.adminTextButton{border-color:transparent;background:transparent}.adminAddButton:hover:not(:disabled),.adminIconButton:hover:not(:disabled),.adminMiniActions button:hover:not(:disabled),.adminTextButton:hover:not(:disabled){border-color:#60a5fa;background:#dbeafe}.adminAddButton:disabled,.adminMiniActions button:disabled{opacity:.45;cursor:not-allowed}.adminBuilderList{display:grid;gap:1rem}.adminBuilderCard{padding:clamp(1rem,3vw,1.35rem);border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc}.adminBuilderCardHeader,.adminBuilderSubheading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.adminBuilderCardHeader>strong{color:var(--primary-dark);font-size:1.05rem}.adminBuilderSubheading{margin:1.4rem 0 .7rem}.adminBuilderSubheading h3{margin:0;font-size:1rem}.adminMiniActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.adminMiniActions button{min-height:34px;padding:.3rem .55rem;color:var(--text-muted);font-size:.75rem}.adminMiniActions .danger,.adminTextButton.danger{color:#b91c1c}.adminExpertPanel,.adminSubPanel{margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:white}.adminExpertPanel summary,.adminSubPanel summary{padding:.8rem 1rem;color:var(--primary-dark);font-weight:800;cursor:pointer}.adminExpertPanel[open] summary,.adminSubPanel[open] summary{border-bottom:1px solid var(--border)}.adminSubPanel>.adminFieldGrid{padding:1rem}.adminCodeInput,.adminJsonInput{background:var(--code-background)!important;color:var(--code-text)!important;font:500 .84rem/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;tab-size:2}.adminEmptyBuilder{padding:1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:#f8fafc;color:var(--text-muted);text-align:center}.adminColumnList,.adminDataRows{display:grid;gap:.7rem}.adminColumnRow{grid-template-columns:1.1fr .8fr 1.2fr auto}.adminColumnRow,.adminDataRow{display:grid;align-items:end;gap:.65rem}.adminDataRow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:.9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:white}.adminDataRow>strong{grid-column:1/-1;color:var(--text-muted);font-size:.82rem}.adminBuilderCompact{margin-top:-.5rem}.adminExpertPanel{margin-top:0;background:#f8fafc}.adminExpertActions,.adminExpertPanel>p,.adminExpertPanel>textarea{width:calc(100% - 2rem);margin-inline:1rem}.adminExpertPanel>p{color:var(--text-muted);font-size:.86rem}.adminExpertPanel .adminJsonInput{min-height:480px}.adminExpertActions{display:flex;align-items:center;gap:1rem;padding:.9rem 0 1rem}.adminExpertActions span{color:var(--text-soft);font-size:.85rem;font-weight:700}.fieldHelp{margin:.3rem 0;color:var(--text-muted);font-size:.84rem}.adminActions{position:sticky;bottom:1rem;z-index:5;justify-content:flex-start;margin-top:1.5rem;padding:.8rem;border:1px solid var(--border);background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(15,23,42,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.adminActions,.adminNotice{border-radius:var(--radius-sm)}.adminNotice{padding:.85rem 1rem;font-weight:700}.adminNoticeSuccess{border:1px solid #a7dfba;background:var(--success-soft);color:#166534}.adminNoticeError{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}.adminRevisions{max-width:1100px;margin-top:2rem}.adminRevisions h2{font-size:1.2rem}.adminRevisions ul{padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:white;list-style:none}.adminRevisions li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--border);color:var(--text-soft);font-size:.85rem}.adminRevisions li:last-child{border-bottom:0}@media (max-width:1040px){.navCta{display:none}.heroGrid{grid-template-columns:1fr 420px;gap:2.5rem}.cardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.footerGrid{grid-template-columns:1.3fr repeat(3,1fr);gap:1.5rem}.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.catalogToolbar{grid-template-columns:1fr}.menuButton{width:46px;height:46px;display:grid;place-content:center;gap:5px;z-index:52;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.menuButton span{width:21px;height:2px;background:var(--text);transition:transform .16s ease}.menuBackdrop{position:fixed;inset:0;display:block;z-index:50;border:0;background:rgba(2,6,23,.38)}.mainNav{position:fixed;inset:0 0 0 auto;z-index:51;width:min(88vw,390px);display:flex;align-items:stretch;flex-direction:column;padding:6.2rem 1.4rem 2rem;background:var(--surface);box-shadow:-20px 0 60px rgba(15,23,42,.16);transform:translateX(105%);visibility:hidden;transition:transform .18s ease,visibility .18s}.mainNav.isOpen{transform:translateX(0);visibility:visible}.mainNav ul{align-items:stretch;flex-direction:column}.mainNav ul a{padding:.9rem;font-size:1rem}.mainNav .navCta{display:inline-flex;margin-top:1rem}.hero{padding-top:4rem}.featureSplit,.heroGrid{grid-template-columns:1fr}.heroCopy{text-align:center}.heroLead{margin-inline:auto}.buttonRow,.trustList{justify-content:center}.heroVisual{max-width:580px;margin:1rem auto 0}.footerGrid{grid-template-columns:1fr 1fr}.footerBrand{grid-column:1/-1}.articleLayout,.lessonLayout{grid-template-columns:1fr;gap:1.5rem}.articleToc,.lessonToc{position:static}.editorWorkspace,.exerciseHeaderGrid{grid-template-columns:1fr}.editorDatasetCard{position:static}.adminShell,.courseProgress,.projectBrief{grid-template-columns:1fr}.adminSidebar{position:static;height:auto}.adminSidebar nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}.adminUser{margin-top:1rem}.adminColumnRow{grid-template-columns:repeat(2,minmax(0,1fr))}.adminColumnRow .adminIconButton{justify-self:start}}@media (max-width:620px){.container{width:min(100% - 1.25rem,var(--container))}.headerInner{min-height:68px}.hero{padding:3.2rem 0}.hero h1{font-size:clamp(2.45rem,13vw,3.5rem)}.floatingQuery{width:calc(100% - 1rem);margin-top:-1.5rem}.section{padding:4rem 0}.cardGrid,.courseGrid,.ctaPanel,.pricingGrid{grid-template-columns:1fr}.footerGrid{grid-template-columns:1fr 1fr}.footerBottom{flex-direction:column;gap:.5rem}.articlePage,.exercisePage,.lessonPage,.pageHero,.simplePage{padding:3.2rem 0 4rem}.lessonNavigation{grid-template-columns:1fr}.lessonNavigation a:last-child,.quizResult{text-align:left}.quizResult{grid-template-columns:1fr}.scoreRing{margin:0 auto}.quizActions .button{flex:1 1}.sqlPlaygroundHeader{flex-direction:column}.sqlPlaygroundActions .button{width:100%}.keyboardHint{width:100%;margin-left:0;text-align:center}.resourceCommand,.resourceGrid{grid-template-columns:1fr}.resourceCommand{gap:.25rem}.adminStats{grid-template-columns:1fr}.adminPageHeader{flex-direction:column}.adminFieldGrid,.adminPublicationBox,.adminSidebar nav ul{grid-template-columns:1fr}.adminBuilderCardHeader,.adminBuilderTitle{align-items:flex-start;flex-direction:column}.adminMiniActions{justify-content:flex-start}.adminColumnRow,.adminListRow{grid-template-columns:1fr}.adminListRow .adminIconButton{justify-self:start}.adminActions{bottom:.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}