:root{color-scheme:light;--paper:#f7f4ed;--white:#fffdf9;--ink:#23342b;--green:#24543f;--soft:#e4ece5;--line:#dcd9cf;--muted:#737e73;--gold:#b78743}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--green);padding:10px 18px;cursor:pointer;font-weight:650}button:hover{border-color:var(--green);background:#edf2ec}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #a7c7ad;outline-offset:3px}button.primary{background:var(--green);color:white;border-color:var(--green)}a{color:var(--green)}h1,h2,h3{font-family:Georgia,serif;line-height:1.2;font-weight:500}h1{font-size:clamp(32px,4vw,54px);margin:12px 0 20px}h2{font-size:32px}h3{font-size:23px}.site-header{height:96px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:13px;font:700 28px Georgia,serif;text-decoration:none}.brand img{width:43px;height:48px;object-fit:contain}.site-header nav{display:flex;gap:30px}.site-header nav a{text-decoration:none;font-weight:600}.pill{font-size:13px;background:var(--soft);padding:7px 15px;border-radius:30px;font-weight:700}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:750;color:var(--green)}.home{max-width:1120px;margin:64px auto;padding:0 28px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.hero p{color:var(--muted)}.hero-art{border-radius:50%;background:#e5ece1;height:230px;width:230px;display:grid;place-items:center;margin:auto;transform:rotate(-6deg);font:italic 58px Georgia;color:var(--green);box-shadow:24px 20px 0 #eee8d5}.request-card,.history-card,.error-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px}.request-card{margin:32px 0 45px}.request-row{display:flex;gap:14px;align-items:end}.request-card label{display:block;font-size:14px;font-weight:650}.request-card textarea{width:100%;resize:vertical;min-height:105px;margin:10px 0 16px}.request-card select{padding:10px}.request-row button{margin-left:auto}textarea,input,select{border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:13px;outline-color:#8eb09b}textarea{width:100%;resize:vertical}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:35px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}.history-card h3{margin:14px 0 8px}.history-card p,.small{font-size:14px;color:var(--muted)}.history-card button{margin-top:12px}.choices{display:grid;gap:10px;margin-top:15px}.choices button{text-align:left}.choices small{display:block;font-weight:400}.lesson-bar{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:17px 3%;border-bottom:1px solid var(--line)}.lesson-bar h2{font-size:22px;margin:0}.lesson-shell{display:grid;grid-template-columns:245px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 175px)}.outline{border-right:1px solid var(--line);padding:24px 16px;overflow:auto;max-height:calc(100vh - 176px);position:sticky;top:0}.outline button{display:block;text-align:left;width:100%;border:0;background:transparent;font-size:13px;padding:11px;margin:3px 0;font-weight:500}.outline button.selected{background:var(--soft);color:var(--green);font-weight:750}.outline .dot{display:inline-block;margin-right:8px}.lesson-main{padding:28px clamp(18px,4vw,68px);max-width:1150px;width:100%;margin:auto}.slide{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,52px);min-height:350px;box-shadow:0 12px 45px #23342b06}.slide h1{font-size:36px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.prose p{margin:0 0 14px}.objectives{list-style:none;padding:0}.objectives li{padding:10px 0;border-bottom:1px solid var(--line)}.objectives li:before{content:'○';color:#699274;margin-right:14px}.lesson-visual{margin:24px 0}.lesson-visual svg{width:100%;max-height:340px}.lesson-visual figcaption{color:var(--muted);font-size:14px;margin-top:12px}.lesson-visual table,table{width:100%;border-collapse:collapse}td,th{border:1px solid var(--line);padding:10px;text-align:left}.lesson-role-target{color:#be8a40}.diagram-pointed{filter:drop-shadow(0 0 5px #bd914e);stroke-width:4!important}.demo-controls{background:var(--soft);padding:18px;border-radius:12px;margin:20px 0}.demo-controls input{width:100%}.response-box{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.response-box textarea{min-height:110px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.feedback{background:#edf2eb;padding:24px;border-radius:16px;margin-top:20px}.feedback ol{padding-left:23px}.feedback li{margin:12px 0}.correction{padding:14px 0;border-top:1px solid #c9d6cb}.solution{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:12px}.page-navigation{display:flex;justify-content:space-between;gap:12px;margin:25px 0}.voice-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.voice-light{width:9px;height:9px;border-radius:50%;background:#9aa396}.voice-light.connected{background:#489e68;box-shadow:0 0 0 5px #489e681b}.camera{margin-top:15px;max-width:540px}.camera video{width:100%;max-height:340px;background:#1c2720;border-radius:12px}.work-image{max-height:190px;max-width:100%;border-radius:8px;border:1px solid var(--line)}.question-label{color:var(--green);font-weight:650}.tutor-question{display:flex;gap:10px;margin:24px 0}.tutor-question input{flex:1;min-width:0}.preparing{max-width:510px;margin:70px auto;padding:36px;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:26px}.owl{font-size:64px;animation:bob 2s ease-in-out infinite}.preparing ol{text-align:left;list-style:none;padding:0}.preparing li{padding:13px 10px;border-bottom:1px dashed var(--line);color:var(--muted)}.preparing li.current{color:var(--green);font-weight:700}.preparing li:before{content:'○';margin-right:15px}.preparing li.current:before{content:'◉'}.loading{padding:60px;text-align:center}.empty{color:var(--muted);padding:15px 0}.review{max-width:920px;margin:35px auto;padding:0 24px}.review-page{padding:32px 0;border-bottom:1px solid var(--line);break-inside:auto}.review-tools{display:flex;gap:12px;flex-wrap:wrap}.review .lesson-visual svg{max-height:400px}.error-card{margin:20px 0}.error-grid{display:grid;grid-template-columns:180px 1fr;gap:24px}.error-grid img{width:100%;height:auto}.text-button{border:0;background:transparent;padding:8px 0;text-decoration:underline}#course-status:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#253e30;color:white;border-radius:12px;max-width:90%;z-index:20;box-shadow:0 6px 24px #0002}dialog{border:1px solid var(--line);border-radius:22px;padding:36px;max-width:580px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1a2c2266;backdrop-filter:blur(5px)}.dialog-actions{display:grid;gap:12px;margin:25px 0}.shake{animation:shake .35s ease-in-out}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@keyframes bob{50%{transform:translateY(-9px) rotate(5deg)}}@media(max-width:800px){.site-header{height:78px}.brand{font-size:22px}.site-header nav{display:none}.hero{display:block}.hero-art{display:none}.home{margin-top:35px}.lesson-shell{display:block}.outline{position:static;max-height:190px;border-right:0;border-bottom:1px solid var(--line)}.outline[hidden]{display:none}.lesson-main{padding:18px}.lesson-bar{flex-wrap:wrap}.slide h1{font-size:29px}.request-row{flex-wrap:wrap}.error-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media print{body{background:white;color:#111}.site-header,.review-tools,#course-status,dialog,button{display:none!important}.review{max-width:none;margin:0;padding:0}.review-page{padding:15px 0}.review-page h2{break-after:avoid}.lesson-visual,table,.solution{break-inside:avoid}.lesson-visual svg{max-height:280px}.review:not(.include-personal) .private-note{display:none}.katex{font-size:1em}@page{size:A4;margin:16mm}}

#page-visual{position:relative}.teacher-pointer{position:absolute;color:#aa7532;font-size:32px;line-height:1;filter:drop-shadow(0 2px 2px #fff);transition:left .25s,top .25s;pointer-events:none}.teacher-caption{color:var(--muted);font-size:14px;border-left:3px solid var(--soft);padding-left:14px}.teacher-caption:empty{display:none}.final-checklist{padding:18px 18px 18px 38px;background:var(--soft);border-radius:12px;font-size:14px}.final-checklist .current{font-weight:700;color:var(--green)}.teaching-notes{margin:18px 0}.teaching-notes summary{font-weight:600;color:var(--green)}.choices{max-height:380px;overflow:auto}.lesson-shell:has(.outline[hidden]){grid-template-columns:1fr}.preparing li.current{background:#e4ece544;border-radius:9px}.preparing li.current:before{display:inline-block;animation:bob 1.5s ease-in-out infinite}
.course-math-label{overflow:visible;font-size:16px;color:var(--ink)}.course-math-label>div{display:inline-block;line-height:1.3;background:#fffdf8d9;border-radius:3px;padding:1px 3px}.course-math-label .katex{font-size:1em}

.camera-practice{max-width:none}.camera-practice video{max-height:520px;object-fit:contain}.camera-practice .small{margin:6px 0 0}
