:root{--ink:#112d3d;--muted:#62747f;--paper:#f6f7f6;--line:#dfe5e7;--navy:#0b648f;--cyan:#18a6b8;--violet:#7759c2;--positive:#2f9d77;--white:#fff;--warn:#f59e0b;--error:#dc2626;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--navy);text-underline-offset:3px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan)}button{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 16px;color:var(--ink);font-weight:600}button:hover{border-color:var(--navy);background:#f0f6f8}button.primary,.button.primary{background:var(--ink);border-color:var(--ink);color:white}button.primary:hover,.button.primary:hover{background:var(--navy)}button.subtle{background:transparent;border-color:transparent}.button{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:11px 17px;background:white;font-weight:600}.button:hover{border-color:var(--navy)}.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:750;color:var(--navy)}.pill{display:inline-block;font-size:11px;font-weight:650;border:1px solid var(--line);padding:5px 9px;border-radius:5px;background:#f6f8f9;line-height:1.4}.pill.good{color:var(--violet);background:#f2eff9;border-color:#ddd3f4}.pill.active{color:#087386;background:#e9f7f8;border-color:#bce8ec}.pill.warn{color:#805200;background:#fffaeb;border-color:#f8dd9e}.shell{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}aside{background:white;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow-y:auto;padding:30px 18px 20px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);margin:0 10px 14px}.brand-icon{width:37px;height:40px;background:var(--ink);color:#b1e6ec;display:grid;place-items:center;font-family:monospace;font-size:19px;border-radius:9px}.brand strong{font-size:19px;letter-spacing:-.5px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:3px;letter-spacing:.08em}.nav-main{display:grid;gap:4px}.nav-main a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;padding:11px 13px;border-radius:7px;display:flex;align-items:center;gap:12px}.nav-main a.current{background:#eaf4f7;color:var(--navy)}.nav-heading{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin:0 12px 10px}.course-nav{border-top:1px solid var(--line);padding-top:17px}.course-nav>a{display:flex;justify-content:space-between;text-decoration:none;color:var(--ink);padding:0 12px 10px;font-size:13px;font-weight:700}.lesson-link{display:flex;gap:10px;padding:9px 9px 9px 12px;border-radius:7px;text-decoration:none;color:var(--muted);font-size:12px;line-height:1.5;margin:2px 0}.lesson-link .num{font-family:monospace;font-size:11px;opacity:.75;min-width:18px;padding-top:1px}.lesson-link.current{background:#eaf7f8;color:#087386;font-weight:650;border-left:3px solid var(--cyan);padding-left:9px}.lesson-link .check{color:var(--violet);margin-left:auto}.exam-link{font-size:12px!important;color:var(--navy)!important;display:block!important;margin:10px 0 0!important;font-weight:600!important}.side-footer{margin-top:auto;padding:15px 12px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}.side-footer strong{display:block;color:var(--ink);font-size:12px}.workspace{min-width:0}header{height:78px;background:#ffffffc9;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 42px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb b{color:var(--ink);font-weight:600}.header-actions{display:flex;gap:10px;align-items:center}.header-actions .local-dot{width:7px;height:7px;background:var(--positive);border-radius:50%;display:inline-block;margin-right:6px}.menu-button{display:none}main{max-width:1300px;margin:auto;padding:38px 42px 64px;min-width:0}h1,h2,h3,h4{line-height:1.18;margin-top:0}h1{font-size:36px;letter-spacing:-1.3px;font-weight:680}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:18px;letter-spacing:-.3px}p{line-height:1.8;margin:0 0 16px}ul,ol{line-height:1.9;padding-left:22px}.flex{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.gap-top{margin-top:26px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;align-items:center;padding:24px 0 38px}.hero h1{font-size:clamp(34px,3.7vw,55px);line-height:1.14;letter-spacing:-2px;margin:18px 0 21px}.hero h1 em{font-style:normal;color:var(--navy)}.hero p{color:var(--muted);font-size:14px;max-width:430px}.hero .button{font-size:13px}.hero-art{border:1px solid #cfdce1;border-radius:13px;background:white;box-shadow:0 18px 36px #1633440a;overflow:hidden;transform:rotate(-1deg)}.art-head{background:#eef3f5;border-bottom:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.dots{letter-spacing:5px;color:#b2c4cb}.hero-art pre{margin:0;padding:22px;font-size:12px;line-height:1.9;background:var(--ink);color:#dbe7ef}.hero-art pre .sql-key{color:#8bdae3}.art-table{padding:15px 20px;font-size:11px}.art-table table{width:100%;border-collapse:collapse}.art-table td,.art-table th{padding:9px;text-align:left;border-bottom:1px solid #edf1f3}.art-table th{color:var(--muted);font-size:10px;font-weight:550}.art-table small{display:block;color:var(--muted);font-size:10px;margin-top:10px}.stats{border:1px solid var(--line);background:white;border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 38px;padding:22px 0}.stat{padding:0 26px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:26px;display:block;letter-spacing:-.8px}.stat span{font-size:11px;color:var(--muted);display:block;margin-top:4px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 0 20px}.section-head h2{margin:0}.section-head p{margin:7px 0 0;font-size:12px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.course-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.course-cover{height:128px;padding:24px;background:#e7f0f4;display:flex;justify-content:space-between;align-items:center;color:var(--navy);position:relative;overflow:hidden}.course-cover.advanced{background:#edf0f8;color:#596b9c}.course-cover .course-num{font-size:61px;letter-spacing:-4px;font-weight:300;opacity:.5}.course-cover .code-symbol{font-size:46px;letter-spacing:-4px;font-family:monospace;opacity:.4}.course-card-content{padding:24px}.course-card h3{font-size:23px;margin:10px 0 9px}.course-card p{font-size:13px;color:var(--muted);min-height:68px}.meta{font-size:11px;color:var(--muted)}.course-card .button{font-size:12px;padding:10px 14px}.progress-track{height:4px;background:#e9edf1;border-radius:4px;overflow:hidden;margin:14px 0}.progress-track>span{display:block;background:var(--violet);height:100%}.progress-label{font-size:11px;color:var(--muted)}.notice{border:1px solid #d3e4e9;border-left:3px solid var(--navy);border-radius:8px;padding:16px 20px;background:#eef5f7;font-size:12px;line-height:1.8}.notice p:last-child{margin:0}.notice.warning{background:#fffbf0;border-color:#f0ddac}.notice .eyebrow{display:block;margin-bottom:6px}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:20px 0}.workflow div{border-top:2px solid var(--line);padding:16px 0}.workflow strong{font-size:13px;display:block}.workflow p{font-size:12px;color:var(--muted);margin:8px 0 0}.page-heading{display:flex;gap:24px;justify-content:space-between;align-items:start;margin:12px 0 28px}.page-heading h1{margin:12px 0 14px}.page-heading p{max-width:690px;color:var(--muted);font-size:14px;margin:0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:26px 0}.tabs a,.tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:14px 2px;border-radius:0;text-decoration:none;font-size:13px;white-space:nowrap}.tabs .current{color:var(--navy);border-bottom-color:var(--cyan);font-weight:700}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px}.article{background:white;border:1px solid var(--line);border-radius:10px;padding:30px 32px;min-width:0}.article h2{font-size:21px;scroll-margin-top:24px}.article section{padding-top:26px;margin-top:26px;border-top:1px solid var(--line)}.article section:first-child{margin-top:0;padding-top:0;border:0}.article p,.article li{font-size:14px;line-height:1.95}.article p{white-space:pre-line}.article .objectives{background:#f1f6f8;padding:21px;border-radius:8px;margin-bottom:32px}.objectives h2{font-size:15px}.objectives ul{margin-bottom:0}.toc{position:sticky;top:24px;align-self:start;font-size:12px}.toc a{display:block;padding:7px 0;color:var(--muted);text-decoration:none;line-height:1.5}.toc a:hover{color:var(--navy)}.toc h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.source-box{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:11px;line-height:1.8}.source-box a{display:block}.code-wrap{border:1px solid #d9e3e8;border-radius:8px;overflow:hidden;margin:18px 0;background:#102c3c}.code-top{padding:10px 14px;background:#183646;color:#a7c3d0;font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.code-top button{font-size:10px;padding:3px 8px;background:transparent;color:white;border-color:#486273}.code-wrap pre{margin:0;padding:18px;overflow:auto;color:#deebf1;font-size:12px;line-height:1.85;tab-size:2;white-space:pre}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.lesson-bottom label{font-size:13px;line-height:1.8;display:flex;gap:10px;align-items:start}.lesson-bottom input{margin-top:6px}.lesson-pagination{display:flex;justify-content:space-between;gap:15px;margin-top:25px;font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}.lesson-list{display:grid;gap:12px}.lesson-row{display:flex;align-items:center;gap:22px;background:white;border:1px solid var(--line);border-radius:9px;padding:20px;text-decoration:none;color:var(--ink)}.lesson-row:hover{border-color:var(--navy)}.lesson-row .row-number{color:var(--navy);font-family:monospace;font-size:23px;font-weight:300}.lesson-row h3{font-size:15px;margin:0 0 7px}.lesson-row p{font-size:12px;color:var(--muted);margin:0}.lesson-row .row-state{margin-left:auto;white-space:nowrap}.slide-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0}.slide{background:var(--ink);color:white;border-radius:12px;min-height:500px;padding:46px 48px;display:flex;flex-direction:column;box-shadow:0 8px 24px #122c3d0d}.slide .eyebrow{color:#88d5df}.slide h2{font-size:33px;letter-spacing:-.8px;max-width:900px;line-height:1.25;margin:22px 0}.slide ul{font-size:18px;line-height:1.8;padding-left:24px;max-width:960px;margin:0}.slide li{padding-left:8px;margin-bottom:9px}.slide .code-wrap{margin-bottom:0;border-color:#466374}.slide .code-wrap pre{font-size:13px;max-height:300px}.slide-footer{font-size:10px;display:flex;justify-content:space-between;color:#9ab6c2;margin-top:auto;padding-top:25px}.slide-notes{font-size:13px;margin:20px 0;white-space:pre-line}.slide-thumbs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.slide-thumbs button{padding:7px 11px;font-size:11px}.slide-thumbs button.current{background:#e9f7f8;border-color:var(--cyan);color:#087386}#slide-stage:fullscreen{background:#0e2331;padding:30px;overflow:auto}#slide-stage:fullscreen .slide{min-height:80vh;max-width:1300px;margin:auto}.practice-top{display:flex;justify-content:space-between;align-items:center;margin:20px 0;gap:15px}.practice-top select{min-width:0;max-width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:white;font-size:13px}.practice-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.5fr);gap:20px}.task-panel h2{font-size:19px;margin:12px 0}.task-panel p{font-size:13px;line-height:1.9}.task-panel details{font-size:12px;border-top:1px solid var(--line);padding:14px 0}.task-panel summary{cursor:pointer;font-weight:650;line-height:1.7}.task-panel details p{font-size:12px;margin-top:12px}.editor-panel{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;min-width:0}.editor-head{padding:12px 17px;background:#193747;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b0cedb}.editor{display:block;width:100%;min-height:275px;resize:vertical;background:#102c3c;color:#e0ecf2;border:0;padding:22px;font:13px/1.9 Consolas,"SFMono-Regular",monospace;tab-size:2;border-radius:0}.editor-actions{display:flex;gap:8px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.editor-actions button{font-size:12px}.shortcut{margin-left:auto;font-size:10px;color:var(--muted)}.result{padding:18px;min-height:130px}.result p{font-size:12px;margin-bottom:10px}.status{font-size:12px;line-height:1.8;padding:12px;border-radius:6px;background:#eef5f7;border:1px solid #d7e6ec;overflow-wrap:anywhere;white-space:pre-wrap}.status.good{color:#5e419f;background:#f3effb;border-color:#ded2f6}.status.bad{color:#9e1f26;background:#fff1f1;border-color:#f2d1d1}.result-table-wrap{overflow:auto;max-height:390px;margin-top:12px}.result table,.report-table{border-collapse:collapse;font-size:11px;width:100%}.result th,.result td,.report-table th,.report-table td{border-bottom:1px solid var(--line);padding:11px;text-align:left;white-space:nowrap}.result th,.report-table th{background:#f1f5f7;color:var(--muted);font-weight:650;position:sticky;top:0}.result td.null{font-style:italic;color:var(--muted)}.result-meta{font-size:10px;color:var(--muted);margin-top:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.result-meta button{font-size:10px;padding:5px 9px}.dictionary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.dictionary article{border:1px solid var(--line);background:white;border-radius:8px;padding:15px;min-width:0}.dictionary h3{font-family:monospace;font-size:14px;margin:0 0 9px}.dictionary p{font-size:11px;color:var(--muted);margin:0 0 8px}.dictionary code{font-size:10px;display:block;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.dictionary button{font-size:10px;padding:5px 9px;margin-top:10px}.source-activity{margin:16px 0}.source-activity h3{font-size:17px;margin:12px 0}.source-activity p{font-size:13px}.source-activity summary{font-size:12px;cursor:pointer;font-weight:650}.source-activity label{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:20px}.quiz-intro{margin:0 0 22px}.quiz-grid{display:grid;gap:16px}.question{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;min-width:0}.question fieldset{margin:0;padding:0;border:0;min-width:0}.question legend{font-weight:650;font-size:15px;line-height:1.7;padding:0;margin-bottom:15px}.question label{display:flex;gap:12px;align-items:start;border:1px solid var(--line);border-radius:7px;margin:8px 0;padding:12px;font-size:13px;line-height:1.6;cursor:pointer}.question input{accent-color:var(--navy);flex-shrink:0;margin-top:4px}.question label:has(input:checked){border-color:var(--cyan);background:#edf9fa}.question label.answer-correct{border-color:var(--violet);background:#f4f0fb}.question .explanation{font-size:12px;line-height:1.8;margin-top:16px;padding:12px;background:#f3f6f8;border-radius:6px}.score-box{display:flex;align-items:center;gap:24px;border:1px solid #d8ccf1;background:#f3effa;padding:25px;border-radius:10px;margin:20px 0}.score-box strong{font-size:36px;font-weight:600;color:var(--violet);white-space:nowrap}.score-box h3{font-size:17px;margin:0 0 7px}.score-box p{font-size:12px;margin:0}.exam-timer{position:sticky;top:0;background:#eef5f7;border:1px solid #d3e1e8;border-radius:8px;padding:14px 20px;z-index:4;display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px}.exam-timer b{font-variant-numeric:tabular-nums;font-size:19px}.exam-lab{margin-top:18px}.exam-lab h3{font-size:17px}.exam-lab p{font-size:13px}.exam-lab .editor{min-height:200px}.exam-warning{border:1px solid #f4db9d;background:#fffaeb;color:#815600;border-radius:8px;padding:14px;font-size:12px;margin:15px 0}.exam-actions{margin:24px 0;display:flex;gap:12px;flex-wrap:wrap}.checklist{list-style:none;padding:0;margin:18px 0}.checklist li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.progress-card{padding:25px;border:1px solid var(--line);background:white;border-radius:9px}.progress-card strong{font-size:30px;color:var(--navy)}.progress-card p{font-size:12px;color:var(--muted);margin:7px 0 0}.report-table a{color:var(--ink)}.report-table td{font-size:12px}.export-box{display:flex;gap:12px;flex-wrap:wrap}.source-list li{font-size:13px;margin-bottom:12px;line-height:1.8}.source-list small{display:block;color:var(--muted)}.source-list a{overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:45px;line-height:1.7}.footer a{color:var(--muted)}.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:white;padding:14px 20px;border-radius:8px;font-size:12px;box-shadow:0 8px 26px #0003;z-index:50;max-width:min(420px,calc(100vw - 40px))}.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{position:fixed;top:-80px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.loading{padding:80px}.mobile-shade{display:none}.empty-state{font-size:13px;padding:30px;background:#f1f5f7;border:1px dashed var(--line);border-radius:8px}.print-slides{display:none}.print-mode .print-slides{display:block}.print-mode .shell{display:none}
@media(min-width:1500px){main{padding-top:48px}.hero{gap:60px;padding-bottom:48px}.hero-art{max-width:500px;justify-self:end}.hero h1{font-size:56px}.course-cover{height:145px}}
@media(max-width:1150px){.shell{grid-template-columns:225px minmax(0,1fr)}aside{padding:25px 12px}main{padding:30px 25px 50px}header{padding:0 25px}.hero{gap:22px}.hero h1{font-size:39px}.hero-art pre{font-size:10px}.lesson-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}.practice-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr)}.article{padding:24px}.slide{padding:32px}.slide h2{font-size:28px}.slide ul{font-size:16px}.stat{padding:0 18px}.shortcut{display:none}}
@media(max-width:850px){.shell{grid-template-columns:1fr}aside{position:fixed;width:270px;left:0;z-index:20;transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 25px #0002}.menu-open aside{transform:translateX(0)}.menu-open .mobile-shade{display:block;position:fixed;inset:0;background:#112d3d66;z-index:19}.menu-button{display:inline-block;padding:7px 11px}.breadcrumb{flex:1}.header-actions .small{display:none}header{height:65px;padding:0 20px}main{padding:28px 22px}.hero{padding-top:0}.hero h1{font-size:40px}.hero-art{transform:none}.practice-grid{grid-template-columns:1fr}.task-panel details{display:block}.page-heading{gap:12px}.page-heading h1{font-size:29px}.tabs{gap:20px;overflow-x:auto}.slide ul{font-size:16px}.slide{min-height:430px}.slide-toolbar{flex-wrap:wrap}.page-heading .meta{max-width:100px;text-align:right}.question{padding:18px}.two-col{grid-template-columns:1fr}.workflow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){main{padding:24px 16px 40px}header{padding:0 16px}.header-actions button{font-size:11px;padding:7px 10px}.hero{grid-template-columns:1fr;gap:24px}.hero h1{font-size:40px}.hero p{font-size:13px}.hero-art{display:none}.stats{padding:18px 0;margin-bottom:28px;grid-template-columns:repeat(2,1fr);gap:19px}.stat:nth-child(2){border:0}.stat strong{font-size:24px}.stat span{font-size:10px}.course-grid{grid-template-columns:1fr}.course-cover{height:110px}.course-card-content{padding:22px}.course-card p{min-height:0}.section-head{align-items:start}.section-head h2{font-size:21px}.section-head>.meta{display:none}.page-heading{display:block;margin-bottom:18px}.page-heading .meta{max-width:none;text-align:left;margin-top:12px}.page-heading h1{font-size:29px}.page-heading p{font-size:13px}.tabs{gap:22px;margin:20px 0}.tabs a,.tabs button{font-size:12px}.article{padding:21px 18px}.article h2{font-size:19px}.article p,.article li{font-size:13px}.code-wrap pre{font-size:11px;padding:14px}.code-top{font-size:9px}.lesson-bottom{display:block}.lesson-bottom .button{margin-top:14px}.slide{padding:27px 22px;min-height:430px}.slide h2{font-size:25px}.slide ul{font-size:14px}.slide-footer{font-size:9px}.slide-toolbar button{font-size:11px;padding:8px 11px}.slide-toolbar .meta{font-size:10px}.dictionary{grid-template-columns:1fr}.practice-top{display:block}.practice-top select{width:100%;margin-top:12px}.editor{padding:16px;font-size:12px}.editor-actions{padding:11px;gap:6px}.editor-actions button{padding:8px 10px;font-size:11px}.score-box{padding:20px;gap:15px}.score-box strong{font-size:30px}.progress-grid{grid-template-columns:1fr}.lesson-row{padding:16px;gap:13px}.lesson-row .row-state{font-size:10px}.lesson-row h3{font-size:13px}.lesson-row p{font-size:11px}.lesson-row .row-number{font-size:20px}.report-table-wrap{overflow:auto}.footer{display:block}.footer span{display:block;margin-bottom:5px}.exam-timer{padding:12px}.exam-timer button{font-size:10px;padding:7px}.question legend{font-size:14px}.question label{font-size:12px}.panel{padding:20px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:white}.shell,.toast,.skip{display:none!important}.print-slides{display:block!important}.print-slide{page-break-after:always;break-after:page;min-height:175mm;padding:10mm;color:#112d3d}.print-slide:last-child{page-break-after:auto}.print-slide h2{font-size:28pt}.print-slide li{font-size:14pt;line-height:1.7}.print-slide pre{font-size:10pt;white-space:pre-wrap;border:1px solid #ccc;padding:12px}.print-slide small{font-size:9pt}.print-slide .eyebrow{font-size:10pt}.print-slide p{font-size:11pt}}
.confirm-dialog{max-width:min(480px,calc(100vw - 32px));border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--ink);box-shadow:0 20px 70px #0003}.confirm-dialog::backdrop{background:#112d3d80}.confirm-dialog h2{font-size:21px}.confirm-dialog p{font-size:14px;margin:18px 0 25px}.confirm-dialog .flex{justify-content:flex-end}
.setup-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.setup-jumps a{display:block;border:1px solid var(--line);background:white;border-radius:7px;padding:12px;font-size:12px;text-decoration:none;line-height:1.6}.setup-jumps a:hover{border-color:var(--navy)}.setup-step{margin:20px 0;scroll-margin-top:20px}.setup-step h2{margin:11px 0 17px;font-size:23px}.setup-step p,.setup-step li{font-size:14px;line-height:1.9}.setup-step li{margin-bottom:12px}.setup-step code,.setup-faq code{overflow-wrap:anywhere}.setup-step .code-wrap code{overflow-wrap:normal}.setup-faq details{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.setup-faq summary{font-weight:650;cursor:pointer;line-height:1.8}.setup-faq p{margin:14px 0 0}.setup-notice{margin-bottom:26px}.setup-notice p{margin:8px 0 14px}.engine-comparison{min-width:650px}.engine-comparison td{white-space:normal;line-height:1.8;vertical-align:top}.engine-comparison th[scope=row]{position:static;background:transparent;color:var(--ink)}@media(max-width:850px){.setup-jumps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.setup-step p,.setup-step li{font-size:13px}.setup-step h2{font-size:20px}.setup-jumps a{font-size:11px}}
