:root{--paper: #fff8ec;--ink: #1f2a44;--muted: #5b6478;--line: #e7dcc8;--hour: #2f5bea;--hour-deep: #1e3fb0;--minute: #ee5a2b;--right: #157a52;--right-bg: #e3f6ee;--wrong: #c43838;--wrong-bg: #fbe7e7;--star: #e0a100;color:var(--ink);background:var(--paper);font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--paper)}body{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:4px;padding:max(12px,env(safe-area-inset-top),var(--native-safe-area-top, 0px)) max(16px,env(safe-area-inset-right),var(--native-safe-area-right, 0px)) max(16px,env(safe-area-inset-bottom),var(--native-safe-area-bottom, 0px)) max(16px,env(safe-area-inset-left),var(--native-safe-area-left, 0px))}html[data-native-safe-area-status=waiting] body{visibility:hidden}html[data-native-safe-area-status]:after{content:"";position:fixed;z-index:100;inset:0 0 auto;height:max(env(safe-area-inset-top),var(--native-safe-area-top, 0px));background:var(--paper);pointer-events:none}button{min-width:48px;min-height:48px;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--hour);outline-offset:2px}.top,.levels,.card,.foot{width:100%;max-width:560px}.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.brand{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:.01em}#legacy{display:contents}#courseLegacyBack{order:2;min-height:48px;padding:8px;border:2px solid var(--line);border-radius:10px;background:#fff}.langs{order:1;display:inline-flex;flex-wrap:wrap;max-width:100%;gap:8px;padding:3px;background:#fff;border:2px solid var(--line);border-radius:999px}.langs button{min-width:48px;min-height:48px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;font-size:.95rem}.langs button[aria-pressed=true]{background:var(--ink);color:#fff}.levels{display:flex;gap:8px;padding:10px 2px 12px;overflow-x:auto;scrollbar-width:none}.levels::-webkit-scrollbar{display:none}.levels button{flex:0 0 auto;min-height:48px;padding:0 14px;white-space:nowrap;background:#fff;border:2px solid var(--line);border-radius:999px;font-weight:700}.levels button[aria-current=true]{background:var(--hour);border-color:var(--hour);color:#fff}.levels .star{margin-left:6px;color:var(--star)}.levels button[aria-current=true] .star{color:#ffd65c}.card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 16px 20px;background:#fff;border-radius:28px;box-shadow:0 2px 0 var(--line),0 12px 28px #1f2a4414}.prompt{margin:0;font-size:1.2rem;font-weight:700;color:var(--muted);text-align:center}.target{margin:0;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:800;line-height:1.15;text-align:center}.target.digits{padding:4px 18px;border-radius:14px;background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.04em}.dial{width:min(78vw,44dvh,340px);height:auto;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none}.dial .face{fill:#fff;stroke:var(--ink);stroke-width:3}.dial .tick{stroke:var(--ink);stroke-width:1.2;stroke-linecap:round}.dial .tick.major{stroke-width:2.6}.dial .number{fill:var(--ink);font-size:17px;font-weight:800;text-anchor:middle;dominant-baseline:central}.dial .minute-labels{display:none}.dial.digits .minute-labels{display:inline}.dial .minute-label{fill:#923d1b;font-size:9.5px;font-weight:800;text-anchor:middle;dominant-baseline:central}.dial .sector{fill:var(--minute);opacity:.14;display:none}.dial.phrase .sector{display:inline}.dial .hand{transform-box:view-box;transform-origin:110px 110px}.dial.moving .hand{transition:transform .7s cubic-bezier(.3,.7,.2,1)}.dial .hand line{stroke-linecap:round}.dial .hand.hour line{stroke:var(--hour);stroke-width:9}.dial .hand.minute line{stroke:var(--minute);stroke-width:6}.dial .hand.minute line.needle{stroke-width:2.4}.dial .knob{display:none}.dial.setting .knob{display:inline;stroke:#fff;stroke-width:2.5}.dial.setting .hand.hour .knob{fill:var(--hour)}.dial.setting .hand.minute .knob{fill:var(--minute)}.dial.setting{cursor:grab}.dial .hub{fill:var(--ink)}.nudges{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.nudge-pair{display:inline-flex;align-items:center;gap:8px}.nudges button{width:48px;height:48px;border:2px solid var(--line);border-radius:14px;background:#fff;font-size:.95rem;color:var(--ink)}.swatch{display:inline-block;width:20px;height:7px;margin-right:6px;border-radius:4px;vertical-align:middle}.swatch.hour{width:14px;height:9px;background:var(--hour)}.swatch.minute{background:var(--minute)}.options{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9rem,40%)),1fr));gap:10px}.options button{min-height:64px;padding:10px 8px;border:2px solid var(--line);border-radius:18px;background:#fff;font-size:1.15rem;font-weight:800;line-height:1.15}.options.digits button{font-size:1.45rem;font-variant-numeric:tabular-nums}.options button.right{border-color:var(--right);background:var(--right-bg);color:var(--right)}.options button.wrong{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.options button:disabled{cursor:default}.options.mini button{padding:10px;display:flex;align-items:center;justify-content:center}.mini-face{width:100%;max-width:84px;height:auto}.mini-ring{fill:#fff;stroke:var(--line);stroke-width:3}.mini-dot{fill:var(--line)}.mini-hour,.mini-minute{stroke-linecap:round}.mini-hour{stroke:var(--hour);stroke-width:3}.mini-minute{stroke:var(--minute);stroke-width:2}.primary{min-width:60%;min-height:56px;padding:0 24px;border:0;border-radius:18px;background:var(--hour);color:#fff;font-size:1.2rem;font-weight:800;box-shadow:0 4px 0 var(--hour-deep)}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--hour-deep)}.feedback{min-height:3.4em;text-align:center}.feedback:empty{min-height:0}.verdict{margin:0;font-size:1.35rem;font-weight:800}.verdict.right{color:var(--right)}.verdict.wrong{color:var(--wrong)}.said{margin:4px 0 0;font-size:1.1rem;font-weight:700}.said .label{color:var(--muted);font-weight:600}.said .digits{font-variant-numeric:tabular-nums}.feedback .primary{margin-top:10px;min-width:0;min-height:48px;font-size:1.05rem;background:var(--right);box-shadow:0 4px #0e5539}.unlock{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;margin-top:4px;background:#fff;border:2px dashed var(--line);border-radius:22px;text-align:center}.unlock h2{margin:0;font-size:1.1rem;font-weight:800}.unlock p{margin:0;color:var(--muted);font-size:.95rem}.unlock-status{font-weight:700;color:var(--ink)}.unlock-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.unlock-actions .primary{min-height:48px;font-size:1.05rem}.unlock-actions .quiet{background:none;border:0}.foot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px 4px;text-align:center;color:var(--muted)}.foot p{margin:0}.legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:.95rem}.streak{font-weight:700;color:var(--ink)}.quiet{color:var(--muted);font-size:.95rem}@media(max-width:400px){#courseLegacyBack{font-weight:700}.options{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5em),1fr))}}@media(max-width:400px)and (max-height:740px){.top:has(#courseLegacyBack:not([hidden])){gap:4px}#courseLegacyBack{order:1}.top:has(#courseLegacyBack:not([hidden])) .langs{order:2}.langs button{min-height:48px}.levels{padding:4px 2px}.card{gap:4px;padding:8px 12px}.target{font-size:1.4rem}.dial{width:min(70vw,32dvh)}.options button{min-height:48px;padding:8px 4px;font-size:1rem}.options.digits button{font-size:1.25rem}.nudges,.nudge-pair{gap:8px}.nudge-pair .swatch{width:16px;margin-right:0}.nudges button{width:48px}.primary{min-height:48px}}@media(min-width:760px){.top,.levels,.card,.foot{max-width:760px}.brand{font-size:1.9rem}.levels button{min-height:52px;padding:0 18px;font-size:1.05rem}.card{gap:16px;padding:28px 32px 30px;border-radius:34px}.prompt{font-size:1.5rem}.target{font-size:2.8rem}.dial{width:min(64vw,50dvh,520px)}.options{gap:14px}.options button{min-height:84px;font-size:1.5rem;border-radius:22px}.options.digits button{font-size:1.9rem}.mini-face{max-width:120px}.primary{min-height:64px;font-size:1.35rem}.nudges button{width:60px;height:54px;font-size:1.1rem}.verdict{font-size:1.7rem}.said{font-size:1.3rem}.legend,.quiet{font-size:1.05rem}}@media(min-width:700px)and (orientation:landscape){.top,.levels,.card,.foot{max-width:1100px}.card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"dial prompt" "dial target" "dial options" "dial check" "dial feedback" "dial next" "nudges .";align-content:center;align-items:center;justify-items:center;column-gap:40px;row-gap:12px}.dial{grid-area:dial;width:min(44vw,64dvh,560px)}.prompt{grid-area:prompt}.target{grid-area:target}.options{grid-area:options}#check{grid-area:check}.feedback{grid-area:feedback}#next{grid-area:next}.nudges{grid-area:nudges}}@media(min-width:600px)and (min-height:600px){body{gap:8px}.top,.levels,.card,.unlock,.foot,.storage-notice{max-width:960px}.brand{font-size:2.25rem}.langs button{min-width:64px;min-height:56px;font-size:22px}#courseLegacyBack{min-height:56px;font-size:22px}.levels button{min-height:56px;padding:0 18px;font-size:22px}.card{gap:12px;padding:24px}.prompt{font-size:26px}.target{font-size:44px}.dial{width:min(74%,54dvh)}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.options button{min-height:80px;font-size:26px}.options.digits button{font-size:30px}.mini-face{max-width:150px}.primary{min-height:64px;font-size:26px}.nudges button{width:64px;height:56px;font-size:22px}.verdict{font-size:28px}.said{font-size:22px}.feedback .primary{min-height:56px;font-size:22px}.unlock{padding:20px;border-radius:28px}.unlock h2{font-size:26px}.unlock p{font-size:22px}.unlock-actions .primary{min-height:56px;font-size:22px}.unlock-actions .quiet,.foot .links a{display:inline-flex;align-items:center;justify-content:center;min-height:56px;font-size:22px}.legend{font-size:20px}.streak{font-size:22px}}@media(min-width:600px)and (min-height:600px)and (orientation:landscape){.top,.levels,.card,.unlock,.foot,.storage-notice{max-width:1100px}.card{column-gap:32px}.dial{width:min(100%,60dvh)}}@media(prefers-reduced-motion:reduce){.dial.moving .hand{transition:none}}.storage-notice{width:100%;max-width:560px;margin:12px 0 0;padding:12px 16px;border:2px solid #9a5b17;border-radius:12px;background:#fff1d7;color:#593309;line-height:1.5}html[data-ios-text-adjust],html[data-ios-text-adjust] body{-webkit-text-size-adjust:var(--native-text-adjust)}html[data-large-text=true] .options:not(.mini){grid-template-columns:repeat(2,minmax(0,1fr))}html[data-large-text=true] .options button{overflow-wrap:normal;word-break:normal}@media(max-width:599px){html[data-large-text=true] body{gap:2px}html[data-large-text=true] .top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}html[data-large-text=true] .brand{grid-area:1 / 1}html[data-large-text=true] #courseLegacyBack{grid-area:1 / 2}html[data-large-text=true] .langs{grid-area:2 / 1 / auto / -1;justify-self:start}html[data-large-text=true] .levels{padding-block:0}html[data-large-text=true] .card{gap:2px;padding-top:0;padding-inline:0}html[data-large-text=true] .prompt{line-height:1.15}html[data-large-text=true] #next{order:1}html[data-large-text=true] .feedback{order:2}html[data-large-text=true] .dial{width:clamp(min(62.5vw,272px),calc(100dvh - var(--native-safe-area-top, 0px) - var(--native-safe-area-bottom, 0px) - 510px),min(78vw,calc(40dvh - var(--native-safe-area-bottom, 0px)),340px))}html[data-large-text=true] .options:not(.mini){grid-template-columns:repeat(2,minmax(0,1fr))}html[data-large-text=true] .options:not(.mini) button{padding:2px 4px}}@media(min-width:600px)and (min-height:600px)and (orientation:portrait){html[data-large-text=true] .dial{width:clamp(min(59.2%,43.2dvh),calc(100dvh - max(12px,env(safe-area-inset-top),var(--native-safe-area-top, 0px)) - max(16px,env(safe-area-inset-bottom),var(--native-safe-area-bottom, 0px)) - 740px),min(74%,54dvh))}}@media(min-width:800px)and (max-width:999px)and (min-height:600px)and (orientation:portrait){html[data-large-text=true] .top:has(#courseLegacyBack:not([hidden])){column-gap:8px}#next{min-height:56px}html[data-large-text=true] .card{gap:4px;padding-top:0}html[data-large-text=true] .langs button{padding-inline:4px}html[data-large-text=true] .options:not(.mini) button{padding-inline:0}}.parent-number-gate[hidden]{display:none!important}.parent-number-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#0009;overflow:auto}.parent-number-card{box-sizing:border-box;width:min(100%,560px);max-height:100%;overflow:auto;margin:auto;padding:8px;border-radius:24px;background:#fff8e7;color:#24364b;text-align:center;box-shadow:0 8px 32px #0004}.parent-number-heading{display:flex;justify-content:center;align-items:center;overflow:hidden;width:100%;max-height:60px;margin-bottom:6px}.parent-number-heading>div{flex:0 0 auto;width:max-content;text-align:left}.parent-number-card h2{font-size:20px;line-height:1.2;margin:0 0 6px;white-space:nowrap}.parent-number-card p{font-size:17px;line-height:1.25;margin:0;white-space:nowrap}.parent-number-word{display:flex;justify-content:center;align-items:center;width:100%;height:48px;overflow:hidden;color:#246ba6;font-weight:700;font-size:34px;line-height:1.2;white-space:nowrap;margin:4px 0}.parent-number-slots{display:flex;justify-content:center;gap:10px;margin:6px 0}.parent-number-slots>span{display:flex;justify-content:center;align-items:center;overflow:hidden;box-sizing:border-box;width:52px;height:48px;padding:4px;border:2px solid #24364b;border-radius:12px;background:#f7eedb;font-size:30px;line-height:1;font-weight:700}.parent-number-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.parent-number-keypad button,.parent-number-back{min-width:48px;min-height:48px;padding:4px;border:1px solid #24364b59;border-radius:12px;color:#24364b;background:#fff8e7;touch-action:manipulation}.parent-number-keypad button{display:flex;justify-content:center;align-items:center;overflow:hidden;height:48px;font-size:26px;line-height:1.2;font-weight:700}.parent-number-keypad button:disabled{opacity:.45}.parent-number-back{display:block;margin:0 0 0 auto;font-size:17px;line-height:1.2;border:0;background:transparent;color:#246ba6;font-weight:700}.parent-number-error{color:#bc4038}.parent-number-error:empty{display:none}.parent-number-word>span,.parent-number-slots>span>span,.parent-number-keypad button>span{flex:0 0 auto;display:block;width:max-content;transform-origin:center}@media(orientation:landscape)and (max-height:540px){.parent-number-card{width:min(100%,780px);display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.parent-number-copy{grid-row:1 / 3;align-self:center;min-width:0}.parent-number-keypad,.parent-number-back{grid-column:2}}@media(min-height:600px){.parent-number-heading{max-height:140px}}#course{width:100%;max-width:60rem;margin:0 auto;padding:1rem 1rem max(2rem,env(safe-area-inset-bottom));color:#17384b;background:#f2f7f8}#course[hidden],#legacy[hidden]{display:none}#course h2{font-size:1.7rem;line-height:1.3}#course p,#course label{font-size:1rem;line-height:1.55}#course button,#course input,#course select{font:inherit;color:#17384b}#course button{min-height:48px;padding:.7rem 1rem;border:2px solid #476575;background:#fff;border-radius:.5rem;white-space:normal;overflow-wrap:normal}#course button:focus-visible,#course input:focus-visible,#course select:focus-visible{outline:3px solid #17384b;outline-offset:3px}.course-path{display:flex;flex-direction:column;border-left:.25rem solid #245c75;padding-left:1rem;gap:.8rem;margin:1.5rem 0}.course-path button{text-align:left}.course-clock{display:block;width:min(100%,22rem);margin:1rem auto;touch-action:none}.course-clock text{font:700 16px system-ui;text-anchor:middle}.course-clock text.course-minute{font-size:9px;fill:#743b12}.course-hour{stroke:#185175;stroke-width:7;stroke-linecap:round}.course-minute-hand{stroke:#a84b0b;stroke-width:4;stroke-linecap:round}.course-hero{border-bottom:2px solid #476575}.course-digits{font-variant-numeric:tabular-nums;font-weight:700}#course input[type=range]{width:100%;min-height:48px;accent-color:#185175}.course-axis-labels{display:flex;justify-content:space-between;gap:.5rem}.course-nudges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.6rem;margin:1rem 0}#course input[type=number],#course select{max-width:100%;min-height:48px;padding:.5rem;border:2px solid #476575;background:#fff}#course [role=status]{border-left:.25rem solid #185175;padding:.8rem}.course-skill{border-top:2px solid #476575;padding:1rem 0}.course-gate{position:fixed;z-index:20;inset:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));width:min(calc(100% - 2rem),32rem);margin:auto;max-height:calc(100svh - 2rem);overflow-y:auto;padding:1.5rem;border:3px solid #17384b;background:#fff;color:#17384b;box-shadow:0 0 0 100vmax #17384ba6}.course-gate input{width:100%;min-height:48px;font:inherit}#course>.course-home-play{display:block;width:100%;margin-bottom:1rem;font-weight:700}@media(min-width:600px)and (min-height:600px){#course{max-width:1100px;padding-inline:24px}.course-clock{width:min(74%,54dvh)}}.course-workbench,.course-controls{display:contents}@media(min-width:800px)and (min-height:600px){html[data-large-text=true] .course-workbench{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px}html[data-large-text=true] .course-workbench .course-clock{width:100%;margin:0}html[data-large-text=true] .course-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px}html[data-large-text=true] .course-controls>p{margin:.25rem 0}html[data-large-text=true] .course-controls>label{display:flex;flex-direction:column;gap:4px}html[data-large-text=true] .course-controls button{padding:.35rem .5rem}html[data-large-text=true] .course-controls .course-nudges{grid-template-columns:minmax(0,1fr);gap:8px;margin:0}}@media(min-width:800px)and (max-width:999px)and (min-height:600px){html[data-large-text=true] .course-workbench{grid-template-columns:minmax(0,8fr) minmax(0,5fr);gap:16px}html[data-large-text=true] .course-workbench>[data-answer-clock],html[data-large-text=true] .course-workbench>[data-lab-clock]{grid-column:1;grid-row:1 / span 3}html[data-large-text=true] .course-controls{display:contents}html[data-large-text=true] .course-controls>p,html[data-large-text=true] .course-controls>label,html[data-large-text=true] .course-axis-labels{grid-column:2}html[data-large-text=true] .course-controls .course-nudges{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}html[data-large-text=true] .course-controls>[data-guide]{grid-column:1 / -1}}
