@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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--radius-3xl:1.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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]){appearance:button}::file-selector-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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.max-w-3xl{max-width:var(--container-3xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.rounded-3xl{border-radius:var(--radius-3xl)}.bg-white{background-color:var(--color-white)}.p-8{padding:calc(var(--spacing) * 8)}.px-6{padding-inline:calc(var(--spacing) * 6)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#f4fbed;--foreground:#16331e;--surface:#fff;--surface-muted:#f3f8ee;--primary:#31b85a;--primary-dark:#167d39;--primary-soft:#daf6df;--accent:#ffc83d;--border:#d2e1cc;--shadow:0 20px 50px #1b532921;--radius:22px;--world-background:url(/images/block-landscape.svg);--world-overlay:#f4fbedd1}*{box-sizing:border-box}html{background:var(--background);min-width:320px;max-width:100%;overflow-x:hidden}body{background:var(--background);max-width:100%;min-height:100vh;color:var(--foreground);margin:0;font-family:Inter,ui-rounded,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.auth-shell{background:linear-gradient(145deg,#f5f7f6,#e8efeb);min-height:100vh}.auth-layout{grid-template-columns:minmax(0,520px);place-content:center;width:min(520px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.auth-card{background:#fff;border:1px solid #d5dfda;border-radius:24px;padding:clamp(24px,5vw,38px);box-shadow:0 18px 44px #243f321a}.auth-brand{margin-bottom:24px}.auth-heading h2,.auth-heading p{margin:0}.auth-heading h2{letter-spacing:-.045em;margin-top:8px;font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.04}.auth-heading>p:last-child{color:#607469;margin-top:14px;line-height:1.55}.auth-form{gap:10px;margin-top:20px;display:grid}.auth-form label{color:#345448;margin-top:8px;font-size:.8rem;font-weight:900}.auth-form input,.auth-form select{color:#183225;min-height:50px;font:inherit;background:#f5fbf8;border:2px solid #c8ded4;border-radius:15px;padding:11px 16px;font-size:1.05rem;font-weight:750}.auth-form input:focus,.auth-form select:focus{border-color:#12ac6a;outline:5px solid #12ac6a24}.auth-error{color:#842d25;background:#fbe3df;border:1px solid #d77468;border-radius:12px;margin:8px 0 0;padding:11px 13px;font-size:.84rem;font-weight:800}.auth-success{color:#17643d;background:#e0f6e9;border:1px solid #65b98e;border-radius:12px;margin:8px 0 0;padding:11px 13px;font-size:.84rem;font-weight:800;line-height:1.45}.auth-submit{width:100%;min-height:58px;margin-top:14px}.auth-mode-switch{color:#087449;cursor:pointer;width:100%;font:inherit;text-underline-offset:4px;background:0 0;border:0;margin-top:20px;font-size:.86rem;font-weight:900;text-decoration:underline}.approval-layout{place-items:center;width:min(680px,100% - 32px);min-height:100vh;margin:0 auto;padding:40px 0;display:grid}.approval-card{text-align:center;width:100%}.approval-card h1{margin:8px 0 16px;font-size:clamp(2rem,7vw,3.8rem);line-height:1}.approval-card p:not(.eyebrow){color:#506a5d;line-height:1.6}.approval-card form{margin-top:28px}button{font:inherit}button:focus-visible{outline:4px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){button:focus-visible{outline:4px solid color-mix(in srgb, var(--accent) 72%, white)}}button:focus-visible{outline-offset:3px}.app-shell{background:linear-gradient(var(--world-overlay), var(--world-overlay)), var(--world-background) center / cover fixed;min-height:100vh;transition:background-color .18s,color .18s;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{z-index:0;content:"";pointer-events:none;border-radius:50%;position:fixed}.app-shell:before{background:var(--primary);width:210px;height:210px;top:18%;left:-90px}@supports (color:color-mix(in lab, red, red)){.app-shell:before{background:color-mix(in srgb, var(--primary) 8%, transparent)}}.app-shell:before{animation:9s ease-in-out infinite ambient-drift}.app-shell:after{border:26px solid var(--accent);width:160px;height:160px;bottom:12%;right:-70px}@supports (color:color-mix(in lab, red, red)){.app-shell:after{border:26px solid color-mix(in srgb, var(--accent) 12%, transparent)}}.app-shell:after{animation:11s ease-in-out infinite reverse ambient-drift}.topbar,.dashboard,.welcome-layout,footer{z-index:1;position:relative}.skin-green-adventure{--background:#eefcf7;--foreground:#183225;--surface-muted:#effaf5;--primary:#12ac6a;--primary-dark:#087449;--primary-soft:#d4f7e6;--accent:#ffd047;--border:#c5e2d2;--shadow:0 18px 45px #0d563521;--world-background:url(/images/onepiece/background.jpg);--world-overlay:#e1faf5c2}.skin-green-adventure.time-morning{--world-background:url(/images/onepiece/celebration.jpg);--world-overlay:#f5fce0c9}.skin-green-adventure.time-day{--world-background:url(/images/onepiece/background.jpg)}.skin-green-adventure.time-evening{--world-background:url(/images/onepiece/crew.jpg);--world-overlay:#ebf7e3cc}.skin-green-adventure.time-night{--world-background:url(/images/onepiece/task.jpg);--world-overlay:#daecf5d1}.skin-block-world{--surface:#fffdf4;--surface-muted:#f4edda;--primary:#4d9b43;--primary-dark:#2c6631;--primary-soft:#dcedc9;--accent:#f6b83e;--border:#9f845e;--radius:10px;--shadow:10px 10px 0 #533c2333;--world-overlay:#f5f1dabd}.skin-block-world .welcome-card,.skin-block-world .welcome-scene,.skin-block-world .hero-panel,.skin-block-world .mission-card,.skin-block-world .panel,.skin-block-world .lesson-question,.skin-block-world .character-dialogue{box-shadow:9px 9px 0 var(--border);border-width:3px;border-radius:10px}@supports (color:color-mix(in lab, red, red)){.skin-block-world .welcome-card,.skin-block-world .welcome-scene,.skin-block-world .hero-panel,.skin-block-world .mission-card,.skin-block-world .panel,.skin-block-world .lesson-question,.skin-block-world .character-dialogue{box-shadow:9px 9px 0 color-mix(in srgb, var(--border) 58%, transparent)}}.skin-block-world .primary-button,.skin-block-world .selection-card,.skin-block-world .class-button,.skin-block-world .unit-button,.skin-block-world .vocabulary-card,.skin-block-world .speech-controls button,.skin-block-world .voice-picker{border-radius:6px}.skin-block-world .brand-mark,.skin-block-world .unit-number{border-radius:3px}.skin-block-world h1,.skin-block-world h2,.skin-block-world strong,.skin-block-world button{letter-spacing:.015em}.skin-green-adventure .welcome-card,.skin-green-adventure .welcome-scene,.skin-green-adventure .hero-panel,.skin-green-adventure .mission-card,.skin-green-adventure .panel,.skin-green-adventure .lesson-question{border-radius:34px}.skin-green-adventure .primary-button{border-radius:999px}.topbar{z-index:100;border:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;width:min(1240px,100% - 28px);min-width:0;margin:12px auto 0;padding:12px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{border:1px solid color-mix(in srgb, var(--border) 88%, transparent)}}.topbar{background:var(--surface);border-radius:20px}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--surface) 91%, transparent)}}.topbar{box-shadow:0 9px 26px var(--primary-dark)}@supports (color:color-mix(in lab, red, red)){.topbar{box-shadow:0 9px 26px color-mix(in srgb, var(--primary-dark) 12%, transparent)}}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{border:4px solid var(--primary-dark);background:var(--primary);width:48px;height:48px;box-shadow:4px 4px 0 var(--primary-dark);color:#fff;border-radius:12px;place-items:center;font-size:1.4rem;font-weight:900;display:grid}.brand h1,.brand p,.hero-panel h2,.hero-panel p,.section-heading h2,.section-heading p,.stats-grid p,.vocabulary-card p,.flashcard p,footer{margin:0}.brand h1{font-size:1.25rem;line-height:1.1}.eyebrow{color:var(--primary-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.skin-switcher{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;min-width:0;padding:4px;display:flex}.skin-switcher button{min-width:0;min-height:40px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:800}.skin-short{display:none}.skin-switcher button.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary)}@supports (color:color-mix(in lab, red, red)){.skin-switcher button.active{box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 28%, transparent)}}.topbar-actions{align-items:center;gap:8px;display:flex;position:relative}.subject-quick-select select,.profile-popover select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--foreground);font:inherit;border-radius:12px;padding:7px 30px 7px 11px;font-size:.78rem;font-weight:850}.profile-menu{z-index:200;position:relative}.profile-icon-button{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;box-shadow:0 4px 0 var(--border);cursor:pointer;border-radius:50%;place-items:center;font-size:1.15rem;display:grid}.profile-avatar-thumb{border:1px solid var(--primary-dark);width:28px;height:28px;display:block}@supports (color:color-mix(in lab, red, red)){.profile-avatar-thumb{border:1px solid color-mix(in srgb, var(--primary-dark) 28%, white)}}.profile-avatar-thumb{background-position:50%;background-size:cover;border-radius:50%}.profile-popover{z-index:300;border:1px solid var(--border);background:var(--surface);width:min(300px,100vw - 24px);box-shadow:var(--shadow);border-radius:18px;gap:14px;padding:18px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.profile-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-heading span,.profile-label,.profile-popover label>span{color:var(--primary-dark);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:900}.profile-popover label{gap:5px;display:grid}.profile-popover select{width:100%}.profile-popover .skin-switcher{width:100%;max-width:none;margin-top:5px}.profile-popover .skin-switcher button{flex:1}.profile-popover small{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.profile-popover small{color:color-mix(in srgb, var(--foreground) 70%, white)}}.profile-popover small{font-size:.72rem}.profile-icon-picker-button{border:1px solid var(--border);background:var(--surface-muted);width:100%;min-height:36px;color:var(--foreground);cursor:pointer;font:inherit;border-radius:10px;margin-top:5px;font-size:.74rem;font-weight:900}.icon-picker-dialog{width:min(420px,100vw - 24px)}.icon-picker-backdrop{z-index:1400}.profile-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-icon-grid button{border:1px solid var(--border);background:var(--surface-muted);min-height:112px;color:var(--foreground);cursor:pointer;text-align:left;border-radius:12px;gap:8px;padding:9px;display:grid}.profile-icon-grid button.active{border-color:var(--primary-dark);background:var(--primary-soft)}.profile-icon-preview{aspect-ratio:16/10;border:1px solid var(--primary-dark);width:100%;display:block}@supports (color:color-mix(in lab, red, red)){.profile-icon-preview{border:1px solid color-mix(in srgb, var(--primary-dark) 28%, white)}}.profile-icon-preview{background-position:50%;background-size:cover;border-radius:9px}.profile-icon-grid strong{font-size:.78rem;line-height:1.2}.profile-logout{color:#8b3128;cursor:pointer;background:#fff1ef;border:1px solid #e3b4ae;border-radius:11px;width:100%;min-height:40px;font-weight:850}.user-summary{text-align:right;min-width:82px;display:grid}.user-summary strong{font-size:.78rem}.user-summary span{color:var(--primary-dark);font-size:.7rem;font-weight:850}.change-course-button{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--foreground);cursor:pointer;border-radius:12px;padding:8px 13px;font-size:.78rem;font-weight:800}.welcome-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);align-items:center;gap:34px;width:min(1160px,100% - 40px);min-height:calc(100vh - 92px);margin:0 auto;padding:42px 0;display:grid}.welcome-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:28px;padding:clamp(24px,5vw,42px)}.welcome-intro h2,.welcome-intro p{margin:0}.welcome-intro h2{letter-spacing:-.045em;overflow-wrap:anywhere;max-width:620px;margin-top:8px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.03}.welcome-intro>p:last-child{color:var(--foreground);margin-top:14px}@supports (color:color-mix(in lab, red, red)){.welcome-intro>p:last-child{color:color-mix(in srgb, var(--foreground) 70%, white)}}.welcome-intro>p:last-child{font-size:1rem}.selection-group{border:0;margin:28px 0 0;padding:0}.selection-group legend{margin-bottom:12px;font-weight:900}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.selection-card{border:2px solid var(--border);background:var(--surface-muted);min-height:130px;color:var(--foreground);cursor:pointer;text-align:center;border-radius:18px;place-items:center;padding:16px;display:grid}.selection-card:hover,.selection-card.selected{border-color:var(--primary)}.selection-card:hover{box-shadow:0 8px 18px var(--primary);translate:0 -4px}@supports (color:color-mix(in lab, red, red)){.selection-card:hover{box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 16%, transparent)}}.selection-card.selected{background:var(--primary-soft);box-shadow:0 5px 0 var(--primary-dark)}.selection-card>span{font-size:2.1rem}.selection-card strong,.selection-card small{display:block}.selection-card strong{font-size:1.05rem}.selection-card small{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.selection-card small{color:color-mix(in srgb, var(--foreground) 62%, white)}}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.class-button{border:1px solid var(--border);background:var(--surface-muted);min-height:62px;color:var(--foreground);cursor:pointer;border-radius:14px;padding:9px;font-weight:850}.class-button small{color:var(--primary-dark);margin-top:3px;font-size:.64rem;display:block}.class-button.selected{border:2px solid var(--primary);background:var(--primary-soft)}.class-button:hover{translate:0 -2px}.selection-result{background:var(--surface-muted);min-height:48px;color:var(--foreground);border-radius:12px;margin-top:20px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.selection-result{color:color-mix(in srgb, var(--foreground) 75%, white)}}.selection-result{font-size:.86rem;line-height:1.45}.selection-result p{margin:0}.selection-result .available{color:var(--primary-dark);font-weight:850}.welcome-start{width:100%;margin-top:18px}.primary-button:disabled{box-shadow:none;color:#eef1ed;cursor:not-allowed;background:#b9c2b5;border-color:#a8b2a4}.welcome-scene{border:2px solid var(--primary);min-width:0;padding:28px}@supports (color:color-mix(in lab, red, red)){.welcome-scene{border:2px solid color-mix(in srgb, var(--primary) 45%, var(--border))}}.welcome-scene{background:var(--surface);border-radius:34px}@supports (color:color-mix(in lab, red, red)){.welcome-scene{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.welcome-scene{box-shadow:0 12px 0 var(--primary-dark), var(--shadow)}@supports (color:color-mix(in lab, red, red)){.welcome-scene{box-shadow:0 12px 0 color-mix(in srgb, var(--primary-dark) 24%, var(--border)), var(--shadow)}}.welcome-scene{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-scene>svg{filter:drop-shadow(0 20px 18px #10482233);width:100%;height:auto;display:block}.licensed-art{border:3px solid var(--primary-dark);width:100%;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.licensed-art{border:3px solid color-mix(in srgb, var(--primary-dark) 52%, white)}}.licensed-art{background:var(--surface-muted);border-radius:24px;box-shadow:0 10px 25px #08473233}.licensed-art img{object-fit:cover;width:100%;height:100%;display:block}.licensed-art-crew{aspect-ratio:4/3}.licensed-art-crew img{object-position:center 42%}.licensed-art-task,.licensed-art-action{aspect-ratio:16/11}.licensed-art-task img,.licensed-art-action img{object-position:center}.licensed-art-peace{aspect-ratio:4/5;background:#f6aa00}.licensed-art-peace img{object-fit:contain}.licensed-art-success{aspect-ratio:4/5}.licensed-art-success img{object-fit:cover;object-position:center}.licensed-art-celebration{aspect-ratio:4/3}.licensed-art-sad{aspect-ratio:4/5}.licensed-art-celebration img,.licensed-art-sad img{object-position:center}.scene-caption{text-align:center;gap:4px;margin-top:12px;display:grid}.scene-caption strong{color:var(--primary-dark);font-size:1.12rem}.scene-caption span{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.scene-caption span{color:color-mix(in srgb, var(--foreground) 66%, white)}}.scene-caption span{font-size:.8rem}.dashboard{width:min(1240px,100% - 40px);margin:0 auto;padding:20px 0 56px}.mobile-section-tabs,.mobile-practice-menu{display:none}.exercise-dialog-backdrop{z-index:500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f22187a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.exercise-dialog{border:2px solid var(--border);background:var(--surface);border-radius:24px;gap:14px;width:min(440px,100%);padding:28px;display:grid;position:relative;box-shadow:0 24px 70px #0a261647}.exercise-dialog h2,.exercise-dialog p{margin:0}.exercise-dialog h2{padding-right:32px;font-size:clamp(1.6rem,6vw,2.4rem)}.exercise-dialog label{color:var(--primary-dark);text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900;display:grid}.exercise-dialog select{border:1px solid var(--border);background:var(--surface-muted);min-height:48px;color:var(--foreground);font:inherit;border-radius:11px;padding:8px 12px;font-weight:800}.exercise-dialog-close{border:1px solid var(--border);background:var(--surface-muted);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;display:grid;position:absolute;top:12px;right:12px}.hero-panel{border:1px solid var(--border);background:linear-gradient(125deg, var(--surface), var(--primary-soft)), var(--surface);box-shadow:var(--shadow);border-radius:30px;justify-content:space-between;align-items:center;gap:28px;padding:clamp(26px,5vw,48px);display:flex;position:relative;overflow:hidden}.hero-panel:after{border:24px solid var(--primary);width:210px;height:150px;position:absolute;bottom:-52px;right:-40px}@supports (color:color-mix(in lab, red, red)){.hero-panel:after{border:24px solid color-mix(in srgb, var(--primary) 12%, transparent)}}.hero-panel:after{content:"";rotate:-10deg}.hero-panel h2{letter-spacing:-.045em;max-width:620px;margin-top:8px;font-size:clamp(2rem,5vw,3.6rem);line-height:1}.hero-copy{max-width:610px;color:var(--foreground);margin-top:18px!important}@supports (color:color-mix(in lab, red, red)){.hero-copy{color:color-mix(in srgb, var(--foreground) 78%, white)}}.hero-copy{font-size:1.05rem;line-height:1.65}.hero-content{z-index:1;flex:52%}.hero-meta{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-meta span{border:1px solid var(--primary);padding:8px 11px}@supports (color:color-mix(in lab, red, red)){.hero-meta span{border:1px solid color-mix(in srgb, var(--primary) 36%, var(--border))}}.hero-meta span{background:var(--surface);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.hero-meta span{background:color-mix(in srgb, var(--surface) 76%, transparent)}}.hero-meta span{color:var(--primary-dark);font-size:.76rem;font-weight:850}.hero-visual{z-index:1;flex:0 410px;min-width:300px}.mascot-scene{filter:drop-shadow(0 14px 18px #183e202e);width:100%;height:auto;animation:4.2s ease-in-out infinite mascot-float;display:block}.mission-card{border:2px solid var(--primary);border-radius:var(--radius);background:linear-gradient(100deg, var(--surface), var(--primary-soft)), var(--surface);box-shadow:0 8px 0 var(--primary-dark);grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:20px;margin:22px 0;padding:18px 22px;display:grid}@supports (color:color-mix(in lab, red, red)){.mission-card{box-shadow:0 8px 0 color-mix(in srgb, var(--primary-dark) 82%, transparent)}}.guide-avatar{width:88px;height:88px}.guide-avatar svg{filter:drop-shadow(0 6px 8px #0f371c33);width:100%;height:100%;animation:2.6s ease-in-out infinite guide-bob;display:block}.mission-copy h2,.mission-copy p{margin:0}.mission-copy h2{letter-spacing:-.025em;margin-top:4px;font-size:clamp(1.15rem,2.5vw,1.55rem)}.mission-copy>p:last-child{color:var(--foreground);margin-top:8px}@supports (color:color-mix(in lab, red, red)){.mission-copy>p:last-child{color:color-mix(in srgb, var(--foreground) 76%, white)}}.mission-copy>p:last-child{font-weight:650;line-height:1.5}.mission-button{min-width:158px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;display:grid}.stats-grid article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:14px;min-height:88px;padding:18px 20px;display:flex;box-shadow:0 8px 22px #1f462512}.stats-grid article>span{font-size:1.65rem}.stats-grid strong{font-size:1.05rem}.stats-grid p{color:var(--foreground);margin-top:3px}@supports (color:color-mix(in lab, red, red)){.stats-grid p{color:color-mix(in srgb, var(--foreground) 62%, white)}}.stats-grid p{font-size:.82rem}.content-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.7fr);align-items:start;gap:22px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.unit-panel{padding:22px;position:sticky;top:20px}.vocabulary-panel{min-height:560px;padding:26px}.learning-controls{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);gap:14px;margin-bottom:20px;padding:14px;display:grid}.control-label{color:var(--foreground);margin-bottom:7px;display:block}@supports (color:color-mix(in lab, red, red)){.control-label{color:color-mix(in srgb, var(--foreground) 65%, white)}}.control-label{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.segmented-control{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:5px;padding:4px;display:flex}.segmented-control button{min-height:40px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:7px 10px;font-size:.78rem;font-weight:850}.segmented-control button.active{background:var(--primary);color:#fff}.learning-controls select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--foreground);font:inherit;border-radius:12px;padding:8px 12px;font-size:.85rem;font-weight:750}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.025em;margin-top:4px;font-size:1.55rem}.section-heading>span{background:var(--primary-soft);color:var(--primary-dark);border-radius:99px;padding:7px 10px;font-size:.76rem;font-weight:800}.unit-list{gap:9px;display:grid}.unit-button{min-height:68px;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.unit-copy{min-width:0}.mastery-battery{border:2px solid var(--primary-dark);background:var(--surface);isolation:isolate;border-radius:7px;place-items:center;width:72px;height:30px;display:grid;position:relative;overflow:visible}.mastery-battery:after{background:var(--primary-dark);content:"";border-radius:0 3px 3px 0;width:4px;height:10px;position:absolute;top:8px;right:-6px}.mastery-battery-fill{z-index:-1;background:var(--primary);border-radius:3px;max-width:calc(100% - 4px);position:absolute;inset:2px auto 2px 2px}@supports (color:color-mix(in lab, red, red)){.mastery-battery-fill{background:color-mix(in srgb, var(--primary) 78%, #73e77b)}}.mastery-battery strong{font-variant-numeric:tabular-nums;font-size:.72rem}.unit-button:hover{background:var(--surface-muted);translate:4px}.unit-button.selected{border-color:var(--primary);background:var(--primary-soft)}.unit-number{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.unit-number>span{font-size:1.15rem;line-height:1}.unit-number>small{color:#fff!important;margin:-7px 0 0!important;font-size:.55rem!important}.unit-button strong,.unit-button small{display:block}.unit-button strong{font-size:.92rem}.unit-button small{color:var(--foreground);margin-top:4px}@supports (color:color-mix(in lab, red, red)){.unit-button small{color:color-mix(in srgb, var(--foreground) 60%, white)}}.unit-arrow{color:var(--primary-dark);font-size:1.6rem;font-weight:700}.primary-button,.secondary-button{cursor:pointer;border-radius:14px;min-height:46px;padding:10px 18px;font-weight:900}.primary-button{border:2px solid var(--primary-dark);background:var(--primary);box-shadow:0 4px 0 var(--primary-dark);color:#fff;letter-spacing:.01em;text-transform:uppercase}.primary-button:hover:not(:disabled){filter:brightness(1.08);translate:0 -2px}.primary-button:active{box-shadow:0 1px 0 var(--primary-dark);translate:0 3px}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--foreground)}.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vocabulary-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:17px;gap:12px;min-height:116px;padding:17px;transition:translate .16s,box-shadow .16s,border-color .16s;display:grid}.vocabulary-card:hover{border-color:var(--primary);box-shadow:0 9px 18px var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-card:hover{box-shadow:0 9px 18px color-mix(in srgb, var(--primary) 12%, transparent)}}.vocabulary-card:hover{translate:0 -3px}.vocabulary-card div{grid-template-columns:34px 1fr;align-items:baseline;gap:9px;display:grid}.vocabulary-card span{color:var(--primary-dark);font-size:.68rem;font-weight:900}.vocabulary-card strong{font-size:1.08rem}.vocabulary-card p{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vocabulary-card p{color:color-mix(in srgb, var(--foreground) 76%, white)}}.vocabulary-card p{line-height:1.45}.study-area{gap:18px;display:grid}.study-progress{color:var(--foreground);gap:8px;display:grid}@supports (color:color-mix(in lab, red, red)){.study-progress{color:color-mix(in srgb, var(--foreground) 70%, white)}}.study-progress{font-size:.82rem;font-weight:800}.study-progress>div{background:var(--primary-soft);border-radius:99px;height:10px;overflow:hidden}.study-progress>div>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.flashcard{border:2px solid var(--primary);background:linear-gradient(145deg, var(--surface), var(--primary-soft));text-align:center;border-radius:26px;place-content:center;min-height:360px;padding:34px;animation:.36s cubic-bezier(.2,.9,.25,1.2) card-enter;display:grid}.flashcard-guide{justify-content:center;align-items:center;gap:12px;margin-bottom:22px;display:flex}.flashcard-guide>svg{flex:0 0 62px;width:62px;height:62px}.task-bubble{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:14px;gap:3px;max-width:290px;padding:11px 15px;animation:.42s cubic-bezier(.2,.9,.25,1.25) bubble-pop;display:grid;position:relative}.task-bubble:before{border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);content:"";width:15px;height:15px;position:absolute;top:22px;left:-8px;rotate:45deg}.task-bubble strong{color:var(--primary-dark);font-size:.78rem}.task-bubble span{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.task-bubble span{color:color-mix(in srgb, var(--foreground) 72%, white)}}.task-bubble span{font-size:.8rem}.flashcard h3{letter-spacing:-.045em;margin:12px 0 0;font-size:clamp(2.2rem,7vw,4.4rem);line-height:1.05}.speech-controls{grid-template-columns:minmax(92px,.8fr) minmax(130px,1.2fr) 44px;justify-content:center;align-items:end;gap:7px;width:min(100%,430px);margin:16px auto 0;display:grid}.speech-controls label{color:var(--foreground);gap:3px;display:grid}@supports (color:color-mix(in lab, red, red)){.speech-controls label{color:color-mix(in srgb, var(--foreground) 64%, white)}}.speech-controls label{text-align:left;text-transform:uppercase;font-size:.62rem;font-weight:900}.speech-controls select,.speech-play-button{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:42px;color:var(--foreground);font:inherit;border-radius:10px;padding:7px 9px;font-size:.74rem;font-weight:850}.speech-controls select{width:100%}.speech-play-button{cursor:pointer;place-items:center;padding:0;font-size:1rem;display:grid}.speech-error{color:#9a3028;text-align:center;margin:10px 0 0;font-size:.78rem;font-weight:800}.save-error{color:#842d25;text-align:center;background:#fbe3df;border:1px solid #d77468;border-radius:12px;margin:12px 0;padding:10px 13px;font-size:.8rem;font-weight:800}.quiz-form{text-align:left;gap:11px;width:min(100%,520px);margin:28px auto 0;display:grid}.quiz-form label{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.quiz-form label{color:color-mix(in srgb, var(--foreground) 72%, white)}}.quiz-form label{font-size:.8rem;font-weight:850}.quiz-form input{border:2px solid var(--border);background:var(--surface);width:100%;min-height:56px;color:var(--foreground);font:inherit;border-radius:14px;padding:10px 15px;font-size:1.15rem;font-weight:750}.quiz-form input:focus{border-color:var(--primary);outline:4px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.quiz-form input:focus{outline:4px solid color-mix(in srgb, var(--primary) 18%, transparent)}}.answer-feedback{border-radius:12px;gap:3px;padding:11px 14px;display:grid}.answer-feedback.correct{color:#195e27;background:#ddf4df;border:1px solid #51a05b;animation:.42s cubic-bezier(.2,.9,.25,1.25) correct-pop}.answer-feedback.incorrect{color:#842d25;background:#fbe3df;border:1px solid #d67468;animation:.36s incorrect-shake}.answer-feedback span{font-size:.82rem}.answer{margin-top:28px}.answer>strong{color:var(--primary-dark);margin-top:7px;font-size:clamp(1.35rem,4vw,2rem);display:block}.answer-hint{color:var(--foreground);margin-top:24px!important}@supports (color:color-mix(in lab, red, red)){.answer-hint{color:color-mix(in srgb, var(--foreground) 58%, white)}}.example{border-top:1px solid var(--border);color:var(--foreground);margin-top:24px;padding-top:20px}@supports (color:color-mix(in lab, red, red)){.example{color:color-mix(in srgb, var(--foreground) 75%, white)}}.example{line-height:1.55}.example p+p{margin-top:6px;font-size:.9rem}.study-actions{justify-content:space-between;gap:12px;display:flex}footer{color:var(--foreground);padding:0 24px 30px}@supports (color:color-mix(in lab, red, red)){footer{color:color-mix(in srgb, var(--foreground) 56%, white)}}footer{text-align:center;font-size:.78rem}.lesson-shell{background:radial-gradient(circle at 15% 20%, var(--primary), transparent 28%), radial-gradient(circle at 85% 75%, var(--accent), transparent 25%), linear-gradient(var(--world-overlay), var(--world-overlay)), var(--world-background) center / cover fixed;flex-direction:column;min-height:100vh;display:flex}@supports (color:color-mix(in lab, red, red)){.lesson-shell{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 28%), radial-gradient(circle at 85% 75%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 25%), linear-gradient(var(--world-overlay), var(--world-overlay)), var(--world-background) center / cover fixed}}.lesson-header{z-index:80;border:1px solid var(--border);grid-template-columns:52px minmax(0,1fr) minmax(58px,150px);align-items:center;gap:18px;width:min(980px,100% - 36px);margin:0 auto;padding:16px 12px;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.lesson-header{border:1px solid color-mix(in srgb, var(--border) 82%, transparent)}}.lesson-header{background:var(--surface);border-top:0;border-radius:0 0 18px 18px}@supports (color:color-mix(in lab, red, red)){.lesson-header{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.lesson-header{box-shadow:0 8px 22px var(--primary-dark)}@supports (color:color-mix(in lab, red, red)){.lesson-header{box-shadow:0 8px 22px color-mix(in srgb, var(--primary-dark) 10%, transparent)}}.lesson-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-close{background:var(--surface);width:46px;height:46px;box-shadow:0 5px 0 var(--border);color:var(--foreground);border:0;border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-close{color:color-mix(in srgb, var(--foreground) 62%, white)}}.lesson-close{cursor:pointer;font-size:1.8rem;font-weight:900}.lesson-progress{border:3px solid var(--surface);background:var(--border);height:17px;box-shadow:0 3px 0 var(--border);border-radius:99px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.lesson-progress{box-shadow:0 3px 0 color-mix(in srgb, var(--border) 76%, #8fa48c)}}.lesson-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #78dc55);height:100%;box-shadow:inset 0 -3px 0 var(--primary-dark);display:block}@supports (color:color-mix(in lab, red, red)){.lesson-progress span{box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--primary-dark) 40%, transparent)}}.lesson-progress span{transition:width .38s cubic-bezier(.2,.9,.3,1.1)}.lesson-counter{color:var(--primary-dark);text-align:right;font-size:.85rem;font-weight:950}.lesson-stage{z-index:1;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(24px,5vw,64px);width:min(1060px,100% - 36px);margin:auto;padding:24px 0 64px;display:grid}.lesson-character{justify-items:center;gap:18px;display:grid}.lesson-character-art{width:min(100%,240px);position:relative}.lesson-character-art>svg{filter:drop-shadow(0 20px 18px #10482233);width:100%;height:auto;animation:.52s cubic-bezier(.2,.9,.25,1.25) lesson-character-enter;display:block}.lesson-character-art>.licensed-art{animation:.52s cubic-bezier(.2,.9,.25,1.25) lesson-character-enter}.success-main-character,.success-sidekick{transform-box:fill-box;transform-origin:bottom}.success-main-character{animation:.72s cubic-bezier(.2,.9,.25,1.25) infinite team-jump}.success-sidekick-left{animation:.62s ease-in-out infinite alternate sidekick-cheer}.success-sidekick-right{animation:.62s ease-in-out .15s infinite alternate-reverse sidekick-cheer}.character-dialogue{border:2px solid var(--border);background:var(--surface);width:min(100%,310px);box-shadow:0 8px 0 var(--border);text-align:center;border-radius:20px;padding:18px 20px;animation:.42s cubic-bezier(.2,.9,.25,1.25) bubble-pop;position:relative}.character-dialogue:before{border-top:2px solid var(--border);border-left:2px solid var(--border);background:var(--surface);content:"";width:19px;height:19px;position:absolute;top:-11px;left:calc(50% - 10px);rotate:45deg}.character-dialogue p,.character-dialogue strong{z-index:1;margin:0;position:relative}.character-dialogue strong{margin-top:6px;font-size:1.08rem;line-height:1.4;display:block}.lesson-question{border:2px solid var(--border);background:var(--surface);box-shadow:0 11px 0 var(--border), var(--shadow);border-radius:30px;padding:clamp(24px,5vw,46px);animation:.42s cubic-bezier(.2,.9,.25,1.15) card-enter}.question-heading{border-bottom:2px solid var(--surface-muted);color:var(--foreground);justify-content:space-between;gap:12px;padding-bottom:18px;display:flex}@supports (color:color-mix(in lab, red, red)){.question-heading{color:color-mix(in srgb, var(--foreground) 62%, white)}}.question-heading{letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:900}.question-prompt{text-align:center;padding:clamp(34px,7vw,64px) 0 28px}.question-prompt p,.question-prompt h2{margin:0}.question-prompt p{color:var(--primary-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:950}.question-prompt h2{letter-spacing:-.055em;margin-top:10px;font-size:clamp(2.5rem,7vw,5.1rem);line-height:1}.lesson-answer-form{gap:13px;display:grid}.lesson-answer-form label{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.lesson-answer-form label{color:color-mix(in srgb, var(--foreground) 70%, white)}}.lesson-answer-form label{font-size:.8rem;font-weight:900}.lesson-answer-form input{border:3px solid var(--border);background:var(--surface-muted);min-height:66px;color:var(--foreground);font:inherit;border-radius:17px;padding:12px 18px;font-size:1.28rem;font-weight:800}.lesson-answer-form input:focus{border-color:var(--primary);outline:5px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.lesson-answer-form input:focus{outline:5px solid color-mix(in srgb, var(--primary) 15%, transparent)}}.speech-answer-panel{text-align:center;gap:13px;display:grid}.speech-answer-panel>p{margin:0}.speech-record-button{border:3px solid var(--primary-dark);background:var(--primary);min-height:68px;box-shadow:0 5px 0 var(--primary-dark);color:#fff;cursor:pointer;font:inherit;border-radius:18px;justify-content:center;align-items:center;gap:10px;font-size:1rem;font-weight:950;display:flex}.speech-record-button.listening{animation:1.1s ease-in-out infinite microphone-pulse}.speech-record-button:disabled{cursor:default;opacity:.72}.speech-transcript{color:var(--primary-dark);font-size:1rem}.speech-error{color:#842d25;background:#fbe3df;border:1px solid #d67468;border-radius:12px;padding:10px 12px;font-weight:750}@keyframes microphone-pulse{50%{box-shadow:0 5px 0 var(--primary-dark), 0 0 0 9px color-mix(in srgb, var(--primary) 20%, transparent)}}.lesson-continue{width:100%;min-height:58px;margin-top:5px}.lesson-flashcard-answer{border-top:2px solid var(--surface-muted);text-align:center;gap:12px;padding-top:18px;display:grid}.lesson-flashcard-answer p,.lesson-flashcard-answer strong{margin:0}.lesson-flashcard-answer p{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.lesson-flashcard-answer p{color:color-mix(in srgb, var(--foreground) 67%, white)}}.lesson-flashcard-answer strong{color:var(--primary-dark);font-size:clamp(1.5rem,4vw,2.2rem)}.flashcard-rating,.lesson-complete-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.lesson-complete-stage{z-index:1;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,6vw,72px);width:min(980px,100% - 36px);margin:auto;padding:30px 0 72px;display:grid}.lesson-complete-art{justify-self:center;width:min(100%,360px);animation:.52s cubic-bezier(.2,.9,.25,1.25) lesson-character-enter}.lesson-complete-card{border:2px solid var(--border);background:var(--surface);box-shadow:0 11px 0 var(--border), var(--shadow);text-align:center;border-radius:30px;padding:clamp(28px,6vw,52px);animation:.42s cubic-bezier(.2,.9,.25,1.15) card-enter}.lesson-complete-card h2{color:var(--primary-dark);margin:8px 0 14px;font-size:clamp(2.7rem,8vw,5.4rem);line-height:.95}.lesson-complete-card>p:not(.eyebrow){margin:0;font-size:1.08rem;font-weight:750;line-height:1.55}.celebration-particles{pointer-events:none;position:absolute;inset:0}.celebration-particles i{color:var(--accent);font-size:1.7rem;font-style:normal;animation:.9s ease-out infinite particle-burst;position:absolute}.celebration-particles i:first-child{top:7%;left:4%}.celebration-particles i:nth-child(2){animation-delay:.12s;top:16%;right:2%}.celebration-particles i:nth-child(3){animation-delay:.22s;bottom:18%;left:0}.celebration-particles i:nth-child(4){animation-delay:.34s;bottom:5%;right:8%}.celebration-particles i:nth-child(5){animation-delay:.42s;top:-2%;left:48%}@keyframes mascot-float{0%,to{translate:0;rotate:-.4deg}50%{translate:0 -10px;rotate:.6deg}}@keyframes guide-bob{0%,to{translate:0}50%{translate:0 -5px}}@keyframes card-enter{0%{opacity:0;translate:0 16px;scale:.94}to{opacity:1;translate:0;scale:1}}@keyframes bubble-pop{0%{opacity:0;transform-origin:0;scale:.72}to{opacity:1;scale:1}}@keyframes correct-pop{0%{scale:.86}65%{scale:1.04}to{scale:1}}@keyframes incorrect-shake{0%,to{translate:0}25%{translate:-7px}50%{translate:7px}75%{translate:-4px}}@keyframes ambient-drift{0%,to{translate:0}50%{translate:18px -22px}}@keyframes lesson-character-enter{0%{opacity:0;translate:-24px 20px;scale:.72}to{opacity:1;translate:0;scale:1}}@keyframes particle-burst{0%{opacity:0;translate:0 12px;scale:.4}35%{opacity:1;scale:1.2}to{opacity:0;translate:0 -18px;scale:.7}}@keyframes team-jump{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-9px)scale(1.04)}65%{transform:translateY(1px)scale(.98)}}@keyframes sidekick-cheer{0%{transform:translateY(2px)rotate(-4deg)}to{transform:translateY(-7px)rotate(5deg)}}@media (max-width:860px){.auth-layout{grid-template-columns:1fr;padding:24px 0 42px}.auth-art{grid-row:1;width:min(100%,480px);margin:0 auto}.lesson-stage{grid-template-columns:1fr;padding-top:8px}.lesson-complete-stage{grid-template-columns:1fr;gap:18px}.lesson-complete-art{width:min(62vw,240px)}.lesson-character{grid-template-columns:118px 1fr;justify-items:stretch}.lesson-character-art{width:118px}.character-dialogue{text-align:left;align-self:center;width:100%}.character-dialogue:before{border-top:0;border-bottom:2px solid var(--border);top:calc(50% - 9px);left:-11px}.welcome-layout{grid-template-columns:1fr;padding-top:24px}.welcome-scene{grid-row:1;width:min(100%,520px);margin:0 auto}.hero-panel{flex-direction:column;align-items:stretch}.hero-visual{align-self:center;width:min(100%,520px);min-width:0}.mission-card{grid-template-columns:78px 1fr}.guide-avatar{width:74px;height:74px}.mission-button{grid-column:1/-1;width:100%}.content-grid,.learning-controls{grid-template-columns:1fr}.unit-panel{position:static}.unit-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.auth-layout{width:min(100% - 18px,520px);padding:12px 0}.auth-card{border-radius:18px;padding:18px 15px}.auth-brand{margin-bottom:16px}.auth-heading h2{font-size:1.65rem}.auth-heading>p:last-child{margin-top:8px;font-size:.86rem}.auth-form{gap:5px;margin-top:14px}.auth-form label{margin-top:5px}.auth-form input,.auth-form select{min-height:44px;padding:8px 12px;font-size:.92rem}.auth-submit{min-height:48px;margin-top:8px}.topbar{border-radius:15px;align-items:center;gap:8px;width:calc(100% - 12px);margin-top:6px;padding:12px 10px}.brand .eyebrow,.topbar .brand-mark{display:none}.topbar .brand h1{font-size:1.05rem}.skin-switcher{gap:2px;max-width:126px}.skin-switcher button{min-height:36px;padding:5px 7px;font-size:.62rem}.skin-long{display:none}.skin-short{white-space:nowrap;display:inline}.topbar-actions{flex-direction:row;align-items:center}.subject-quick-select select{width:126px;min-height:38px;padding:5px 24px 5px 8px;font-size:.7rem}.profile-icon-button{width:38px;height:38px;font-size:1rem}.lesson-header{grid-template-columns:44px minmax(0,1fr) 45px;gap:10px;width:min(100% - 22px,980px);padding:14px 0}.lesson-close{width:40px;height:40px}.lesson-stage{gap:18px;width:min(100% - 22px,1060px);padding-bottom:32px}.lesson-character{grid-template-columns:82px 1fr;gap:12px}.lesson-character-art{width:82px}.character-dialogue{box-shadow:0 5px 0 var(--border);border-radius:15px;padding:12px 14px}.character-dialogue .eyebrow{font-size:.57rem}.character-dialogue strong{font-size:.86rem}.lesson-question{box-shadow:0 7px 0 var(--border), var(--shadow);border-radius:23px;padding:20px 16px}.question-heading{font-size:.62rem}.question-prompt{padding:30px 0 22px}.change-course-button{min-height:34px;padding:5px 9px;font-size:.68rem}.welcome-layout{width:100%;padding-left:12px;padding-right:12px}.welcome-card{width:100%;padding:22px 17px}.subject-grid{grid-template-columns:1fr}.selection-card{text-align:left;grid-template-columns:54px 1fr;min-height:86px}.selection-card>span{grid-row:1/3}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{width:min(100% - 14px,1240px);padding-top:10px}.mobile-section-tabs{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}@supports (color:color-mix(in lab, red, red)){.mobile-section-tabs{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.mobile-section-tabs{box-shadow:0 6px 18px var(--primary-dark)}@supports (color:color-mix(in lab, red, red)){.mobile-section-tabs{box-shadow:0 6px 18px color-mix(in srgb, var(--primary-dark) 9%, transparent)}}.mobile-section-tabs button{min-height:38px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:5px 4px;font-size:.7rem;font-weight:900}.mobile-section-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 4px 10px var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-section-tabs button.active{box-shadow:0 4px 10px color-mix(in srgb, var(--primary) 24%, transparent)}}.mobile-practice-menu{border:1px solid var(--border);background:var(--surface);box-shadow:0 5px 14px var(--primary-dark);border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 68px;gap:5px;margin-top:7px;padding:7px;display:none}@supports (color:color-mix(in lab, red, red)){.mobile-practice-menu{box-shadow:0 5px 14px color-mix(in srgb, var(--primary-dark) 8%, transparent)}}.mobile-practice-menu select,.mobile-practice-menu .primary-button{border:1px solid var(--border);width:100%;min-width:0;min-height:38px;font:inherit;border-radius:9px;padding:5px 7px;font-size:.68rem;font-weight:850}.mobile-practice-menu .primary-button{border:0}.mobile-home-section:not(.active){display:none}.exercise-dialog{border-radius:18px;gap:11px;padding:22px 16px 18px}.content-grid{display:contents}.hero-panel{align-items:flex-start;padding:16px}.hero-panel h2{font-size:1.7rem}.hero-copy{display:none}.hero-visual{align-self:center;width:min(100%,260px);max-height:160px;overflow:hidden}.mission-card{grid-template-columns:62px 1fr;gap:13px;padding:15px}.guide-avatar{width:60px;height:60px}.mission-copy>p:last-child{font-size:.86rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stats-grid article{gap:6px;min-height:62px;padding:8px}.stats-grid article>span{font-size:1rem}.stats-grid strong{font-size:.75rem}.stats-grid p{display:none}.unit-panel,.vocabulary-panel{padding:18px}.unit-list,.vocabulary-grid{grid-template-columns:1fr}.unit-button{grid-template-columns:42px minmax(0,1fr) 64px;gap:9px}.unit-arrow{display:none}.mastery-battery{width:60px}.vocabulary-panel .section-heading{flex-direction:row;align-items:center}.vocabulary-panel .section-heading>.primary-button,.vocabulary-panel .learning-controls{display:none}.primary-button{width:100%}.flashcard{min-height:330px;padding:24px 18px}.flashcard-guide{align-items:flex-start}.speech-controls{grid-template-columns:minmax(78px,.8fr) minmax(112px,1.2fr) 40px;gap:5px;margin-top:12px}.speech-controls select,.speech-play-button{min-height:38px;padding:5px 6px;font-size:.68rem}.flashcard-guide>svg{flex-basis:52px;width:52px;height:52px}.task-bubble{max-width:210px}.study-actions .primary-button{width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-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}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
