.geometry-shell{gap:.875rem;min-width:0;display:grid;position:relative}.geometry-visual,.geometry-board-canvas{aspect-ratio:4/3;width:100%;min-height:19rem;position:relative}.geometry-visual{background-color:#fbfaf5;background-image:linear-gradient(#1f56440e 1px,#0000 1px),linear-gradient(90deg,#1f56440e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #c9c8bd;border-radius:14px;overflow:hidden}.geometry-board-canvas{touch-action:none;background:0 0;border:0}.geometry-object-controls{flex-wrap:wrap;gap:.5rem;display:flex}.geometry-object-button,.movement-controls button{color:#23312a;background:#fbfaf5;border:1px solid #b7b9ae;border-radius:10px;min-height:44px;font-size:.875rem;font-weight:700;transition:transform .14s cubic-bezier(.23,1,.32,1),border-color .14s,background-color .14s}.geometry-object-button[aria-pressed=true]{color:#f9faf6;background:#1f5644;border-color:#1f5644}.geometry-object-button:active,.movement-controls button:active{transform:scale(.97)}.movement-controls{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.geometry-shell:focus-within .movement-controls,.movement-controls:focus-within{clip:auto;white-space:normal;border:1px solid #d3d2c8;border-radius:12px;gap:.5rem;width:auto;height:auto;margin:0;padding:.75rem;display:flex;position:static;overflow:visible}.movement-controls legend{color:#55635c;padding:0 .35rem;font-size:.8rem;font-weight:700}.movement-controls button{padding:.5rem .75rem}.figure-description{color:#56625c;font-size:.875rem;line-height:1.5}.figure-description p{margin:0}.figure-description p+p{margin-top:.35rem}.given-description strong{color:#1f5644}.geometry-technical-note{color:#36443d;background:#ecefe9;border-left:3px solid #1f5644;margin:0;padding:.75rem;font-size:.875rem;display:none}.geometry-shell:has(.geometry-board-canvas[data-unavailable=true]) .geometry-technical-note{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=47.99rem){.geometry-visual,.geometry-board-canvas{aspect-ratio:1;min-height:16rem}.geometry-object-controls{grid-template-columns:1fr;display:grid}}@media (prefers-reduced-motion:reduce){.geometry-object-button,.movement-controls button{transition:none}}:root{--ink:#17231d;--muted:#58645e;--paper:#f6f6f0;--surface:#fcfcf8;--line:#cfd2c8;--accent:#1f5644;--accent-strong:#164333;--soft-accent:#e5eee8;--danger:#8e372b;--given:#315f9b;--given-soft:#eaf1fb;--relation:#684a9f;--relation-soft:#f1ecfa;--hint:#7a5200;--hint-soft:#fff3cf;--valid:#1f6a4a;--valid-soft:#e5f2e9;--invalid:#963f34;--invalid-soft:#faece8;--recheck:var(--invalid);--recheck-soft:var(--invalid-soft);--ease-out:cubic-bezier(.23, 1, .32, 1)}.study-shell{width:min(100%,96rem);min-height:100dvh;color:var(--ink);margin:0 auto;padding:clamp(1rem,2.5vw,2.25rem)}.study-header,.course-identity,.study-context,.study-action-bar,.pane-heading{align-items:center;display:flex}.study-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;min-height:3.5rem;padding-bottom:1rem}.course-identity{gap:.75rem}.course-mark{border:1px solid var(--accent);width:2.5rem;height:2.5rem;color:var(--accent);letter-spacing:-.04em;border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.course-identity p,.course-identity span,.study-context p,.study-action-bar p,.pane-heading p{margin:0}.course-identity p{font-weight:800}.course-identity div>span{color:var(--muted);font-size:.78rem}.utility-menu{position:relative}.utility-menu summary{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-height:44px;padding:.7rem .9rem;font-size:.85rem;font-weight:750;list-style:none}.utility-menu summary::-webkit-details-marker{display:none}.utility-menu-content{z-index:3;border:1px solid var(--line);background:var(--surface);transform-origin:100% 0;border-radius:12px;gap:.35rem;width:min(20rem,100vw - 2rem);padding:.75rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2.5rem #21362c1f}.utility-menu-content button,.utility-menu-content label{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.7rem;font-weight:700}.utility-menu-content button:active,.utility-menu-content label:active,.primary-button:active,.secondary-button:active{transform:scale(.97)}.utility-menu-content input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.utility-menu-content p{color:var(--muted);margin:.35rem 0 0;padding:.65rem;font-size:.78rem;line-height:1.45}.study-context{justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.5rem,4vw,3rem) 0 1.25rem}.study-location,.section-kicker,.study-action-bar span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:850}.study-context h1{letter-spacing:-.045em;max-width:20ch;margin:.35rem 0 0;font-size:clamp(2rem,4vw,4.25rem);font-weight:720;line-height:.98}.recommendation-reason{border-left:3px solid var(--accent);max-width:34rem;color:var(--muted);padding-left:1rem;font-size:.95rem;line-height:1.55}.progress-strip{gap:.55rem;margin:0;padding:0 0 1.25rem;list-style:none;display:flex}.progress-strip li{min-height:2rem;color:var(--muted);align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.progress-strip li+li:before{background:var(--line);content:"";width:clamp(1rem,4vw,4rem);height:1px;margin-right:.1rem}.progress-strip li>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.65rem;display:grid}.progress-strip li[data-state=current],.progress-strip li[data-state=observed]{color:var(--accent)}.progress-strip li[data-state=current]>span,.progress-strip li[data-state=observed]>span{border-color:var(--accent)}.journey-inspector,.import-confirmation{border-left:3px solid var(--accent);background:var(--soft-accent);color:var(--muted);gap:.35rem;margin-bottom:1rem;padding:1rem;font-size:.875rem;display:grid}.journey-inspector p,.import-confirmation p{margin:0}.import-confirmation{grid-template-columns:1fr auto;align-items:center}.import-confirmation button{color:#f7faf8;background:var(--accent);min-height:44px;font:inherit;border:0;border-radius:10px;font-weight:800}.workbench{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,3fr) minmax(19rem,2fr);min-height:min(40rem,66vh);display:grid;overflow:hidden}.figure-pane,.reasoning-pane,.lesson-pane{min-width:0;padding:clamp(1rem,2.5vw,2rem)}.figure-pane{border-right:1px solid var(--line)}.lesson-workbench{grid-template-columns:minmax(19rem,2fr) minmax(0,3fr)}.lesson-pane{border-right:1px solid var(--line);background:#f9faf5;align-content:start;gap:1rem;display:grid}.lesson-pane h2{margin:0}.lesson-explanation,.lesson-visual-cue,.worked-example ol{margin:0;line-height:1.65}.lesson-visual-cue{border-left:3px solid var(--accent);background:var(--soft-accent);padding:.9rem}.worked-example{gap:.65rem;display:grid}.worked-example ol{padding-left:1.25rem}.lesson-workbench .figure-pane{border-right:0}.pane-heading{justify-content:space-between;gap:1rem;margin-bottom:1rem}.pane-heading>p:last-child{color:var(--muted);font-size:.78rem}.reasoning-pane h2,.lesson-pane h2,.teaching-note h2,.feedback-panel h2{letter-spacing:-.025em;margin:.45rem 0 0;font-size:clamp(1.45rem,2vw,2.1rem);line-height:1.08}.teaching-note>p:last-child,.reasoning-empty{color:var(--muted);margin:1.25rem 0 0;line-height:1.65}.reasoning-workspace,.teaching-note,.feedback-panel{align-content:start;gap:1.25rem;height:100%;display:grid}.reasoning-choices{border:0;gap:.55rem;margin:0;padding:0;display:grid}.reasoning-choice{border:1px solid var(--line);cursor:pointer;min-height:3.4rem;transition:transform .14s var(--ease-out), border-color .14s ease, background-color .14s ease;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:.8rem;line-height:1.4;display:grid}.reasoning-choice:has(input:checked){border-color:var(--accent);background:var(--soft-accent)}.reasoning-choice input{width:1.15rem;height:1.15rem;accent-color:var(--accent);margin:.1rem 0 0}.hint-area{justify-items:start;gap:.75rem;display:grid}.secondary-button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;transition:transform .14s var(--ease-out);background:0 0;border-radius:10px;padding:.65rem .9rem;font-weight:800}.hint-message{border-left:3px solid var(--accent);background:var(--soft-accent);color:var(--muted);padding:.85rem;font-size:.875rem}.hint-message p{margin:.3rem 0 0;line-height:1.5}.feedback-items{gap:.65rem;display:grid}.feedback-item{border-left:3px solid var(--line);background:#f3f4ef;margin:0;padding:.9rem;line-height:1.5}.feedback-preserved,.feedback-success{border-left-color:var(--accent);background:var(--soft-accent)}.feedback-repair{border-left-color:var(--danger)}.storage-error{border-left:3px solid var(--danger);color:var(--danger);background:#f8eeeb;padding:.9rem}.study-action-bar{z-index:2;border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;gap:1.25rem;min-height:5rem;padding:.85rem 0;position:sticky;bottom:0}.study-action-bar p{color:var(--ink);margin-top:.25rem;font-weight:650}.primary-button{border:1px solid var(--accent);color:#f8faf8;background:var(--accent);min-width:10rem;min-height:48px;font:inherit;white-space:nowrap;transition:transform .14s var(--ease-out), background-color .14s ease;border-radius:10px;flex:none;padding:.75rem 1.2rem;font-weight:850}.primary-button:disabled{cursor:wait;opacity:.65}button:focus-visible,summary:focus-visible,label:focus-within,input:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.challenge-eyebrow{color:var(--relation);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:850}.challenge-objective{max-width:42rem;color:var(--muted);margin:.8rem 0 0;font-size:1rem;line-height:1.55}.study-shell[data-pilot=angles] .study-location,.study-shell[data-pilot=angles] .given-description strong{color:var(--given)}.study-shell[data-pilot=angles] .hint-message{border-left-color:var(--hint);background:var(--hint-soft)}.study-shell[data-pilot=angles] .feedback-preserved,.study-shell[data-pilot=angles] .feedback-success{border-left-color:var(--valid);background:var(--valid-soft)}.study-shell[data-pilot=angles] .feedback-repair,.study-shell[data-pilot=angles] .storage-error{border-left-color:var(--invalid);background:var(--invalid-soft)}.progressive-beat{border-left:3px solid var(--relation);animation:beat-reveal .18s var(--ease-out);padding-left:1rem}.geometry-focus-description{border-left:3px solid var(--relation);background:var(--relation-soft);color:var(--ink);margin:.75rem 0 0;padding:.65rem .8rem;font-weight:750}.mastery-map{border-top:1px solid color-mix(in srgb, var(--accent) 25%, transparent);gap:.7rem;margin-top:.55rem;padding-top:.85rem;display:grid}.mastery-map ul{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.mastery-map li{border-left:3px solid var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent);gap:.25rem;padding:.7rem .8rem;display:grid}.mastery-map li[data-mastery-stage=INDEPENDENT],.mastery-map li[data-mastery-stage=TRANSFERRED]{border-left-color:var(--valid);background:var(--valid-soft)}.mastery-map li[data-mastery-stage=SUPPORTED]{border-left-color:var(--hint);background:var(--hint-soft)}.mastery-map li[data-mastery-stage=REVIEW_DUE]{border-left-color:var(--recheck);background:var(--recheck-soft)}.mastery-map p,.mastery-capability{margin:0}.mastery-map p{color:var(--muted);line-height:1.45}.mastery-capability{font-size:.82rem;font-weight:750}.mastery-stage{font-size:.9rem}@keyframes beat-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.primary-button:hover{background:var(--accent-strong)}.reasoning-choice:hover,.utility-menu-content button:hover,.utility-menu-content label:hover{border-color:var(--accent);background:var(--soft-accent)}}@media (height<=50rem){.study-action-bar{position:static}}@media (width<=49.99rem){.study-shell{padding:.85rem}.course-identity div>span{display:none}.study-context{align-items:start;gap:1rem;display:grid}.study-context h1{max-width:none}.progress-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.progress-strip li{min-width:0;font-size:.68rem}.progress-strip li+li:before{display:none}.workbench{grid-template-columns:1fr;min-height:auto}.lesson-pane{border-right:0;border-bottom:1px solid var(--line)}.lesson-workbench .figure-pane{border-bottom:0}.figure-pane{border-right:0;border-bottom:1px solid var(--line)}.reasoning-pane{min-height:22rem}.study-action-bar{grid-template-columns:1fr;display:grid;position:static}.primary-button{width:100%}.import-confirmation{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.utility-menu-content button,.utility-menu-content label,.primary-button,.secondary-button,.reasoning-choice,.geometry-focus-description{transition:none}.progressive-beat{animation:none}}:root{color:#17231d;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f6f0;font-family:Aptos,Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{cursor:pointer}
