.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--purple-50: #f8f7ff;--purple-100: #f0ecff;--purple-200: #e0deff;--purple-300: #c4bfff;--purple-400: #a29bfe;--purple-500: #6c5ce7;--purple-600: #5b4cdb;--purple-700: #4a3c7a;--purple-800: #3a2a70;--purple-900: #2d1e5c;--teal-100: #b2f5f3;--teal-400: #33ddd8;--teal-500: #00cec9;--teal-600: #00b5b0;--teal-700: #00918d;--green-100: #e6f9f0;--green-200: #b2f2e3;--green-400: #55efc4;--green-500: #00b894;--green-700: #00896e;--green-900: #2d4a2e;--yellow-50: #fffdf5;--yellow-100: #fff3d4;--yellow-200: #ffeaa7;--yellow-300: #fdd88a;--yellow-400: #fdcb6e;--yellow-600: #f9a825;--yellow-800: #b07d10;--yellow-900: #856404;--coral-50: #fff3f0;--coral-100: #fde8e3;--coral-200: #ffd5cc;--coral-300: #fab1a0;--coral-400: #ff7675;--coral-500: #e17055;--coral-700: #c04a30;--peach-100: #ffe0ca;--peach-400: #ff9a4a;--notyet-500: #74b9ff;--notyet-700: #2f6fad;--white: #ffffff;--gray-50: #f5f5fa;--gray-100: #eceef3;--gray-200: #e0e0e8;--gray-300: #d4d7e2;--gray-400: #b2bec3;--gray-600: #636e72;--gray-900: #2d3436;--slate-400: #9ea5cc;--slate-600: #6a7099;--ink-700: #2d2b55;--ink-800: #1a1a4e;--ink-900: #0f0f23;--sky-300: #87ceeb;--wood-100: #e8c9aa;--wood-300: #d2a883;--wood-600: #7a5030;--wood-900: #4a2a10;--color-primary: var(--purple-500);--color-primary-light: var(--purple-400);--color-primary-dark: var(--purple-600);--color-secondary: var(--teal-500);--color-accent: var(--yellow-400);--color-bg: #fefefe;--color-bg-soft: var(--purple-50);--color-text: #333333;--color-text-light: var(--gray-600);--color-success: var(--green-500);--color-danger: var(--coral-500);--color-notyet: var(--notyet-500);--color-border: var(--gray-200);--surface-0: var(--white);--surface-1: var(--color-bg);--surface-2: var(--purple-50);--surface-3: var(--purple-100);--surface-4: var(--purple-200);--font-body: "Nunito", system-ui, sans-serif;--font-heading: "Fredoka", "Nunito", system-ui, sans-serif;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: clamp(2.25rem, 5vw, 3.25rem);--text-display: clamp(2.5rem, 7vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--radius: var(--radius-md);--shadow-1: 0 1px 3px rgba(108, 92, 231, .08), 0 1px 2px rgba(45, 43, 85, .04);--shadow-2: 0 4px 14px rgba(108, 92, 231, .12);--shadow-3: 0 10px 30px rgba(108, 92, 231, .16);--shadow-4: 0 20px 50px rgba(45, 30, 92, .22);--ring: 0 0 0 3px var(--white), 0 0 0 6px var(--purple-500);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .35s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--tap-min: 44px;--container: 1100px;--measure: 65ch;--rc-font-family: var(--font-body);--rc-font-size: 1;--rc-letter-spacing: normal;--rc-line-height: 1.8;--rc-bg-color: var(--color-bg);--rc-text-color: var(--color-text)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}body{min-height:100dvh;line-height:1.8;text-align:left;font-family:var(--rc-font-family);font-size:calc(1rem * var(--rc-font-size));letter-spacing:var(--rc-letter-spacing);line-height:var(--rc-line-height);background-color:var(--rc-bg-color);color:var(--rc-text-color)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border:2px solid transparent;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);text-decoration:none}.btn:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-1)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--purple-500);color:var(--white);box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--purple-600)}.btn-secondary{background:var(--white);color:var(--purple-500);border-color:var(--purple-300)}.btn-secondary:hover{background:var(--purple-50);border-color:var(--purple-400)}.btn-soft{background:var(--purple-100);color:var(--purple-600)}.btn-soft:hover{background:var(--purple-200)}.btn-accent{background:var(--yellow-400);color:var(--gray-900);box-shadow:var(--shadow-1)}.btn-accent:hover{background:var(--yellow-300)}.btn-teal{background:var(--teal-500);color:var(--white)}.btn-teal:hover{background:var(--teal-600)}.btn-ghost{background:transparent;color:var(--purple-500)}.btn-ghost:hover{background:var(--purple-50);box-shadow:none}.btn-lg{min-height:52px;padding:var(--space-4) var(--space-6);font-size:var(--text-md)}.btn-sm{padding:var(--space-2) var(--space-4)}.btn-block{display:flex;width:100%}.btn-google{background:var(--white);color:var(--color-text);border-color:var(--gray-200)}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media(max-width:560px){.btn-group{flex-direction:column;align-items:stretch}.btn-group>.btn{width:100%}}.card{background:var(--surface-0);border-radius:var(--radius-lg);border:1px solid var(--purple-100);border-top:4px solid var(--card-accent, var(--purple-500));box-shadow:var(--shadow-1);padding:var(--space-5);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}a.card:hover,.card-interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);text-decoration:none}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--chip-bg, var(--purple-100));color:var(--chip-fg, var(--purple-600));font-size:var(--text-sm);font-weight:700;line-height:1.5}.chip-teal{--chip-bg: var(--teal-100);--chip-fg: var(--teal-700)}.chip-yellow{--chip-bg: var(--yellow-100);--chip-fg: var(--yellow-900)}.chip-green{--chip-bg: var(--green-100);--chip-fg: var(--green-700)}.chip-coral{--chip-bg: var(--coral-100);--chip-fg: var(--coral-700)}.progress{height:12px;border-radius:var(--radius-pill);background:var(--purple-100);overflow:hidden}.progress>.progress-fill,.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple-500),var(--purple-400));transition:width var(--dur-slow) var(--ease-out)}.spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--purple-100);border-top-color:var(--purple-500);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#2d1e5c59;backdrop-filter:blur(4px);animation:fade-in var(--dur-base) var(--ease-out) both}.modal{width:min(480px,100%);max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto;background:var(--surface-0);border-radius:var(--radius-lg);border-top:4px solid var(--card-accent, var(--purple-500));box-shadow:var(--shadow-4);padding:var(--space-6) var(--space-5);animation:pop-in var(--dur-slow) var(--ease-bounce) both}.modal h2{font-size:var(--text-xl);color:var(--purple-500);margin-bottom:var(--space-3)}.modal .btn-group{margin-top:var(--space-5)}.toast,.feedback-text{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:600;font-size:var(--text-md);box-shadow:var(--shadow-2);animation:pop-in var(--dur-slow) var(--ease-bounce) both}.toast-success,.feedback-correct{background:var(--green-100);color:var(--green-700)}.toast-success:before{content:"✓"}.toast-notyet{background:#74b9ff33;color:var(--notyet-700)}.toast-notyet:before{content:"↻"}.results-screen{text-align:center;display:grid;justify-items:center;gap:var(--space-4)}.results-screen .results-art{width:min(220px,60vw);height:auto}.results-screen .results-score{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;color:var(--purple-500);line-height:1}.results-screen .results-stars{font-size:var(--text-2xl);color:var(--yellow-400);letter-spacing:.15em}.band{background:var(--surface-2)}.highlight{color:var(--purple-500)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes answer-correct{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes answer-notyet{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.anim-correct{animation:answer-correct var(--dur-slow) var(--ease-bounce)}.anim-notyet{animation:answer-notyet var(--dur-slow) var(--ease-in-out)}:focus{outline:none}:focus-visible{outline:3px solid var(--purple-500);outline-offset:3px;border-radius:var(--radius-sm)}button,[role=button],select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]){min-height:var(--tap-min)}button,[role=button]{min-width:var(--tap-min)}img[src^="/images/"]:is([src$=".png"],[src$=".jpg"]):not([src*=logo]):not([src*=teachers-reports]){mix-blend-mode:multiply}.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.passage-area,.passage-text,.question-text,.explanation-steps,.exercise-page p,.exercise-page li{text-align:left}.passage-area,.passage-text,.peek-text{max-width:65ch;margin-left:auto;margin-right:auto}.exercise-page .subtitle,.exercise-page .hint,.explanation-steps li,.explanation-tip,.target-label,.progress-text,.back-link,.question-progress,.correction,.results-details{font-size:max(1rem,1em)}.results-details .wrong:before,.correction .wrong:before{content:"✗"}.results-details .right:before,.correction .right:before{content:"✓"}.option-card.correct:after,.balloon-btn.correct:after,.letter-slot.correct:after,.build-slot.correct:after,.placed-event.correct:after{content:" ✓";margin-left:.3rem}.option-card.incorrect:after,.balloon-btn.wrong:after,.letter-slot.incorrect:after,.build-slot.incorrect:after,.placed-event.incorrect:after{content:" ✗";margin-left:.3rem}.feedback-wrong,.feedback-text.feedback-wrong{color:var(--notyet-700)!important;background:#74b9ff33!important;box-shadow:0 0 20px #74b9ff26!important}body.rc-ruler .passage-area,body.rc-ruler .passage-text{cursor:crosshair}.reading-ruler-line{position:fixed;left:0;right:0;height:2.5em;background:#fdcb6e26;border-top:2px solid rgba(253,203,110,.4);border-bottom:2px solid rgba(253,203,110,.4);pointer-events:none;z-index:9999;transition:top .1s ease}::view-transition-old(root){animation:vt-fade-out .25s ease-in forwards}::view-transition-new(root){animation:vt-fade-in .35s ease-out forwards}@keyframes vt-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes vt-fade-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}[data-astro-transition=exercise]::view-transition-old(root){animation:vt-zoom-out .35s cubic-bezier(.4,0,.2,1) forwards}[data-astro-transition=exercise]::view-transition-new(root){animation:vt-slide-up .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes vt-zoom-out{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.15);filter:blur(4px)}}@keyframes vt-slide-up{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.exercise-page{animation:exercise-enter .5s cubic-bezier(.16,1,.3,1) both}.exercise-page .exercise-header{animation:exercise-header-enter .45s cubic-bezier(.16,1,.3,1) .05s both}.exercise-page .game-container{animation:exercise-body-enter .5s cubic-bezier(.16,1,.3,1) .12s both}@keyframes exercise-enter{0%{opacity:0}to{opacity:1}}@keyframes exercise-header-enter{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes exercise-body-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sanctuary-page{animation:exercise-enter .4s ease-out both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.exercise-page,.exercise-page .exercise-header,.exercise-page .game-container,.sanctuary-page{animation:none!important}}.lang-picker{position:relative}.lang-toggle{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid #e8e6f0;border-radius:10px;background:#fff;cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.lang-toggle:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px #6c5ce714}.lang-toggle[aria-expanded=true]{border-color:var(--color-primary-light);box-shadow:0 2px 8px #6c5ce71a}.lang-flag{display:inline-flex;flex-shrink:0;width:20px;height:14px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px #0000001a;line-height:0}.lang-flag svg{display:block;width:100%;height:100%}.lang-toggle-label{line-height:1}.lang-chevron{opacity:.35;transition:transform .2s ease;margin-left:.1rem}.lang-toggle[aria-expanded=true] .lang-chevron{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;list-style:none;background:#fff;border:1px solid #eeecf5;border-radius:12px;box-shadow:0 10px 32px #00000014,0 2px 8px #00000008;min-width:175px;padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:200}.lang-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.lang-option{display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--color-text);transition:background .1s ease}.lang-option:hover{background:var(--color-bg-soft)}.lang-option.active{color:var(--color-primary);font-weight:700;background:#f5f3ff}.lang-option-label{font-family:var(--font-body);flex:1}.lang-check{color:var(--color-primary);margin-left:auto;flex-shrink:0}.exercise-page{min-height:100dvh;background:var(--surface-2);position:relative;overflow-x:clip;color:var(--color-text)}.exercise-page .exercise-header{display:flex;align-items:center;gap:var(--space-4);max-width:1920px;margin:0 auto;padding:var(--space-3) var(--space-4);padding-right:calc(var(--space-3) + 2 * var(--tap-min) + var(--space-2) + var(--space-3));position:relative;z-index:10}.exercise-page .exercise-info{flex:1;min-width:0}.exercise-page .exercise-info h1{font-size:var(--text-lg);color:var(--purple-600);line-height:1.2;text-shadow:none}.exercise-page .exercise-info .subtitle,.exercise-page .exercise-header .subtitle{color:var(--color-text-light);font-size:var(--text-base);line-height:1.4}.exercise-page .back-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--white);color:var(--purple-600);font-family:var(--font-heading);font-weight:600;box-shadow:var(--shadow-1);white-space:nowrap;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.exercise-page .back-link:hover{background:var(--purple-100);text-decoration:none;color:var(--purple-600)}.exercise-page .timer{font-family:var(--font-heading);font-size:var(--text-md);font-weight:600;color:var(--purple-600);background:var(--white);border:1px solid var(--purple-100);box-shadow:var(--shadow-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;backdrop-filter:none}.exercise-page .break-btn{flex-shrink:0;width:var(--tap-min);height:var(--tap-min);border-radius:50%;border:1px solid var(--purple-100);background:var(--white);color:var(--purple-500);font-size:var(--text-lg);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast)}.exercise-page .break-btn:hover{background:var(--purple-100);transform:scale(1.06)}.exercise-page .loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-4);color:var(--color-text-light);font-family:var(--font-heading);font-size:var(--text-md);position:relative;z-index:10}.exercise-page .loading:before{content:"";width:140px;height:140px;background:url(/images/gen/loading.webp) center / contain no-repeat}.exercise-page .game-container{position:relative;width:calc(100% - 2 * var(--space-4));max-width:1920px;margin:0 auto var(--space-4);height:calc(100dvh - 88px);min-height:520px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-3);box-shadow:var(--shadow-2)}.exercise-page #scene-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.exercise-page .game-ui{position:relative;z-index:10;max-width:680px;margin:0 auto;padding:var(--space-4);display:flex;flex-direction:column;height:100%;justify-content:safe center;gap:var(--space-4);pointer-events:none}.exercise-page .game-ui>*{pointer-events:auto}.exercise-page .progress-bar{align-self:center;text-align:center}.exercise-page .progress-text{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:#ffffffeb;color:var(--purple-600);font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;box-shadow:var(--shadow-1)}.exercise-page .action-row{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}@media(max-width:560px){.exercise-page .action-row>.btn{flex:1 1 0}}.exercise-page .btn-outline{background:var(--white);color:var(--purple-600);border:2px solid var(--purple-300)}.exercise-page .btn-outline:hover{background:var(--purple-50);border-color:var(--purple-400);color:var(--purple-600)}.exercise-page .resume-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#2d1e5c59;backdrop-filter:blur(4px)}.exercise-page .resume-card{width:min(400px,100%);background:var(--surface-0);border:none;border-top:4px solid var(--purple-400);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);padding:var(--space-6) var(--space-5);text-align:center;animation:pop-in var(--dur-slow) var(--ease-bounce) both}.exercise-page .resume-icon{font-size:var(--text-2xl);margin-bottom:var(--space-2);line-height:1}.exercise-page .resume-card h2{color:var(--purple-600);font-size:var(--text-xl);margin:0 0 var(--space-2)}.exercise-page .resume-progress{color:var(--color-text-light);margin:0 0 var(--space-5);text-align:center}.exercise-page .resume-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.exercise-page .resume-actions>.btn{flex:1 1 140px}.exercise-page .results-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#2d1e5c59;backdrop-filter:blur(4px)}.exercise-page .results-card{width:min(460px,100%);max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto;background:var(--surface-0);border:none;border-top:4px solid var(--purple-400);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);padding:var(--space-6) var(--space-5) var(--space-5);text-align:center;color:var(--color-text);backdrop-filter:none;animation:pop-in var(--dur-slow) var(--ease-bounce) both}.exercise-page .results-card:before{content:"";display:block;width:150px;height:120px;margin:calc(-1 * var(--space-3)) auto var(--space-2);background:url(/images/gen/celebrate.webp) center / contain no-repeat}.exercise-page .results-icon{font-size:var(--text-xl);line-height:1;margin-bottom:var(--space-2)}.exercise-page .results-card h2{color:var(--purple-600);font-size:var(--text-xl);margin-bottom:var(--space-2)}.exercise-page .results-card>p{color:var(--color-text-light);margin-bottom:var(--space-4);text-align:center}.exercise-page .results-xp{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--yellow-100);color:var(--yellow-900);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-3)}.exercise-page .results-xp:empty{display:none}.exercise-page .results-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.exercise-page .results-progress{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:center;align-items:center;margin-bottom:var(--space-4)}.exercise-page .progress-level{background:var(--purple-500);color:var(--white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-weight:700}.exercise-page .progress-title{color:var(--color-text-light);font-style:italic}.exercise-page .progress-streak{font-weight:700;color:var(--coral-700)}.exercise-page .results-details{text-align:left;margin:0 auto var(--space-5);max-width:var(--measure)}.exercise-page .results-details:empty{display:none}.exercise-page .results-details .correction{padding:var(--space-2) 0;border-bottom:1px solid var(--purple-100)}.exercise-page .results-details .correction:last-child{border-bottom:none}.exercise-page .results-details .right{color:var(--green-700);font-weight:700}.exercise-page .results-details .wrong{color:var(--slate-600)}.exercise-page .results-details .hint{color:var(--color-text-light);font-style:italic}.exercise-page .results-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.exercise-page .results-actions>.btn{flex:1 1 160px;justify-content:center}.exercise-page .results-reports-link{display:inline-flex;align-items:center;min-height:var(--tap-min);margin-top:var(--space-2);color:var(--color-text-light)}.exercise-page .results-reports-link:hover{color:var(--purple-600)}@media(max-width:600px){.exercise-page .exercise-header{flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);padding-right:calc(var(--space-3) + 2 * var(--tap-min) + var(--space-2) + var(--space-2))}.exercise-page .exercise-info{flex-basis:100%;order:3}.exercise-page .exercise-info h1{font-size:var(--text-md)}.exercise-page .game-container{width:calc(100% - 2 * var(--space-2));height:auto;min-height:max(480px,calc(100dvh - 128px))}.exercise-page .game-ui{height:auto;min-height:inherit;padding-bottom:var(--space-5)}}@media(min-width:601px){.exercise-page .exercise-header{min-height:80px;padding-left:24px}.exercise-page .game-container{width:calc(100% - 48px);height:calc(100dvh - 104px)}.exercise-page .exercise-info h1{font-size:clamp(20px,1.6vw,26px)}.exercise-page .exercise-header .subtitle{font-size:16px}}@media(pointer:coarse){.exercise-page{--tap-min: 48px}.exercise-page button,.exercise-page .back-link{touch-action:manipulation}}.rc-floating-btn{position:fixed;bottom:var(--space-5);right:var(--space-5);width:48px;height:48px;border-radius:50%;border:none;background:var(--color-primary);color:var(--white);cursor:pointer;box-shadow:var(--shadow-3);display:flex;align-items:center;justify-content:center;z-index:900;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.rc-floating-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-4)}body:has(.exercise-page) .rc-floating-btn{position:absolute;top:var(--space-3);bottom:auto;right:calc(var(--space-3) + var(--tap-min) + var(--space-2));width:var(--tap-min);height:var(--tap-min);background:var(--white);color:var(--purple-500);border:1px solid var(--purple-100);box-shadow:var(--shadow-1)}body:has(.results-overlay:not([style*=none])) #rc-floating-btn,body:has(.resume-modal:not([style*=none])) #rc-floating-btn{visibility:hidden}@media(max-width:768px){.rc-floating-btn{width:var(--tap-min);height:var(--tap-min);bottom:var(--space-3);right:var(--space-3)}body:has(>.header) .rc-floating-btn,body:has(.header) .rc-floating-btn{position:static;order:2;flex:0 0 44px;width:44px;height:44px;margin-right:8px;background:var(--purple-100);color:var(--color-primary);box-shadow:none;z-index:101}body:has(.nav--open) .rc-floating-btn{visibility:hidden}}
