/* Public landing and learning workspace. */
#topic-selection,.home-page>.bottom-nav,.hero-features{display:none!important}
.hero-copy .creator-note{font-size:15px;line-height:1.7;color:#e1edff;margin:24px 0}.workspace-start{margin-top:16px}.top-bar h1{cursor:pointer}
body.workspace-mode{background:#f5f7fa}.workspace-mode .math-atmosphere{display:none}
#workspace-page{max-width:1100px;margin:auto;padding:26px 16px 80px;color:#172b42}
.ws-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.ws-header h2{font-size:30px;margin:8px 0}.ws-muted{color:#526479;line-height:1.6}
.ws-settings{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ws-settings select,.ws-chapters select{padding:12px;border:1px solid #d8e0ea;border-radius:10px;background:white;color:#172b42;font:inherit}.ws-grade{padding:12px;background:white;border:1px solid #dfe5ed;border-radius:12px;font-size:13px}.ws-grade strong{display:block;font-size:22px}
.ws-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ws-card{background:#fff;border:1px solid #dfe5ed;border-radius:16px;padding:24px;min-width:0}.ws-card h3{margin:0 0 12px;font-size:22px}.ws-card p{line-height:1.65;color:#526479}
.ws-button{border:1px solid #d6e0ec;background:#fff;border-radius:10px;color:#244362;padding:12px 16px;font:inherit;cursor:pointer}.ws-button.primary{background:#1769e0;border-color:#1769e0;color:white}.ws-button:disabled{opacity:.55;cursor:default}.ws-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ws-nav{display:flex;justify-content:center;gap:8px;background:white;border-top:1px solid #dfe5ed;padding:14px;max-width:1100px;margin:0 auto}.ws-nav button{min-width:100px;background:white;border:0;padding:12px;color:#526479;border-radius:10px;font:inherit;cursor:pointer}.ws-nav button[aria-current=page]{background:#e9f1fe;color:#1769e0}
.ws-route-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px}.ws-map{position:relative;max-width:640px;width:100%;justify-self:center}.ws-rope{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ws-node{position:absolute;width:114px;transform:translateX(-50%);text-align:center}
.ws-node-button{width:56px;height:56px;border:0;border-radius:50%;background:conic-gradient(#2caa73 var(--accuracy),#e1ebf8 0);padding:4px;cursor:pointer;display:inline-grid;place-items:center;position:relative;color:#1769e0;font-size:20px}.ws-node-button>span{width:48px;height:48px;display:grid;place-items:center;background:#edf3fc;border-radius:50%}.ws-node-button[aria-pressed=true]>span{background:#1769e0;color:white}
.ws-node-name{display:block;margin-top:9px;font-size:13px;line-height:1.3}.ws-badge{display:inline-block;font-size:12px;padding:3px 5px;margin-top:5px;border-radius:4px;background:#eff2f7;color:#536277}.ws-badge.higher{background:#eeebfa;color:#665198}.ws-accuracy{font-size:12px;color:#248058;display:block;margin-top:5px}
.ws-pop{position:absolute;left:25px;top:16px;width:8px;height:8px;background:#1769e0;border-radius:50%;pointer-events:none;animation:ws-pop .65s ease-out forwards}@keyframes ws-pop{to{transform:translateY(-32px) scale(.5);opacity:0}}.ws-person{position:absolute;right:-14px;top:18px;font-size:19px;color:#1769e0}.ws-side{padding-top:20px}.ws-side .ws-button{width:100%;margin:5px 0}.ws-skill-list{display:grid;gap:6px;margin-top:18px}.ws-skill-list button{text-align:left;font-size:14px}
.ws-chapters{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.ws-chapters select{flex:1;min-width:160px}.ws-chapters p{margin:0}.ws-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #e9edf3}.ws-row:last-child{border:0}.ws-row p{margin:5px 0;font-size:14px}.ws-result-table{width:100%;border-collapse:collapse}.ws-result-table th,.ws-result-table td{text-align:left;padding:12px;border-bottom:1px solid #e3e9f1}
.workspace-mode #progress-panel .profile-course-ring,.workspace-mode #progress-panel .profile-avatar{display:none}.workspace-mode #progress-panel{max-width:1000px;margin:auto}.workspace-mode #progress-panel .profile-summary{display:flex;flex-wrap:wrap}.workspace-mode #progress-panel .profile-stat{border:0;box-shadow:none}
.text-fraction{display:inline-flex!important;flex-direction:column;vertical-align:middle;align-items:stretch;line-height:1.15;white-space:nowrap}.text-fraction>span{display:block;text-align:center}.text-fraction>span:first-child{border-bottom:1px solid currentColor}.mixed-fraction{display:inline-flex;align-items:center;gap:.18em;white-space:nowrap}.question-context,.process-panel p,.lesson-card p{line-height:1.9;overflow-wrap:break-word}.review-question-preview{overflow:visible}
@media(max-width:760px){.ws-grid,.ws-route-layout{grid-template-columns:1fr}.ws-side{border-top:1px solid #e0e6ef;padding-top:24px}.ws-nav{gap:0;padding:8px}.ws-nav button{min-width:0;flex:1;font-size:14px;padding:12px 7px}.ws-card{padding:18px 12px}.ws-node{width:85px}.ws-node-name{font-size:12px}.ws-badge{font-size:11px}.ws-header h2{font-size:26px}.ws-row{align-items:flex-start}.ws-grade{display:none}}
@media(prefers-reduced-motion:reduce){.ws-pop{animation:none;display:none}}
.ws-person{right:calc(50% - 30px);top:-15px;font-size:17px}
@media(max-width:380px){.ws-node{width:80px}}
/* Keep the app shell in the viewport; only the workspace content scrolls. */
:root{--ws-top-height:max(72px,11.5vh);--ws-nav-height:76px}
body:has(#workspace-page:not(.hidden)){height:100dvh;min-height:0;overflow:hidden}
body:has(#workspace-page:not(.hidden)) .device-save-note{display:none}
#workspace-page{position:fixed;top:var(--ws-top-height);bottom:var(--ws-nav-height);left:0;right:0;width:100%;min-height:0;margin:0 auto;padding:24px 16px 32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;animation:none}
.ws-nav{position:fixed;inset:auto 0 0;z-index:20;max-width:none;margin:0;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 18px #172b4208}
@media(max-width:760px){.ws-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}
.ws-tier-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;width:238px;padding:4px;border:1px solid #d8e0ea;border-radius:999px;background:#e9eef5;color:#526479;cursor:pointer;font:inherit;font-size:14px;min-height:46px}
.ws-tier-switch>span:not(.ws-tier-thumb){position:relative;z-index:1;padding:9px 10px;transition:color 180ms}
.ws-tier-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);border-radius:999px;background:#fff;box-shadow:0 2px 6px #172b4214;pointer-events:none;z-index:0}
.ws-tier-switch[aria-checked=true] .ws-tier-thumb{transform:translateX(100%)}
.ws-tier-switch[aria-checked=false]>span:nth-child(2),.ws-tier-switch[aria-checked=true]>span:nth-child(3){color:#1769e0;font-weight:650}
.ws-button,.ws-nav button,.ws-node-button{transition:background-color 160ms,color 160ms,box-shadow 160ms,scale 160ms}
.ws-button:hover,.ws-nav button:hover{box-shadow:0 3px 12px #172b4210}.ws-button:active,.ws-node-button:active{scale:.97}
.ws-button:focus-visible,.ws-tier-switch:focus-visible,.ws-node-button:focus-visible{outline:3px solid #8bb7fa;outline-offset:3px}
.ws-ghost{pointer-events:none}.algebra-answer-hint{display:block;margin-top:12px;font-size:14px;color:#526479;line-height:1.5}
.algebra-graph{display:block;width:min(300px,100%);margin:12px auto;background:white;border:1px solid #e2e8f0;border-radius:12px;font:10px system-ui}
@media(prefers-reduced-motion:reduce){.ws-button,.ws-nav button,.ws-node-button,.ws-tier-switch>span{transition:none}}
.ws-skill-list .ws-button{display:flex;align-items:center;justify-content:space-between;gap:12px}.ws-skill-name{flex:1;min-width:0}.ws-skill-tier{white-space:nowrap;font-size:11px;font-weight:700;color:#64748b}.ws-skill-ring{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:3px;box-sizing:border-box;border-radius:50%;background:conic-gradient(#26956c var(--skill-score),#e4ebf1 0)}.ws-skill-ring>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:white;color:#247954;font-size:11px;font-weight:700;line-height:1}.ws-skill-legend{font-size:11px;line-height:1.7;color:#64748b;margin-top:12px}
