:root{color:#1d211d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}.app-shell{width:min(920px,100% - 40px);margin:0 auto}.site-header,.session-header{border-bottom:1px solid #d8d3c6;justify-content:space-between;align-items:center;height:72px;display:flex}.wordmark,.site-header nav button,.back-button{cursor:pointer;background:0 0;border:0}.wordmark{letter-spacing:-.03em;padding:8px 0;font-size:18px;font-weight:760}.header-actions{align-items:center;gap:14px;display:flex}.site-header nav{gap:6px;display:flex}.site-header nav button{color:#737468;border-radius:7px;padding:8px 10px}.site-header nav button:hover,.site-header nav button.active{color:#1d211d;background:#e9e5da}.user-switch{color:#66685f;cursor:pointer;background:0 0;border:0;border-left:1px solid #d8d3c6;padding:7px 0 7px 15px;font-size:12px}.user-switch:hover{color:#1d211d}main{min-height:calc(100vh - 72px)}.learner-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.learner-card{width:min(440px,100%)}.learner-card h1{font-size:clamp(30px,7vw,42px)}.known-learners{flex-wrap:wrap;gap:7px;margin-top:26px;display:flex}.known-learners button{cursor:pointer;background:0 0;border:1px solid #d4cfc2;border-radius:999px;padding:8px 13px}.known-learners button:hover{border-color:#55705d}.learner-form{gap:7px;margin-top:26px;display:grid}.learner-form label{color:#707168;font-size:12px}.learner-form>div{grid-template-columns:1fr auto;display:grid}.learner-form input{background:#fffdf7;border:1px solid #c9c3b5;border-radius:9px 0 0 9px;outline:none;min-width:0;padding:14px 15px}.learner-form input:focus{border-color:#55705d;box-shadow:0 0 0 3px #dfe7dd}.learner-form button{color:#faf8f2;cursor:pointer;background:#1d211d;border:1px solid #1d211d;border-radius:0 9px 9px 0;padding:0 17px}.learner-form button:disabled,.known-learners button:disabled{cursor:default;opacity:.4}.form-error{color:#9d4b3c;margin:3px 0 0;font-size:12px}.privacy-note{color:#929188;margin:22px 0 0;font-size:11px}.practice-home{width:min(680px,100%);margin:76px auto}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,5vw,44px);line-height:1.08}.quiet-label{color:#7c7d72;white-space:nowrap;font-size:13px}.category-row{flex-wrap:wrap;gap:7px;margin:30px 0 18px;display:flex}.category-row button{cursor:pointer;background:0 0;border:1px solid #d4cfc2;border-radius:999px;padding:7px 12px;font-size:14px}.category-row button.selected{color:#faf8f2;background:#1d211d;border-color:#1d211d}.activity-list{border-top:1px solid #d8d3c6}.activity-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d8d3c6;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:18px 4px;display:flex}.activity-row:hover strong{text-underline-offset:4px;text-decoration:underline}.activity-row strong,.activity-row small{display:block}.activity-row small{color:#77786f;margin-top:4px;font-size:13px}.row-key{color:#a3a197;font-size:12px}.session-shell{width:min(840px,100% - 40px);margin:0 auto}.session-header{color:#66685f;justify-content:flex-start;gap:16px;font-size:14px}.back-button{padding:8px 8px 8px 0;font-size:19px}.session-score{font-variant-numeric:tabular-nums;margin-left:auto}.problem-stage{place-items:center;min-height:calc(100vh - 72px);padding:48px 0 96px;display:grid}.problem{width:min(680px,100%)}.problem-instruction{color:#707168;white-space:pre-line;margin:0 0 12px;font-size:14px;line-height:1.45}.problem-context{color:#66685f;white-space:pre-line;margin:14px 0 0;font-size:15px;line-height:1.5}.prompt-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;display:flex}.prompt-line h1{white-space:pre-line;text-align:center;max-width:680px;font-size:clamp(28px,4.5vw,38px);line-height:1.12}.problem-tools{justify-content:center;align-items:center;gap:7px;display:flex}.ask-button{color:#65675f;cursor:pointer;background:0 0;border:1px solid #c9c3b5;border-radius:999px;padding:6px 9px;font-size:12px}.ask-button:hover,.ask-button[aria-expanded=true]{color:#1d211d;background:#e7eee5;border-color:#55705d}.answer-form{gap:10px;margin-top:32px;display:flex}.answer-form input,.answer-form textarea,.fields-form input{color:#1d211d;resize:vertical;background:#fffdf7;border:1px solid #c9c3b5;border-radius:9px;outline:none;width:100%;padding:15px 16px}.answer-form input:focus,.answer-form textarea:focus,.fields-form input:focus{border-color:#55705d;box-shadow:0 0 0 3px #dfe7dd}.answer-area{margin-top:32px}.answer-area .answer-form,.answer-area .choice-list,.answer-area .fields-form{margin-top:0}.primary-button,.secondary-button{cursor:pointer;white-space:nowrap;border:1px solid #1d211d;border-radius:9px;padding:12px 16px}.primary-button{color:#faf8f2;background:#1d211d}.secondary-button{background:0 0}.primary-button:disabled{opacity:.35;cursor:default}.practice-controls{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.practice-actions{align-items:center;gap:9px;display:flex}.result-ask-button{margin-top:14px;display:block}kbd{font:inherit;opacity:.6;margin-left:8px;font-size:11px}.choice-list{gap:9px;margin-top:30px;display:grid}.choice-list button{text-align:left;cursor:pointer;background:#fffdf7;border:1px solid #c9c3b5;border-radius:9px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.choice-list button:hover{background:#f9fbf6;border-color:#55705d}.choice-list button.selected{background:#e7eee5;border-color:#55705d;box-shadow:0 0 0 2px #d8e3d6}.choice-list.article-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-list.article-choices button{text-align:center;justify-content:center;gap:12px}.choice-list.compact-choices{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.choice-list.compact-choices button{text-align:center;justify-content:center;gap:12px}.choice-list.article-choices.compact-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.success-burst{--burst-a:#ffca3a;--burst-b:#ff6b6b;--burst-c:#6a5cff;z-index:20;pointer-events:none;background:0 0;place-items:center;display:grid;position:fixed;inset:62px 0 0;overflow:hidden}.success-burst.confetti{--burst-a:#ff4f9a;--burst-b:#31c7a3;--burst-c:#725cff}.success-burst.electric{--burst-a:#ffe14d;--burst-b:#42b8ff;--burst-c:#ff5e7d}.success-burst.candy{--burst-a:#bd67ff;--burst-b:#ff7a45;--burst-c:#38d5cf}.success-burst svg,.burst-message{grid-area:1/1}.success-burst svg{width:min(560px,92vw);animation:1s ease-out both burst-shape;overflow:visible}.success-burst.streak-2 svg{filter:saturate(1.15);width:min(660px,98vw)}.success-burst.streak-3 svg{filter:saturate(1.3);width:min(780px,105vw)}.success-burst.streak-2 .burst-rays{stroke-width:10px}.success-burst.streak-3 .burst-rays{stroke-width:13px}.burst-message{justify-items:center;gap:2px;animation:1s ease-out both burst-label;display:grid;position:relative}.burst-message strong{color:#fffdf7;letter-spacing:-.045em;text-shadow:0 2px 16px color-mix(in srgb, var(--burst-c) 70%, transparent);font-size:clamp(28px,6vw,48px);position:relative}.success-burst.streak-2 .burst-message strong{font-size:clamp(34px,7vw,58px)}.success-burst.streak-3 .burst-message strong{font-size:clamp(40px,8vw,68px)}.burst-message span{color:#fffdf7;letter-spacing:.04em;text-shadow:0 1px 8px var(--burst-c);font-size:13px;font-weight:700}.burst-blobs path{fill:var(--burst-a);opacity:.88}.burst-blobs circle:nth-of-type(odd){fill:var(--burst-b)}.burst-blobs circle:nth-of-type(2n){fill:var(--burst-c)}.burst-rays{fill:none;stroke:var(--burst-c);stroke-width:8px;stroke-linecap:round}.burst-emoji{text-anchor:middle;font-size:28px;animation:1s cubic-bezier(.2,.8,.2,1) both emoji-fly}.burst-emoji.emoji-2{animation-delay:40ms}.burst-emoji.emoji-3{animation-delay:80ms}@keyframes burst-shape{0%{opacity:0;transform:scale(.3)rotate(-7deg)}18%{opacity:1;transform:scale(1.02)rotate(2deg)}72%{opacity:1;transform:scale(1.08)rotate(0)}to{opacity:1;transform:scale(1.14)}}@keyframes burst-label{0%,8%{opacity:0;transform:scale(.65)rotate(-3deg)}23%{opacity:1;transform:scale(1.08)rotate(1deg)}72%{opacity:1;transform:scale(1)}to{opacity:1;transform:translateY(-5px)scale(1.03)}}@keyframes emoji-fly{0%{opacity:0;transform:translateY(35px)scale(.4)rotate(-18deg)}22%{opacity:1;transform:translateY(0)scale(1.1)rotate(5deg)}to{opacity:1;transform:translateY(-35px)scale(.95)rotate(14deg)}}.fields-form{gap:14px;margin-top:30px;display:grid}.fields-form label span{color:#66685f;margin:0 0 6px;font-size:13px;display:block}.fields-form .primary-button{justify-self:end}.result-panel{border-top:1px solid #9ba49a;margin-top:32px;padding-top:18px}.result-panel.incorrect{border-color:#a76b58}.result-panel.close{border-color:#b08c4a}.result-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.verdict{margin:0;font-weight:700}.retry-button{color:#5f615a;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:13px}.retry-button:hover{color:#1d211d;text-underline-offset:3px;text-decoration:underline}.submitted-answer,.correct-answer{margin-top:16px}.submitted-answer>span,.correct-answer>span{color:#85867d;margin-bottom:5px;font-size:11px;display:block}.submitted-answer p{color:#66685f;white-space:pre-line;margin:0;font-size:18px;line-height:1.4}.correction-line{justify-content:space-between;align-items:center;gap:18px;font-size:23px;line-height:1.35;display:flex}.explanation{color:#5f615a;line-height:1.55}.explanation-row{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.translate-button{color:#6d756c;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;flex:none;padding:5px 0;font-size:11px;text-decoration:underline}.translate-button:hover{color:#1d211d}.tutor-chat{border-top:1px solid #d8d3c6;margin-top:24px;padding-top:18px}.tutor-messages{gap:12px;margin-bottom:15px;display:grid}.tutor-messages p{white-space:pre-line;margin:0;line-height:1.5}.tutor-messages p span{color:#898980;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px;display:block}.tutor-messages p.user{color:#66685f}.tutor-messages p.assistant{color:#1d211d}.tutor-thinking{color:#898980;font-size:12px}.tutor-chat form{align-items:flex-end;gap:9px;display:flex}.tutor-chat textarea{resize:vertical;background:#fffdf7;border:1px solid #c9c3b5;border-radius:9px;outline:none;width:100%;min-height:54px;padding:11px 13px}.tutor-chat textarea:focus{border-color:#55705d;box-shadow:0 0 0 3px #dfe7dd}.result-actions{justify-content:flex-end;gap:9px;margin-top:26px;display:flex}.speech-buttons{flex:none;align-items:center;gap:4px;display:inline-flex}.speech-buttons button{cursor:pointer;background:0 0;border:1px solid #c9c3b5;border-radius:999px;padding:6px 9px;font-size:12px}.preview-note{color:#929188;margin:26px 0 0;font-size:11px}.error-message{color:#9d4b3c}.error-message.compact{font-size:12px}.library-layout{grid-template-columns:240px minmax(0,1fr);gap:30px;padding:48px 0 72px;display:grid}.library-index{flex-direction:column;align-self:start;display:flex;position:sticky;top:24px}.library-index button{text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;padding:10px 12px}.library-index button.selected{background:#e9e5da;border-left-color:#1d211d}.library-index strong,.library-index small{display:block}.library-index small{color:#83837a;margin-top:3px;font-size:11px}.source-panel{background:#fffdf7;border:1px solid #d4cfc2;border-radius:10px;min-width:0;overflow:hidden}.source-panel header{color:#77786f;border-bottom:1px solid #ddd8cc;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;display:flex}.source-panel header button{cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.source-actions{align-items:center;gap:10px;display:flex}.source-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:22px;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.progress-view{width:min(720px,100%);margin:66px auto;overflow-x:auto}.leaderboard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.leaderboard caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.leaderboard th,.leaderboard td{text-align:right;border-bottom:1px solid #d8d3c6;padding:13px 12px}.leaderboard thead th{color:#77786f;font-size:11px;font-weight:600}.leaderboard th:nth-child(2),.leaderboard td:nth-child(2){text-align:left}.leaderboard th:first-child,.leaderboard td:first-child{color:#98978e;text-align:left;width:40px;padding-left:8px}.leaderboard tbody th{font-size:14px}.leaderboard tbody td{font-size:13px}.leaderboard tbody tr.current{background:#e5ebe1}.leaderboard tbody th span{color:#657062;margin-left:8px;font-size:10px;font-weight:500}.center-state{place-items:center;min-height:100vh;display:grid}@media (width<=680px){.app-shell,.session-shell{width:min(100% - 28px,920px)}.site-header{height:62px}.site-header nav button{padding:7px 6px;font-size:13px}.header-actions{gap:7px}.user-switch{text-overflow:ellipsis;white-space:nowrap;max-width:82px;padding-left:9px;overflow:hidden}.practice-home{margin:48px auto}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.library-layout{grid-template-columns:1fr;gap:18px;padding-top:28px}.library-index{flex-direction:row;padding-bottom:4px;position:static;overflow-x:auto}.library-index button{border-bottom:2px solid #0000;border-left:0;min-width:180px}.library-index button.selected{border-bottom-color:#1d211d}.answer-form{flex-direction:column}.answer-form .primary-button{align-self:flex-end}.prompt-line{justify-items:center}.correction-line{flex-direction:column;align-items:flex-start}.tutor-chat form{flex-direction:column;align-items:stretch}.tutor-chat .primary-button{align-self:flex-end}.explanation-row{flex-direction:column;align-items:flex-start;gap:2px}}@media (prefers-reduced-motion:reduce){.success-burst svg,.burst-message,.burst-emoji{animation-duration:1ms}}
