@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Baskerville&display=swap";:root{color:#282b24;font-synthesis:none;background:#f6f5f0;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}.workspace{height:100dvh;display:flex;overflow:hidden}.terminal{width:var(--terminal-width);background:#101112;flex-direction:column;flex-shrink:0;display:flex}.terminal header{color:#e0e2dd;background:#1b1d1f;flex-shrink:0;justify-content:space-between;align-items:center;height:46px;padding:0 18px;font-size:13px;display:flex}.terminal header span{align-items:center;gap:9px;display:flex}.terminal i{background:#a1b48b;border-radius:50%;width:7px;height:7px}.terminal a{color:#a9ada5;font-size:11px;text-decoration:none}.terminal a:hover{color:#fff}iframe{border:0;flex:1;width:100%;min-height:0}.divider{cursor:col-resize;touch-action:none;background:#dedfd7;flex-shrink:0;width:7px}.divider:hover,.divider:focus-visible,.dragging .divider{background:#9cae8c;outline:none}.dragging iframe{pointer-events:none}.canvas{background:radial-gradient(#dcded3 .7px,#0000 .7px) 0 0/22px 22px;flex:1;min-width:0;padding:26px 32px;position:relative}.canvas-heading{letter-spacing:2px;color:#68705e;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.badge{letter-spacing:0;background:#f6f5f0;border:1px solid #d8ddcf;border-radius:20px;padding:6px 11px;font-size:11px}.empty{text-align:center;position:absolute;top:44%;left:10%;right:10%;transform:translateY(-50%)}.mark{color:#697959;background:#e7ebdf;border-radius:16px;justify-content:center;align-items:center;width:62px;height:62px;font-family:Libre Baskerville,serif;font-size:27px;display:inline-flex}h1{letter-spacing:-1px;margin:28px 0 16px;font-family:Libre Baskerville,serif;font-size:clamp(26px,3vw,42px);font-weight:400}p{color:#7b8073;font-size:14px;line-height:1.8}@media (width<=640px){.canvas{padding:18px 12px}.canvas-heading{letter-spacing:1px;flex-wrap:wrap}.terminal header{padding:0 9px}.terminal a{font-size:10px}.empty{left:6%;right:6%}p{font-size:12px}}.exercise{overflow-y:auto}.lesson{max-width:680px;margin:38px auto}.progress-label{color:#68705e;justify-content:space-between;gap:12px;font-size:11px;display:flex}progress{appearance:none;border:0;width:100%;height:5px;margin:12px 0 32px;display:block}progress::-webkit-progress-bar{background:#e1e5d9;border-radius:8px}progress::-webkit-progress-value{background:#71855c;border-radius:8px}progress::-moz-progress-bar{background:#71855c}.eyebrow{letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-size:11px}.tense{text-transform:capitalize;margin:0 0 12px;font-size:32px}.instructions{margin:0 0 24px}.questions{gap:12px;display:grid}.question{background:#fafbf7;border:1px solid #dcdfd3;border-radius:10px;padding:16px 18px 10px}.question label{align-items:baseline;gap:12px;margin-bottom:10px;font-size:14px;line-height:1.6;display:flex}.person{color:#7b8073;font-variant-numeric:tabular-nums;min-width:25px;font-size:11px}.answer-line{gap:8px;display:flex}input{font:inherit;color:#282b24;background:#fff;border:1px solid #d6dacd;border-radius:6px;flex:1;min-width:0;padding:10px;font-size:14px}input:focus{outline-offset:2px;outline:2px solid #82966b}input[readonly]{background:#f0f2eb}button{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;background:#536743;border:0;border-radius:6px;padding:10px 14px;font-size:12px}button:hover:enabled{background:#405333}button:focus-visible{outline-offset:3px;outline:2px solid #536743}button:disabled{opacity:.45;cursor:default}.feedback{color:#717869;min-height:22px;margin-top:7px;font-size:12px;line-height:1.7}.feedback strong{color:#354b26;font-size:15px}.incorrect .feedback strong{color:#8c4e2c}.lesson-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.lesson-footer>span{color:#7b8073;font-size:11px}@media (width<=800px){.exercise{padding:20px 14px}.question{padding:12px 10px 6px}.answer-line{flex-wrap:wrap}.answer-line input{width:100%}.lesson-footer{flex-wrap:wrap}.lesson{margin-top:26px}}.tpn{gap:12px;margin:14px 0 18px;display:grid}.tpn fieldset{border:0;min-width:0;margin:0;padding:0}.tpn legend{color:#536743;margin-bottom:7px;font-size:11px;font-weight:600}.tpn-options{flex-wrap:wrap;gap:5px;display:flex}.tpn-options button{color:#354b26;text-transform:capitalize;white-space:normal;background:#e9ede2;padding:7px 9px;font-size:11px}.tpn-options button:hover:enabled{background:#d7e1cb}.tpn-options button[aria-pressed=true]{color:#fff;background:#536743}.tpn fieldset:disabled button{cursor:default;opacity:.5}.tpn fieldset:disabled button[aria-pressed=true]{opacity:1}.tpn-feedback{color:#717869;min-height:16px;margin-top:5px;font-size:11px;display:block}.single-question{opacity:1;transition:opacity .24s,transform .24s;transform:translateY(0)}.single-question.fading{opacity:0;pointer-events:none;transform:translateY(-8px)}.single-question .question{padding:22px}.single-question .question label{font-size:20px;line-height:1.5}.single-question .tpn{gap:18px;margin:24px 0}.single-question .tpn-options button{padding:9px 12px}.lesson h1:focus{outline:none}@media (prefers-reduced-motion:reduce){.single-question{transition:none;transform:none}.single-question.fading{transform:none}}.chart-toggle{letter-spacing:0}.chart-dialog{color:#282b24;background:#fafbf7;border:1px solid #d6dacd;border-radius:14px;width:min(760px,100vw - 32px);max-height:88dvh;padding:24px;overflow:auto}.chart-dialog::backdrop{background:#0f140c80}.chart-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.chart-header h2{margin:8px 0;font-family:Libre Baskerville,serif;font-size:26px;font-weight:400}.chart-header p{margin:0 0 8px}.chart-header button{flex-shrink:0}.chart-tables{gap:26px;margin-top:24px;display:grid}.chart-tables table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.chart-tables caption{text-align:left;text-transform:capitalize;padding-bottom:12px;font-family:Libre Baskerville,serif;font-size:19px}.chart-tables th,.chart-tables td{vertical-align:top;border-bottom:1px solid #e0e4d8;padding:9px 8px}.chart-tables thead th{text-transform:uppercase;color:#68705e;font-size:10px}.chart-tables tbody th{color:#68705e;font-size:11px;font-weight:400}.chart-tables td[lang=la]{white-space:nowrap;font-size:16px}.chart-source{margin-top:24px;font-size:11px}@media (width<=480px){.chart-dialog{padding:16px}.chart-header{flex-wrap:wrap}.chart-tables th,.chart-tables td{padding:8px 4px}.chart-tables table{font-size:12px}}.sql-schema{font-size:13px;line-height:1.7}.sql-schema dt{margin-top:12px;font-family:monospace}.sql-schema small{color:#68705e}.sql-schema dd{color:#68705e;margin-left:0}.sql-trace{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafbf7;border:1px solid #dcdfd3;border-radius:10px;padding:18px;font-size:12px;line-height:1.8}.sql-schema code,.question code{color:#354b26}.sql-editor-form{margin:24px 0}.sql-editor-form>label{margin-bottom:9px;font-size:13px;font-weight:600;display:block}.sql-editor{resize:vertical;color:#e4eddf;tab-size:2;background:#181e19;border:1px solid #455043;border-radius:8px;width:100%;min-height:200px;padding:18px;font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.sql-editor:focus{outline-offset:2px;outline:2px solid #82966b}.sql-editor::placeholder{color:#9ca996}.sql-run-bar{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.sql-run-bar span{color:#68705e;font-size:11px}.sql-results h2{font-size:20px}.sql-table-wrap{overflow:auto}.sql-results table{border-collapse:collapse;text-align:left;background:#fafbf7;width:100%;font-size:13px}.sql-results td,.sql-results th{white-space:pre-wrap;border-bottom:1px solid #d6dacd;padding:10px}.sql-error{white-space:pre-wrap;overflow-wrap:anywhere;color:#8c4e2c;font-size:13px}.sql-results details{margin:16px 0}summary{cursor:pointer}.sql-schema{margin-top:24px}.sql-pane .lesson{margin:30px auto}.sql-pane h1{margin:10px 0 18px;font-size:clamp(26px,2.5vw,34px)}.sql-pane .eyebrow{color:#68705e;margin:0}.sql-prompt>p:first-child{color:#353c30;margin:0;font-size:16px;line-height:1.65}.sql-prompt .sql-say-aloud{color:#68705e;margin:12px 0 0;font-size:12px;line-height:1.7}.sql-say-aloud strong{margin-right:6px;font-weight:500}.sql-pane .sql-editor-form{margin:22px 0}.sql-pane .sql-editor{min-height:180px}.sql-disclosure{border-top:1px solid #dcdfd3;margin:0;padding:0;font-size:13px}.sql-disclosure>summary{color:#536743;padding:14px 0;font-size:12px;font-weight:500}.sql-disclosure>summary:focus-visible{outline-offset:3px;outline:2px solid #82966b}.sql-disclosure p{color:#59634f;margin:0 0 12px;font-size:13px}.sql-disclosure code{overflow-wrap:anywhere}.sql-disclosure .sql-trace{margin:0 0 16px}.sql-pane .sql-schema{margin-top:0}.sql-pane .sql-results:has(h2){padding:16px 0 22px}.sql-pane .sql-results h2{margin:0 0 8px;font-size:16px}.sql-pane .sql-results p{margin:8px 0;font-size:12px;line-height:1.7}.sql-pane .sql-results details{font-size:12px}.sql-pane .sql-run-bar{flex-wrap:wrap}.sql-pane .sql-run-bar button{margin-left:auto}@media (width<=640px){.sql-pane .lesson{margin-top:24px}.sql-prompt>p:first-child{font-size:14px}.sql-pane .sql-run-bar span{max-width:65%}}.sql-theory{background:#fafbf7;border:1px solid #dcdfd3;border-radius:10px;margin:18px 0 22px;padding:16px 18px}.sql-theory h2{margin:0 0 6px;font-size:15px}.sql-theory>p{margin:0 0 14px;font-size:13px;line-height:1.7}.sql-guided-steps{gap:9px;display:grid}.sql-guided-steps article{border-top:1px solid #e2e5dc;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.sql-guided-steps article p{margin:3px 0 0;font-size:12px;line-height:1.5}.sql-guided-steps button{color:#354b26;background:#e9ede2;padding:7px 9px;font-size:11px}.sql-guided-steps button:hover:enabled{background:#d7e1cb}.database-map{background:#fafbf7;border:1px solid #cbd4c4;border-radius:12px;margin:24px 0 16px;padding:20px}.database-map-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.database-map .eyebrow{margin:0 0 5px}.database-map h2{margin:0;font-family:Libre Baskerville,serif;font-size:21px;font-weight:400}.database-map-key{color:#68705e;text-align:right;font-size:10px}.database-relations{background:#eaf0e5;border-radius:8px;gap:7px;margin:17px 0 10px;padding:14px;display:grid}.database-relations>div{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.database-relations code{color:#354b26;font-size:11px;font-weight:600}.database-relations span{color:#68705e}.database-map-note{margin:0 0 16px;font-size:11px;line-height:1.5}.database-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.database-table{background:#fff;border:1px solid #dce2d6;border-radius:8px;min-width:0;padding:12px}.database-table h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:13px}.database-table>p{color:#68705e;margin:0 0 10px;font-size:11px;line-height:1.45}.database-table dl{margin:0}.database-table dl>div{border-top:1px solid #edf0e8;padding:5px 0}.database-table dt,.database-table dd{overflow-wrap:anywhere;margin:0;font-size:10px;line-height:1.4}.database-table dt{color:#354b26;font-weight:600}.database-table dd{color:#68705e}.database-column-key{color:#526943}.sql-discussion-note{color:#526943;margin:12px 0 22px;font-size:12px}@media (width<=800px){.database-tables{grid-template-columns:1fr}.database-map{padding:14px}.database-map-heading{flex-direction:column;align-items:start}.database-map-key{text-align:left}}.right-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.right-pane .canvas{min-height:0}.screenshot-inbox{background:#eaf0e5;border-bottom:1px solid #cbd4c4;flex:none;padding:10px 32px}.screenshot-heading{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.screenshot-heading strong{color:#354b26;font-size:12px}.screenshot-heading span,.screenshot-inbox p{color:#536743;font-size:11px}.screenshot-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;display:flex}.screenshot-actions input[type=file]{background:0 0;border:0;flex:none;width:190px;padding:0;font-size:11px}.screenshot-actions input[type=file]::file-selector-button{font:inherit;color:#354b26;cursor:pointer;background:#fafbf7;border:1px solid #aeba9f;border-radius:5px;margin-right:8px;padding:5px 8px}.screenshot-actions input:not([type=file]){max-width:300px;padding:7px;font-size:12px}.screenshot-actions img{object-fit:contain;background:#fff;border:1px solid #cbd4c4;width:46px;height:38px}.screenshot-actions button{padding:8px 11px}.screenshot-inbox p{margin:5px 0 0;line-height:1.4}@media (width<=640px){.screenshot-inbox{padding:9px 12px}.screenshot-heading span{font-size:10px}}.sql-pane .lesson{max-width:1100px}.sql-pane .lesson>:not(.database-map){max-width:680px;margin-left:auto;margin-right:auto}.database-map{background:0 0;border:0;margin:28px 0 20px;padding:0}.database-map-heading{max-width:680px;margin:0 auto 12px}.schema-scroll{scrollbar-color:#b2b8a9 transparent;max-width:100%;padding:12px 4px 28px;overflow-x:auto}.schema-scroll:focus-visible{outline-offset:2px;outline:2px solid #82966b}.schema-diagram{background:#f2f0e2;border-radius:14px;grid-template-rows:260px 260px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 4%;min-width:800px;height:580px;padding:20px 2%;display:grid;position:relative}.schema-lines{fill:none;stroke:#898985;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.schema-card{z-index:1;color:#262924;background:#fffdf5;border:1px solid #e4e1d5;border-radius:24px;min-width:0;padding:22px 24px;position:relative;box-shadow:0 12px 24px #3a392d3d}.schema-card-concepts,.schema-card-concept_prereqs,.schema-card-section_roles{background:#c9f6d8;border-color:#f6fff5}.schema-card-concepts{grid-area:1/1;height:180px}.schema-card-concept_prereqs{grid-area:2/1;height:230px}.schema-card-sections{grid-area:1/2}.schema-card-section_roles{grid-area:2/2;height:230px}.schema-card-verb_forms{grid-area:1/3/3/4}.schema-card h3{text-align:center;margin:0 0 25px;font-size:19px;font-weight:600;line-height:1.2}.schema-card dl{margin:0}.schema-card dl>div{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;margin:0 0 9px;display:flex}.schema-card dt,.schema-card dd{margin:0;font-size:15px;line-height:1.28}.schema-card dt{overflow-wrap:anywhere}.schema-card dd{color:#747773;flex:none}.database-map .database-map-note{color:#68705e;max-width:680px;margin:2px auto 0;font-size:11px;line-height:1.5}@media (width<=800px){.database-map{margin:24px 0 16px}.schema-diagram{min-width:800px}.sql-pane .lesson>:not(.database-map){max-width:680px}}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.workspace-tabs{background:#1b1d1f;border-bottom:1px solid #3b403a;flex:none;align-items:stretch;gap:4px;height:48px;padding:6px 12px 0;display:flex}.workspace-tabs button{color:#afb5ad;background:0 0;border-radius:8px 8px 0 0;min-width:96px;padding:8px 16px;font-size:13px;font-weight:500}.workspace-tabs button:hover{color:#fff;background:#303730}.workspace-tabs button[aria-selected=true]{color:#282b24;background:#f6f5f0}.workspace-tabs button:focus-visible{outline-offset:-3px;outline:2px solid #a1b48b}.tab-panel{flex:1;min-height:0}.tab-panel[hidden]{display:none}.terminal-tab{background:#101112}.terminal-tab iframe{border:0;width:100%;height:100%;display:block}.tab-panel .workspace{height:100%}@media (width<=520px){.workspace-tabs{gap:2px;padding-left:5px;padding-right:5px}.workspace-tabs button{flex:1;min-width:0;padding:7px 5px;font-size:12px}}html,body,#root,.app-shell,.terminal-tab{overscroll-behavior-y:none}.terminal-tab iframe,.terminal iframe{touch-action:none}
