.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;--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{min-width:0;padding:clamp(1rem,2.5vw,2rem)}.figure-pane{border-right:1px solid var(--line)}.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,.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}@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 (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(3,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}.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{transition: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}
