.viz-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.viz-panel{border:1px solid #d4d9c9;border-radius:10px;background:#fffefa;padding:28px;margin:28px 0;scroll-margin-top:120px}.viz-catalog .viz-panel{margin:0}.viz-panel h2{font-size:28px;margin:0 0 16px}.viz-panel li,.viz-panel p{line-height:1.7}.viz-panel li{margin-bottom:10px}.viz-panel label:not(.viz-check){display:block;font-weight:600;margin:18px 0 8px}.viz-panel input:not([type=checkbox]),.viz-panel textarea{display:block;width:100%;padding:12px;background:white;color:#172b36;border:1px solid #8b9b84;border-radius:5px;font:inherit}.viz-panel textarea{min-height:125px}.viz-check{display:flex;align-items:flex-start;gap:12px;margin:16px 0;line-height:1.6}.viz-check input{margin-top:6px;width:18px;height:18px;flex-shrink:0}.viz-challenge,.viz-data-note{background:#eef2e6;border-left:4px solid #536447;padding:20px;margin:22px 0}.viz-task-tabs{gap:10px}.viz-task-tabs button{padding:12px;border:1px solid #a8b49a;border-radius:6px;text-align:left;background:white;color:#172b36}.viz-task-tabs button[aria-current=step]{background:#34432a;color:white}.viz-current{padding-top:28px}.viz-current h3{font-size:30px}.viz-question{font-size:22px}.viz-current details{padding:16px;background:#f4f5ef;margin:20px 0}.viz-studio[data-presenting=true] .viz-current{font-size:22px}.viz-studio[data-presenting=true] .viz-current h3{font-size:38px}.viz-studio[data-presenting=true] .viz-question{font-size:28px}.viz-print{max-width:850px;margin:25px auto;color:#172b36}.viz-sheet{padding:40px;background:white;position:relative;margin-bottom:24px}.viz-sheet h1{font-size:30px}.viz-sheet h2{font-size:22px}.viz-sheet li,.viz-sheet p{font-size:14px;line-height:1.5}.viz-sheet li{margin-bottom:10px}.viz-write-space{height:48px;border-bottom:1px solid #bac2b1;background:repeating-linear-gradient(transparent,transparent 23px,#e0e4dc 24px)}.viz-write-space.tall{height:96px}.viz-paper-task{margin-bottom:24px}.viz-sheet footer{margin-top:25px;font-size:11px;color:#586651}.viz-print-url{font-size:12px!important}@media(max-width:700px){.viz-catalog{grid-template-columns:1fr}.viz-panel{padding:20px}.viz-current h3{font-size:25px}.viz-task-tabs{display:grid;grid-template-columns:1fr 1fr}.viz-print{margin:0}.viz-sheet{padding:20px}}@media print{@page viz-handout{size:letter;margin:.55in}.viz-print .print-hide,body:has(.viz-print) .class-footer,body:has(.viz-print) .class-nav,body:has(.viz-print) .course-subnav,body:has(.viz-print) .skip-link{display:none!important}body:has(.viz-print),body:has(.viz-print) main{background:white!important;margin:0!important;padding:0!important}.viz-print{page:viz-handout;max-width:none;margin:0}.viz-sheet{padding:0;margin:0;height:9.8in;break-after:page;position:relative}.viz-sheet:last-child{break-after:auto}.viz-sheet footer{position:absolute;bottom:0}.viz-sheet h1{font-size:25px}.viz-sheet li,.viz-sheet p{font-size:11pt;line-height:1.4}.viz-sheet h2{font-size:18px}.viz-sheet h3{font-size:15px}.viz-paper-task{break-inside:avoid}.viz-write-space{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.viz-current ol,.viz-sheet ol{list-style:decimal;padding-left:24px}.viz-sheet ul{list-style:disc;padding-left:22px}.viz-sheet h3{font-weight:700;margin:18px 0 8px}.viz-check-pass{border-left:4px solid #386a3b;padding:14px;background:#e6f1df}.viz-check-fail{border-left:4px solid #a63d2c;padding:14px;background:#fff0e8}.viz-table-scroll{max-width:100%;overflow-x:auto}.viz-table-scroll table{border-collapse:collapse;width:100%;margin:16px 0}.viz-table-scroll td,.viz-table-scroll th{padding:9px 12px;border-bottom:1px solid #ced5c4;text-align:left}.viz-data-note details{margin-top:18px}.viz-data-note h3{font-size:25px;margin-bottom:12px}.viz-panel>ul{list-style:disc;padding-left:22px}.viz-panel>article h3{font-size:22px;margin-top:24px}.viz-print-summary table{width:100%;border-collapse:collapse;font-size:12px}.viz-print-summary td,.viz-print-summary th{padding:4px 8px;border-bottom:1px solid #b9c4b2;text-align:left}.viz-print-summary p{font-size:11px!important}.viz-sheet .viz-paper-task p{margin:4px 0}.viz-sketch-space{height:350px;border:1px solid #9caa90;margin:18px 0;background:white}.lw-viz-chart{margin:14px 0 0}.lw-viz-chart>.lw-card-eyebrow{margin:0 0 6px}.lw-viz-code{margin-top:14px}.lw-viz-template{margin:14px 0 0;line-height:2.6;font-size:var(--t-base,16px)}.lw-viz-template>span{white-space:pre-wrap}.lw-viz-select{min-height:var(--target,44px);max-width:100%}.lw-viz-builder{margin-top:16px;padding:12px 14px;border:1px solid var(--line,#d4d9c9);border-radius:10px}.lw-viz-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.lw-viz-builder-result{margin-top:10px}.lw-viz-seen{margin-top:16px;padding-top:12px;border-top:1px solid var(--line,#d4d9c9)}@media(max-width:560px){.lw-viz-builder-grid{grid-template-columns:1fr}}.viz-before{margin:16px 0 20px;padding:12px 16px;border-left:4px solid #536447;background:#eef2e6;line-height:1.6}.viz-before p{margin:4px 0}.viz-before-list{list-style:none;margin:2px 0 8px;padding:0}.viz-before-list li{margin:0}.viz-before .viz-before-list a{display:flex;align-items:center;min-height:var(--target,44px);padding:0;margin:0}.lw-capstone-list{list-style:none;padding:0;display:grid;gap:12px}.lw-capstone-section{margin-top:16px}.study-lesson{max-width:1000px}.study-source{margin:22px 0;color:#52625e;line-height:1.7;font-size:14px}.study-outline{display:grid;gap:12px;padding:24px;border:1px solid var(--line);background:white;border-radius:8px;margin:32px 0}.study-outline a{text-decoration:underline;text-underline-offset:3px}.study-section{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.study-check h2,.study-section h2{font-size:28px;font-weight:650;letter-spacing:-.6px;line-height:1.3;margin:8px 0 18px}.study-section h3{font-size:19px;margin:15px 0}.study-check p,.study-section li,.study-section p{font-size:17px;line-height:1.85;margin:14px 0}.study-section ul{list-style:disc;padding-left:24px}.study-list{list-style:decimal;padding-left:26px}.study-list li{padding-left:8px;margin:20px 0;line-height:1.8}.study-check{padding:26px;background:#edf1e4;border:1px solid #cdd6be;border-radius:8px;margin:22px 0}.study-check fieldset{display:grid;gap:12px}.study-check legend{font-size:14px;margin:14px 0}.study-check label{display:flex;align-items:flex-start;gap:12px;padding:16px;background:white;border:1px solid #cdd6be;border-radius:5px;line-height:1.6;cursor:pointer}.study-check input{margin-top:6px;flex-shrink:0}.study-feedback{margin:20px 0;border-left:4px solid #476d31;padding:4px 18px}.study-check summary{cursor:pointer;font-weight:650;line-height:1.7}.study-pagination{gap:20px;padding:30px 0}.excel-steps{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0}.excel-steps button{padding:14px;border:1px solid var(--line);border-radius:5px;background:white;text-align:left;font-size:14px}.excel-steps button[aria-current=step]{background:var(--ink);color:white}.excel-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.excel-controls label{display:grid;gap:8px;font-size:14px;font-weight:650}.excel-controls select{padding:12px;background:white;border:1px solid #98a79e;border-radius:5px;font-size:16px;color:var(--ink)}.excel-preview{display:grid;gap:32px;margin-top:24px}.excel-preview table{white-space:nowrap}.excel-preview td,.excel-preview th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.excel-preview caption{text-align:left;font-weight:650;padding:14px 0}.excel-bars{display:grid;gap:16px;margin:28px 0}.excel-bars>div{display:grid;grid-template-columns:115px minmax(0,1fr) 45px;align-items:center;gap:12px}.excel-bar-track{border-left:1px solid #798b82;padding:0;min-height:26px}.excel-bar-track>div{height:26px;background:#2f6665}.study-list a,.study-section a{color:#245958;text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.study-check{padding:18px}.study-section h2{font-size:24px}.excel-controls{align-items:stretch}.excel-controls label{flex:1;min-width:130px}.excel-bars>div{grid-template-columns:100px minmax(0,1fr) 35px;gap:8px}.study-section li,.study-section p{font-size:16px}}@media print{.excel-controls,.excel-steps,.study-check input,.study-outline{display:none}.study-section{break-inside:avoid}.study-lesson{max-width:none;padding:0}.study-pagination{display:none}}.tool-code{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf0e7;border:1px solid #cdd6be;border-radius:6px;padding:20px;line-height:1.7;font-size:15px}.worked-example{scroll-margin-top:30px}.worked-example figure{margin:24px 0}.example-chart{display:block;width:100%;height:auto;max-width:640px;margin:18px auto;background:#fff;border-radius:8px}.example-chart text{fill:#172b36;font-size:13px;font-family:inherit}.worked-example figcaption{font-size:15px;line-height:1.7;padding:12px 16px;background:#edf0e7;border-left:3px solid #507365}.example-toggle{display:flex!important;align-items:center;gap:12px;font-size:16px!important;line-height:1.6;margin:14px 0;cursor:pointer}.example-toggle input{width:18px;height:18px;flex-shrink:0}.example-table{width:100%;border-collapse:collapse;font-size:15px;margin:25px 0}.example-table caption{text-align:left;font-weight:650;margin-bottom:12px}.example-table td,.example-table th{border-bottom:1px solid #cbd3cc;padding:12px 10px;text-align:left}.example-table th{font-weight:650}.example-answer{background:#edf1e4;padding:20px;border:1px solid #cdd6be;border-radius:6px;margin:24px 0}.example-answer summary{font-weight:650;cursor:pointer}.example-histograms{display:grid;grid-template-columns:1fr 1fr;gap:20px}.example-histograms>p{grid-column:1/-1}.example-histograms figure,.example-histograms h3{margin-bottom:0}.example-histograms .example-chart{margin:0}@media(max-width:600px){.example-table{font-size:13px}.example-table td,.example-table th{padding:10px 6px}.example-histograms{grid-template-columns:1fr;gap:8px}.example-chart text{font-size:14px}}@media print{.worked-example .example-toggle,.worked-example .excel-controls,.worked-example button{display:none}.example-chart{max-width:500px}.example-histograms{grid-template-columns:1fr 1fr}.example-answer{break-inside:avoid}}.security-modes .example-table{table-layout:fixed}.security-modes td,.security-modes th{overflow-wrap:anywhere;white-space:normal;vertical-align:top}.security-modes th:first-child{width:36%}@media(max-width:600px){.security-modes .example-table{font-size:12px}.security-modes td,.security-modes th{padding:10px 5px}}.study-section a.primary-button{color:#fff;text-decoration:none}.security-table-scroll{overflow-x:auto;max-width:100%;margin:1.25rem 0;border:1px solid #d6dfdc;border-radius:12px}.security-table-scroll:focus-visible{outline:3px solid #16766a;outline-offset:3px}.security-table-scroll table{width:100%;border-collapse:collapse;min-width:0;font-size:1rem;line-height:1.6;text-align:left}.security-table-scroll table.security-wide-table{min-width:560px}.security-table-hint{font-size:14px!important;color:#52625e}.security-table-scroll caption{text-align:left;font-weight:700;padding:1rem;background:#eef4f1}.security-table-scroll td,.security-table-scroll th{padding:1rem;vertical-align:top;border-bottom:1px solid #d6dfdc}.security-table-scroll thead{background:#f5f7f5}.security-table-scroll tbody th{font-weight:600;width:30%}.security-worked-case details{padding:1rem 1.2rem;border:1px solid #cddbd6;border-radius:12px;background:#f5f8f6}.security-worked-case summary{cursor:pointer;font-weight:700}.security-worked-case pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:#eef4f1;border-radius:12px}@media print{.security-table-scroll{overflow:visible}.security-table-scroll table.security-wide-table{min-width:0}}.report-editor{max-width:1000px}.report-editor label{display:block;font-weight:650;margin:18px 0 8px}.report-editor input:not([type=checkbox]),.report-editor textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:12px;border:1px solid #9aab99;border-radius:6px;background:#fff;color:#18313b;font:inherit}.report-editor textarea{min-height:150px;line-height:1.6;resize:vertical}.report-editor button{cursor:pointer;margin:6px 10px 6px 0}.report-editor button:disabled{opacity:.55;cursor:wait}.report-editor .viz-panel{margin:24px 0}.report-error,.report-management,.report-notice{padding:20px;border:1px solid #b3c4ab;background:#f2f5eb;border-radius:10px;margin:20px 0}.report-error{border-color:#af4734;background:#fff0e9;color:#67271c}.report-evidence{margin:24px 0;border-top:1px solid #d7dfd2;padding-top:20px}.report-evidence img{display:block;max-width:100%;max-height:500px;object-fit:contain;margin:auto}.report-printable{position:fixed;inset:0;z-index:1000;overflow:auto;background:#eceee9;color:#152a34;padding:24px}.report-preview-controls{max-width:850px;margin:auto auto 24px}.report-preview-controls button{margin:8px 12px 8px 0}.report-document{box-sizing:border-box;max-width:850px;margin:auto;background:white;padding:48px;font:16px/1.6 Arial,sans-serif}.report-document h1{font-size:28px;line-height:1.3}.report-document h2{font-size:21px;line-height:1.4}.report-document-section{border-top:1px solid #bac5c9;padding-top:20px;margin-top:30px}.report-answer{white-space:pre-wrap;overflow-wrap:anywhere}.report-document figure{margin:20px 0;break-inside:avoid}.report-document img{display:block;max-width:100%;max-height:6.2in;object-fit:contain;margin:auto}.report-document figcaption{font-size:13px;overflow-wrap:anywhere;margin-top:8px}.report-document footer{font-size:12px;border-top:1px solid #ccc;margin-top:28px;padding-top:12px}.report-incomplete{border:2px solid #a95436;padding:14px}.report-document p{overflow-wrap:anywhere}.report-document h2{break-after:avoid}.report-editor :focus-visible,.report-printable :focus-visible{outline:3px solid #276a95;outline-offset:3px}@media(max-width:600px){.report-printable{padding:12px}.report-document{padding:20px}.report-document h1{font-size:24px}}@media print{body:has(.report-printable)>:not(.report-printable){display:none!important}body:has(.report-printable){background:white!important}body:has(.report-printable) .report-printable{position:static;overflow:visible;padding:0;background:white}body:has(.report-printable) .report-preview-controls{display:none!important}body:has(.report-printable) .report-document{max-width:none;padding:0;font-size:11pt;color:#000}body:has(.report-printable) .report-document-section{break-before:page;border:0;margin:0;padding:0}body:has(.report-printable) .report-document img{max-height:6.2in}body:has(.report-printable) .report-document a:after{content:none}.report-document{page:report-pilot}@page report-pilot{size:letter;margin:18mm}}.report-contents{padding:24px;border-bottom:1px solid #ccd6ca}.report-contents ol{column-count:2;padding-left:20px}.report-contents li{break-inside:avoid;margin:10px 0}.report-section{scroll-margin-top:24px}@media(max-width:600px){.report-contents ol{column-count:1}}.report-team{margin-top:24px;border:1px solid #b3c4ab;border-radius:8px;padding:20px}.report-team legend{font-weight:700;padding:0 8px}.report-team-summary{margin:20px 0}.report-team-summary li{overflow-wrap:anywhere}.team-manager{max-width:1100px}.team-course,.team-lab{display:grid;gap:.6rem;margin:1.25rem 0}.team-course{max-width:30rem}.team-roster{padding:1.3rem;margin:1.5rem 0;border:1px solid #cbd5e1;border-radius:12px}.team-roster>label{display:grid;gap:.5rem}.team-manager select,.team-roster input:not([type=checkbox]){width:100%;padding:.75rem;border:1px solid #94a3b8;border-radius:6px;background:var(--surface,#fff);color:inherit}.team-account-list{max-height:280px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;margin:1rem 0}.team-account{display:flex;align-items:center;gap:.8rem;padding:.7rem;border-bottom:1px solid #e2e8f0}.team-account input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.team-account small{display:block;overflow-wrap:anywhere}.team-account:has(input:disabled){opacity:.6}.report-assigned-team{padding:1rem;border:1px solid #cbd5e1;border-radius:8px;margin-bottom:1rem}.team-manager .team-account{display:flex;font-size:1rem;font-weight:400}.team-manager .team-account small{font-size:.8rem;line-height:1.5}.team-manager .team-lab,.team-manager .team-roster>label{font-size:1rem}.team-manager input:not([type=checkbox]),.team-manager select{font-size:1rem;font-weight:400}.team-manager>.button-row{margin:.8rem 0}.report-assigned-team h3{font-size:1.15rem;font-weight:650;margin:.8rem 0}.report-assigned-team ul{padding-left:1.3rem;list-style:disc;margin:.6rem 0 1rem}.learning-workspace{max-width:1500px;margin:auto;padding:28px 4vw 100px}.learning-breadcrumb{font-size:13px;margin:8px 0 22px}.learning-heading{display:flex;gap:20px;justify-content:space-between;align-items:start}.learning-heading h1{font-size:clamp(28px,3vw,46px);font-weight:650;line-height:1.2;margin:10px 0}.learning-heading p{line-height:1.6}.course-save-status{padding:12px 16px;background:#eff4e6;border:1px solid #ccd7bf;border-radius:6px;margin:20px 0;font-size:14px;line-height:1.7}.course-save-status button{padding:8px 12px;border:1px solid #acb7a2;background:white;border-radius:4px}.learning-task-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.learning-task-nav button{padding:10px 14px;border:1px solid #c7d0bf;border-radius:5px;background:white;font-size:13px}.learning-task-nav [aria-current=step]{background:#172b36;color:white}.learning-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.6fr);gap:24px;align-items:start}.learning-instructions{background:#fff;border:1px solid #d4d9ce;border-radius:8px;padding:22px}.learning-instructions h2,.learning-reflection h2{font-size:21px;font-weight:650;margin-bottom:14px}.learning-instructions p,.learning-reflection p{margin:12px 0;line-height:1.7}.learning-workspace details{margin:16px 0}.learning-workspace summary{cursor:pointer;font-weight:600}.learning-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace;background:#edf0e9;padding:12px;border-radius:5px;margin:12px 0}.learning-task{margin-top:24px;border-top:1px solid #d4d9ce;padding-top:20px}.learning-question{font-weight:650}.learning-workspace textarea{width:100%;display:block;min-height:90px;padding:12px;border:1px solid #aebca3;background:white;border-radius:4px;margin:8px 0 16px}.learning-workspace .query-panel textarea{background:#182e39;border:none;border-radius:0;color:white;min-height:210px}.learning-results{background:#fff;border:1px solid #d4d9ce;border-radius:7px;margin:18px 0;padding:12px 0}.learning-results>div[aria-live]{padding:10px 20px}.learning-reflection{padding:20px;background:#f0f3e9;border:1px solid #d4d9ce;border-radius:7px}.learning-help{display:flex;gap:10px;align-items:center}.learning-review-note{background:white;padding:14px;margin:12px 0;border-left:3px solid #769948}.learning-continuation{position:sticky;bottom:0;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:16px;margin-top:24px;background:rgba(248,247,243,.97);border-top:1px solid #c4cfb9;z-index:5}.learning-mobile-tabs{display:none}.learning-path>.display-title{font-size:clamp(36px,4vw,60px)}.learning-current{padding:24px;background:#eaf0dc;border:1px solid #cbd7b9;border-radius:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.learning-current h2{font-size:24px;font-weight:650;width:100%}.learning-current .eyebrow{width:100%}.learning-unit{margin:30px 0;border:1px solid #d1d9c8;border-radius:8px;background:#fff;padding:24px}.learning-unit h2{font-size:26px;font-weight:650;margin:8px 0 20px}.learning-unit li+li{border-top:1px solid #e3e8dc}.learning-unit li a{display:flex;gap:18px;align-items:center;padding:16px 0;justify-content:space-between}.learning-unit li a>span:nth-child(2){flex:1}.learning-unit small{display:block;color:#65745c;margin-top:5px}.learning-number{font-size:22px;font-weight:650;color:#5f7945;min-width:28px}.learning-notice,.learning-preview-note{padding:16px;background:#fff4dd;border:1px solid #e2c88e;margin:24px auto;max-width:1200px}.progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.progress-item{border:1px solid #d0d9c5;border-radius:8px;background:white;padding:22px}.progress-item h2{font-size:20px;font-weight:650;margin:12px 0}.progress-item p{margin:10px 0;line-height:1.6}.release-controls label{display:block;margin:12px 0}.release-controls input[type=checkbox]{margin-right:10px}.release-controls select,.release-controls textarea{padding:10px;background:white;border:1px solid #b7c5a9;max-width:100%}.release-controls h2{font-size:24px;margin:24px 0 14px;font-weight:650}.release-controls .release-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.progress-matrix td,.progress-matrix th{padding:12px;border-bottom:1px solid #d1dbc6;text-align:left;white-space:nowrap}.progress-matrix th{background:#eef2e8}.progress-matrix a{text-decoration:underline}.learning-path section>h2{font-size:26px;font-weight:650}.learning-path .button-row{margin:18px 0}@media(max-width:800px){.learning-grid{display:block}.learning-mobile-tabs{display:flex;gap:6px;position:sticky;top:0;background:#f8f7f3;padding:12px 0;z-index:6}.learning-mobile-tabs button{flex:1;padding:12px;border:1px solid #c2cdb5;border-radius:4px}.learning-mobile-tabs [aria-pressed=true]{background:#172b36;color:white}.learning-workspace[data-pane=read] .learning-task,.learning-workspace[data-pane=read] .learning-work,.learning-workspace[data-pane=results] .learning-instructions,.learning-workspace[data-pane=results] .learning-sql,.learning-workspace[data-pane=sql] .learning-instructions,.learning-workspace[data-pane=sql] .learning-reflection,.learning-workspace[data-pane=sql] .learning-results,.learning-workspace[data-pane=task] .learning-read,.learning-workspace[data-pane=task] .learning-work{display:none}.learning-reflection{margin-top:16px}.learning-heading{display:block}.learning-workspace{padding:22px 20px 80px}.progress-grid,.release-controls .release-layout{grid-template-columns:1fr}.learning-continuation{position:relative;padding:16px 0}.learning-task{border:0;margin:0;padding:0}.learning-workspace[data-pane=explain] .learning-instructions,.learning-workspace[data-pane=explain] .learning-results,.learning-workspace[data-pane=explain] .learning-sql{display:none}.learning-mobile-tabs button{padding:10px 6px;font-size:13px}}ul.lw-cando li:before{width:6px;height:6px;top:.62em;left:8px;border:0;border-radius:50%;background:var(--ink-3)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--olive-ink);outline-offset:3px;border-radius:3px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:12px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--radius-s)}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.lw-header{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}.lw-header-inner{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter);height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}.lw-brand{display:inline-flex;align-items:center;gap:10px;min-height:var(--target);color:var(--ink)}.lw-brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ink);color:var(--olive);font-weight:800;font-size:12px;letter-spacing:.5px}.lw-brand-name{font-weight:700;font-size:17px;letter-spacing:-.3px;white-space:nowrap}.lw-brand-name em{font-style:normal;font-weight:400;color:var(--ink-3)}.lw-main-nav{display:flex;align-items:center;gap:4px;font-size:var(--t-s);font-weight:500;min-width:0}.lw-main-nav .account-controls>a,.lw-main-nav .account-controls>button,.lw-main-nav>a{display:inline-flex;align-items:center;min-height:var(--target);padding:0 12px;border-radius:var(--radius-s);color:var(--ink-2);white-space:nowrap}.lw-main-nav .account-controls>a:hover,.lw-main-nav .account-controls>button:hover,.lw-main-nav>a:hover{background:var(--surface-2);color:var(--ink)}.lw-main-nav .account-controls{display:inline-flex;align-items:center;gap:4px}.lw-main-nav .account-controls>a:last-of-type{color:var(--ink);font-weight:600}.lw-main-nav .account-controls [role=alert]{color:var(--danger);font-size:var(--t-xs);padding-left:8px}.lw-tabs{position:sticky;top:var(--header-h);z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.lw-tabs-inner{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:stretch;gap:2px;min-height:var(--tabs-h);overflow-x:auto;scrollbar-width:none}.lw-tabs-inner::-webkit-scrollbar{display:none}.lw-tab{display:inline-flex;align-items:center;gap:8px;padding:0 14px;min-height:var(--tabs-h);font-size:var(--t-s);font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap;margin-bottom:-1px}.lw-tab:hover{color:var(--ink)}.lw-tab.is-active{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.lw-tab .lw-icon{color:var(--ink-3)}.lw-tab.is-active .lw-icon{color:var(--ink)}.lw-tab-more{position:relative;margin-left:auto}.lw-tab-more>summary{list-style:none;cursor:pointer}.lw-tab-more>summary::-webkit-details-marker{display:none}.lw-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-m);padding:6px;z-index:50;display:grid}.lw-menu a{display:flex;align-items:center;min-height:var(--target);padding:0 12px;border-radius:var(--radius-s);font-size:var(--t-s);color:var(--ink-2)}.lw-menu a:hover{background:var(--surface-2);color:var(--ink)}.lw-bottom-nav{display:none}.lw-main{min-height:60vh}.lw-footer{max-width:var(--wide);margin:48px auto 0;padding:20px var(--gutter) 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:var(--t-xs);color:var(--ink-3)}.lw-container{max-width:var(--content);margin:0 auto;padding:24px var(--gutter) 48px}.lw-container.is-wide{max-width:var(--wide)}.lw-stack>*+*{margin-top:16px}.lw-stack-l>*+*{margin-top:28px}.lw-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.lw-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lw-section{margin-top:32px}.lw-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.lw-section-head h2{font-size:var(--t-l);font-weight:650;letter-spacing:-.2px;line-height:var(--lh-tight)}.lw-section-head a{font-size:var(--t-s);color:var(--teal);font-weight:500}.lw-page-header{margin-bottom:20px}.lw-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 10px;font-size:var(--t-s);color:var(--ink-3)}.lw-crumbs li+li:before{content:"/";margin-right:6px;color:var(--line-2)}.lw-crumbs a{color:var(--teal)}.lw-page-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.lw-page-header-text{min-width:0;flex:1 1 420px}.lw-meta{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.lw-page-header h1{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.6px;line-height:var(--lh-tight)}.lw-page-header.is-display h1{font-size:var(--t-display);letter-spacing:-1px}.lw-page-description{margin-top:8px;font-size:var(--t-m);color:var(--ink-2);max-width:64ch}.lw-page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lw-btn,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target);padding:0 18px;border-radius:var(--radius-s);font-size:var(--t-s);font-weight:600;line-height:1.2;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.lw-btn-primary,.primary-button{background:var(--ink);color:#fff;border-color:var(--ink)}.lw-btn-primary:hover,.primary-button:hover{background:#22404d}.lw-btn-secondary,.secondary-button{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.lw-btn-secondary:hover,.secondary-button:hover{border-color:var(--ink-3)}.lw-btn-olive{background:var(--olive);color:var(--ink);border-color:var(--olive)}.lw-btn-quiet{background:transparent;color:var(--ink-2)}.lw-btn-quiet:hover{background:var(--surface-2)}.lw-btn.is-small{min-height:var(--target);padding:0 12px;font-size:var(--t-xs)}.text-button{display:inline-flex;align-items:center;gap:6px;min-height:var(--target);padding:0;font-size:var(--t-s);font-weight:500;color:var(--teal);text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--teal) 40%,transparent)}.text-button:hover{text-decoration-color:var(--teal)}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lw-link{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--teal) 40%,transparent)}.lw-link:hover{text-decoration-color:var(--teal)}.lw-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.lw-card.is-current{background:var(--olive-bg);border-color:#cfdfa4}.lw-card.is-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.lw-card.is-dark .lw-card-text{color:#c9d4d8}.lw-card.is-muted{background:var(--surface-2)}.lw-card-eyebrow{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.lw-card.is-dark .lw-card-eyebrow{color:var(--olive)}.lw-card-title{font-size:var(--t-l);font-weight:650;letter-spacing:-.2px;line-height:var(--lh-tight)}.lw-card-title.is-large{font-size:var(--t-xl)}.lw-card-text{margin-top:8px;font-size:var(--t-s);color:var(--ink-2);line-height:1.55}.lw-card-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lw-card.is-link,a.lw-card{display:block;transition:border-color .15s ease,transform .15s ease}.lw-card.is-link:hover,a.lw-card:hover{border-color:var(--ink-3)}.lw-card-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--ink);margin-bottom:12px}.lw-card.is-dark .lw-card-icon{background:rgba(255,255,255,.1);color:var(--olive)}.lw-card-arrow{margin-top:14px;font-size:var(--t-s);font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:6px}.lw-card.is-dark .lw-card-arrow{color:var(--olive)}.lw-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}.lw-list-head{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface-2)}.lw-list-head h2{font-size:var(--t-m);font-weight:650}.lw-list-head .lw-meta{margin:0}.lw-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 20px;border-top:1px solid var(--line);min-height:60px}.lw-list-head+.lw-row,.lw-row:first-child{border-top:0}.lw-row.is-current{background:var(--olive-bg)}.lw-row-num{font-size:var(--t-s);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.lw-row.is-current .lw-row-num{color:var(--olive-ink)}.lw-row-title{font-size:var(--t-m);font-weight:600;color:var(--ink);line-height:1.3}.lw-row-title a{color:inherit}.lw-row-title a:hover{color:var(--teal)}.lw-row-meta{font-size:var(--t-xs);color:var(--ink-3);margin-top:2px}.lw-row-actions{display:flex;gap:6px;align-items:center}.lw-row-actions .lw-btn{min-height:var(--target);padding:0 12px;font-size:var(--t-xs)}.lw-list-foot{padding:12px 20px;border-top:1px solid var(--line);font-size:var(--t-s)}.lw-chip,.lw-list-foot{background:var(--surface-2)}.lw-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:var(--t-xs);font-weight:600;color:var(--ink-2);white-space:nowrap}.lw-chip.is-current{background:var(--olive);color:var(--ink)}.lw-chip.is-ok{background:var(--ok-bg);color:var(--ok)}.lw-chip.is-warn{background:var(--warn-bg);color:var(--warn)}.lw-chip.is-teal{background:var(--teal-bg);color:var(--teal)}.lw-notice{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-s);background:var(--teal-bg);color:var(--ink);font-size:var(--t-s);line-height:1.5;border:1px solid color-mix(in srgb,var(--teal) 20%,transparent)}.lw-notice.is-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}.lw-notice.is-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}.lw-notice .lw-icon{flex:none;margin-top:2px;color:var(--teal)}.lw-notice.is-warn .lw-icon{color:var(--warn)}.lw-notice.is-ok .lw-icon{color:var(--ok)}.lw-status{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--ink-3);min-height:24px}.lw-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex:none}.lw-status.is-ok:before{background:var(--ok)}.lw-status.is-warn:before{background:var(--warn)}.lw-status.is-busy:before{background:var(--teal)}.lw-field{display:grid;gap:6px}.lw-field>span,.lw-label{font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}.lw-form input[type=search],.lw-form input[type=text],.lw-form select,.lw-input,.lw-select,.lw-textarea{width:100%;min-height:var(--target);padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-s)}.lw-textarea{min-height:96px;line-height:1.5;resize:vertical}.lw-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233f5059' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:34px}.lw-segmented{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border-radius:8px}.lw-segmented a,.lw-segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--target);padding:0 14px;border-radius:6px;font-size:var(--t-s);font-weight:500;color:var(--ink-2)}.lw-segmented [aria-current],.lw-segmented [aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-s)}.lw-details{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface)}.lw-details>summary{display:flex;align-items:center;gap:10px;min-height:var(--target);padding:8px 14px;cursor:pointer;font-size:var(--t-s);font-weight:600;list-style:none}.lw-details>summary::-webkit-details-marker{display:none}.lw-details>summary:before{content:"";width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg);transition:transform .15s ease;margin-left:4px;margin-right:2px}.lw-details[open]>summary:before{transform:rotate(45deg)}.lw-details>:not(summary){padding:0 14px 14px}.lw-details>summary+*{padding-top:4px}.lw-prose{font-size:var(--t-m);line-height:var(--lh-body);color:var(--ink);max-width:72ch}.lw-prose p+p{margin-top:12px}.lw-prose h2{font-size:var(--t-l);font-weight:650;margin:24px 0 8px;letter-spacing:-.2px}.lw-prose h3{font-size:var(--t-m);font-weight:650;margin:18px 0 6px}.lw-prose ol,.lw-prose ul{padding-left:22px;margin:10px 0}.lw-prose li+li{margin-top:4px}.lw-prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.lw-code,.lw-prose pre{font-family:var(--font-mono);font-size:13px;line-height:1.6;background:var(--ink);color:#e6f2c3;padding:12px 14px;border-radius:var(--radius-s);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.lw-prose code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:4px}.lw-prose pre code{background:none;padding:0}.lw-hero{padding:8px 0 24px}.lw-hero .lw-meta{margin-bottom:10px}.lw-hero h1{font-size:var(--t-display);font-weight:700;letter-spacing:-1px;line-height:1.08;max-width:18ch}.lw-hero p{margin-top:12px;font-size:var(--t-m);color:var(--ink-2);max-width:60ch}.lw-now{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}.lw-quick{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.lw-quick .lw-card{padding:16px}.lw-quick .lw-card-title{font-size:var(--t-m)}.lw-unit+.lw-unit{margin-top:20px}.lw-lab-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px;align-items:end}.lw-lab-row .lw-card-text{margin-top:6px}.course-lab-page .course-lab-tool-note,.course-lab-tool-note{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 20px;margin:12px 0;font-size:var(--t-s);line-height:1.55}.course-lab-tool-note strong{display:block;font-size:var(--t-m);font-weight:650;margin-bottom:4px;color:var(--ink)}.course-lab-tool-note p{color:var(--ink-2);margin:4px 0 8px}.learning-notice{display:block;padding:12px 16px;border-radius:var(--radius-s);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);font-size:var(--t-s);line-height:1.5;margin:12px 0}.learning-notice a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.study-lesson .study-source{font-size:var(--t-s);color:var(--ink-3);margin:0 0 12px}.study-outline{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.study-outline a{display:inline-flex;align-items:center;min-height:var(--target);padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}.study-outline a:hover{border-color:var(--ink-3);color:var(--ink)}.study-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-top:12px}.study-section>.eyebrow{margin-bottom:4px}.study-section h2{font-size:var(--t-l);font-weight:650;letter-spacing:-.2px;margin-bottom:8px}.study-section h3{font-size:var(--t-m);font-weight:650;margin:14px 0 6px}.study-section li,.study-section p{font-size:var(--t-m);line-height:1.55;color:var(--ink)}.study-section p+p{margin-top:10px}.study-list,.study-section ol,.study-section ul{padding-left:22px;margin:8px 0}.study-section li+li{margin-top:6px}.study-section a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.study-pagination{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.study-pagination a{display:inline-flex;align-items:center;min-height:var(--target);color:var(--teal);font-weight:500;font-size:var(--t-s)}.viz-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-top:12px}.viz-panel h2{font-size:var(--t-l);font-weight:650;letter-spacing:-.2px;margin-bottom:8px}.viz-panel h3{font-size:var(--t-m);font-weight:650;margin:14px 0 6px}.viz-panel li,.viz-panel p{font-size:var(--t-s);line-height:1.55;color:var(--ink-2)}.viz-panel p+p{margin-top:8px}.viz-panel ol,.viz-panel ul{padding-left:20px;margin:8px 0}.viz-panel a:not(.lw-btn):not(.primary-button):not(.secondary-button){color:var(--teal);text-decoration:underline;text-underline-offset:3px}.viz-task-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.viz-task-tabs button{min-height:var(--target);padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}.viz-task-tabs [aria-current=step]{background:var(--ink);color:#fff;border-color:var(--ink)}.guided-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-top:12px}.guided-stage h2{font-size:var(--t-l);font-weight:650;margin:2px 0 6px}.guided-stage h3{font-size:var(--t-m);font-weight:650;margin:14px 0 6px}.guided-stage li,.guided-stage p{font-size:var(--t-s);line-height:1.55;color:var(--ink-2)}.guided-stage textarea{width:100%;min-height:88px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);font:inherit;font-size:var(--t-s);margin:6px 0 12px}.next-session{background:var(--olive-bg);border:1px solid #cfdfa4;border-radius:var(--radius-m);padding:20px;margin:12px 0}.next-session h2{font-size:var(--t-l);font-weight:650;margin-bottom:6px}.next-session p{font-size:var(--t-s);color:var(--ink-2);line-height:1.55}.handoff-note{display:block;padding:10px 14px;border-radius:var(--radius-s);background:var(--teal-bg);font-size:var(--t-s);margin:12px 0;line-height:1.5}.handoff-note a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.viz-studio nav.button-row,.viz-studio>.button-row{margin:0 0 12px}.class-container{max-width:var(--wide);margin:0 auto;padding:24px var(--gutter) 48px}.eyebrow{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);line-height:1.4}.display-title{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.6px;line-height:1.15;margin:8px 0 10px}.intro{font-size:var(--t-m);color:var(--ink-2);line-height:1.55;margin:0 0 20px;max-width:64ch}.course-save-status,.saved-work-status{padding:10px 14px;border-radius:var(--radius-s);background:var(--surface-2);border:1px solid var(--line);font-size:var(--t-s);margin:12px 0}.course-save-status p,.saved-work-status p{margin:0}.course-save-status p+p{margin-top:4px;font-size:var(--t-xs);color:var(--ink-3)}.course-save-status button{min-height:var(--target);padding:0 12px;border:1px solid var(--line-2);background:var(--surface);border-radius:var(--radius-s);font-size:var(--t-xs);font-weight:600}.learning-workspace.lw-workspace{max-width:var(--wide);margin:0 auto;padding:20px var(--gutter) 48px}.learning-workspace.lw-workspace .learning-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.learning-workspace.lw-workspace .learning-heading h1{font-size:var(--t-xl);font-weight:700;letter-spacing:-.4px;line-height:var(--lh-tight)}.learning-workspace.lw-workspace .learning-heading>div>p:last-child{margin-top:6px;font-size:var(--t-xs);color:var(--ink-3)}.learning-workspace.lw-workspace .lw-crumbs ol{margin-bottom:8px}.learning-workspace.lw-workspace .learning-task-nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.learning-workspace.lw-workspace .learning-task-nav button{min-height:var(--target);padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}.learning-workspace.lw-workspace .learning-task-nav [aria-current=step]{background:var(--ink);color:#fff;border-color:var(--ink)}.learning-workspace.lw-workspace .learning-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.5fr);gap:16px;align-items:start;margin-top:12px}.learning-workspace.lw-workspace .learning-instructions{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.learning-workspace.lw-workspace .learning-instructions h2,.learning-workspace.lw-workspace .learning-reflection h2{font-size:var(--t-m);font-weight:650;margin-bottom:8px}.learning-workspace.lw-workspace .learning-instructions p,.learning-workspace.lw-workspace .learning-reflection p{margin:8px 0;line-height:1.55;font-size:var(--t-s);color:var(--ink-2)}.learning-workspace.lw-workspace .learning-question{font-size:var(--t-m)!important;color:var(--ink)!important;font-weight:600}.learning-workspace.lw-workspace .learning-task{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.learning-workspace.lw-workspace label{display:block;font-size:var(--t-xs);font-weight:600;color:var(--ink-2);margin-top:10px}.learning-workspace.lw-workspace textarea{width:100%;display:block;min-height:88px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--surface);margin:6px 0 12px;font:inherit;font-size:var(--t-s);line-height:1.5}.learning-workspace.lw-workspace details{margin:10px 0;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface)}.learning-workspace.lw-workspace summary{display:flex;align-items:center;gap:10px;min-height:var(--target);padding:6px 12px;cursor:pointer;font-size:var(--t-s);font-weight:600;list-style:none}.learning-workspace.lw-workspace summary::-webkit-details-marker{display:none}.learning-workspace.lw-workspace summary:before{content:"";width:7px;height:7px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg);margin:0 4px}.learning-workspace.lw-workspace details[open]>summary:before{transform:rotate(45deg)}.learning-workspace.lw-workspace details>:not(summary){margin-left:12px;margin-right:12px}.learning-workspace.lw-workspace details>:last-child{margin-bottom:12px}.learning-workspace.lw-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px;background:var(--surface-2);padding:10px 12px;border-radius:var(--radius-s);margin:8px 0}.learning-workspace.lw-workspace details button{min-height:var(--target);padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--surface);font-size:var(--t-xs);font-weight:600}.learning-workspace.lw-workspace .learning-work>section+section{margin-top:16px}.learning-workspace.lw-workspace .learning-reflection,.learning-workspace.lw-workspace .learning-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.learning-workspace.lw-workspace .learning-help{display:flex;align-items:center;gap:8px;font-weight:500;margin-top:4px}.learning-workspace.lw-workspace .learning-help input{width:18px;height:18px}.learning-workspace.lw-workspace .muted{font-size:var(--t-xs)!important;color:var(--ink-3)!important}.learning-workspace.lw-workspace .learning-review-note{background:var(--teal-bg);border-radius:var(--radius-s);padding:12px;margin:10px 0;font-size:var(--t-s)}.learning-workspace.lw-workspace .learning-continuation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.learning-workspace.lw-workspace .learning-continuation>a:not(.primary-button){color:var(--teal);font-weight:500;font-size:var(--t-s);min-height:var(--target);display:inline-flex;align-items:center}.learning-workspace.lw-workspace .learning-mobile-tabs{display:none}.learning-workspace.lw-workspace .learning-preview-note{font-size:var(--t-s);color:var(--ink-2);background:var(--warn-bg);padding:10px 14px;border-radius:var(--radius-s);margin:8px 0}.query-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;min-width:0;align-self:start}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:#fff;min-height:44px}.editor-toolbar label{font-family:var(--font-mono);font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#c9d4d8}.editor-toolbar [role=status],.engine-status{font-size:var(--t-xs);color:#c9d4d8;display:inline-flex;align-items:center;gap:6px}.engine-status.ready{color:var(--olive)}#sql-editor{display:block;width:100%;min-height:200px;padding:16px;background:var(--ink);color:#e6f2c3;border:0;resize:vertical;font-family:var(--font-mono);font-size:14px;line-height:1.7;outline-offset:-3px}#sql-editor:focus-visible{outline:2px solid var(--olive)}.query-actions{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.query-actions .text-button{margin-left:auto}.key-hint{font-size:var(--t-xs);color:var(--ink-3)}.query-panel>div[aria-live]{padding:0 16px}.query-panel>div[aria-live]:empty{display:none}.hint-box,.query-error,.query-success{padding:10px 14px;margin:12px 0;border-radius:var(--radius-s);font-size:var(--t-s);line-height:1.5}.hint-box{background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent)}.query-success{background:var(--ok-bg);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 25%,transparent)}.session-note{font-size:var(--t-xs);color:var(--ink-3);padding:10px 16px 14px;line-height:1.5;text-align:left}.sandbox-options{padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--t-s)}.sandbox-options label{display:flex;align-items:center;gap:10px;min-height:var(--target);font-weight:500}.sandbox-options input{width:18px;height:18px}.sandbox-options p{margin-top:2px;color:var(--ink-3);font-size:var(--t-xs);line-height:1.5}.starter-queries{border-top:1px solid var(--line);padding:14px 16px}.starter-queries h3{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.starter-queries .secondary-button{min-height:var(--target);padding:0 12px;font-size:var(--t-xs)}.results-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}.results-header h2,.results-header h3{font-size:var(--t-m);font-weight:650}.results-header .secondary-button{min-height:var(--target);padding:0 12px;font-size:var(--t-xs)}.result-scroll{overflow:auto;max-height:60vh}.result-scroll table{border-collapse:collapse;font-size:13px;min-width:100%}.result-scroll th{position:sticky;top:0;background:var(--surface-2);text-align:left;font-weight:600;padding:8px 12px}.result-scroll td,.result-scroll th{border-bottom:1px solid var(--line);white-space:nowrap}.result-scroll td{padding:7px 12px;font-variant-numeric:tabular-nums}.empty-results{padding:24px 16px;color:var(--ink-3);font-size:var(--t-s)}.result-options{padding:8px 16px;font-size:var(--t-xs);color:var(--ink-3);display:flex;gap:12px;align-items:center}.lw-playground{max-width:var(--wide);margin:0 auto;padding:20px var(--gutter) 48px}.lw-playground .lw-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:16px}.lw-playground .lw-toolbar .lw-field{flex:0 0 260px}.lw-playground .lw-toolbar .lw-toolbar-text{flex:1 1 320px;font-size:var(--t-s);color:var(--ink-2);line-height:1.45}.lw-playground .lw-toolbar .lw-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.lw-playground .playground-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}.lw-playground .playground-grid.workspace-wide{grid-template-columns:minmax(0,1fr)}.lw-playground .playground-grid.workspace-wide>.schema-panel{display:none}.lw-playground .reference-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;align-items:start}.lw-playground .schema-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px}.lw-playground .schema-panel .section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.lw-playground .schema-panel .section-heading .eyebrow{margin:0}.lw-playground .schema-panel h2{font-size:var(--t-m);font-weight:650;margin:2px 0 0}.lw-playground .schema-panel .section-heading>span{font-size:var(--t-xs);color:var(--ink-3)}.lw-playground .schema-panel input[type=search]{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--surface);margin-bottom:12px;font-size:var(--t-s)}.lw-playground .schema-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;margin-bottom:8px}.lw-playground .schema-card summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-size:var(--t-s);font-weight:600;min-height:28px;list-style:none}.lw-playground .schema-card summary::-webkit-details-marker{display:none}.lw-playground .schema-card summary>span{font-size:var(--t-xs);font-weight:400;white-space:nowrap;color:var(--ink-3)}.lw-playground .schema-card dl{margin:10px 0 4px}.lw-playground .schema-card dl>div{padding:6px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.lw-playground .schema-card dt{display:flex;align-items:center;gap:6px;font-size:13px;font-family:var(--font-mono);overflow-wrap:anywhere}.lw-playground .schema-card dd{font-size:11px;font-family:var(--font-mono);color:var(--ink-3);text-align:right}.lw-playground .key-tag{font-size:10px;font-weight:700;background:var(--olive);color:var(--ink);padding:0 5px;border-radius:4px;font-family:var(--font-sans)}.lw-playground .table-relations{font-size:var(--t-xs);color:var(--ink-3);margin-top:8px;font-family:var(--font-mono)}.lw-playground .schema-card .text-button{min-height:var(--target);font-size:var(--t-xs);margin-top:6px}.lw-playground .relationships h3{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin:14px 0 6px}.lw-playground .relationships p{font-size:var(--t-xs);margin:4px 0}.lw-playground .relationships code{font-family:var(--font-mono)}.lw-playground .schema-legend{font-size:var(--t-xs);color:var(--ink-3);margin:12px 0 0}.lw-playground .download-db{display:inline-flex;align-items:center;min-height:var(--target);margin-top:8px;font-size:var(--t-xs);color:var(--teal);text-decoration:underline;text-underline-offset:3px}.lw-playground .challenge-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px}.lw-playground .challenge-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);text-align:left;font-size:var(--t-xs);font-weight:700;color:var(--ink-3)}.lw-playground .challenge-nav button span{font-size:var(--t-xs);font-weight:500;color:var(--ink-2);line-height:1.3}.lw-playground .challenge-nav [aria-current=step]{background:var(--ink);border-color:var(--ink);color:var(--olive)}.lw-playground .challenge-nav [aria-current=step] span{color:#fff}.lw-playground .challenge-prompt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 20px;margin-bottom:16px}.lw-playground .challenge-prompt h2{font-size:var(--t-l);font-weight:650;margin:4px 0 6px}.lw-playground .challenge-prompt p{font-size:var(--t-s);color:var(--ink-2)}.lw-playground .sql-cheatsheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.lw-playground .sql-cheatsheet h2{font-size:var(--t-l);font-weight:650;margin:2px 0 10px}.lw-playground .sql-cheatsheet pre{font-family:var(--font-mono);font-size:13px;line-height:1.6;background:var(--ink);color:#e6f2c3;padding:12px 14px;border-radius:var(--radius-s);white-space:pre-wrap;margin:8px 0 12px}.lw-playground .sql-cheatsheet p{font-size:var(--t-s);color:var(--ink-2);margin:8px 0}.lw-playground .sql-cheatsheet dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:12px 0;font-size:var(--t-s)}.lw-playground .sql-cheatsheet dt{font-weight:600}.lw-playground .sql-cheatsheet dd code{font-family:var(--font-mono);font-size:13px;background:var(--surface-2);padding:1px 6px;border-radius:4px}.lw-playground .sql-cheatsheet .text-button{display:inline-flex;margin-top:12px}.lw-playground .course-lab-tool-note,.lw-playground .handoff-note{display:block;padding:10px 14px;border-radius:var(--radius-s);background:var(--teal-bg);font-size:var(--t-s);margin:0 0 12px;line-height:1.5}.lw-playground .course-lab-tool-note .button-row{margin-top:6px}.lw-playground .reference-page .schema-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.lw-playground .reference-page .schema-card{margin-bottom:0}.lw-section-intro{font-size:var(--t-s);color:var(--ink-2);line-height:1.55;max-width:64ch;margin:-4px 0 16px}.lw-where .lw-card-text+.lw-card-text{margin-top:6px}.lw-opener{max-width:72ch}.lw-world{font-size:var(--t-l);line-height:1.45;color:var(--ink-2);max-width:60ch;margin:0 0 16px}.lw-cando{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}.lw-cando li{position:relative;padding-left:26px;font-size:var(--t-s);line-height:1.5;color:var(--ink-2)}.lw-cando li:before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border:2px solid var(--line-2);border-radius:4px}.lw-cando-card .lw-cando li{font-size:var(--t-m)}.lw-reading{max-width:72ch}.lw-reading-section{margin-top:32px;padding-top:8px}.lw-reading-section h2,.lw-reading-section h3{font-size:var(--t-l);font-weight:650;letter-spacing:-.2px;line-height:var(--lh-tight);margin-bottom:12px}.lw-reading p[id],.lw-reading-section>h2,.lw-reading-section>h3{scroll-margin-top:calc(var(--header-h) + var(--tabs-h) + 16px)}.lw-reading-block+.lw-reading-block{margin-top:12px}.lw-reading p{font-size:var(--t-m);line-height:var(--lh-body);color:var(--ink);border-radius:4px;transition:background .5s ease,box-shadow .5s ease}.lw-reading p.is-highlighted{background:var(--olive-bg);box-shadow:0 0 0 8px var(--olive-bg)}.lw-reading-code{margin:14px 0}.lw-reading-code figcaption{margin-top:6px;font-size:var(--t-s);color:var(--ink-2);line-height:1.5}.lw-code-lang{display:block;margin-bottom:4px;font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3)}.lw-reading-figure{margin:14px 0}.lw-reading-figure figcaption{margin-top:6px;font-size:var(--t-s);color:var(--ink-2);line-height:1.5}.lw-rule{padding:10px 14px;border-left:4px solid var(--olive);background:var(--olive-bg);border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:var(--t-m);line-height:1.5}.lw-deeper,.lw-rule{margin-top:14px}.lw-deeper .lw-prose p{font-size:var(--t-s);color:var(--ink-2)}.lw-concepts{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.lw-concept-card .lw-card-title{font-size:var(--t-l)}.lw-concept-card .lw-card-title a:hover{color:var(--teal)}.lw-concept-card .lw-row-meta{margin-top:8px}.lw-rungs{list-style:none;padding:0;margin:14px 0 0;display:flex;gap:6px}.lw-rung{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;font-size:var(--t-xs);font-weight:700;font-variant-numeric:tabular-nums}.lw-rung.is-notyet{background:var(--surface-2);color:var(--ink-3);border:1px dashed var(--line-2)}.lw-rung.is-absent{background:transparent;color:var(--ink-4);border:1px dotted var(--line)}.lw-rung.is-reached{background:var(--olive);color:var(--ink)}.lw-rung.is-progress{background:var(--teal-bg);color:var(--teal);border:1px solid color-mix(in srgb,var(--teal) 30%,transparent)}.lw-review>.lw-card+.lw-card{margin-top:16px}.lw-review .lw-card-title{font-size:var(--t-l)}.lw-terms{margin:12px 0 0;display:grid;gap:10px}.lw-terms>div{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,2fr);gap:4px 16px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--t-s);line-height:1.5}.lw-terms dt{font-weight:650;color:var(--ink)}.lw-terms dd{color:var(--ink-2);margin:0}.lw-sources{padding-left:22px;margin:10px 0 0;font-size:var(--t-s);color:var(--ink-2);line-height:1.55}.lw-sources li+li{margin-top:6px}.lw-checks{margin-top:8px}.lw-check{border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;margin-top:14px;background:var(--surface-2);min-width:0}.lw-check legend{float:left;width:100%;padding:0;margin-bottom:10px;font-size:var(--t-m);font-weight:600;line-height:1.45;color:var(--ink)}.lw-check legend+*{clear:both}.lw-check .lw-field .lw-card-eyebrow,.lw-check legend .lw-card-eyebrow{display:block;margin-bottom:4px}.lw-check .lw-field{margin-bottom:8px}.lw-check .lw-field .lw-check-prompt{font-size:var(--t-m);font-weight:600;color:var(--ink);line-height:1.45}.lw-check .lw-textarea{background:var(--surface);margin-bottom:10px}.lw-check-option{display:flex;align-items:flex-start;gap:12px;min-height:var(--target);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);font-size:var(--t-s);line-height:1.45;cursor:pointer}.lw-check-option+.lw-check-option{margin-top:8px}.lw-check-option:hover{border-color:var(--ink-3)}.lw-check-option.is-chosen{border-color:var(--ink)}.lw-check-option input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--ink)}.lw-check-feedback{margin-top:12px;padding:10px 14px;border-radius:var(--radius-s);font-size:var(--t-s);line-height:1.5;background:var(--teal-bg);border:1px solid color-mix(in srgb,var(--teal) 20%,transparent)}.lw-check-feedback.is-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}.lw-check-feedback.is-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}.lw-check-feedback p+p{margin-top:6px}.lw-ladder-group+.lw-ladder-group{margin-top:16px}.lw-ladder-group>.lw-card-eyebrow{margin-bottom:6px}.lw-ladder{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}.lw-ladder-rung{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 20px;min-height:64px;border-top:1px solid var(--line)}.lw-ladder-rung:first-child{border-top:0}.lw-ladder-rung.is-absent{background:var(--surface-2);color:var(--ink-3)}.lw-ladder-num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2);border:1px dashed var(--line-2);font-size:var(--t-s);font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.lw-ladder-rung.is-reached .lw-ladder-num{background:var(--olive);border-style:solid;border-color:var(--olive);color:var(--ink)}.lw-ladder-rung[aria-current=step] .lw-ladder-num{background:var(--ink);border-color:var(--ink);color:var(--olive)}.lw-ladder-rung .lw-btn{min-height:var(--target);padding:0 12px;font-size:var(--t-xs)}.lw-keep{margin-top:16px}.lw-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;padding-top:16px;border-top:1px solid var(--line)}.lw-pager a{display:flex;flex-direction:column;gap:2px;min-height:var(--target);padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);font-size:var(--t-s);font-weight:600;color:var(--ink)}.lw-pager a:hover{border-color:var(--ink-3)}.lw-pager a.is-next{text-align:right;align-items:flex-end}.lw-pager-label{font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3)}.lw-reading-foot{margin-top:24px;font-size:var(--t-s);color:var(--ink-3);line-height:1.5}@media (max-width:899px){.lw-concepts,.lw-terms>div{grid-template-columns:1fr}.lw-ladder-rung{grid-template-columns:32px minmax(0,1fr);padding:12px 14px}.lw-ladder-rung .lw-btn{grid-column:2;min-height:var(--target);justify-self:start}.lw-pager{grid-template-columns:1fr}.lw-pager a.is-next{text-align:left;align-items:flex-start}.lw-check .lw-btn{min-height:var(--target)}.lw-section-head{flex-wrap:wrap}.lw-check-feedback a,.lw-concept-card .lw-card-title a,.lw-reading-code figcaption a{display:inline-block;padding:12px 0;margin:-12px 0}}.lw-practice{max-width:var(--wide);margin:0 auto;padding:20px var(--gutter) 48px}.lw-practice .lw-page-header{margin-bottom:12px}.lw-practice>.lw-notice{margin:8px 0}.lw-practice-loading{margin:24px 0;font-size:var(--t-s);color:var(--ink-3)}.lw-ladder-rung.is-progress .lw-ladder-num{background:var(--teal-bg);border:2px solid var(--teal);color:var(--teal)}.lw-rungnav{margin:12px 0 8px}.lw-rungnav ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.lw-rungnav-item{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;min-height:64px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);font-size:var(--t-xs);color:var(--ink-2);line-height:1.3}a.lw-rungnav-item:hover{border-color:var(--ink-3)}.lw-rungnav-item[aria-current=step]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.lw-rungnav .is-absent .lw-rungnav-item{background:var(--surface-2);color:var(--ink-4);border-style:dotted}.lw-rungnav-top{display:flex;align-items:center;gap:8px}.lw-rungnav-num{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px dashed var(--line-2);font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.lw-rungnav .is-reached .lw-rungnav-num{background:var(--olive);border:1px solid var(--olive);color:var(--ink)}.lw-rungnav .is-progress .lw-rungnav-num{background:var(--teal-bg);border:2px solid var(--teal);color:var(--teal)}.lw-rungnav-item[aria-current=step] .lw-rungnav-num{background:var(--ink);border:1px solid var(--ink);color:var(--olive)}.lw-rungnav-name{font-weight:600;color:var(--ink)}.lw-rungnav .is-absent .lw-rungnav-name,.lw-rungnav-state{color:var(--ink-3)}.lw-exlist{margin:8px 0 4px}.lw-exlist ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.lw-exlist a{display:inline-flex;align-items:center;gap:8px;min-height:var(--target);padding:4px 14px 4px 6px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:var(--t-s);color:var(--ink-2)}.lw-exlist a:hover{border-color:var(--ink-3)}.lw-exlist a[aria-current=true]{background:var(--ink);border-color:var(--ink);color:#fff}.lw-exlist-num{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:var(--t-xs);font-weight:700}.lw-exlist a[aria-current=true] .lw-exlist-num{background:var(--olive);color:var(--ink)}.lw-exlist-title{font-weight:600}.lw-exlist-state{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);opacity:.85}.lw-practice-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px}.lw-practice-bar .lw-exlist{margin:0}.lw-practice-reading-toggle{margin-left:auto}.lw-practice-tabs{display:none}.lw-practice-read-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.lw-practice-read-head h2{font-size:var(--t-l);font-weight:650}.lw-practice-read-head h2:focus{outline:none}.lw-practice-read .lw-reading-section:first-of-type{margin-top:16px}.lw-practice-grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.45fr);gap:16px;align-items:start}.lw-practice-grid.is-single{grid-template-columns:minmax(0,820px)}.lw-practice-task{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.lw-practice-work{display:grid;gap:16px;min-width:0}.lw-practice-results,.lw-practice-sql{min-width:0}.lw-practice-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}.lw-tool-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#c9d4d8}.lw-ex-query,.lw-practice-sql .lw-code{margin:0;border-radius:0;font-size:14px}.lw-ex-mode{margin:0;padding:8px 16px;font-size:var(--t-xs);line-height:1.5;color:#c9d4d8;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}.lw-run-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.lw-results-verdict{display:none}.lw-results-error{padding:0 16px}.lw-ex-concept{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);line-height:1.4}.lw-ex-title{margin-top:6px;font-size:var(--t-xl);font-weight:700;letter-spacing:-.4px;line-height:var(--lh-tight)}.lw-ex-title:focus{outline:none}.lw-ex-head .lw-ex-level{margin:6px 0 0}.lw-ex-story{margin-top:10px;font-style:italic;color:var(--ink-2);line-height:1.5}.lw-ex-transfer{margin-top:10px;font-size:var(--t-s);font-weight:600;color:var(--teal)}.lw-ex-prompt{margin-top:10px;font-size:var(--t-m);line-height:1.55;color:var(--ink)}.lw-ex-data,.lw-ex-finish,.lw-ex-read{margin-top:10px;font-size:var(--t-s);line-height:1.5;color:var(--ink-2)}.lw-ex-finish code,.lw-worked-blanks code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:4px}.lw-ex-figure{margin:12px 0 0}.lw-ex-figure figcaption{margin-top:6px;font-size:var(--t-xs);color:var(--ink-3)}.lw-walk{margin-top:16px}.lw-walk ol{margin:6px 0 0;padding-left:20px;display:grid;gap:6px;font-size:var(--t-s);line-height:1.5;color:var(--ink)}.lw-ex-actions{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.lw-explanation{margin-top:12px;padding:10px 14px;border-left:4px solid var(--olive);background:var(--olive-bg);border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:var(--t-s);line-height:1.55;color:var(--ink)}.lw-ex-explain{margin-top:14px}.lw-ex-explain .lw-label{font-size:var(--t-s);line-height:1.45}.lw-ex-foot{margin-top:20px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:6px}.lw-check-line{display:flex;align-items:center;gap:10px;min-height:var(--target);font-size:var(--t-s);cursor:pointer}.lw-check-line input{flex:none;width:20px;height:20px;accent-color:var(--ink)}.lw-ex-guided{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-s);line-height:1.5;color:var(--warn)}.lw-ex-guided .lw-icon{flex:none;margin-top:2px}.lw-ex-review{background:var(--teal-bg);border-radius:var(--radius-s);padding:12px;font-size:var(--t-s);line-height:1.5}.lw-ex-review p{margin-top:4px}.lw-ex-review small{display:block;margin-top:4px;color:var(--ink-3)}.lw-mono{font-family:var(--font-mono);font-size:14px}.lw-copy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.lw-copy-status{font-size:var(--t-xs);color:var(--ink-3)}.lw-engine-note{margin-top:14px}.lw-desktop-sql{margin-top:14px;display:grid;gap:8px;justify-items:start}.lw-desktop-sql>*{max-width:100%}.lw-desktop-sql .lw-code,.lw-desktop-sql .lw-field,.lw-desktop-sql .lw-walk,.lw-desktop-template{width:100%}.lw-desktop-template{border-radius:var(--radius-s);overflow:hidden;border:1px solid var(--line)}.lw-template{margin:0;padding:14px 16px;background:var(--ink);color:#e6f2c3;font-family:var(--font-mono);font-size:14px;line-height:2.2;white-space:pre-wrap;overflow-wrap:anywhere}.lw-blank{display:inline-block;max-width:100%;min-height:var(--target);margin:2px 0;padding:4px 8px;vertical-align:middle;border:2px dashed var(--olive);border-radius:6px;background:#22404d;color:#fff;font:inherit;line-height:1.4}.lw-blank::placeholder{color:#9fb0b6}.lw-blank:focus-visible{border-style:solid;outline:3px solid var(--olive);outline-offset:2px}.lw-blank-labels{list-style:none;margin:0;padding:10px 16px;display:grid;gap:4px;font-size:var(--t-xs);color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--surface)}.lw-form-note{margin:0;padding:8px 16px;font-size:var(--t-s);color:var(--warn);background:var(--warn-bg)}.lw-worked-blanks{margin:0 0 8px;padding-left:20px}.lw-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;max-width:420px}.lw-choice{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--target);padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--radius-s);background:var(--surface);font-size:var(--t-s);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.lw-choice:hover{border-color:var(--ink-3)}.lw-choice[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.lw-predict-field{margin-top:14px;max-width:280px}.lw-predict-columns{margin-top:14px}.lw-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.lw-chip-btn{display:inline-flex;align-items:center;gap:6px;min-height:var(--target);padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-family:var(--font-mono);font-size:13px;color:var(--ink)}.lw-chip-btn[aria-pressed=true]{background:var(--teal-bg);border-color:var(--teal);color:var(--teal);font-weight:700}.lw-predict-said{margin-top:8px;font-size:var(--t-s);color:var(--ink-2)}.lw-mcq{margin:14px 0 0;padding:0;border:0;min-width:0}.lw-model{margin-top:12px}.lw-text-answer{margin-top:14px;max-width:640px}.lw-text-answer .lw-textarea{min-height:96px}.lw-text-template{border-radius:var(--radius-s)}.lw-data,.lw-text-template{margin-top:14px;overflow:hidden;border:1px solid var(--line)}.lw-data{border-radius:var(--radius-m);background:var(--surface)}.lw-data-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.lw-data-count{font-size:var(--t-xs);color:var(--ink-3)}.lw-data-filter{padding:10px 14px;border-bottom:1px solid var(--line)}.lw-data-filter .lw-input{max-width:320px}.lw-data-note{margin-top:4px;font-size:var(--t-xs);color:var(--ink-3)}.lw-data-scroll{max-height:420px}.lw-data-scroll th[scope=row]{position:static;font-weight:600;color:var(--ink-3);background:transparent;border-bottom:1px solid var(--line);padding:7px 12px;white-space:nowrap}.lw-data-scroll tr.is-kept td,.lw-data-scroll tr.is-kept th[scope=row]{background:var(--ok-bg)}.lw-data-scroll tr.is-kept th[scope=row] .lw-icon{margin-left:4px;color:var(--ok);vertical-align:-1px}.lw-hash{display:grid;gap:8px;justify-items:start}.lw-hash-file{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-s);line-height:1.5;color:var(--ink-2)}.lw-hash-file .lw-icon{flex:none;margin-top:3px}.lw-hash-file code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}.lw-checklist,.lw-decision-part+.lw-decision-part{margin-top:18px}.lw-decision-label{margin-bottom:8px;padding:0;font-size:var(--t-s);font-weight:600;line-height:1.45;color:var(--ink)}.lw-decision-count{display:block;font-size:var(--t-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3)}.lw-tool-card{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius-s);background:var(--teal-bg)}.lw-tool-name{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-s);line-height:1.5;color:var(--ink)}.lw-tool-name .lw-icon{flex:none;margin-top:2px;color:var(--teal)}.lw-tool-card .lw-ex-actions{margin-top:10px}.lw-feedback{margin-top:16px;display:grid;gap:10px}.lw-verdict{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid;border-radius:var(--radius-s);font-size:var(--t-s);line-height:1.5}.lw-verdict .lw-icon{flex:none;margin-top:2px}.lw-verdict.is-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.lw-verdict.is-ok .lw-icon{color:var(--ok)}.lw-verdict.is-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.lw-verdict.is-warn .lw-icon{color:var(--warn)}.lw-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lw-step{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-2);font-size:var(--t-s);line-height:1.5}.lw-step-label{margin-bottom:2px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.lw-step-label,.lw-step-note{display:block;font-size:var(--t-xs);color:var(--ink-3)}.lw-step-note{margin-top:6px}.lw-step-body{margin-top:8px}.lw-step-body .lw-code{margin:0 0 8px}.lw-tally{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:8px}.lw-tally .lw-chip{height:28px}.lw-bank-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:12px 0}.lw-bank-tools .lw-field{flex:0 1 260px;min-width:200px}.lw-bank{margin:12px 0}.lw-details.lw-bank>ul{list-style:none;margin:0;padding:0}.lw-bank li+li,.lw-details.lw-bank>ul{border-top:1px solid var(--line)}.lw-bank li button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:52px;padding:8px 14px;text-align:left;font-size:var(--t-s)}.lw-bank li button:hover{background:var(--surface-2)}.lw-bank li button[aria-current=true]{background:var(--olive-bg);box-shadow:inset 4px 0 0 var(--olive-ink)}.lw-bank-level{font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.lw-bank-title{display:block;font-weight:600;color:var(--ink)}.lw-bank-meta{display:block}.lw-bank-meta,.lw-bank-state{font-size:var(--t-xs);color:var(--ink-3)}.lw-bank-state{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}@media (min-width:900px){.lw-practice-read{display:none;position:fixed;top:var(--header-h);right:0;bottom:0;z-index:35;width:min(600px,46vw);overflow-y:auto;padding:16px 24px 40px;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-m)}.lw-practice-frame[data-reading=open] .lw-practice-read{display:block}}@media (max-width:899px){.lw-practice .lw-pager a{min-height:var(--target)}.lw-practice-reading-toggle{display:none}.lw-practice-bar{margin-bottom:0}.lw-practice-tabs{display:flex;gap:2px;padding:3px;margin:8px 0 12px;background:var(--surface-2);border-radius:8px;position:sticky;top:calc(var(--header-h) + 8px);z-index:20}.lw-practice-tabs button{flex:1;min-height:var(--target);border:0;border-radius:6px;background:transparent;font-size:var(--t-s);font-weight:500;color:var(--ink-2)}.lw-practice-tabs [aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-s)}.lw-practice-grid,.lw-practice-grid.is-single{grid-template-columns:minmax(0,1fr)}.lw-practice-read,.lw-practice-results,.lw-practice-sql,.lw-practice-task{display:none}.lw-practice-frame[data-pane=read] .lw-practice-read,.lw-practice-frame[data-pane=results] .lw-practice-results,.lw-practice-frame[data-pane=sql] .lw-practice-sql,.lw-practice-frame[data-pane=task] .lw-practice-task{display:block}.lw-practice-read{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}.lw-practice-task{padding:16px}.lw-results-verdict{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 16px;font-size:var(--t-s);border-bottom:1px solid var(--line)}.lw-results-verdict.is-ok{background:var(--ok-bg)}.lw-results-verdict.is-warn{background:var(--warn-bg)}.lw-results-verdict .lw-icon{flex:none;margin-top:3px}.lw-rungnav ol{gap:4px}.lw-rungnav-item{align-items:center;justify-content:center;min-height:var(--target);padding:6px 2px}.lw-rungnav-num{width:30px;height:30px}.lw-rungnav-name,.lw-rungnav-state{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lw-ex-title{font-size:var(--t-l)}.lw-practice .lw-copy .lw-btn,.lw-practice .lw-step .lw-btn{min-height:var(--target)}.lw-bank li button{grid-template-columns:32px minmax(0,1fr)}.lw-bank-state{grid-column:2}.lw-bank-tools .lw-btn,.lw-bank-tools .lw-field{flex:1 1 100%}.lw-data-filter .lw-input,.lw-text-answer{max-width:none}.lw-hash .lw-btn,.lw-tool-card .lw-btn{min-height:var(--target)}}@media print{.lw-bottom-nav,.lw-footer,.lw-header,.lw-tabs,.skip-link{display:none!important}.lw-main{padding:0}}@media (max-width:1199px){.lw-quick{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:899px){:root{--gutter:16px}.lw-main-nav .account-controls>a:first-child,.lw-main-nav>a:not(:last-child):not(.lw-keep),.lw-tabs{display:none}.lw-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.lw-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bottom-nav-h);font-size:11px;font-weight:500;color:var(--ink-3)}.lw-bottom-nav a.is-active{color:var(--ink);font-weight:600}.lw-bottom-nav a.is-active .lw-icon{color:var(--olive-ink)}body:has(.lw-bottom-nav) .lw-main{padding-bottom:calc(var(--bottom-nav-h) + 12px)}body:has(.lw-bottom-nav) .lw-footer{padding-bottom:calc(var(--bottom-nav-h) + 24px)}.lw-grid,.lw-grid.is-3,.lw-lab-controls,.lw-now,.lw-quick{grid-template-columns:1fr}.lw-page-header h1{font-size:26px}.lw-hero h1{font-size:32px}.lw-row{grid-template-columns:32px minmax(0,1fr);padding:12px 14px}.lw-row-actions{grid-column:2}.lw-chip-link,.lw-menu a,.lw-row-actions .lw-btn,.text-button{min-height:var(--target)}.learning-workspace.lw-workspace .learning-mobile-tabs{display:flex;gap:2px;padding:3px;background:var(--surface-2);border-radius:8px;position:sticky;top:calc(var(--header-h) + 8px);z-index:20;margin:8px 0 12px}.learning-workspace.lw-workspace .learning-mobile-tabs button{flex:1;min-height:var(--target);border:0;border-radius:6px;font-size:var(--t-s);font-weight:500;color:var(--ink-2);background:transparent}.learning-workspace.lw-workspace .learning-mobile-tabs [aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-s)}.learning-workspace.lw-workspace .learning-grid{grid-template-columns:1fr}.course-save-status button,.learning-workspace.lw-workspace .learning-task-nav button,.learning-workspace.lw-workspace details button{min-height:var(--target)}.learning-workspace.lw-workspace .learning-continuation .primary-button{flex:1 1 100%}.lw-playground .playground-grid,.lw-playground .reference-layout{grid-template-columns:1fr}.lw-playground .playground-grid>.schema-panel{order:2}.lw-playground .playground-grid>.query-panel{order:1}.lw-playground .lw-toolbar .lw-field{flex:1 1 100%}.lw-playground .lw-toolbar .lw-toolbar-actions{margin-left:0}.lw-playground .challenge-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.lw-playground .reference-page .schema-tables,.lw-playground .sql-cheatsheet dl{grid-template-columns:1fr}.query-actions .primary-button{flex:1 1 auto}.query-actions .text-button{margin-left:0}.lw-btn.is-small,.lw-playground .download-db,.lw-playground .schema-card .text-button,.results-header .secondary-button,.starter-queries .secondary-button{min-height:var(--target)}.study-outline a,.study-pagination a,.viz-studio nav.button-row>a,.viz-studio nav.button-row>button,.viz-task-tabs button{min-height:var(--target);display:inline-flex;align-items:center}.guided-stage a,.handoff-note a,.next-session a,.study-section a:not(.lw-btn),.viz-panel a:not(.lw-btn):not(.primary-button):not(.secondary-button){display:inline-block;padding:10px 0;margin:-10px 0}#sql-editor{min-height:160px;font-size:15px}}@media (max-width:639px){.lw-page-header-row{flex-direction:column;align-items:stretch}.lw-page-header-text{flex-basis:auto}.lw-page-actions>*{flex:1 1 auto}.lw-segmented{display:flex}.lw-segmented a,.lw-segmented button{flex:1;min-height:var(--target)}}@media (min-width:900px){.lw-brand-mark{display:none}}.course-save-status a,.lw-card-arrow,.lw-crumbs a,.lw-link,.lw-list-foot a,.lw-row-title a,.lw-section-head a,.saved-work-status a{display:inline-block;padding:12px 0;margin:-12px 0}