/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.profile-overlay{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#18344ba8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.profile-card{text-align:center;background:#fffdf8;border:5px solid #fff;border-radius:30px;width:min(440px,100%);padding:28px;box-shadow:0 14px #8ccfdc,0 25px 70px #102b3f66}.profile-pop{color:#fff;background:#ff7076;border:5px solid #fff;border-radius:50%;place-items:center;width:78px;height:78px;margin:-65px auto 14px;font-size:21px;font-weight:900;display:grid;box-shadow:0 7px #d95361}.profile-card h1{color:#25435c;margin:5px 0}.profile-card>p{color:#6f8291;margin:5px 0 20px}.profile-card label{text-align:left;color:#435e72;text-transform:uppercase;letter-spacing:.5px;margin:12px 0;font-size:12px;font-weight:900;display:block}.profile-card input{color:#20324a;background:#f8fcfc;border:2px solid #cce3e8;border-radius:14px;outline:none;width:100%;margin-top:6px;padding:12px 14px;font-size:16px;display:block}.profile-card input:focus{border-color:#2bbde2;box-shadow:0 0 0 4px #2bbde21c}.profile-card label small{color:#82919c;text-transform:none;letter-spacing:0;margin:5px 2px;font-size:10px;display:block}.profile-card>button{color:#fff;cursor:pointer;background:#31c899;border:0;border-radius:16px;width:100%;margin-top:10px;padding:12px;font-weight:900;box-shadow:0 5px #249d79}.profile-card>button:disabled{opacity:.65}.profile-card>.profile-cancel{color:#587080;background:#e8f1f3;box-shadow:0 4px #c8dbdf}.profile-error{color:#c5454b;background:#fff0f0;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:700}.stats>.profile-chip{color:#315b70;text-align:left;background:#eefbff;border-radius:15px;grid-template-columns:28px 1fr;width:auto;height:50px;padding:5px 11px;display:grid;box-shadow:0 3px #a8deeb}.stats>.profile-chip span{grid-row:1/3;align-self:center;font-size:20px}.stats>.profile-chip small{text-transform:none;font-size:10px}.stats>.profile-chip strong{color:#169bc7;font-size:13px;line-height:15px}.writing-overlay{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#29433ca8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.writing-card{text-align:center;background:#fffdfa;border:5px solid #fff;border-radius:28px;width:min(720px,100%);max-height:96vh;padding:22px;position:relative;overflow:auto;box-shadow:0 14px #9dbdb2,0 28px 70px #1c322b66}.writing-card>small{letter-spacing:1px;color:#b85f59;font-weight:900}.writing-card h2{color:#344c4b;margin:5px 0 14px}.writing-close{color:#587069;cursor:pointer;background:#edf3ef;border:0;border-radius:50%;width:36px;height:36px;font-size:25px;position:absolute;top:12px;right:14px}.writing-model{background:#f3f7f3;border:2px solid #d6e4dd;border-radius:16px;grid-template-columns:1fr auto;align-items:center;width:min(250px,100%);margin:0 auto 13px;padding:8px 14px;display:grid}.writing-model span{color:#768881;text-transform:uppercase;font-size:10px;font-weight:700}.writing-model strong{color:#344c4b;grid-row:1/3;padding-left:12px;font-size:43px}.writing-model button{color:#568b79;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.writing-board{background-color:#fff;background-image:linear-gradient(#c8d8d180 1px,#0000 1px),linear-gradient(90deg,#c8d8d180 1px,#0000 1px),linear-gradient(45deg,#0000 49.7%,#d5e1dc 50%,#0000 50.3%),linear-gradient(-45deg,#0000 49.7%,#d5e1dc 50%,#0000 50.3%);background-size:50% 50%,50% 50%,100% 100%,100% 100%;border:3px solid #9dbdb2;border-radius:20px;width:min(620px,100%);margin:auto;position:relative;overflow:hidden}.writing-board>span{color:#8b9a95;text-transform:uppercase;pointer-events:none;font-size:10px;font-weight:700;position:absolute;top:7px;left:10px}.writing-board canvas{aspect-ratio:5/3;touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.writing-card>p{color:#70817b;margin:10px}.writing-actions{justify-content:center;gap:10px;display:flex}.writing-actions button{color:#526c63;cursor:pointer;background:#edf3ef;border:0;border-radius:14px;padding:10px 20px;font-weight:700}.writing-actions .writing-next{color:#fff;background:#6d9f88;box-shadow:0 4px #527b69}.idiom-card{min-height:650px}.idiom-prompt{margin-bottom:4px}.idiom-bubbles .bubble strong{letter-spacing:1px;font-size:25px}.idiom-correction{text-align:center;padding:18px 12px}.idiom-correction>p{color:#b85f59;font-weight:900}.idiom-correction>.writing-model{width:min(330px,100%)}.idiom-correction>.writing-model strong{font-size:34px}.idiom-correction>small{color:#71817c;margin:-5px 0 12px;display:block}.idiom-correction .inline-writing{width:min(820px,100%);margin-top:14px}.idiom-correction .inline-writing canvas{aspect-ratio:2}.idiom-correction .writing-actions{margin-top:12px}.celebration{z-index:18;pointer-events:none;text-align:center;width:min(520px,90vw);height:145px;position:fixed;top:118px;left:50%;transform:translate(-50%)}.celebration strong{z-index:2;color:#fff;background:#6d9f88;border:4px solid #fff;border-radius:24px;padding:13px 24px;font-size:21px;animation:.75s both cheer-pop;display:inline-block;position:relative;box-shadow:0 7px #527b69,0 14px 30px #45685a38}.celebration i{--angle:calc(var(--i)*27deg);color:#d8a956;animation:.85s ease-out both star-burst;animation-delay:calc(var(--i)*12ms);font-size:16px;font-style:normal;position:absolute;top:30px;left:50%}.celebration i:nth-of-type(3n+2){color:#d77d78}.celebration i:nth-of-type(3n){color:#6c9eb2}@keyframes cheer-pop{0%{opacity:0;transform:scale(.6)translateY(12px)}45%{transform:scale(1.08)translateY(-3px)}to{transform:scale(1)}}@keyframes star-burst{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px) scale(.3)}35%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(115px) scale(1.2)}}.idiom-success>p{color:#4f866f}.idiom-meanings{grid-template-columns:1fr 1fr;gap:10px;width:min(620px,100%);margin:10px auto 14px;display:grid}.idiom-meanings p{color:#526b62;text-align:left;background:#f1f6f2;border-radius:15px;margin:0;padding:12px 14px;font-size:14px}.idiom-meanings b{color:#6d9f88;text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;font-size:10px;display:block}@media (max-width:560px){.idiom-meanings{grid-template-columns:1fr}}.roadmap,.activity{z-index:2;background:#fff;border:4px solid #fff;border-radius:25px;width:min(1020px,100% - 28px);margin:22px auto 0;padding:20px;position:relative;box-shadow:0 8px #afdfe3}.roadmap-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.roadmap-title small,.activity>div>small{letter-spacing:1px;color:#ef5f68;font-weight:900}.roadmap h2,.activity h2{color:#25435c;margin:3px 0}.roadmap p{color:#718294;margin:2px 0;font-size:13px}.today{background:#eefbff;border-radius:18px;gap:2px;min-width:190px;padding:12px 18px;display:grid}.today strong{color:#169fc5}.today span{color:#536b7c;font-size:12px}.roadmap-levels{grid-template-columns:repeat(6,1fr);gap:9px;margin-top:18px;display:grid}.roadmap-levels button{text-align:left;cursor:pointer;color:#526a7c;background:#f8fcfc;border:2px solid #dcebed;border-radius:15px;padding:10px}.roadmap-levels span,.roadmap-levels b,.roadmap-levels small{display:block}.roadmap-levels span{color:#ef5f68;font-weight:900}.roadmap-levels b{margin:4px 0;font-size:13px}.roadmap-levels small{margin-top:5px;font-size:9px}.roadmap-levels i{background:#dcebed;border-radius:9px;height:7px;display:block;overflow:hidden}.roadmap-levels em{background:linear-gradient(90deg,#31c899,#32bde2);border-radius:9px;height:100%;display:block}.activity{margin-bottom:18px;box-shadow:0 8px #eadfca}.activity-list{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px;display:grid}.activity article{background:#f6fbfc;border:2px solid #e2eff0;border-radius:15px;grid-template-columns:1fr auto;gap:3px;padding:11px;display:grid}.activity article span{color:#20a9d1;font-weight:900}.activity article b{color:#ef656b}.activity article strong,.activity article em{font-size:12px;font-style:normal}.activity article em{color:#e16868;text-align:right}.activity article small{color:#83909c;grid-column:1/-1}.empty{color:#7d8d99}.random-board .match-bubble{animation:7s ease-in-out infinite alternate roam}.random-board .match-bubble:nth-child(2n){animation-name:roam2}@keyframes roam{to{transform:translate(70px,55px)rotate(10deg)}}@keyframes roam2{to{transform:translate(-65px,70px)rotate(-10deg)}}.ai-coach{z-index:2;background:linear-gradient(135deg,#f7fbf6,#eef6f3);border:3px solid #d9e7df;border-radius:24px;grid-template-columns:auto 1fr 230px;align-items:center;gap:18px;width:min(1020px,100% - 28px);margin:18px auto 0;padding:18px 20px;display:grid;position:relative;box-shadow:0 7px #c7dcd2,0 15px 28px #60776d18}.coach-avatar{color:#fff;background:linear-gradient(145deg,#6d9f88,#527b69);border-radius:22px;place-items:center;width:68px;height:68px;display:grid;position:relative;box-shadow:0 5px #456858}.coach-avatar span{font-size:26px}.coach-avatar b{background:#d8a956;border:3px solid #fff;border-radius:50%;place-items:center;width:27px;height:27px;font-size:9px;display:grid;position:absolute;bottom:-6px;right:-6px}.coach-copy small,.coach-next small{color:#6d8b7f;letter-spacing:.8px;font-size:10px;font-weight:900}.coach-copy h2{color:#344c4b;margin:3px 0;font-size:20px}.coach-copy p{color:#62766e;margin:4px 0 10px;font-size:13px;line-height:1.4}.coach-metrics{flex-wrap:wrap;gap:8px;display:flex}.coach-metrics span{color:#788982;background:#fff;border-radius:10px;padding:6px 9px;font-size:9px}.coach-metrics b{color:#527b69;font-size:15px;display:block}.coach-next{background:#fff;border:2px solid #dce8e2;border-radius:17px;flex-direction:column;justify-content:center;align-self:stretch;padding:12px 14px;display:flex}.coach-next strong{color:#b85f59;font-size:21px}.coach-next span{color:#72837c;font-size:11px}.coach-next button{color:#fff;cursor:pointer;background:#6d9f88;border:0;border-radius:12px;margin-top:9px;padding:9px;font-size:11px;font-weight:900;box-shadow:0 3px #527b69}.mixed-board.physics .match-bubble{will-change:transform;transition:opacity .35s,scale .25s;animation:none!important;top:0!important;left:0!important}.mixed-board.physics .match-bubble:hover{scale:1.07}.mixed-board.physics .match-bubble:disabled{opacity:0;scale:0;animation:none!important}.mixed-board{max-width:900px;height:440px;margin:0 auto;position:relative}.mixed-board .match-bubble{animation:4s ease-in-out infinite drift;position:absolute}.mixed-board .match-bubble small,.mixed-board .match-bubble strong{display:block}.mixed-board .match-bubble small{opacity:.75;letter-spacing:.7px;font-size:9px}.mixed-board .match-bubble:first-child{animation-delay:-.4s;top:8%;left:2%}.mixed-board .match-bubble:nth-child(2){animation-delay:-2.1s;top:2%;left:22%}.mixed-board .match-bubble:nth-child(3){animation-delay:-1.2s;top:12%;left:43%}.mixed-board .match-bubble:nth-child(4){animation-delay:-3.3s;top:3%;left:65%}.mixed-board .match-bubble:nth-child(5){animation-delay:-.8s;top:18%;left:84%}.mixed-board .match-bubble:nth-child(6){animation-delay:-2.7s;top:57%;left:9%}.mixed-board .match-bubble:nth-child(7){animation-delay:-1.7s;top:66%;left:29%}.mixed-board .match-bubble:nth-child(8){animation-delay:-3.8s;top:54%;left:50%}.mixed-board .match-bubble:nth-child(9){animation-delay:-.2s;top:67%;left:70%}.mixed-board .match-bubble:nth-child(10){animation-delay:-2.4s;top:54%;left:86%}@keyframes drift{0%,to{transform:translate(0)rotate(-2deg)}35%{transform:translate(8px,-14px)rotate(2deg)}70%{transform:translate(-7px,7px)rotate(-1deg)}}@media (max-width:700px){.mixed-board{height:540px}.mixed-board .match-bubble{width:76px;height:76px}.mixed-board .match-bubble:first-child{top:4%;left:3%}.mixed-board .match-bubble:nth-child(2){top:1%;left:37%}.mixed-board .match-bubble:nth-child(3){top:7%;left:70%}.mixed-board .match-bubble:nth-child(4){top:23%;left:17%}.mixed-board .match-bubble:nth-child(5){top:27%;left:57%}.mixed-board .match-bubble:nth-child(6){top:48%;left:2%}.mixed-board .match-bubble:nth-child(7){top:45%;left:38%}.mixed-board .match-bubble:nth-child(8){top:51%;left:72%}.mixed-board .match-bubble:nth-child(9){top:72%;left:19%}.mixed-board .match-bubble:nth-child(10){top:75%;left:58%}}.answer-reveal,.results{text-align:center;padding:26px 18px}.answer-reveal>p{color:#ef656b;font-weight:700}.answer-reveal>button:not(.continue){color:#fff;cursor:pointer;background:#38bfe4;border:4px solid #fff;border-radius:24px;grid-template-columns:34px 1fr;align-items:center;min-width:230px;margin:14px auto 8px;padding:14px 22px;display:grid;box-shadow:0 7px #239fc4}.answer-reveal>button span{grid-row:1/3;font-size:28px}.answer-reveal>button strong{font-size:32px}.answer-reveal>button small{font-size:13px}.answer-reveal em{color:#7e8d99;font-size:12px;display:block}.answer-reveal .continue,.play-again{color:#fff;cursor:pointer;background:#31c899;border:0;border-radius:18px;margin-top:18px;padding:10px 20px;font-weight:700;box-shadow:0 4px #249d79}.result-icon{font-size:52px}.results h2{color:#25435c;margin:5px 0}.results h3{margin:22px 0 2px}.review-help{color:#7d8c98;margin:4px;font-size:12px}.review-list{flex-wrap:wrap;justify-content:center;gap:10px;max-width:700px;margin:14px auto;display:flex}.review-list button{text-align:left;color:#24465d;cursor:pointer;background:#eefbff;border:2px solid #a7e4f1;border-radius:16px;grid-template-columns:25px 1fr;min-width:180px;padding:9px 14px;display:grid}.review-list button span{color:#20a9d1;grid-row:1/3;align-self:center;font-size:20px}.review-list button strong{font-size:20px}.review-list button small{color:#71818e;font-size:11px}.perfect{color:#287c61;background:#e6fff4;border-radius:15px;width:max-content;max-width:100%;margin:20px auto;padding:12px 18px;font-weight:700}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(#c9f4ff 0 58%,#fff8e9 58%);min-height:100vh;margin:0;font-family:Trebuchet MS,Arial Rounded MT Bold,Arial,sans-serif}button{font:inherit}main{min-height:100vh;padding-bottom:28px;position:relative;overflow:hidden}.sky-dots{opacity:.35;background-image:radial-gradient(circle,#fff 0 2px,#0000 3px);background-size:110px 90px;height:520px;position:absolute;inset:90px 0 auto}header{z-index:3;background:#fffffff2;border-bottom:5px solid #9be4f6;justify-content:space-between;align-items:center;height:88px;padding:12px max(20px,50% - 540px);display:flex;position:relative}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:#ff6a68;border:4px solid #fff;border-radius:50%;width:58px;height:58px;position:relative;box-shadow:0 3px #d64f59}.brand-mark i{background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:20px;left:8px}.brand-mark i:nth-child(2){top:10px;left:22px}.brand-mark i:nth-child(3){top:22px;left:36px}.brand strong{color:#ef4f5f;font-size:24px;display:block}.brand small{color:#65758b;font-weight:700}.stats{align-items:center;gap:12px;display:flex}.stats>div{background:#fff6db;border:2px solid #ffe3a4;border-radius:15px;grid-template-columns:32px 1fr;min-width:100px;height:50px;padding:4px 9px;display:grid;box-shadow:0 3px #f2d28d}.stats>div>span{grid-row:1/3;align-self:center;font-size:26px}.stats small{color:#7b8797;text-transform:uppercase;font-size:10px;font-weight:700}.stats strong{font-size:20px;line-height:17px}.star{color:#ffc432}.fire{color:#ff765b}.stats>button{color:#169bc7;cursor:pointer;background:#e0f7fd;border:0;border-radius:50%;width:44px;height:44px;font-size:24px;box-shadow:0 3px #a8deeb}.control-deck{z-index:2;background:#ffffffed;border:4px solid #fff;border-radius:24px;grid-template-columns:auto 1fr;gap:30px;width:min(1020px,100% - 28px);margin:22px auto 0;padding:15px 20px;display:grid;position:relative;box-shadow:0 8px #afdfe3}.control-block label{text-transform:uppercase;letter-spacing:.8px;color:#718294;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.control-block>div{gap:7px;display:flex}.control-block button{color:#647687;cursor:pointer;background:#eaf3f5;border:0;border-radius:12px;min-height:40px;font-weight:700}.control-block:not(.modes) button{width:43px}.control-block button.active{color:#fff;background:#ff6d70;box-shadow:0 4px #d4505b}.modes button{align-items:center;gap:6px;padding:5px 11px;display:flex}.modes b{width:24px;height:24px;color:inherit;background:#fff8;border-radius:50%;place-items:center;display:grid}.modes span{white-space:nowrap;font-size:12px}.game-card{z-index:2;background:#fffdf8;border:5px solid #fff;border-radius:32px;width:min(1020px,100% - 28px);min-height:520px;margin:18px auto;padding:20px 50px 25px;position:relative;box-shadow:0 13px #d8e9df,0 18px 30px #4c9fa12d}.game-top{color:#6d7e8e;border-bottom:2px dashed #dce8e8;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding-bottom:12px;display:grid}.game-top>div strong,.game-top>div small{display:block}.game-top>div small{margin-top:3px;font-size:12px}.level-pill{color:#fff;background:#32c69a;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700}.timer{color:#ef686b;font-size:18px;font-weight:700}.prompt{text-align:center}.prompt>p{color:#687b8d;margin:18px 0 10px;font-weight:700}.listen{color:#fff;cursor:pointer;background:#22bde4;border:0;border-radius:25px;padding:10px 19px;font-weight:700;box-shadow:0 5px #169fc5}.listen span{margin-right:7px;font-size:20px}.challenge{background:#f0fbff;border:2px dashed #8ad4e8;border-radius:18px;width:max-content;min-width:220px;margin:0 auto;padding:10px 26px}.challenge small,.challenge strong{display:block}.challenge small{letter-spacing:1px;color:#5a8795;font-size:10px}.challenge strong{color:#24405a;margin-top:2px;font-size:30px}.syllabus-tag{color:#9c7027;background:#fff1cf;border-radius:12px;margin-top:12px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.bubbles{grid-template-columns:repeat(4,1fr);place-items:center;gap:22px;margin:25px 0 20px;display:grid}.bubble{color:#fff;cursor:pointer;width:155px;height:155px;box-shadow:inset -13px -16px 17px #00000018,inset 9px 8px 12px #ffffff45,0 9px 0 var(--shadow),0 14px 18px #647c8b35;border:5px solid #ffffffd5;border-radius:50%;transition:transform .15s;animation:3.4s ease-in-out infinite float;position:relative}.bubble:nth-child(2){animation-delay:-1.4s}.bubble:nth-child(3){animation-delay:-2.2s}.bubble:nth-child(4){animation-delay:-.7s}.bubble:hover{transform:translateY(-7px)scale(1.03)}.bubble strong{text-shadow:0 2px 2px #0002;font-size:34px;display:block}.bubble small{opacity:.9;font-size:11px;font-weight:700}.shine{background:#fff8;border-radius:50%;width:35px;height:19px;position:absolute;top:20px;left:28px;transform:rotate(-28deg)}.correct{background:#49d795;animation:.55s forwards pop}.wrong{animation:.35s shake}.hint{text-align:center;color:#83909c;font-size:13px;font-weight:700}.match-card{min-height:610px}.match-heading{text-align:center;color:#6b7e90}.complete{color:#287c61;background:#e6fff4;border-radius:18px;align-items:center;gap:12px;width:max-content;margin:8px auto 15px;padding:10px 18px;display:flex}.complete span{font-size:25px}.complete button{color:#fff;cursor:pointer;background:#30c796;border:0;border-radius:12px;padding:7px 12px;font-weight:700}.match-board{grid-template-columns:1fr 1fr;gap:80px;padding:0 55px;display:grid;position:relative}.match-board:after{content:"MATCH";letter-spacing:4px;color:#c0d0d3;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.match-board>div{grid-template-columns:repeat(2,1fr);align-items:center;gap:12px;display:grid}.match-board h3{text-align:center;color:#77899a;grid-column:1/-1;margin:0 0 4px}.match-bubble{color:#fff;width:104px;height:104px;box-shadow:inset -8px -10px 10px #0001,0 6px 0 var(--shadow);cursor:pointer;border:4px solid #fffd;border-radius:50%;justify-self:center;font-weight:700;animation:3s ease-in-out infinite float}.match-bubble.en{font-size:13px}.match-bubble.selected{outline:5px solid #39d9a6;transform:scale(1.08)}.match-bubble:disabled{pointer-events:none;animation:.45s forwards pop}footer{z-index:2;background:#fff;border-radius:18px;align-items:center;gap:12px;width:min(1020px,100% - 28px);margin:0 auto;padding:10px 18px;display:flex;position:relative;box-shadow:0 5px #eadfca}footer>span{font-size:30px}footer p{margin:0}footer strong,footer small{display:block}footer small{color:#7d8d99;margin-top:2px}@keyframes float{50%{transform:translateY(-7px)}}@keyframes pop{60%{transform:scale(1.15)}to{opacity:0;transform:scale(0)}}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (max-width:850px){.roadmap-levels{grid-template-columns:repeat(3,1fr)}.activity-list{grid-template-columns:repeat(2,1fr)}.control-deck{grid-template-columns:1fr}.modes>div{grid-template-columns:1fr 1fr;display:grid}.bubbles{grid-template-columns:repeat(2,1fr)}.match-board{gap:30px;padding:0}.game-card{padding-inline:22px}}@media (max-width:560px){.roadmap-title{flex-direction:column;align-items:stretch}.roadmap-levels{grid-template-columns:repeat(2,1fr)}.activity-list{grid-template-columns:1fr}header{height:auto;padding:9px 14px}.brand-mark{width:48px;height:48px}.brand strong{font-size:18px}.stats>div{display:none}.control-deck{padding:13px}.control-block>div{flex-wrap:wrap}.modes button{justify-content:center}.modes span{font-size:10px}.game-card{border-radius:24px;padding:16px 12px}.game-top{grid-template-columns:auto 1fr}.game-top>span:last-child{display:none}.bubble{width:120px;height:120px}.bubble strong{font-size:28px}.match-board{gap:8px}.match-bubble{width:78px;height:78px;font-size:14px}.match-bubble.en{font-size:11px}.match-board:after{display:none}.complete{flex-wrap:wrap;justify-content:center;width:100%}footer small{font-size:11px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--ink:#344c4b}body{color:var(--ink);background:linear-gradient(160deg,#edf6f1 0%,#f4f2e8 58%,#f8f1e8 100%)}main{background:linear-gradient(#dfeee8aa 0 420px,#0000 720px)}.sky-dots{opacity:.22;background-image:radial-gradient(circle,#7faf9e 0 1.5px,#0000 2.5px)}header{background:#fffdf8f2;border-bottom-color:#c6ddd5;box-shadow:0 5px 22px #708d8320}.roadmap,.activity,.control-deck{background:#fffdf9f5;border-color:#fffdf9;box-shadow:0 7px #cbded7,0 16px 35px #5f7b7120}.game-card{background:#fffdfa;border-color:#fffdfb;box-shadow:0 11px #d8e2d9,0 18px 38px #5b716820}.today,.stats>.profile-chip,.challenge,.review-list button{background:#edf6f3}.roadmap-levels button,.activity article,.control-block button{background:#f1f5f1;border-color:#dce7e0}.roadmap-levels button.current{background:#fbefeb;border-color:#dd8d82}.control-block button.active{background:#cf766f;box-shadow:0 4px #a95d58}.roadmap-title small,.activity>div>small,.roadmap-levels span{color:#b85f59}.roadmap-levels em{background:linear-gradient(90deg,#6eaa91,#75a7bc)}.level-pill,.answer-reveal .continue,.play-again,.complete button,.profile-card>button{background:#6d9f88;box-shadow:0 4px #527b69}.listen{background:#6d9fb0;box-shadow:0 5px #537f8d}.syllabus-tag{color:#786a36;background:#f4edcf}.coral{--shadow:#ad625f;background:#d77d78}.purple{--shadow:#6f648f;background:#8f82b6}.blue{--shadow:#527b8c;background:#6c9eb2}.yellow{--shadow:#ad873f;background:#d8a956}.correct{background:#72aa8c}.stats>div{background:#f8f1da;border-color:#eadfbf;box-shadow:0 3px #d8caa4}.stats>button{color:#568b79;background:#e7f1ed;box-shadow:0 3px #c4d9d1}.brand strong{color:#b95f59}.brand-mark{background:radial-gradient(circle at 35% 28%,#f3a49b 0 12%,#d97770 36%,#bd625e 100%);border-color:#fffdf8;overflow:visible;transform:rotate(-2deg);box-shadow:0 4px #98504d,0 7px 14px #7f59573b}.brand-mark:before{content:"";z-index:2;background:#f1cb68;border-radius:8px;height:10px;position:absolute;top:8px;left:-7px;right:-7px;box-shadow:0 2px #c59e43}.brand-mark:after{content:"";z-index:1;clip-path:polygon(0 0,100% 30%,48% 56%,92% 100%,0 82%);background:#dfb34e;width:20px;height:13px;position:absolute;top:11px;right:-13px;transform:rotate(8deg)}.brand-mark i{z-index:3;background:#4f3d3c;border-radius:55% 55% 45% 45%;width:7px;height:9px;top:27px;left:14px;transform:rotate(-12deg);box-shadow:inset 2px 1px #fff8}.brand-mark i:nth-child(2){top:27px;left:35px;transform:rotate(12deg)}.brand-mark i:nth-child(3){width:20px;height:9px;box-shadow:none;background:0 0;border:0;border-bottom:3px solid #4f3d3c;border-radius:0 0 50% 50%;top:39px;left:20px;transform:rotate(-2deg)}.brand:hover .brand-mark{animation:.55s ease-in-out mascot-nod}@keyframes mascot-nod{35%{transform:rotate(5deg)translateY(-2px)}70%{transform:rotate(-5deg)}}@media (max-width:800px){.ai-coach{grid-template-columns:auto 1fr}.coach-next{grid-column:1/-1}.coach-next button{width:max-content}}@media (max-width:520px){.ai-coach{text-align:center;grid-template-columns:1fr}.coach-avatar{margin:auto}.coach-metrics{justify-content:center}.coach-next{grid-column:auto}.coach-next button{width:100%}}.dictation-card{min-height:610px}.dictation-setup{max-width:850px;margin:auto;padding:22px 10px}.privacy-note{color:#456d5b;background:#eef8f2;border:2px solid #b9daca;border-radius:18px;padding:14px 18px}.privacy-note strong{display:block}.privacy-note p{margin:5px 0 0;font-size:13px}.dictation-grid{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}.upload-zone,.worksheet-preview{text-align:center;color:#617a70;background:#f7faf7;border:3px dashed #b8d1ca;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:16px;display:flex}.upload-zone{cursor:pointer}.upload-zone>span,.worksheet-preview>span{font-size:34px}.upload-zone small{margin:4px 0}.upload-zone input{max-width:100%;margin-top:10px}.upload-zone em{color:#4d896f;margin-top:8px;font-size:12px}.worksheet-preview{overflow:hidden}.worksheet-preview img{object-fit:contain;border-radius:10px;max-width:100%;max-height:260px}.worksheet-preview p{max-width:260px;font-size:12px}.word-entry{color:#455f56;display:block}.word-entry strong,.word-entry small{display:block}.word-entry small{color:#7b8c85;margin:3px 0 8px}.word-entry textarea{resize:vertical;color:#344c4b;background:#fff;border:2px solid #bfd4cd;border-radius:17px;outline:none;width:100%;min-height:170px;padding:14px;font-size:18px;line-height:1.6}.word-entry textarea:focus{border-color:#6d9f88;box-shadow:0 0 0 4px #6d9f8822}.dictation-error{color:#b84f50;font-weight:700}.dictation-start{color:#fff;cursor:pointer;background:#6d9f88;border:0;border-radius:18px;margin:16px auto 0;padding:13px 25px;font-weight:900;display:block;box-shadow:0 5px #527b69}.dictation-test{max-width:820px;margin:auto;padding:22px 6px}.dictation-instruction{text-align:center;margin-bottom:16px}.dictation-instruction small{color:#b85f59;letter-spacing:1px;font-weight:900}.dictation-instruction h2{margin:5px 0 12px}.dictation-board{width:min(760px,100%)}.dictation-board canvas{aspect-ratio:9/5}.self-check{text-align:center;padding:20px}.self-check>.writing-model{width:min(380px,100%);padding:16px}.self-check>.writing-model strong{font-size:50px}.honesty-note{color:#70817b}.self-mark-actions{justify-content:center;gap:12px;margin-top:18px;display:flex}.self-mark-actions button{color:#8e524d;cursor:pointer;background:#f2dfdc;border:0;border-radius:16px;padding:13px 20px;font-weight:900;box-shadow:0 4px #d5b4b0}.self-mark-actions .mark-correct{color:#fff;background:#6d9f88;box-shadow:0 4px #527b69}@media (max-width:620px){.dictation-grid{grid-template-columns:1fr}.worksheet-preview{min-height:130px}.self-mark-actions{flex-direction:column}.dictation-setup{padding-inline:0}}.auto-extract{color:#5e6756;background:#f5f1df;border-radius:18px;padding:14px 18px}.auto-extract p{margin:5px 0;font-size:13px}.auto-extract small{color:#7d8272}.extract-progress{margin-top:13px}.extract-progress i{background:#ddd8c3;border-radius:10px;height:10px;display:block;overflow:hidden}.extract-progress em{background:linear-gradient(90deg,#6d9f88,#6d9fb0);border-radius:10px;height:100%;transition:width .2s;display:block}.extract-progress b{color:#527b69;margin-top:6px;font-size:11px;display:block}.dictation-comparison{justify-content:center;align-items:flex-start;gap:18px;display:flex}.dictation-comparison.show-answer{grid-template-columns:1fr 1fr;display:grid}.character-panel{background:#f8fbf9;border:2px solid #c8dcd4;border-radius:20px;min-width:0;padding:15px}.character-panel>strong{text-align:center;color:#526c63;margin-bottom:12px;display:block}.character-boxes{grid-template-columns:repeat(2,minmax(130px,190px));justify-content:center;gap:12px;display:grid}.character-box{aspect-ratio:1;background-color:#fff;background-image:linear-gradient(45deg,#0000 49.6%,#dbe6e1 50%,#0000 50.4%),linear-gradient(-45deg,#0000 49.6%,#dbe6e1 50%,#0000 50.4%),linear-gradient(90deg,#0000 49.6%,#dbe6e1 50%,#0000 50.4%),linear-gradient(#0000 49.6%,#dbe6e1 50%,#0000 50.4%);border:3px solid #9dbdb2;border-radius:16px;position:relative;overflow:hidden}.character-box canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.character-box>span{color:#93a29c;pointer-events:none;font-size:10px;position:absolute;bottom:4px;right:7px}.correct-character{background-color:#f3f7f3;place-items:center;display:grid}.correct-character b{color:#344c4b;font-size:clamp(54px,8vw,92px)}.answer-listen{color:#fff;cursor:pointer;background:#6d9fb0;border:0;border-radius:14px;margin:13px auto 0;padding:9px 15px;font-weight:700;display:block}.dictation-actions{margin-top:16px}.self-check{padding-bottom:0}@media (max-width:760px){.dictation-comparison.show-answer{grid-template-columns:1fr}.character-boxes{grid-template-columns:repeat(2,minmax(115px,180px))}}@media (max-width:390px){.character-boxes{gap:7px}.character-panel{padding:9px}.character-box{border-radius:12px}}.extraction-review{background:#fff;border:3px solid #c5dcd2;border-radius:22px;margin-top:18px;padding:18px}.review-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.review-heading small{letter-spacing:1px;color:#b85f59;font-weight:900}.review-heading h3{color:#344c4b;margin:3px 0}.review-heading p{color:#778981;margin:0;font-size:12px}.review-heading>span{white-space:nowrap;color:#527b69;background:#edf6f3;border-radius:14px;padding:8px 13px;font-weight:900}.extracted-list{grid-template-columns:repeat(2,1fr);gap:9px;max-height:410px;margin:16px 0;padding-right:4px;display:grid;overflow:auto}.extracted-list .question-row{background:#f8fbf9;border:2px solid #dce8e2;border-radius:15px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.extracted-list .question-row>b{color:#fff;background:#6d9f88;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.extracted-list input{color:#344c4b;background:0 0;border:0;border-bottom:2px solid #bcd2c9;outline:none;min-width:0;padding:7px 4px;font-size:20px;font-weight:700}.extracted-list input:focus{border-color:#b85f59}.extracted-list small{color:#84938d;font-size:9px}.delete-question{color:#a34e48;cursor:pointer;background:#fff6f5;border:1px solid #e3b9b5;border-radius:9px;padding:6px 8px;font-size:10px;font-weight:900}.delete-question:hover{background:#fbe5e3}.confirm-extraction{color:#fff;cursor:pointer;background:#6d9f88;border:0;border-radius:17px;width:min(440px,100%);margin:0 auto;padding:13px 18px;font-weight:900;display:block;box-shadow:0 5px #527b69}@media (max-width:680px){.extracted-list{grid-template-columns:1fr}.review-heading{align-items:flex-start}.extracted-list .question-row{grid-template-columns:38px minmax(0,1fr) auto}.extracted-list small{grid-column:2}.delete-question{grid-area:1/3/3}}.ai-extraction-option{background:#faf8ff;border:3px solid #d9d2ea;border-radius:22px;margin-top:18px;padding:18px}.option-title{align-items:center;gap:12px;display:flex}.option-title>span{color:#fff;background:#8f82b6;border-radius:50%;place-items:center;min-width:42px;height:42px;font-size:11px;font-weight:900;display:grid}.option-title strong{color:#51496b}.option-title p{color:#7c758f;margin:3px 0;font-size:12px}.ai-links{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.ai-links button,.ai-links a,.use-ai-result{color:#fff;cursor:pointer;background:#8f82b6;border:0;border-radius:13px;padding:9px 13px;font-size:12px;font-weight:900;text-decoration:none}.ai-links a{color:#65598c;background:#fff;border:2px solid #cfc6e4}.ai-extraction-option label>strong{color:#51496b;margin-bottom:6px;display:block}.ai-extraction-option textarea{resize:vertical;color:#344c4b;background:#fff;border:2px solid #d2cae4;border-radius:15px;outline:none;width:100%;min-height:120px;padding:12px;font-size:17px;line-height:1.5}.ai-extraction-option textarea:focus{border-color:#8f82b6;box-shadow:0 0 0 4px #8f82b622}.use-ai-result{margin:11px auto 5px;display:block}.external-privacy{text-align:center;color:#8a8497;font-size:10px;display:block}@media (max-width:540px){.ai-links>*{text-align:center;flex:1;min-width:130px}}.saved-dictations{background:#f7fbf8;border:3px solid #c5dcd2;border-radius:23px;padding:18px}.saved-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.saved-title small{color:#b85f59;letter-spacing:1px;font-weight:900}.saved-title h2{color:#344c4b;margin:3px 0}.saved-title>span{color:#527b69;background:#e5f2ec;border-radius:12px;padding:7px 11px;font-size:11px;font-weight:900}.saved-list-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.saved-list-grid>button{text-align:left;color:#344c4b;cursor:pointer;background:#fff;border:2px solid #d7e7df;border-radius:16px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:12px;display:grid}.saved-list-grid>button:hover{border-color:#6d9f88;transform:translateY(-1px)}.saved-list-grid>button>span{font-size:25px}.saved-list-grid strong,.saved-list-grid small{display:block}.saved-list-grid small{color:#819089;margin-top:3px;font-size:10px}.saved-list-grid b{color:#6d9f88;font-size:11px}.no-saved-lists{color:#7b8c85;background:#fff;border-radius:14px;margin:13px 0 0;padding:12px;font-size:12px}.create-divider{color:#8b7e71;letter-spacing:1px;align-items:center;gap:12px;margin:22px 0 14px;font-size:11px;font-weight:900;display:flex}.create-divider:before,.create-divider:after{content:"";background:#ddd9cc;flex:1;height:2px}.list-details{grid-template-columns:1fr 190px;gap:10px;margin:15px 0;display:grid}.list-details label span{color:#63766e;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.list-details input{color:#344c4b;background:#fff;border:2px solid #c9ddd4;border-radius:13px;outline:none;width:100%;padding:10px 12px}.list-details input:focus{border-color:#6d9f88}.save-help{text-align:center;color:#819089;margin-top:9px;display:block}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.back-to-lists{color:#527b69;cursor:pointer;background:#fff;border:2px solid #9dbdb2;border-radius:18px;margin-top:18px;padding:9px 18px;font-weight:700}@media (max-width:680px){.saved-list-grid,.list-details{grid-template-columns:1fr}.saved-list-grid>button{grid-template-columns:38px 1fr}.saved-list-grid b{grid-column:2}}.saved-list-grid>article{color:#344c4b;background:#fff;border:2px solid #d7e7df;border-radius:16px;grid-template-columns:38px 1fr;align-items:center;gap:9px;padding:12px;display:grid}.saved-list-grid>article>span{font-size:25px}.saved-card-actions{grid-column:1/-1;gap:7px;margin-top:4px;display:flex}.saved-card-actions button{color:#527b69;cursor:pointer;background:#fff;border:2px solid #c6d9d1;border-radius:11px;flex:1;padding:8px;font-size:11px;font-weight:900}.saved-card-actions .delete-saved{color:#a34e48;background:#fff6f5;border-color:#e3b9b5;flex:.8}.saved-card-actions .delete-saved:hover{background:#fbe5e3}.saved-card-actions .start-saved{color:#fff;background:#6d9f88;border-color:#6d9f88}.edit-save-actions{justify-content:center;gap:9px;display:flex}.edit-save-actions .confirm-extraction{margin:0}.cancel-edit{color:#60746b;cursor:pointer;background:#fff;border:2px solid #c8d8d1;border-radius:17px;padding:12px 18px;font-weight:900}@media (max-width:680px){.saved-list-grid>article{grid-template-columns:38px 1fr}.saved-card-actions{flex-wrap:wrap}.saved-card-actions .start-saved{flex-basis:100%}}button,a,input,textarea{transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible){outline-offset:3px;outline:4px solid #f1cb68}.roadmap,.ai-coach,.control-deck,.game-card,.activity{scroll-margin-top:18px}.game-top>div strong{font-size:17px}.control-block button:hover,.roadmap-levels button:hover{transform:translateY(-2px)}.saved-list-grid>article:hover{border-color:#9fc5b4;box-shadow:0 6px 16px #5c7d6e18}.game-card{isolation:isolate}@media (min-width:901px){.control-deck{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:10px;box-shadow:0 7px #cbded7,0 14px 28px #456b5e25}}@media (max-width:560px){.game-top>div strong{font-size:14px}.control-deck{margin-top:15px}.roadmap,.activity,.ai-coach,.game-card{margin-top:14px}.profile-card{padding:23px 18px}.profile-pop{width:68px;height:68px;margin-top:-56px}}.summary-errors{color:#b85f59;text-align:right;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:900}.summary-errors:hover{text-decoration:underline}.activity article.summary-open{background:#fff;border-color:#b9d8cc;grid-column:span 2}.summary-error-list{border-top:2px solid #e1ece7;grid-column:1/-1;margin-top:8px;padding-top:9px}.summary-error-list>b{color:#536e63;margin-bottom:7px;font-size:11px;display:block}.summary-error-list>div{flex-wrap:wrap;gap:7px;display:flex}.summary-error-list button{color:#344c4b;cursor:pointer;background:#fff;border:2px solid #d8e7e1;border-radius:12px;padding:7px 10px;font-size:19px;font-weight:900}.summary-error-list button small{color:#748981;font-size:8px;font-weight:700;display:block}.summary-error-list p{color:#7d8d99;margin:0;font-size:11px}.mark-error-help{color:#788b83;margin:5px 0 11px;font-size:11px}.selectable-character{-webkit-appearance:none;appearance:none;font:inherit;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.selectable-character:hover{border-color:#d09a92;transform:translateY(-2px)}.selectable-character.marked-error{background:#fff0ee;border-color:#d36e69;box-shadow:0 0 0 4px #d36e6920}.selectable-character.marked-error b,.selectable-character.marked-error span{color:#b84f50}@media (max-width:560px){.activity article.summary-open{grid-column:span 1}}.brand .burst-logo{isolation:isolate;background:radial-gradient(circle at 32% 22%,#fff7d9 0 8%,#e58a82 9% 38%,#c86663 70%,#aa504f 100%);border:4px solid #fffdf8;border-radius:48% 52% 47% 53%;place-items:center;width:66px;height:66px;display:grid;overflow:visible;transform:rotate(-3deg);box-shadow:0 4px #8e4746,0 8px 18px #76504c48}.brand .burst-logo>b{z-index:4;color:#fffdf6;text-shadow:0 3px #944d4b;font-family:Arial Rounded MT Bold,Microsoft YaHei,sans-serif;font-size:35px;line-height:1;position:relative}.brand .burst-logo:before{content:"";z-index:-2;clip-path:polygon(50% 0,58% 19%,75% 5%,76% 25%,98% 20%,83% 38%,100% 50%,80% 56%,94% 76%,73% 72%,72% 98%,55% 80%,43% 100%,39% 78%,17% 93%,24% 70%,0 66%,19% 51%,1% 37%,23% 34%,14% 12%,39% 23%);background:#e2b44f;position:absolute;inset:-15px}.brand .burst-logo:after{content:"";z-index:3;background:#ffffffa8;border-radius:50%;width:17px;height:8px;position:absolute;top:8px;left:10px;transform:rotate(-28deg)}.brand .burst-logo i{z-index:5;color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-style:normal;font-weight:900;display:grid;position:absolute;box-shadow:0 2px #527b69}.brand .burst-logo i:first-of-type{background:#6d9f88;top:-7px;left:-13px;transform:rotate(-10deg)}.brand .burst-logo i:nth-of-type(2){background:#7f86b1;top:-10px;left:52px;transform:rotate(9deg);box-shadow:0 2px #62698f}.brand .burst-logo i:nth-of-type(3){background:#d5a148;top:47px;left:57px;transform:rotate(13deg);box-shadow:0 2px #aa7e34}.brand .burst-logo em{z-index:2;border:2px solid #ffffff38;border-radius:50%;position:absolute;inset:7px;transform:rotate(12deg)}.brand:hover .burst-logo{animation:.58s ease-in-out bubble-burst}@keyframes bubble-burst{35%{transform:rotate(4deg)scale(1.08)}70%{transform:rotate(-6deg)scale(.98)}}@media (max-width:560px){.brand .burst-logo{width:55px;height:55px}.brand .burst-logo>b{font-size:29px}.brand .burst-logo i{width:19px;height:19px;font-size:9px}.brand .burst-logo i:first-of-type{left:-10px}.brand .burst-logo i:nth-of-type(2){left:43px}.brand .burst-logo i:nth-of-type(3){top:39px;left:47px}}.brand-logo-frame{filter:drop-shadow(0 4px 2px #7f59573d);flex:none;place-items:center;width:76px;height:68px;display:grid}.brand-logo-image{object-fit:contain;width:82px;height:82px;transition:transform .2s;display:block;transform:rotate(-2deg)}.brand:hover .brand-logo-image{animation:.62s ease-in-out mascot-dash}@keyframes mascot-dash{35%{transform:rotate(3deg)translate(3px,-2px)scale(1.06)}70%{transform:rotate(-4deg)translate(-1px)}}@media (max-width:560px){.brand-logo-frame{width:60px;height:55px}.brand-logo-image{width:68px;height:68px}}.coach-figure{filter:drop-shadow(0 7px 4px #526b622f);align-self:end;place-items:center;width:128px;height:142px;margin:-20px -2px -18px -8px;display:grid}.coach-figure img{object-fit:contain;object-position:center;width:146px;height:146px;transition:transform .2s;display:block}.ai-coach:hover .coach-figure img{transform:translateY(-3px)rotate(-1deg)}@media (max-width:800px){.coach-figure{width:105px;height:122px}.coach-figure img{width:124px;height:124px}}@media (max-width:520px){.coach-figure{width:110px;height:112px;margin:-15px auto -4px}.coach-figure img{width:125px;height:125px}}.auth-page{background:linear-gradient(145deg,#eef8f5,#f8f2dd 52%,#edf6fa);place-items:center;min-height:100vh;padding:30px 16px;display:grid;position:relative;overflow:hidden}.auth-card{z-index:2;text-align:center;background:#fffdf9;border:5px solid #fff;border-radius:30px;width:min(520px,100%);padding:28px;position:relative;box-shadow:0 12px #bfd9d0,0 28px 70px #405d5550}.auth-card>img{object-fit:contain;filter:drop-shadow(0 6px 4px #526b6235);width:112px;height:112px;margin:-78px auto 2px;display:block}.auth-card>small{color:#b85f59;letter-spacing:1px;font-weight:900}.auth-card h1{color:#344c4b;margin:6px 0;font-size:clamp(25px,5vw,34px)}.auth-card>p{color:#687b74;max-width:420px;margin:0 auto 20px;line-height:1.5}.access-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.access-choices button{color:#45695a;cursor:pointer;background:#f4f9f6;border:3px solid #c8ddd5;border-radius:20px;min-height:112px;padding:16px}.access-choices button:last-child{color:#62577d;background:#faf7ff;border-color:#d7cce8}.access-choices b,.access-choices span{display:block}.access-choices b{font-size:17px}.access-choices span{margin-top:6px;font-size:12px}.auth-form{text-align:left;gap:11px;display:grid}.auth-form label{color:#536c63;font-size:12px;font-weight:900}.auth-form input{color:#263e38;background:#f9fcfa;border:2px solid #cbded7;border-radius:14px;outline:none;width:100%;margin-top:5px;padding:12px 14px;font-size:16px;display:block}.auth-form input:focus{border-color:#6d9f88;box-shadow:0 0 0 4px #6d9f8822}.auth-form label small{color:#87968f;margin:4px 2px 0;font-size:10px;display:block}.auth-submit{color:#fff;cursor:pointer;background:#6d9f88;border:0;border-radius:16px;width:100%;margin-top:5px;padding:13px;font-weight:900;box-shadow:0 5px #527b69}.auth-submit:disabled{opacity:.65}.auth-error,.auth-message{text-align:center;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:700}.auth-error{color:#b84f50;background:#fff0ef}.auth-message{color:#46725f;background:#edf8f2}.auth-back,.create-link,.forgot-link{color:#687f76;cursor:pointer;background:0 0;border:0;font-weight:900}.auth-back{position:absolute;top:17px;left:18px}.create-link,.forgot-link{color:#76699a;margin-top:15px;text-decoration:underline}.forgot-link+.create-link{margin-left:14px}@media (max-width:520px){.auth-card{padding:25px 18px}.access-choices{grid-template-columns:1fr}.auth-card>img{width:92px;height:92px;margin-top:-68px}.access-choices button{min-height:88px}}.exit-app-button{z-index:50;color:#fff;cursor:pointer;background:#405c59;border:3px solid #fff;border-radius:18px;padding:11px 17px;font-size:14px;font-weight:900;position:fixed;bottom:18px;right:18px;box-shadow:0 5px #2d4543,0 10px 24px #263d3a45}.exit-app-button:hover{background:#b85f59;transform:translateY(-2px);box-shadow:0 5px #8d4945,0 10px 24px #633a3840}.exit-app-button:focus-visible{outline-offset:3px;outline:4px solid #f1cb68}@media (max-width:520px){.exit-app-button{padding:9px 13px;bottom:12px;right:12px}}.exit-prompt-actions{gap:11px;display:grid}.exit-prompt-actions>button{color:#476b5c;cursor:pointer;background:#eef8f3;border:3px solid #bfd9d0;border-radius:17px;padding:13px}.exit-prompt-actions b,.exit-prompt-actions span{display:block}.exit-prompt-actions span{margin-top:4px;font-size:11px}.exit-prompt-actions .exit-without-save{color:#9b5751;background:#fff4f2;border-color:#e5c5c1}.exit-prompt-actions .keep-playing{color:#6b7d76;background:0 0;border:0}.exit-reminder>p{color:#75652f;background:#fff6d9;border-radius:15px;padding:12px;font-weight:700}html,body{max-width:100%;overflow-x:hidden}img,canvas{max-width:100%}.control-deck{grid-template-columns:auto minmax(0,1fr);gap:20px;width:min(1180px,100% - 28px)}.control-block{min-width:0}.modes>div{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.modes button{justify-content:center;min-width:0;padding-inline:9px}.modes b{flex:0 0 24px}.modes span{overflow-wrap:anywhere;text-align:left;min-width:0}.ai-coach>*{min-width:0}.coach-copy p,.coach-next span,.saved-list-grid strong,.saved-list-grid small{overflow-wrap:anywhere}.auth-card,.profile-card,.writing-card{max-width:100%}@media (max-width:1100px){.control-deck{grid-template-columns:1fr;gap:15px}.control-block:not(.modes)>div{grid-template-columns:repeat(6,1fr);display:grid}.control-block:not(.modes) button{width:100%}}@media (max-width:850px){.ai-coach{grid-template-columns:auto minmax(0,1fr)}.coach-next{grid-column:1/-1}.modes>div{grid-template-columns:repeat(3,minmax(0,1fr))}.modes button{min-height:46px}.game-card{width:min(100% - 20px,1020px)}}@media (max-width:560px){.roadmap,.activity,.ai-coach,.control-deck{width:calc(100% - 20px)}.control-deck{padding:13px 12px}.modes>div{grid-template-columns:repeat(2,minmax(0,1fr))}.modes button{padding:6px 7px}.modes span{white-space:normal;text-align:center;line-height:1.15}.modes b{flex-basis:22px;width:22px;height:22px}.ai-coach{text-align:center;grid-template-columns:1fr;padding:16px}.coach-figure,.coach-next{grid-column:auto}.coach-metrics{justify-content:center}header{gap:8px}.brand{gap:7px;min-width:0}.brand>span:last-child{min-width:0}.brand strong{white-space:nowrap;font-size:16px}.brand small{font-size:10px}.stats{flex:none;gap:6px}.stats>.profile-chip{grid-template-columns:22px minmax(0,1fr);max-width:118px;padding-inline:7px}.stats>.profile-chip small,.stats>.profile-chip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-top{gap:8px}.level-pill{padding-inline:8px;font-size:10px}.saved-title,.review-heading{flex-direction:column;align-items:flex-start}.saved-card-actions,.edit-save-actions,.result-actions,.writing-actions{width:100%}.saved-card-actions button,.edit-save-actions button,.result-actions button,.writing-actions button{min-width:0}.character-boxes{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media (max-width:380px){.control-block:not(.modes)>div{grid-template-columns:repeat(3,1fr)}.modes>div{grid-template-columns:1fr}.modes button{justify-content:flex-start;padding-inline:14px}.modes span{text-align:left}.brand small,.stats>.profile-chip span{display:none}.stats>.profile-chip{grid-template-columns:1fr;max-width:92px}.profile-card,.auth-card,.writing-card{padding-inline:14px}.game-card{padding-inline:9px}.saved-card-actions,.edit-save-actions,.result-actions,.writing-actions{flex-direction:column}}.open-ai-tutor{color:#fff;cursor:pointer;background:#8f82b6;border:0;border-radius:13px;margin-top:10px;padding:10px 14px;font-size:12px;font-weight:900;box-shadow:0 4px #6f648f}.open-ai-tutor:hover{transform:translateY(-2px)}.tutor-overlay{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#29433ccc;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.tutor-shell{color:#344c4b;background:#fffdf9;border:5px solid #fff;border-radius:30px;width:min(900px,100%);max-height:94vh;padding:28px;position:relative;overflow:auto;box-shadow:0 14px #9dbdb2,0 28px 80px #1c322b70}.tutor-close{z-index:2;color:#587069;cursor:pointer;background:#edf3ef;border:0;border-radius:50%;width:38px;height:38px;font-size:26px;position:absolute;top:13px;right:15px}.tutor-hero{grid-template-columns:90px 1fr;align-items:center;gap:18px;padding-right:35px;display:grid}.tutor-hero>span{color:#fff;background:linear-gradient(145deg,#d77d78,#b85f59);border-radius:50%;place-items:center;width:86px;height:86px;font-size:44px;font-weight:900;display:grid;box-shadow:0 7px #9e504c}.tutor-hero small,.tutor-result-head>small,.tutor-plan>small,.tutor-history small{color:#8f82b6;letter-spacing:1px;font-weight:900}.tutor-hero h1,.tutor-result-head h1{margin:5px 0;font-size:clamp(24px,4vw,34px)}.tutor-hero p{color:#6e7e78;margin:5px 0;line-height:1.5}.tutor-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0;display:grid}.tutor-steps span{color:#5c7369;background:#edf6f3;border-radius:14px;padding:10px;font-size:11px;font-weight:900}.tutor-steps b{color:#fff;background:#6d9f88;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:5px;display:inline-grid}.tutor-levels{background:#f8fbf9;border:2px solid #d6e4dd;border-radius:20px;padding:18px}.tutor-levels>strong{margin-bottom:11px;display:block}.tutor-levels>div{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.tutor-levels button{color:#5b7168;cursor:pointer;background:#fff;border:2px solid #d6e4dd;border-radius:14px;padding:12px 6px;font-weight:900}.tutor-levels button small{color:#8a9892;margin-top:3px;font-size:9px;display:block}.tutor-levels button.selected{color:#a6534e;background:#fbefeb;border-color:#cf766f;box-shadow:0 4px #d8aaa6}.tutor-last{background:#f4f0fa;border-radius:16px;grid-template-columns:1fr auto;gap:2px;margin:14px 0;padding:12px 16px;display:grid}.tutor-last span,.tutor-last small{color:#766d88}.tutor-last strong{color:#8f82b6;grid-area:1/2/3;font-size:26px}.tutor-primary{color:#fff;cursor:pointer;background:#6d9f88;border:0;border-radius:17px;margin:18px auto 3px;padding:13px 24px;font-weight:900;display:block;box-shadow:0 5px #527b69}.tutor-progress{grid-template-columns:1fr auto;gap:6px;display:grid}.tutor-progress small,.tutor-question>small{color:#b85f59;letter-spacing:1px;font-size:10px;font-weight:900;display:block}.tutor-progress strong{font-size:20px;display:block}.tutor-progress>span{color:#6d9f88;font-weight:900}.tutor-progress i{background:#e0eae5;border-radius:10px;grid-column:1/-1;height:10px;overflow:hidden}.tutor-progress i b{background:linear-gradient(90deg,#6d9f88,#7ba8bb);border-radius:10px;height:100%;transition:width .25s;display:block}.tutor-question{text-align:center;padding:28px 0 10px}.tutor-question h2{margin:5px 0 13px}.tutor-prompt{color:#344c4b;background:#eff8fb;border:2px dashed #8ebacb;border-radius:16px;padding:13px 24px;font-size:28px;font-weight:900;display:inline-block}.tutor-listen{color:#fff;cursor:pointer;background:#6d9fb0;border:0;border-radius:22px;padding:12px 21px;font-weight:900;box-shadow:0 5px #537f8d}.tutor-options{grid-template-columns:repeat(2,1fr);gap:12px;max-width:620px;margin:25px auto 12px;display:grid}.tutor-options button{color:#fff;cursor:pointer;background:#8f82b6;border:4px solid #fff;border-radius:22px;min-height:88px;font-size:31px;font-weight:900;box-shadow:0 6px #6f648f}.tutor-options button:nth-child(2n){background:#6c9eb2;box-shadow:0 6px #527b8c}.tutor-options button.correct{background:#72aa8c;box-shadow:0 6px #527b69}.tutor-options button.wrong{background:#d77d78;box-shadow:0 6px #ad625f}.tutor-feedback{color:#4f7664;background:#edf7f1;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:18px auto 0;padding:12px;display:flex}.tutor-feedback.review{color:#9f5550;background:#fff0ed}.tutor-feedback span{font-size:13px}.tutor-feedback button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:900}.tutor-result-head{text-align:center}.tutor-score{background:#edf6f3;border-radius:20px;min-width:155px;padding:13px;display:inline-grid}.tutor-score strong{color:#6d9f88;font-size:38px}.tutor-score span{font-size:11px;font-weight:900}.tutor-skill-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.tutor-skill-grid article{background:#f8fbf9;border:2px solid #dae7e1;border-radius:17px;padding:15px;position:relative}.tutor-skill-grid article.focus{background:#fff5f2;border-color:#d59a94}.tutor-skill-grid small,.tutor-skill-grid strong{display:block}.tutor-skill-grid small{color:#8b9a94;font-size:9px;font-weight:900}.tutor-skill-grid strong{margin:5px 30px 9px 0}.tutor-skill-grid article>b{color:#b85f59;font-size:20px;position:absolute;top:28px;right:13px}.tutor-skill-grid i{background:#dce8e2;border-radius:8px;height:7px;display:block;overflow:hidden}.tutor-skill-grid em{background:#6d9f88;border-radius:8px;height:100%;display:block}.tutor-plan{background:#f5f1df;border-radius:21px;padding:18px}.tutor-plan h2{margin:4px 0}.tutor-plan ol{color:#5f6f67;margin:10px 0;padding-left:22px;line-height:1.7}.tutor-error-words{flex-wrap:wrap;gap:8px;display:flex}.tutor-error-words button{color:#344c4b;cursor:pointer;background:#fff;border:2px solid #e1d7b4;border-radius:13px;padding:7px 11px}.tutor-error-words b,.tutor-error-words small{display:block}.tutor-error-words b{font-size:20px}.tutor-error-words small{color:#887c55;font-size:9px}.tutor-history{border:2px solid #d9e6e0;border-radius:20px;margin-top:18px;padding:16px}.tutor-history h2{margin:3px 0 10px}.tutor-history>div:last-child{gap:8px;display:flex;overflow:auto}.tutor-history article{text-align:center;background:#edf6f3;border-radius:13px;min-width:105px;padding:10px}.tutor-history article span,.tutor-history article strong,.tutor-history article small{display:block}.tutor-history article strong{color:#527b69;font-size:22px}.tutor-history article small{color:#6d9f88}.tutor-result-actions{justify-content:center;gap:10px;display:flex}.tutor-result-actions>button{color:#527b69;cursor:pointer;background:#fff;border:2px solid #9dbdb2;border-radius:17px;margin:18px 0 3px;padding:11px 20px;font-weight:900}.tutor-result-actions>.tutor-primary{color:#fff;background:#6d9f88;border:0}@media (max-width:700px){.tutor-shell{padding:22px 16px}.tutor-hero{text-align:center;grid-template-columns:1fr}.tutor-hero>span{margin:auto}.tutor-steps{grid-template-columns:repeat(2,1fr)}.tutor-levels>div{grid-template-columns:repeat(3,1fr)}.tutor-skill-grid{grid-template-columns:1fr}.tutor-options button{min-height:75px}.open-ai-tutor{width:100%}}@media (max-width:420px){.tutor-overlay{padding:8px}.tutor-shell{border-radius:22px}.tutor-steps{grid-template-columns:1fr}.tutor-levels>div{grid-template-columns:repeat(2,1fr)}.tutor-options{gap:8px}.tutor-options button{min-height:68px;font-size:26px}.tutor-result-actions{flex-direction:column}.tutor-result-actions>button{margin:8px 0 0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
