/* Visual learning: calm motion, high contrast and generous touch targets. */
.task-visual{margin:4px 0 8px;padding:12px 14px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(130deg,#32c7ec0d,#9876f50d);flex-shrink:0}
.task-visual svg{display:block;width:100%;height:145px;overflow:visible;color:var(--ink)}.task-visual text{fill:currentColor;font-size:13px;font-weight:750}.task-visual figcaption{font-size:12px;line-height:1.45;color:var(--muted);text-align:center}.task-visual small{display:block;font-size:10px;margin-top:5px}.geometry-fill{fill:#39cbcf24}.geometry-outline{stroke:#43c6dd;stroke-width:3;fill-opacity:.6}.geometry-grid{stroke:#43c6dd66;fill:none;stroke-width:1}.visual-axis{stroke:var(--muted);stroke-width:2;fill:none}.visual-curve{stroke:#a58aff;stroke-width:3;fill:none}.visual-tangent{stroke:#40d2d2;stroke-width:3;fill:none}.concept-node{fill:#42badb10;stroke:#43c6dd66;stroke-width:1.5}.trace-outline{stroke-dasharray:12 5;animation:perimeter-trace 8s linear infinite}@keyframes perimeter-trace{to{stroke-dashoffset:-68}}
.task-content:has(.task-visual){justify-content:flex-start}.task-label.retry-label{background:#a987ff18;border:1px solid #ac92f477;color:#bd9bff;padding:10px 12px;border-radius:14px;flex-shrink:0}.task-context{font-size:12px!important;padding:8px 12px;border-left:3px solid #43c6dd;color:var(--muted)}
.review-transition{position:fixed;inset:0;z-index:90;background:var(--bg);display:grid;align-content:center;justify-items:center;padding:28px;gap:16px;text-align:center}.review-transition h1{font-size:30px}.review-transition p{max-width:390px}.review-ride{width:100%;height:200px;position:relative;overflow:hidden}.review-ride .lumi-activity{position:absolute!important;inset:0 auto auto 0!important;width:200px!important;height:200px!important;animation:review-ride 2.4s ease-in-out both;opacity:1!important}@keyframes review-wheel{to{rotate:360deg}}@keyframes review-ride{from{left:-210px}to{left:calc(100% + 10px)}}
.phone-calculator [data-calc]{touch-action:none;user-select:none;transition:background-color .06s,box-shadow .06s!important;transform:none!important;min-height:44px}.phone-calculator [data-calc].key-pressed{background:#3b94bf!important;box-shadow:inset 0 2px 7px #001a3844!important}.phone-calculator .calc-keys{gap:9px}
[data-theme=light] .retry-label{color:#65409d}.lesson-agenda{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--surface);font-size:14px}.lesson-agenda li{margin:8px 0}
@media(prefers-reduced-motion:reduce){.trace-outline,.review-ride .lumi-activity,.review-ride .cycle-crank,.review-ride .cycle-spokes{animation:none!important}.review-ride .lumi-activity{left:calc(50% - 100px)!important}}
html[data-motion=reduced] .trace-outline,html[data-motion=reduced] .review-ride .lumi-activity{animation:none!important}html[data-motion=reduced] .review-ride .lumi-activity{left:calc(50% - 100px)!important}
@media(max-height:700px){.task-visual svg{height:110px}.task-visual{padding:8px}}

.phone-calculator [data-calc]:active{border-bottom-width:4px!important}.phone-calculator .calc-toolbar [data-calc]:active,.phone-calculator .calc-scientific [data-calc]:active{border-bottom-width:3px!important}

@media(max-width:699px) and (max-height:720px){.phone-calculator .calc-scientific{display:grid;grid-template-columns:repeat(8,44px);grid-template-rows:repeat(2,44px);overflow-x:auto;gap:5px;padding-bottom:6px;scrollbar-width:thin}.phone-calculator .calc-scientific button{height:44px;min-height:44px;padding:2px;font-size:13px}.phone-calculator .calc-keys{gap:6px}.phone-calculator .calc-keys button{height:44px;min-height:44px}.phone-calculator[data-scientific=true] .calc-note{display:none}}
@media(min-width:700px) and (max-height:600px){.phone-calculator [data-calc]{height:30px!important;min-height:30px!important}.phone-calculator .calc-keys{gap:6px}}
