:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#123348;background:#f3f8f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 0%,#f6fbf7 0,#eef6f1 38%,#f8f5ee)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit}.app-shell{min-height:100vh}.topbar{min-height:72px;padding:12px clamp(18px,3vw,44px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffe6;border-bottom:1px solid #cfddd5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#315b4f;color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{margin-top:2px;color:#668076;font-size:11px}.topbar nav{display:flex;gap:10px}.ghost,.secondary,.primary,.listen-button,.link-button{border-radius:12px;border:1px solid #bdd1c7;padding:10px 14px;font-weight:800;background:#fff;color:#123348}.link-button{text-decoration:none;display:inline-flex;align-items:center}.primary{border-color:#315b4f;background:#315b4f;color:#fff}.secondary{background:#f7fbf9}.home,.domain-page{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:54px 0 70px}.hero{text-align:center;max-width:800px;margin:0 auto 34px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:#367967;margin:0 0 10px}.hero h1,.domain-page h1,.question-card h1,.summary-card h1{font-family:Georgia,Times New Roman,serif;letter-spacing:-.025em;color:#0d3348}.hero h1{font-size:clamp(38px,5vw,64px);line-height:.98;margin:0}.hero>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#516e64;max-width:690px;margin:22px auto}.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.stats span{padding:8px 12px;border:1px solid #c8d9d0;border-radius:999px;background:#ffffffbf;font-size:13px}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stage-card{min-height:280px;text-align:left;border:1px solid #cbd8d2;border-radius:24px;padding:22px;color:#123348;box-shadow:0 12px 30px #1f44370f}.stage-1{background:#fff8e9}.stage-2{background:#f0f6ff}.stage-3{background:#f7f1ff}.stage-number{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#123f56;color:#fff;font-weight:900;margin-bottom:24px}.stage-card small{text-transform:uppercase;letter-spacing:.13em;color:#397565;font-weight:900}.stage-card h2{font-family:Georgia,serif;font-size:30px;margin:7px 0}.stage-card>strong{display:block;font-size:15px;margin-bottom:8px}.stage-card p{color:#597168;line-height:1.5}.stage-action{display:inline-block;margin-top:12px;font-weight:900;color:#1d6655}.calm-note{margin:20px auto 0;border:1px solid #c6ded2;background:#e9f7ef;border-radius:18px;padding:16px 18px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;color:#345b50}.back-link,.text-button{border:0;background:transparent;color:#2f6658;font-weight:800;padding:4px 0}.domain-page h1{font-size:clamp(34px,4vw,52px);margin:7px 0}.domain-intro{color:#587269;line-height:1.6;max-width:720px}.mixed-card{width:100%;margin:28px 0 18px;border:1px solid #aecfc1;border-radius:20px;background:linear-gradient(135deg,#e7f6ee,#f6fbf8);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:#123348}.mixed-card small,.mixed-card strong,.mixed-card p{display:block}.mixed-card strong{font-family:Georgia,serif;font-size:26px;margin:4px 0}.mixed-card p{margin:0;color:#587269}.mixed-card>span:last-child{font-size:28px}.domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.domain-grid button{min-height:88px;text-align:left;padding:16px 18px;border:1px solid #cfddd5;border-radius:16px;background:#ffffffdb;color:#123348}.domain-grid span,.domain-grid small{display:block}.domain-grid span{font-weight:900;font-size:16px}.domain-grid small{color:#698078;margin-top:6px}.question-strip{padding:10px clamp(18px,3vw,44px);display:flex;justify-content:space-between;color:#60786f;font-size:12px}.question-page{width:min(1020px,calc(100% - 32px));margin:0 auto;padding:22px 0 60px}.question-card{background:#fffffff0;border:1px solid #cbdad3;border-radius:24px;padding:clamp(22px,4vw,44px);box-shadow:0 16px 42px #24433712}.question-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.question-card h1{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:4px 0 24px;max-width:760px}.listen-button{white-space:nowrap}.choice-list{display:grid;gap:10px}.choice-list button{display:flex;gap:12px;align-items:center;text-align:left;padding:14px;border:1px solid transparent;border-radius:14px;background:#eef4f1;color:#123348;font-weight:800}.option-id{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#fff;display:grid;place-items:center}.choice-list button.selected{border-color:#557e70;background:#e1eee8}.choice-list button.correct-answer{border-color:#1b8c67;background:#dcf4e8}.choice-list button.wrong-answer{border-color:#d35f55;background:#fde4df}.number-answer{display:block;max-width:480px}.number-answer>span{display:block;font-weight:900;margin-bottom:8px}.number-answer>div{display:flex;align-items:center;gap:12px}.number-answer input{width:100%;border:2px solid #bad0c5;border-radius:14px;padding:15px;font-size:26px;font-weight:800;color:#123348}.number-answer strong{font-size:20px}.order-workspace p{color:#587269}.ordered-answer{min-height:64px;border:2px dashed #c5d7cf;border-radius:14px;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.ordered-answer span,.order-options button{border:1px solid #bfd1c8;border-radius:12px;padding:10px 14px;background:#fff;font-weight:900;color:#123348}.ordered-answer em{color:#82948d}.order-options{display:flex;flex-wrap:wrap;gap:10px}.match-workspace{display:grid;gap:10px;max-width:560px}.match-workspace label{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;border:1px solid #d5e1db;border-radius:14px;padding:12px}.match-workspace select{border:1px solid #bcd0c5;border-radius:10px;padding:10px;background:#fff}.support-row{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.hint-box,.feedback{margin-top:16px;border-radius:15px;padding:14px 16px}.hint-box{background:#fff6d9;border:1px solid #ead89d}.hint-box p,.feedback p{margin:5px 0 0;line-height:1.5}.feedback-correct{background:#def4e8;border:1px solid #9dd4bb}.feedback-try{background:#fff0df;border:1px solid #e8c49d}.feedback small{display:block;margin-top:8px;color:#5f746c}.fraction-bar{display:grid;width:min(440px,100%);height:74px;margin:4px 0 24px;border:2px solid #315b4f;border-radius:12px;overflow:hidden}.fraction-bar span{border-right:1px solid #315b4f;background:#fff}.fraction-bar span:last-child{border-right:0}.fraction-bar .filled{background:#91cfb8}.bar-chart{height:210px;display:flex;align-items:flex-end;gap:24px;margin:8px 0 26px;padding:12px 16px;border-left:2px solid #719386;border-bottom:2px solid #719386;width:min(520px,100%)}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-column strong{margin-bottom:5px}.bar-track{width:54px;height:145px;display:flex;align-items:flex-end;background:#edf3f0;border-radius:8px 8px 0 0;overflow:hidden}.bar-track span{display:block;width:100%;background:#6bab93}.bar-column small{margin-top:6px;text-align:center}.clock{width:190px;height:190px;margin:0 0 22px}.clock circle{fill:#fbfdfc;stroke:#315b4f;stroke-width:3}.clock text{text-anchor:middle;font-weight:800;fill:#123348}.clock line{stroke:#123348;stroke-linecap:round;transform-origin:80px 80px}.clock .hour-hand{stroke-width:6}.clock .minute-hand{stroke-width:4}.clock .clock-pin{fill:#315b4f;stroke:none}.summary-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px 16px}.summary-card{width:min(620px,100%);text-align:center;background:#fff;border:1px solid #ccdad3;border-radius:24px;padding:40px}.summary-card h1{font-size:48px;margin:4px 0 12px}.summary-card p{color:#587269;line-height:1.6}.summary-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}@media(max-width:760px){.topbar{min-height:64px;padding:10px 14px}.topbar nav{gap:6px}.ghost,.secondary,.primary,.listen-button,.link-button{padding:9px 11px}.stage-grid{grid-template-columns:1fr}.stage-card{min-height:auto}.domain-grid{grid-template-columns:1fr}.question-heading{display:block}.listen-button{margin:-10px 0 20px}.question-page{width:min(100% - 20px,1020px);padding-top:10px}.question-card{padding:20px;border-radius:18px}.question-card h1{font-size:31px}.question-strip{padding:8px 12px}.match-workspace label{grid-template-columns:1fr auto 1.1fr;gap:8px}.bar-chart{gap:10px;padding-left:8px}.bar-track{width:42px}}.progress-chip{border:1px solid #c8d9d0;border-radius:999px;background:#ffffffbf;padding:8px 12px;color:#123348;font-size:13px}.progress-chip strong{font-weight:900}.access-strip{margin:0 auto 22px;padding:16px 18px;border:1px solid #c6ded2;border-radius:18px;background:#eef8f2;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#345b50}.access-strip div{display:grid;gap:4px}.access-strip strong{color:#174c40}.access-strip a{font-weight:900;color:#1d6655;white-space:nowrap}.locked-domain{opacity:.72}.access-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#102d266b;display:grid;place-items:center;padding:20px}.access-dialog{width:min(560px,100%);padding:32px;border:1px solid #c9d9d1;border-radius:24px;background:#fff;box-shadow:0 22px 70px #11312838}.access-dialog h2{margin:6px 0 10px;font:800 32px/1.08 Georgia,Times New Roman,serif;color:#0d3348}.access-dialog p:not(.eyebrow){color:#587269;line-height:1.6}.progress-workspace,.review-workspace{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:42px 0 64px}.progress-heading,.review-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.progress-heading h1,.review-heading h1{margin:0;font:800 clamp(32px,4vw,48px)/1.05 Georgia,"Times New Roman",serif;color:#0d3348}.progress-heading p:not(.eyebrow),.review-heading p:not(.eyebrow){color:#587269;line-height:1.5}.progress-tabs{display:flex;gap:6px;padding:5px;border-radius:999px;background:#e4eee9}.progress-tabs button{border:0;border-radius:999px;background:transparent;padding:10px 14px;font-weight:900;color:#345b50}.progress-tabs button.active{background:#fff;box-shadow:0 3px 12px #0f332c14}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.progress-summary>div{padding:24px 18px;border:1px solid #cddbd4;border-radius:22px;background:#fff;text-align:center}.progress-summary strong{display:block;font-size:38px;color:#315b4f}.progress-summary span{color:#60786f;font-weight:800}.stage-progress-list{display:grid;gap:12px}.stage-progress-list article{display:grid;grid-template-columns:auto 1fr minmax(160px,260px);align-items:center;gap:16px;padding:18px 20px;border:1px solid #cfdcd6;border-radius:18px;background:#fff}.stage-progress-list .stage-number{margin:0}.stage-progress-list strong,.stage-progress-list small{display:block}.stage-progress-list small{margin-top:4px;color:#698078}.stage-progress-list progress{width:100%;height:14px}.parent-progress-table{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.parent-progress-table article{padding:18px 20px;border:1px solid #cfdcd6;border-radius:18px;background:#fff}.parent-progress-table strong,.parent-progress-table span{display:block}.parent-progress-table span{margin-top:7px;color:#698078;line-height:1.45}.history-section{margin-top:28px}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.history-heading h2{margin:0;color:#123348}.history-heading span{color:#698078}.session-history{display:grid;gap:10px}.session-history article{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border:1px solid #cfdcd6;border-radius:16px;background:#fff}.session-history article>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session-history article>div:first-child{display:grid;gap:3px}.session-history span{color:#698078;font-size:13px}.empty-progress{padding:18px;border:1px dashed #c3d6cc;border-radius:16px;color:#698078}.review-heading{align-items:flex-start}.review-list{display:grid;gap:14px}.review-item{padding:22px;border:1px solid #cfdcd6;border-left-width:5px;border-radius:18px;background:#fff}.review-item.correct{border-left-color:#1b8c67}.review-item.incorrect{border-left-color:#c85c52}.review-item h2{margin:0 0 14px;color:#123348;font-size:22px}.review-item p{margin:8px 0;line-height:1.5}.review-explanation{padding-top:10px;border-top:1px solid #e4ece8}.review-item .eyebrow{margin-bottom:8px}@media(max-width:760px){.access-strip{align-items:flex-start;flex-direction:column}.progress-workspace,.review-workspace{width:min(100% - 20px,1120px);padding-top:24px}.progress-heading,.review-heading{align-items:flex-start;flex-direction:column}.progress-summary{grid-template-columns:1fr}.stage-progress-list article{grid-template-columns:auto 1fr}.stage-progress-list progress{grid-column:1/-1}.parent-progress-table{grid-template-columns:1fr}.session-history article{align-items:flex-start;flex-direction:column}.history-heading{align-items:flex-start;flex-direction:column}.access-dialog{padding:24px}}
