:root{--ink:#203a3e;--muted:#586e70;--paper:#f4f3ec;--green:#086d5b;--blue:#2860bd;--orange:#ab4b17;--border:#d4dfd8;--soft:#e8f1eb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,sans-serif}header,main,footer{max-width:1240px;margin:auto;padding:24px 32px}.top,.lessonbar{display:flex;justify-content:space-between;gap:14px;align-items:center}.top{font-size:13px}.top a{font-size:19px;font-weight:750;color:var(--ink);text-decoration:none}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:35px 0 14px}h1{font-size:clamp(36px,5vw,64px);line-height:1.04;letter-spacing:-.045em;margin:0 0 20px}h2{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}h3{font-size:20px;margin:12px 0}.lead{font-size:20px;color:var(--muted);max-width:700px}p{margin:10px 0 18px}nav,.row,.choices,.tools{display:flex;gap:9px;flex-wrap:wrap}nav{margin-top:28px}button,input,select{font:inherit}button,select{min-height:46px}button{padding:10px 15px;background:white;border:1px solid var(--border);border-radius:11px;font-weight:650;color:var(--ink);cursor:pointer}button:hover{background:var(--soft);border-color:var(--green)}button[aria-current],button[aria-pressed=true],button.active,.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,svg:focus-visible{outline:3px solid #b86618;outline-offset:3px}a{color:var(--green)}main{padding-top:0}.lessonbar{border-top:1px solid var(--border);padding:16px 0 22px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:22px;align-items:start}.card{border:1px solid var(--border);background:#fff;border-radius:22px;padding:24px}.visual{padding:10px 12px 22px;overflow:hidden}.canvas3d{height:400px;position:relative;background:linear-gradient(#f9fbf7,#edf3ec);border-radius:15px;overflow:hidden}.canvas3d canvas{display:block;width:100%;height:100%;touch-action:none}.badge{font-size:12px;font-weight:750;color:var(--green);display:block;letter-spacing:.06em;margin:0 0 12px}.note,small{font-size:14px;color:var(--muted)}.controls{padding:12px}.controls label{display:block;font-size:14px;font-weight:650;margin:12px 0 4px}input[type=range]{width:100%;min-height:38px;accent-color:var(--green)}select{width:100%;padding:9px;background:white;border:1px solid var(--border);border-radius:10px;color:var(--ink)}.num{width:140px;max-width:100%;min-height:46px;border:1px solid #8ea39a;border-radius:10px;padding:10px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.feedback{margin:16px 0 0;border-left:4px solid var(--green);padding:14px;background:var(--soft);border-radius:9px}.feedback:empty{display:none}.feedback.warn{border-color:var(--orange);background:#fff2e8}.formula{font:21px/1.6 Georgia,serif;background:#f5f6f1;border-radius:10px;padding:14px;margin:14px 0;overflow-wrap:anywhere}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.facts>div{padding:12px;border:1px solid var(--border);border-radius:10px;font-size:13px}.facts b{display:block;font-size:24px}.drawing{width:100%;height:auto;display:block;touch-action:pan-y}.drawing.interactive{touch-action:none;cursor:crosshair}svg text{font-family:system-ui,sans-serif;fill:var(--ink)}.tools{margin:12px 0}.steps{border-top:1px solid var(--border);margin-top:20px;padding-top:15px}.stepdone{font-size:14px;margin:8px 0;color:var(--green)}.stepdone:before{content:'✓ ';font-weight:750}.taskquestion{font-size:21px;line-height:1.45;font-weight:650}.choices{margin:15px 0}.choices button{flex:1 1 130px}.quizcard{max-width:830px;margin:auto}.options{display:grid;gap:10px;margin:18px 0}.options button{text-align:left}.track{height:5px;background:#dde5df;border-radius:8px;margin:12px 0 24px}.track span{display:block;height:100%;background:var(--green)}.review{border-top:1px solid var(--border);padding:16px 0}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;padding:8px}.legend span::before{content:'';display:inline-block;width:15px;height:4px;margin:0 5px 3px 0;background:var(--blue)}.legend .sin::before{background:var(--orange)}.legend .cos::before{background:var(--green)}.zonebuttons{display:flex;gap:8px;margin:12px 0}.zonebuttons button{flex:1;font-size:14px;padding:8px}.boundary{display:flex;flex-wrap:wrap;gap:8px}.boundary button{font-size:14px}.testpoint{font-size:15px;min-height:56px}.quiz-controls{display:flex;gap:8px;flex-wrap:wrap}.skip{position:absolute;left:20px;top:-80px}.skip:focus{top:5px;background:white;padding:10px;z-index:20}footer{font-size:13px;color:var(--muted);border-top:1px solid var(--border);margin-top:28px}[hidden]{display:none!important}details{border-top:1px solid var(--border);margin-top:22px;padding-top:12px}summary{cursor:pointer;min-height:42px;font-weight:650}.quiet{background:transparent}.pill{font-size:12px;background:var(--soft);padding:4px 9px;border-radius:20px}.pointcontrols button{min-width:48px}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--border);padding:8px;text-align:left}th{font-weight:600}.quizgraph{max-height:180px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:780px){header,main,footer{padding:18px 16px}.grid{grid-template-columns:1fr}.card{padding:18px}.visual{padding:6px}.canvas3d{height:340px}nav button{flex:1 1 44%;font-size:14px}.lessonbar{align-items:flex-start;flex-direction:column}.top{align-items:flex-start}.top span{max-width:130px;text-align:right}h2{font-size:25px}.lead{font-size:18px}.controls{padding:10px}.zonebuttons{flex-wrap:wrap}.facts b{font-size:21px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mobile-task{display:none}@media(max-width:780px){.mobile-task{display:block;background:#e8f1eb;border-left:4px solid #086d5b;border-radius:10px;padding:14px;margin:0 0 16px;font-size:16px}.mobile-task strong{display:block;margin-bottom:6px}#numberLine text{font-size:26px}}
