:root{font-family:ui-rounded,'Hiragino Maru Gothic ProN','Hiragino Sans','Yu Gothic',sans-serif;color:#172f58;background:#f3f7ff;font-synthesis:none;font-weight:600;line-height:1.6;--blue:#255be5;--line:#dae3f3}*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:4px solid #e5a900;outline-offset:5px}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(2px)}.header{max-width:1152px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:30px 36px}.brand{display:flex;gap:8px;align-items:center;text-decoration:none;color:#172f58;font-size:21px;font-weight:900;letter-spacing:.03em}.brand>span:last-child{color:var(--blue)}.brand-icon{display:grid;place-items:center;background:var(--blue);color:white;width:38px;height:38px;border-radius:12px;font-size:31px;line-height:1}.grade{font-size:14px;border:1px solid #cbd8ed;padding:5px 15px;border-radius:50px}main{max-width:1080px;margin:0 auto;padding:12px 36px 20px}h1,h2,p{margin:0}h1{font-size:clamp(26px,3.6vw,38px);letter-spacing:.045em;line-height:1.45}.intro{margin:13px 0 29px}.eyebrow{font-size:15px;color:var(--blue);letter-spacing:.08em}.intro h1{margin:7px 0}.intro p{color:#596e8e;font-size:17px}.subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.subject{text-align:left;border:2px solid transparent;background:white;border-radius:24px;padding:23px;box-shadow:0 5px 0 #e5ebf6;display:flex;flex-direction:column;color:#172f58;min-height:222px}.subject.selected{border-color:var(--blue);background:#edf3ff;box-shadow:0 5px 0 #c7d8ff}.subject-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.subject-symbol{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;font-size:40px;line-height:1;background:#dce8ff;color:#255be5}.subject.orange .subject-symbol{background:#fff0dd;color:#c45d12}.subject.green .subject-symbol{background:#def5ed;color:#087356}.selection{border:2px solid #dce4f1;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:14px;line-height:1}.selected .selection{background:var(--blue);color:white;border-color:var(--blue)}.subject strong{font-size:28px;letter-spacing:.09em}.subject-description{font-size:14px;color:#5c7090;margin-top:3px}.setup{background:white;border:1px solid var(--line);border-radius:24px;padding:27px 30px;margin-top:30px}.setup-label{display:flex;align-items:center;gap:12px;margin-bottom:18px}.setup h2{font-size:19px}.step-number{border-radius:50%;background:#eaf0ff;color:var(--blue);width:29px;height:29px;display:grid;place-items:center;font-size:15px}.levels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.level{border:2px solid #e3e9f3;border-radius:14px;padding:13px 20px;background:white;color:#344d71;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px}.level strong{font-size:17px}.level span{font-size:14px;color:#5f7089}.level.active{border-color:var(--blue);background:#f0f5ff;color:var(--blue)}.times-levels{grid-template-columns:repeat(5,1fr);gap:10px}.times-levels .level{justify-content:center;padding:10px 5px}.start-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;padding-top:23px;border-top:1px solid #e9edf5}.start-row p{font-size:16px;display:flex;align-items:center;gap:8px}.five{font-size:28px;color:var(--blue);font-weight:800}.primary{background:var(--blue);border:0;color:white;border-radius:16px;padding:18px 26px;font-size:18px;font-weight:800;box-shadow:0 4px 0 #1646bb;min-height:62px}.primary:disabled{background:#dce4f3;color:#7788a2;box-shadow:none}.start{min-width:320px;display:flex;align-items:center;justify-content:space-between}.start span{font-size:25px}.home-notes{display:flex;gap:24px;margin:23px 8px;align-items:center;color:#596d8b;font-size:14px}.text-button{margin-left:auto;border:0;background:none;font-size:14px;color:#506685;text-decoration:underline;min-height:44px}details{font-size:15px;color:#536885;border-top:1px solid var(--line);padding:16px 5px}details:not([open]){display:none}details p{margin:14px 0}summary{cursor:pointer}footer{font-size:14px;text-align:center;color:#647796;padding:18px 24px 28px}.quiz{background:white;border:1px solid var(--line);border-radius:28px;padding:28px 34px}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.back{background:none;border:0;color:#536985;font-size:15px;min-height:44px}.subject-tag{padding:5px 17px;background:#edf3ff;border-radius:50px;color:var(--blue);font-size:15px}.progress{display:flex;gap:8px;margin:22px 0 32px}.progress span{height:8px;background:#edf1f8;flex:1;border-radius:10px}.progress .done{background:var(--blue)}.progress .current{background:#9cbaff}.exercise{display:grid;grid-template-columns:1.15fr 1fr;gap:48px}.question-side{padding-top:15px}.equation{display:flex;align-items:center;gap:15px;font-size:clamp(38px,5.5vw,64px);font-weight:800;line-height:1.3;margin-top:15px;white-space:nowrap;font-variant-numeric:tabular-nums}.operator{font-size:.7em;color:#5d769c}.answer{height:105px;margin-top:20px;border:3px solid #b6cbff;border-radius:18px;background:#f6f9ff;display:flex;justify-content:center;align-items:center;gap:10px;font-size:54px;line-height:1;font-weight:800;color:var(--blue)}.placeholder{color:#94add4}.answer-caret{height:46px;width:3px;background:var(--blue);animation:blink 1s steps(2,start) infinite}.correct-answer{border-color:#209d75;background:#edfaf4;color:#087555}.answer-check{font-size:30px}.feedback{min-height:57px;font-size:16px;color:#536c90;margin:16px 0 4px}.try-again{border-color:#e0a74a;background:#fffaf0}.hint-button{border:1px solid #dfbc52;background:#fff7d7;color:#755615;border-radius:12px;padding:10px 17px;display:flex;gap:40px;align-items:center;min-height:48px;font-size:15px}.hint-button:disabled{opacity:.5}.hint{font-size:16px;background:#fffae8;border-radius:12px;padding:16px;margin-top:12px;color:#755615;overflow-wrap:anywhere}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.keypad button{min-height:77px;border:1px solid #dae3f3;border-radius:15px;background:#f4f7fc;box-shadow:0 3px 0 #e0e7f2;color:#203a61;font-size:31px;line-height:1.3;font-variant-numeric:tabular-nums}.keypad button:hover:not(:disabled){background:#e8efff}.keypad button:disabled{opacity:.45}.keypad .clear{font-size:16px}.keypad .delete{font-size:25px}.check{width:100%;margin:22px 0 12px}.result{max-width:650px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:28px;text-align:center;padding:32px}.result-badge{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#ffdf69;color:#674d00;font-size:40px;margin:0 auto 20px}.result h1{font-size:29px;margin:7px 0 12px}.result-description{color:#5e708c;font-size:16px}.result-score{display:flex;flex-direction:column;gap:3px;border-radius:18px;background:#eff5ff;margin:22px 0;padding:12px;color:var(--blue);font-size:15px}.result-score strong{font-size:46px;line-height:1.5}.result-score strong span{font-size:21px}.review-list>div{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 3px;border-bottom:1px solid #e6edf6}.review-list strong{font-size:20px}.review-list span{font-size:14px;color:#347460}.result-actions{display:flex;flex-direction:column;gap:15px;margin-top:26px}.secondary{padding:15px;background:white;border:2px solid var(--line);border-radius:14px;color:#365479;min-height:58px;font-size:17px}@keyframes blink{to{visibility:hidden}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:900px){.header{padding:23px 27px}main{padding:10px 27px 20px}.subject{padding:18px;min-height:212px}.subject-description{font-size:14px}.level{flex-direction:column;gap:2px;align-items:flex-start}.times-levels .level{align-items:center}.start{min-width:270px}.exercise{gap:28px}.quiz{padding:23px}.keypad button{min-height:74px}.equation{gap:10px}.home-notes{gap:12px}.start-row p{font-size:14px}}@media(max-width:650px){.header{padding:20px}.brand{font-size:16px;gap:5px}.brand-icon{width:32px;height:32px;font-size:26px}.grade{font-size:12px;padding:4px 9px}main{padding:7px 18px 12px}.intro{margin:8px 0 22px}h1{font-size:26px}.subjects{gap:10px}.subject{border-radius:17px;padding:13px 10px;min-height:160px}.subject-symbol{width:41px;height:41px;border-radius:12px;font-size:29px}.subject strong{font-size:23px}.subject-description{font-size:12px;line-height:1.6}.selection{width:18px;height:18px;font-size:11px}.subject-top{margin-bottom:12px}.setup{padding:20px 17px;margin-top:23px}.setup h2{font-size:17px}.levels{gap:8px}.level{padding:12px 10px}.level strong{font-size:15px}.level span{font-size:13px}.times-levels{grid-template-columns:repeat(3,1fr)}.times-levels .level{font-size:15px;min-height:53px}.start-row{flex-direction:column;align-items:stretch;gap:13px;margin-top:19px;padding-top:15px}.start-row p{justify-content:center}.start{min-width:0;width:100%}.home-notes{flex-wrap:wrap;justify-content:center;font-size:12px;margin:15px 0}.text-button{margin:0;font-size:13px}.quiz{padding:17px 15px;border-radius:21px}.quiz-top{gap:7px;font-size:13px}.back{padding:0;font-size:13px}.subject-tag{font-size:12px;padding:5px 10px}.progress{margin:16px 0}.exercise{grid-template-columns:1fr;gap:21px}.question-side{padding:0}.question-side>.eyebrow{text-align:center}.equation{justify-content:center;font-size:43px;margin-top:8px}.answer{height:74px;font-size:43px;margin-top:12px}.answer-caret{height:35px}.feedback{min-height:0;margin:12px 0;text-align:center;font-size:14px}.hint-button{margin:auto;font-size:14px;min-height:44px}.keypad{gap:9px}.keypad button{min-height:58px;font-size:27px}.check{margin-top:15px}.result{padding:25px 17px}.result h1{font-size:24px}.review-list strong{font-size:18px}.review-list span{font-size:12px}.primary{font-size:16px}footer{font-size:12px;padding-top:5px}}@media(min-width:651px) and (max-height:850px){.header{padding-top:18px;padding-bottom:18px}.intro{margin-top:0;margin-bottom:20px}.subject{min-height:195px}.setup{margin-top:25px;padding-top:22px;padding-bottom:22px}.home-notes{margin-top:14px;margin-bottom:7px}}

.chant-hint{white-space:pre-line;font-size:15px;line-height:2}.chant-hint::first-line{font-size:clamp(21px,2.6vw,26px);font-weight:800;line-height:1.8}

.quiz-top{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:2;background:white;border-radius:14px;padding:8px 0;flex-wrap:wrap}.quiz .back{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:52px;padding:10px 18px;border:2px solid #255be5;border-radius:14px;background:#edf3ff;color:#1747be;font-size:18px;font-weight:800;box-shadow:0 3px 0 #cfddff}.quiz .back:hover{background:#dce8ff}@media(max-width:650px){.quiz .back{padding:10px 12px;font-size:16px}.quiz-top{gap:8px}}

.spoken-chant{border:2px solid #a3d8c5;background:#edfaf4;border-radius:18px;padding:18px;margin-top:6px}.chant-reading{font-size:clamp(22px,2.8vw,28px);font-weight:800;line-height:1.7;color:#086447;overflow-wrap:anywhere}.listen-button{display:block;width:100%;min-height:52px;margin-top:14px;padding:11px 14px;background:white;border:2px solid #168363;border-radius:13px;color:#086447;font-size:17px;font-weight:800}.listen-button:disabled{opacity:.55}.speech-status{margin-top:10px;font-size:14px;line-height:1.7;color:#346451}

.voice-credit{margin:12px 0 0;color:#537568;font-size:12px;line-height:1.6}

.speech-speed{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:16px}.speech-speed label{font-size:15px;color:#086447}.speech-speed select{flex:1;min-width:160px;min-height:48px;border:2px solid #a3d8c5;border-radius:12px;padding:9px 12px;background:white;color:#173d32;font:inherit;font-size:16px}.speech-speed select:focus-visible{outline:4px solid #e5a900;outline-offset:3px}

.answer-actions{margin-top:36px;padding-top:24px;border-top:2px solid #dbe5f4}.answer-actions .check{margin:0;min-height:68px}.memo{margin-top:32px;padding-top:24px;border-top:2px solid #e4eaf4}.memo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.memo-heading h2{font-size:20px}.memo-heading p,.memo-heading>span{font-size:13px;color:#60718c}.memo-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 12px}.memo-tools button{min-height:48px;padding:10px 15px;border:2px solid #d5e0f1;border-radius:12px;background:white;color:#365479;font-size:15px}.memo-tools button[aria-pressed="true"]{background:#eaf1ff;border-color:#255be5;color:#1747be}.memo-tools button:disabled{opacity:.4}.memo-tools .memo-clear{margin-left:auto;color:#765d42;background:#fffaf2;border-color:#e4d5c0}.memo-tools label{display:flex;align-items:center;min-height:44px;gap:6px;font-size:14px;color:#536885}.memo-tools input{width:21px;height:21px;accent-color:#255be5}.memo-canvas{display:block;width:100%;height:clamp(250px,32vw,340px);border:2px solid #cbd8ed;border-radius:16px;background-color:#fcfdff;background-image:radial-gradient(#d5dff0 1px,transparent 1px);background-size:24px 24px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.memo-canvas.erasing{cursor:cell}@media(max-width:650px){.answer-actions{margin-top:34px;padding-top:24px}.memo-tools{gap:8px}.memo-tools button{font-size:13px;padding:9px 10px}.memo-tools .memo-clear{margin-left:0}.memo-canvas{height:260px}.memo-heading>span{font-size:12px}}
