/*! 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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-outline-style:solid;--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: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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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,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]){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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.m-26{margin:calc(var(--spacing) * 26)}.m-32{margin:calc(var(--spacing) * 32)}.m-40{margin:calc(var(--spacing) * 40)}.m-178{margin:calc(var(--spacing) * 178)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ivory:#f7f6ef;--paper:#fffefa;--ink:#151515;--edge:#151515;--shadow-ink:#151515;--on-accent:#151515;--muted:#66675f;--line:#d8d7ce;--lime:#c7ff42;--pink:#ff4d8d;--purple:#6d4aff;--cyan:#8bf1ed;--yellow:#ffd84d;--shadow:7px 7px 0 var(--shadow-ink);--surface-2:#f2f1e8;--glow:transparent;--site-content-max:1200px;--site-inline-space:clamp(64px, 10vw, 160px);--admin-content-max:1180px;--chrome-h:133px}html[data-app-booting] body{visibility:hidden}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;--ivory:#f8fafc;--paper:#fff;--ink:#0f172a;--edge:#0f172a;--shadow-ink:#0f172a;--on-accent:#0f172a;--muted:#475569;--line:#cbd5e1;--surface-2:#eef2f8;--danger-ink:#c2185b;--info:#1462c4;background:#f8fafc}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f5f6f9;--ivory:#050507;--paper:#0e0f13;--surface-2:#16181e;--surface-3:#1e2028;--ink:#f5f6f9;--muted:#a9aeb9;--line:#262931;--edge:#343842;--shadow-ink:#000;--on-accent:#08101f;--glow:#ffffff1a;--info:#58a6ff;--danger-ink:#ff5f9a;--lime:#a6f75a;--pink:#ff5f9a;--purple:#8b7bff;--cyan:#56e4de;--yellow:#ffd257;--shadow:0 18px 38px -14px var(--shadow-ink), 0 0 0 1px #ffffff0d;background:#050507}html[data-theme=dark] body{background:var(--ivory);color:var(--ink)}html[data-theme=dark] .site-shell{background:radial-gradient(circle at 3% 8%, #6d7aff38, transparent 26rem), radial-gradient(circle at 97% 6%, #56e4de29, transparent 28rem), radial-gradient(circle at 50% 100%, #ff5f9a1a, transparent 30rem), var(--ivory)}html[data-theme=dark] .practice-card,html[data-theme=dark] .profile-card,html[data-theme=dark] .activity-card,html[data-theme=dark] .mastery-choice-card,html[data-theme=dark] .lesson-finish-card,html[data-theme=dark] .admin-editor,html[data-theme=dark] .admin-library,html[data-theme=dark] .signed-out-card,html[data-theme=dark] .crossword-board-column,html[data-theme=dark] .free-note{box-shadow:0 22px 46px -20px #01030a,inset 0 2px #ffffff0f,0 0 0 1px #ffffff0a}html[data-theme=dark] .practice-card{background:linear-gradient(158deg,#16223a 0%,#101929 62%)}html[data-theme=dark] .typing-panel{border-color:var(--line);background:#060a14a8}html[data-theme=dark] .target-sentence{color:#fff;text-shadow:0 0 24px #8b7bff66}html[data-theme=dark] .typing-input{color:#fff;background:#02050ccc}html[data-theme=dark] .skip-link,html[data-theme=dark] .brand-mark,html[data-theme=dark] .sound-preview-button,html[data-theme=dark] .voice-picker i,html[data-theme=dark] .curriculum-progress li.current,html[data-theme=dark] .curriculum-progress li.done,html[data-theme=dark] .practice-track-picker button.active,html[data-theme=dark] .streak,html[data-theme=dark] .next-key-card,html[data-theme=dark] .next-key-card.complete,html[data-theme=dark] .key-guide kbd.active,html[data-theme=dark] .keyboard-row kbd.active,html[data-theme=dark] .keyboard-row kbd.active span,html[data-theme=dark] .keyboard-row kbd.active small,html[data-theme=dark] .key-guide kbd.active span,html[data-theme=dark] .key-guide kbd.active small,html[data-theme=dark] .timer-pause-button.paused,html[data-theme=dark] .activity-card.lime .activity-number,html[data-theme=dark] .activity-card.purple .activity-number,html[data-theme=dark] .activity-card.pink .activity-number,html[data-theme=dark] .activity-card.cyan .activity-number,html[data-theme=dark] .activity-card.orange .activity-number,html[data-theme=dark] .rain-word,html[data-theme=dark] .answer-options button.correct,html[data-theme=dark] .crossword-cell.selected,html[data-theme=dark] .crossword-cell.correct,html[data-theme=dark] .crossword-word-entry,html[data-theme=dark] .record-disc span,html[data-theme=dark] .scene-genre,html[data-theme=dark] .travel-situation,html[data-theme=dark] .phrase-dots button.active,html[data-theme=dark] .level-track li.done>span,html[data-theme=dark] .level-track li.current>span,html[data-theme=dark] .lesson-finish-card .finish-mark,html[data-theme=dark] .privacy-notice button,html[data-theme=dark] .profile-avatar,html[data-theme=dark] .level-orbit,html[data-theme=dark] .week-rhythm span.active i,html[data-theme=dark] .admin-item-main em.published,html[data-theme=dark] .mastery-burst,html[data-theme=dark] .missing-level-track>span.current,html[data-theme=dark] .missing-level-track>span.done,html[data-theme=dark] .missing-word span.correct,html[data-theme=dark] .number-finger-guide kbd,html[data-theme=dark] .mastery-map-list .done .mastery-map-number,html[data-theme=dark] .modal-badge,html[data-theme=dark] .button-primary,html[data-theme=dark] .free-note,html[data-theme=dark] .free-note *,html[data-theme=dark] .lesson-finish-card,html[data-theme=dark] .lesson-finish-card *{color:var(--on-accent);text-shadow:none}html[data-theme=dark] .topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block-end:1px solid var(--line);background:#090e1ad1}html[data-theme=dark] .eyebrow{border-color:var(--purple);color:#c3bcff;background:#17233de6;box-shadow:0 0 18px #8b7bff38}html[data-theme=dark] .hero-description,html[data-theme=dark] .activity-description{color:#b9c6e3}html[data-theme=dark] .headline-accent{color:#fff;background-image:linear-gradient(90deg, var(--cyan) 0 76%, var(--pink) 76% 100%), linear-gradient(90deg, #56e4de38 0 76%, #ff5f9a38 76% 100%)!important;background-position:0 96%,0 84%!important;background-repeat:no-repeat,no-repeat!important;background-size:100% 3px,100% 40%!important}html[data-theme=dark] .keyboard-map{border-color:var(--line);background:linear-gradient(#0c1424,#080e1a)}html[data-theme=dark] .keyboard-row kbd,html[data-theme=dark] .key-guide kbd{color:var(--ink);background:linear-gradient(#1b2841,#141e33);border-color:#2c3c5e;box-shadow:0 2px #070c17}html[data-theme=dark] .keyboard-row kbd small{color:var(--cyan);font-weight:800}html[data-theme=dark] .key-guide kbd small{color:var(--muted)}html[data-theme=dark] .keyboard-row kbd.active,html[data-theme=dark] .key-guide kbd.active{background:linear-gradient(160deg, #ffe27a, var(--yellow));border-color:#fff3bd;box-shadow:0 0 22px #ffd2578c,0 2px #6b4c05}html[data-theme=dark] .keyboard-row kbd.muted-key{opacity:.5}html[data-theme=dark] .finger-callout{border-color:var(--cyan);background:#17233df2;box-shadow:0 0 22px #56e4de38}html[data-theme=dark] .finger-callout small{color:var(--cyan);font-weight:800}html[data-theme=dark] .finger-callout b{color:#fff}html[data-theme=dark] .finger-callout kbd{border-color:var(--cyan);color:#fff;background:#070d1a}html[data-theme=dark] .practice-guidance-column{background:#141c32b8}html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=url],html[data-theme=dark] input[type=email],html[data-theme=dark] textarea,html[data-theme=dark] select{color:var(--ink);background:#070d1a;border-color:#2c3c5e}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#6f7f9f}html[data-theme=dark] input[type=text]:focus,html[data-theme=dark] input[type=url]:focus,html[data-theme=dark] input[type=email]:focus,html[data-theme=dark] textarea:focus,html[data-theme=dark] select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #56e4de38}html[data-theme=dark] option{color:#f5f6f9;background:#16181e}html[data-theme=dark] optgroup{color:#a9aeb9;background:#0e0f13}html[data-theme=light] option{color:#0f172a;background:#fff}html[data-theme=light] optgroup{color:#475569;background:#eef2f8}html[data-theme=dark] .profile-card,html[data-theme=dark] .activity-card,html[data-theme=dark] .mastery-choice-card,html[data-theme=dark] .signed-out-card,html[data-theme=dark] .admin-editor,html[data-theme=dark] .admin-library,html[data-theme=dark] .exit-confirm-card,html[data-theme=dark] .modal-content{background:var(--paper)}html[data-theme=dark] .level-card{background:linear-gradient(150deg,#221b45,#2d1c37)}html[data-theme=dark] .streak-stat{background:linear-gradient(150deg,#33280d,#221a09)}html[data-theme=dark] .profile-stat,html[data-theme=dark] .empty-reward,html[data-theme=dark] .badge-list>div{background:var(--surface-2)}html[data-theme=dark] .profile-progress-track,html[data-theme=dark] .meter-track{background:#0a1120}html[data-theme=dark] .theme-chip,html[data-theme=dark] .practice-track-picker button,html[data-theme=dark] .curriculum-progress li.selectable{background:var(--surface-2);color:var(--ink)}html[data-theme=dark] .theme-chip.active,html[data-theme=dark] .practice-track-picker button.active{background:var(--purple);color:var(--on-accent)}html[data-theme=dark] .daily-meter{border:1px solid var(--line);color:var(--ink);background:linear-gradient(120deg,#1c2743,#131c31)}html[data-theme=dark] .meter-copy small,html[data-theme=dark] .daily-time span,html[data-theme=dark] .mastery-target-line span,html[data-theme=dark] .mastery-target-line em{color:var(--muted)}html[data-theme=dark] .mastery-target-line b{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){html[data-theme=dark] .mastery-target-line b{color:color-mix(in srgb, var(--purple) 62%, white)}}html[data-theme=dark] .button-secondary,html[data-theme=dark] .theme-toggle-btn{background:var(--surface-2);color:var(--ink)}html[data-theme=dark] .teacher-b2b-banner h3{color:#fff}html[data-theme=dark] .teacher-b2b-banner p,html[data-theme=dark] .policy-table td,html[data-theme=dark] .legal-note{color:#b9c6e3}html[data-theme=dark] .policy-table th{background:var(--surface-2);color:var(--ink)}html[data-theme=dark] :focus-visible{outline-color:var(--cyan)}.level-step-clickable{cursor:pointer!important;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .2s,filter .2s!important}.level-step-clickable:hover{filter:brightness(1.1)!important;transform:translateY(-4px)scale(1.02)!important;box-shadow:0 8px 20px #6d4aff40!important}.level-step-clickable:active{transform:translateY(-1px)scale(.99)!important}.theme-toggle-btn{border:2px solid var(--edge);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;transition:transform .15s,background .2s;display:inline-flex}.theme-toggle-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ivory)}body{background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-family:Noto Sans KR,Inter,Pretendard,Malgun Gothic,Segoe UI,Arial,sans-serif}button,input,select{color:inherit;font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{box-sizing:border-box;min-height:100vh;padding-left:16px;padding-right:16px;padding-left:calc(var(--site-inline-space) / 2);padding-right:calc(var(--site-inline-space) / 2);background:radial-gradient(circle at 2% 10%, #c7ff427a, transparent 21rem), radial-gradient(circle at 96% 9%, #8bf1ed8c, transparent 24rem), var(--ivory);overflow:clip visible}.skip-link{z-index:100;border:2px solid var(--edge);background:var(--yellow);border-radius:999px;padding:10px 16px;font-weight:800;position:fixed;inset-block-start:12px;inset-inline-start:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar,.hero,.activity-section,.learning-path,.free-note,.site-shell>footer{width:100%;max-width:var(--site-content-max);margin-inline:auto}.topbar{z-index:20;border-bottom:1px solid #15151521;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(20px,2.2vw,38px);min-height:88px;display:grid;position:relative}.brand{letter-spacing:-.04em;justify-self:start;align-items:center;gap:10px;font-size:20px;font-weight:950;display:inline-flex}.brand-mark{border:3px solid var(--edge);background:var(--pink);width:38px;height:38px;box-shadow:3px 3px 0 var(--shadow-ink);border-radius:50%;place-items:center;font-size:16px;font-weight:900;display:inline-grid}.nav-links{justify-content:center;align-items:center;gap:38px;font-size:14px;font-weight:800;display:flex}.nav-links a{border-bottom:4px solid #0000;padding-block:31px 27px}.nav-links a:hover{border-color:var(--edge)}.header-tools{justify-self:end;align-items:center;gap:10px;min-width:0;display:flex}.audio-control-cluster{border:2px solid var(--edge);background:var(--paper);box-shadow:0 3px 0 var(--shadow-ink);border-radius:14px;align-items:stretch;display:flex;overflow:hidden}.audio-control-cluster>*{min-height:42px}.audio-control-cluster>*+*{border-inline-start:1px solid #d8d6cc}.audio-control-cluster .speech-toggle{padding:6px 9px}.audio-control-cluster .speech-toggle-track{width:38px;height:23px;box-shadow:none;border-width:1.5px}.audio-control-cluster .speech-toggle-track i{border-width:1px;width:14px;height:14px;inset-block-start:3px}.audio-control-cluster .speech-toggle-copy{min-width:62px}.speech-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.speech-toggle input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.speech-toggle-track{border:2px solid var(--edge);width:46px;height:27px;box-shadow:0 2px 0 var(--shadow-ink);background:#d5d4cc;border-radius:999px;flex:none;transition:background .15s;display:block;position:relative}.speech-toggle-track:before{color:var(--ink);content:"♪";font-size:10px;font-weight:950;position:absolute;inset-block-start:50%;inset-inline-start:6px;transform:translateY(-52%)}.speech-toggle-track i{border:1.5px solid var(--edge);background:var(--paper);border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;inset-block-start:3px;inset-inline-start:3px}.speech-toggle input:checked+.speech-toggle-track{background:var(--lime)}.speech-toggle input:checked+.speech-toggle-track i{transform:translate(19px)}[dir=rtl] .speech-toggle input:checked+.speech-toggle-track i{transform:translate(-19px)}.speech-toggle input:focus-visible+.speech-toggle-track{outline:3px solid var(--purple);outline-offset:3px}.sound-row input:checked+.speech-toggle-track{background:var(--lime,#a6f75a);border-color:var(--edge)}.sound-row input:checked+.speech-toggle-track i{transform:translate(13px)}[dir=rtl] .sound-row input:checked+.speech-toggle-track i{transform:translate(-13px)}.sound-row input:focus-visible+.speech-toggle-track{outline:2px solid var(--purple,#8b7bff);outline-offset:2px}.speech-toggle-copy{min-width:112px;line-height:1.05;display:grid}.speech-toggle-copy b{font-size:10px;font-weight:900}.speech-toggle-copy small{color:var(--muted);margin-block-start:3px;font-size:9px;font-weight:750}.speech-toggle.unavailable{cursor:not-allowed;opacity:.5}.voice-picker{border:1.5px solid var(--edge);background:var(--paper);box-shadow:0 2px 0 var(--shadow-ink);border-radius:999px;align-items:center;gap:5px;padding:5px 7px;display:flex}.audio-control-cluster .voice-picker{min-width:126px;box-shadow:none;border:0;border-radius:0;padding:5px 9px}.sound-preview-button{background:var(--yellow);width:40px;color:var(--ink);cursor:pointer;border:0;font-weight:950}.sound-preview-button:hover,.sound-preview-button:focus-visible{background:var(--pink)}.voice-picker>span:first-child{width:22px;height:22px;color:var(--purple);background:#ece6ff;border-radius:50%;place-items:center;font-size:13px;font-weight:950;display:grid}.voice-picker select{max-width:94px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:9px;font-weight:850}.voice-picker i{background:var(--lime);border-radius:999px;padding:3px 4px;font-size:6px;font-style:normal;font-weight:950}.language-picker{position:relative}.language-picker:before{background:var(--purple);content:"";border-radius:50%;width:7px;height:7px;position:absolute;inset-block-start:50%;inset-inline-start:16px;transform:translateY(-50%)}.language-picker select{appearance:none;border:1.5px solid var(--line);background:var(--paper);border-radius:999px;min-width:184px;padding:11px 34px;font-size:13px;font-weight:800}.curriculum-progress{z-index:2;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:7px 0 0;padding:0;list-style:none;display:grid;position:relative}.curriculum-progress li{min-width:0;color:var(--muted);background:#f1f0e9;border:1px solid #d4d2c8;border-radius:10px}.curriculum-progress li button{border-radius:inherit;width:100%;min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:6px 7px;display:flex}.curriculum-progress li button:hover:not(:disabled){background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.curriculum-progress li button:hover:not(:disabled){background:color-mix(in srgb, var(--yellow) 45%, transparent)}}.curriculum-progress li button:hover:not(:disabled){transform:translateY(-1px)}.curriculum-progress li button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.curriculum-progress li button:disabled{cursor:wait;opacity:.56}.curriculum-progress li span{border:1px solid;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:9px;font-weight:950;display:grid}.curriculum-progress li b{-webkit-line-clamp:2;overflow-wrap:normal;-webkit-box-orient:vertical;font-size:8px;line-height:1.25;display:-webkit-box;overflow:hidden}.curriculum-progress li.current{border:2px solid var(--edge);background:var(--yellow);color:var(--ink);box-shadow:2px 2px 0 var(--shadow-ink)}.curriculum-progress li.done{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.curriculum-progress li.done{background:color-mix(in srgb, var(--lime) 46%, var(--paper))}}.curriculum-progress li.done{color:#315e19}.curriculum-progress li.selectable{color:#5e5b67;background:#fff;border-style:dashed}.theme-picker{z-index:3;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-block-start:6px;display:flex;position:relative}.theme-picker-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:950}.theme-picker-row{flex-wrap:wrap;gap:6px;display:flex}.theme-chip{background:var(--paper);border:2px solid var(--edge);cursor:pointer;box-shadow:2px 2px 0 var(--shadow-ink);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.theme-chip:hover{box-shadow:3px 3px 0 var(--shadow-ink);transform:translate(-1px,-1px)}.theme-chip.active{background:var(--ink);color:var(--paper);box-shadow:2px 2px 0 var(--shadow-ink)}.theme-chip .theme-chip-icon{font-size:14px;line-height:1}.theme-chip b{white-space:nowrap;font-size:12px;font-weight:800}.practice-focus-mode .theme-picker{gap:4px 8px;margin-block:0 4px}.practice-focus-mode .theme-chip{padding:3px 9px}.practice-focus-mode .theme-chip b{font-size:11px}.practice-track-picker{z-index:3;align-items:center;gap:6px;margin-block-start:11px;display:flex;position:relative}.practice-track-picker>span{color:var(--muted);margin-inline-end:2px;font-size:9px;font-weight:950}.practice-track-picker button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900}.practice-track-picker button.active{border-color:var(--edge);background:var(--purple);color:#fff;box-shadow:2px 2px 0 var(--shadow-ink)}.practice-track-picker button:disabled{cursor:wait;opacity:.52}.practice-card{container:practicecard/inline-size}.practice-workspace{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:stretch;gap:12px;margin-block-start:12px;display:grid;position:relative}@container practicecard (width<=470px){.practice-workspace{grid-template-columns:minmax(0,1fr)}}.practice-input-column,.practice-guidance-column{min-width:0}.practice-input-column{flex-direction:column;display:flex}.practice-guidance-column{border:2px solid var(--edge);box-shadow:3px 3px 0 var(--shadow-ink);background:#f6f3ff;border-radius:17px;flex-direction:column;padding:9px;display:flex}.retry-practice{border:1.5px solid var(--edge);background:var(--paper);font:inherit;cursor:pointer;border-radius:999px;grid-column:1/-1;justify-self:start;padding:7px 11px;font-size:10px;font-weight:900}.hero{min-height:calc(100svh - var(--chrome-h));grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);align-content:start;align-items:center;gap:clamp(18px,2.2vw,36px);padding-block:14px 22px;display:grid;overflow:visible}.hero-copy{z-index:2;min-width:0;max-width:100%;position:relative;overflow:hidden}.eyebrow,.section-label,.card-kicker,.activity-kicker,.demo-label{letter-spacing:.12em;text-transform:uppercase;font-size:12px!important;font-weight:900!important}.eyebrow{border:2px solid var(--edge);background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:999px;align-items:center;gap:10px;max-width:100%;margin:0 0 24px;padding:8px 16px;line-height:1.2;display:inline-flex;white-space:nowrap!important}.eyebrow span{background:var(--pink);width:9px;height:9px;box-shadow:16px 0 0 var(--purple);border-radius:50%;margin-inline-end:16px}.hero h1{letter-spacing:-.075em;max-width:780px;margin:0;padding-bottom:4px;font-size:clamp(58px,6.2vw,96px);font-weight:950;line-height:1.08}.hero h1 span{word-break:keep-all;display:inline-block}.hero-description{color:#4f504b;max-width:620px;margin:28px 0 0;font-size:clamp(17px,1.4vw,21px);font-weight:550;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-block-start:32px;display:flex}.button{border:2px solid var(--edge);border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:12px 22px;font-size:14px;font-weight:900;transition:transform .16s,box-shadow .16s;display:inline-flex}.button:hover{transform:translate(-2px,-2px)}.button-primary{background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--pink)}.button-primary:hover{box-shadow:7px 7px 0 var(--pink)}.button-secondary{background:var(--paper)}.trust-row{color:var(--muted);flex-wrap:wrap;gap:12px 24px;margin-block-start:34px;font-size:12px;font-weight:700;display:flex}.trust-row span{align-items:center;gap:6px;display:inline-flex}.trust-row b{color:var(--ink);font-size:17px}.practice-stage{min-width:0;padding:0 12px 20px;scroll-margin-block-start:96px;position:relative}.stage-orbit{z-index:0;border:2px solid var(--edge);pointer-events:none;border-radius:50%;animation:4.4s ease-in-out infinite orbit-float;position:absolute}.orbit-one{border-color:var(--purple);width:105px;height:38px;inset-block-end:-14px;inset-inline-end:26px;transform:rotate(17deg)}.orbit-two{border-color:var(--pink);width:70px;height:25px;inset-block-end:-3px;inset-inline-start:-10px;transform:rotate(-28deg)}.practice-card{border:3px solid var(--edge);--card-corner-tr:18px;border-radius:38px var(--card-corner-tr) 38px 18px;background:var(--paper);box-shadow:8px 4px 0 var(--shadow-ink);padding:18px;position:relative;overflow:visible}.practice-card:before{z-index:0;pointer-events:none;border-inline-start:3px solid var(--edge);border-block-end:3px solid var(--edge);background:var(--cyan);content:"";border-start-end-radius:calc(var(--card-corner-tr) - 3px);border-end-start-radius:90px;width:120px;height:90px;position:absolute;inset-block-start:0;inset-inline-end:0}.practice-card-header{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex;position:relative}.practice-card-heading{flex:340px;min-width:0}.practice-card-header-right{flex:0 auto;min-width:0;max-width:100%;margin-inline-start:auto}.card-kicker{margin:0 0 5px}.practice-card h2{letter-spacing:-.045em;max-width:620px;margin:0;font-size:clamp(20px,1.8vw,27px);line-height:1.05}.streak{z-index:2;box-sizing:border-box;border:2px solid var(--edge);background:var(--lime);word-break:keep-all;overflow-wrap:anywhere;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;max-width:100%;padding:8px 13px;font-size:11px;font-weight:900;line-height:1.4;display:inline-flex;position:relative}.streak-metric{white-space:nowrap}.typing-panel{border:2px solid var(--line);background:#fbfaf5;border-radius:22px;margin:0;padding:14px;position:relative}.typing-meta{color:var(--muted);justify-content:space-between;gap:16px;font-size:11px;font-weight:800;display:flex}.target-sentence{letter-spacing:-.05em;white-space:pre-wrap;word-break:keep-all;overflow-wrap:normal;text-wrap:balance;margin:12px 0 10px;font-size:clamp(23px,2vw,31px);font-weight:900;line-height:1.4;animation:.32s ease-out both lesson-slide-in}.target-preview-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.target-preview-row .target-sentence{min-width:0}.word-pronunciation-button{border:2px solid var(--edge);background:var(--cyan);min-height:38px;color:var(--ink);box-shadow:0 3px 0 var(--shadow-ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:11px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:900;transition:transform .14s,box-shadow .14s;display:inline-flex}.word-pronunciation-button:hover,.word-pronunciation-button:focus-visible{box-shadow:0 5px 0 var(--shadow-ink);transform:translateY(-2px)}.word-pronunciation-button:disabled{opacity:.5;cursor:wait;transform:none}.word-pronunciation-button>span{background:var(--paper);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.word-pronunciation-button kbd{border:1px solid var(--edge);background:var(--paper);box-shadow:0 1px 0 var(--shadow-ink);border-radius:5px;padding:2px 5px;font-family:inherit;font-size:8px}.target-sentence span{transition:color .12s,background .12s}.target-sentence .sentence-chunk{white-space:nowrap}.target-sentence .pending{color:#b8b7af}.target-sentence .correct{color:var(--purple)}.target-sentence .incorrect{color:#d6295f;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.target-sentence .current{border-block-end:5px solid var(--yellow);color:var(--ink)}.target-sentence.mid-sentence .pending{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.target-sentence.mid-sentence .pending{color:color-mix(in srgb, var(--ink) 52%, var(--paper))}}.target-sentence.mid-sentence .current{animation:1.1s ease-in-out infinite keep-typing}@keyframes keep-typing{0%,to{border-block-end-color:var(--yellow)}50%{border-block-end-color:color-mix(in srgb, var(--yellow) 35%, var(--paper))}}.typing-feedback.keep-going{color:var(--info);font-weight:800;animation:.32s cubic-bezier(.2,.9,.3,1) both keep-going-in}@keyframes keep-going-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.target-sentence.mid-sentence .current,.typing-feedback.keep-going{animation:none}}.typing-input{border:2px solid var(--edge);background:var(--paper);border-radius:12px;width:100%;min-height:43px;padding:8px 12px;font-size:18px;font-weight:700}.typing-feedback,.form-message{min-height:17px;color:var(--muted);margin:7px 0 0;font-size:12px;font-weight:700}.typing-feedback.complete,.form-message.success{color:#0f7656}.lesson-evaluation{border:2px solid var(--edge);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-block-start:12px;padding:14px 16px;display:grid}.lesson-evaluation.accepted{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.lesson-evaluation.accepted{background:color-mix(in srgb, var(--lime) 42%, var(--paper))}}.lesson-evaluation.rejected{background:#fff0f5;border-color:#a31545;box-shadow:3px 3px #a31545}.lesson-evaluation small,.lesson-evaluation b{display:block}.lesson-evaluation small{letter-spacing:.08em;margin-block-end:3px;font-size:9px;font-weight:950}.lesson-evaluation b{font-size:18px}.lesson-evaluation p{color:var(--muted);margin:4px 0 0;font-size:11px;font-weight:750}.lesson-evaluation dl{gap:8px;margin:0;display:flex}.lesson-evaluation dl div{border:1px solid var(--edge);min-width:72px;padding:7px 9px}@supports (color:color-mix(in lab, red, red)){.lesson-evaluation dl div{border:1px solid color-mix(in srgb, var(--edge) 38%, transparent)}}.lesson-evaluation dl div{text-align:center;background:#ffffffad;border-radius:9px}.lesson-evaluation dt{color:var(--muted);font-size:9px;font-weight:800}.lesson-evaluation dd{margin:2px 0 0;font-size:16px;font-weight:950}.inline-sound-control{background:var(--paper);color:var(--muted);font:inherit;cursor:pointer;border:1.5px solid #bbb9ae;border-radius:999px;align-items:center;gap:7px;margin-block-start:12px;padding:7px 10px;font-size:10px;font-weight:900;display:inline-flex}.inline-sound-control span{width:20px;height:20px;color:var(--ink);background:#d7d5ca;border-radius:50%;place-items:center;display:grid}.inline-sound-control.on{border-color:var(--edge);color:var(--ink)}.inline-sound-control.on span{background:var(--yellow)}.keyboard-tools{border-block-start:1.5px dashed #cfcdc2;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin-block-start:9px;padding-block-start:9px;display:grid}.keyboard-tools p{color:var(--muted);margin:0;font-size:8px;font-weight:750;line-height:1.45}.keyboard-layout-picker{white-space:nowrap;align-items:center;gap:8px;font-size:10px;font-weight:900;display:flex}.keyboard-layout-picker select{border:1.5px solid var(--edge);background:var(--paper);min-height:30px;color:var(--ink);font:inherit;border-radius:9px;padding:4px 26px 4px 8px}.next-key-card{border:2px solid var(--edge);background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:14px;align-items:center;gap:9px;margin-block-start:9px;padding:8px 10px;display:flex}.next-key-card.complete{background:var(--lime)}.next-key-jamo{border:2px solid var(--edge);background:var(--paper);border-radius:11px;flex:none;place-items:center;width:41px;height:41px;font-size:24px;font-weight:950;display:grid}.next-key-copy{gap:3px;display:grid}.next-key-copy small{letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:850}.next-key-copy b{align-items:center;gap:7px;font-size:14px;display:flex}.next-key-copy kbd{border:2px solid var(--edge);background:var(--paper);min-width:36px;height:29px;box-shadow:0 3px 0 var(--shadow-ink);border-radius:8px;place-items:center;padding-inline:8px;font-family:inherit;font-size:13px;display:inline-grid}.key-guide{direction:ltr;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-block-start:8px;display:grid}.key-guide kbd{background:var(--paper);border:1.5px solid #cccac0;border-radius:8px;place-items:center;min-width:0;min-height:35px;padding:3px 5px;font-family:inherit;font-size:14px;font-weight:900;display:grid;box-shadow:0 3px #cccac0}.key-guide kbd small{color:var(--muted);line-height:1;font-size:11px!important;font-weight:800!important}.key-guide kbd.active{border-color:var(--edge);background:var(--yellow);box-shadow:0 3px 0 var(--shadow-ink);transform:translateY(-2px)}.key-guide kbd.active small{color:var(--ink)}.keyboard-map{isolation:isolate;direction:ltr;background:#efeee7;border:1.5px solid #cfcdc2;border-radius:14px;flex:1;min-height:274px;margin-block-start:7px;padding:8px 7px 0;position:relative;overflow:visible}.keyboard-map-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-block-end:5px;font-size:9px;font-weight:800;display:flex}.keyboard-map-legend b{color:var(--ink);margin-inline-end:auto;font-size:10px}.keyboard-map-legend span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.keyboard-map-legend i{border-radius:2px;width:8px;height:8px}.legend-hangul{background:var(--purple)}.legend-local{background:var(--cyan)}.keyboard-row{z-index:1;justify-content:center;gap:3px;margin-block-start:3px;display:flex;position:relative}.keyboard-row.home{padding-inline:4%}.keyboard-row.bottom{padding-inline:10%}.keyboard-row kbd{aspect-ratio:1/1.08;background:var(--paper);border:1.5px solid #b8b6aa;border-radius:7px;flex:none;place-items:center;width:clamp(22px,7.5%,38px);font-family:inherit;line-height:1;transition:transform .12s,background .12s;display:grid;position:relative;overflow:visible;box-shadow:0 2px #b8b6aa}.keyboard-row kbd span{color:var(--purple);font-size:clamp(12px,2.2vw,17px);font-weight:950}.keyboard-row kbd small{color:#147d8d;font-size:clamp(7px,1.4vw,9px);font-weight:950}.keyboard-row kbd.key-space{aspect-ratio:auto!important;width:clamp(62px,16.5vw,98px)!important;padding:4px 6px!important;overflow:hidden!important}.keyboard-row kbd.key-space small{letter-spacing:-.02em!important;white-space:nowrap!important;text-overflow:ellipsis!important;max-width:100%!important;font-size:clamp(9px,1.2vw,11px)!important;overflow:hidden!important}.key-guide kbd.key-space{aspect-ratio:auto!important;width:100%!important;padding:2px!important;overflow:hidden!important}.key-guide kbd.key-space small{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:11px!important;font-weight:800!important;overflow:hidden!important}.keyboard-row kbd.active{border-color:var(--edge);background:var(--yellow);box-shadow:0 3px 0 var(--shadow-ink);transform:translateY(-3px)scale(1.07)}.keyboard-row kbd.muted-key{opacity:.26;filter:grayscale()}.finger-callout{border:2px solid var(--edge);background:var(--yellow);min-height:52px;box-shadow:3px 3px 0 var(--shadow-ink);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.finger-callout>span{background:var(--pink);border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;animation:.9s ease-in-out infinite finger-nudge;display:grid}.finger-callout div{gap:2px;line-height:1.15;display:grid}.finger-callout small{color:var(--ink);letter-spacing:.04em;opacity:.85;font-size:12px!important;font-weight:800!important}.finger-callout b{color:var(--ink);font-size:18px!important;font-weight:900!important}.finger-callout kbd{border:2px solid var(--edge);background:var(--paper);min-width:38px;height:33px;box-shadow:0 3px 0 var(--shadow-ink);border-radius:8px;place-items:center;padding-inline:6px;font-family:inherit;font-size:14px;font-weight:950;display:grid}.hand-overlay{z-index:4;pointer-events:none;direction:ltr;position:absolute;inset:34px 1% 0}.hand-overlay img{object-fit:contain;filter:drop-shadow(0 4px 5px #1515151f);width:100%;height:100%}.hand-rest-image{opacity:.36;transition:opacity .18s,filter .18s}.hand-press-layer{--press-y:1%;--press-scale:.96;--press-rotate:0deg;z-index:6;transform-origin:var(--origin-x,50%) var(--origin-y,46%);filter:drop-shadow(0 8px 5px #6d4aff3d);will-change:transform;position:absolute;inset:0;overflow:hidden}.hand-press-layer img{opacity:.98;filter:saturate(1.32)contrast(1.04)drop-shadow(0 0 7px #ff4d8d94)}.hand-press-layer:after{content:"";mix-blend-mode:multiply;background:linear-gradient(#ff4d8d94,#ffd84d7a);position:absolute;inset:0;-webkit-mask:url(/images/typing-hands-v2.png) 50%/contain no-repeat;mask:url(/images/typing-hands-v2.png) 50%/contain no-repeat}.hand-overlay.is-demonstrating .hand-press-layer{animation:1.35s cubic-bezier(.22,.75,.25,1) infinite real-finger-demonstrate}.hand-overlay.is-pressing .hand-press-layer{animation:.17s ease-out both real-finger-press}.hand-overlay.target-top .hand-press-layer{--press-y:-2%;--press-scale:1.04}.hand-overlay.target-home .hand-press-layer{--press-y:1%;--press-scale:.96}.hand-overlay.target-bottom .hand-press-layer{--press-y:4%;--press-scale:.9}.hand-overlay.target-space .hand-press-layer{--press-y:2%;--press-scale:.93}.hand-press-layer.left-pinky{--origin-x:20%;--press-rotate:2deg;clip-path:polygon(16.5% 20%,20.5% 19%,22.4% 27%,21.8% 38%,23.1% 45%,20.5% 49%,17.2% 43%,16.2% 29%)}.hand-press-layer.left-ring{--origin-x:24%;--press-rotate:1deg;clip-path:polygon(21.2% 11%,24% 10%,26.2% 13%,26.6% 35%,28% 44%,24.5% 49%,21.4% 42%,21% 22%)}.hand-press-layer.left-middle{--origin-x:29%;clip-path:polygon(26.7% 7%,29% 6%,30.7% 9%,30.7% 35%,32% 44%,29% 50%,26.2% 43%,26% 18%)}.hand-press-layer.left-index{--origin-x:34%;--press-rotate:-2deg;clip-path:polygon(31.4% 12%,34% 11%,35.7% 15%,35.2% 36%,36.2% 45%,33.3% 50%,30.8% 43%,31% 23%)}.hand-press-layer.left-thumb{--origin-x:39%;--origin-y:53%;--press-rotate:-5deg;clip-path:polygon(35% 37%,39% 34%,42% 39%,42% 51%,39% 58%,35% 53%,34% 44%)}.hand-press-layer.right-thumb{--origin-x:61%;--origin-y:53%;--press-rotate:5deg;clip-path:polygon(58% 39%,61% 34%,65% 37%,66% 44%,65% 53%,61% 58%,58% 51%)}.hand-press-layer.right-index{--origin-x:66%;--press-rotate:2deg;clip-path:polygon(64.3% 15%,66% 11%,68.6% 12%,69% 23%,69.2% 43%,66.7% 50%,63.8% 45%,64.8% 36%)}.hand-press-layer.right-middle{--origin-x:71%;clip-path:polygon(69.3% 9%,71% 6%,73.3% 7%,74% 18%,73.8% 43%,71% 50%,68% 44%,69.3% 35%)}.hand-press-layer.right-ring{--origin-x:76%;--press-rotate:-1deg;clip-path:polygon(73.8% 13%,76% 10%,78.8% 11%,79% 22%,78.6% 42%,75.5% 49%,72% 44%,73.4% 35%)}.hand-press-layer.right-pinky{--origin-x:80%;--press-rotate:-2deg;clip-path:polygon(77.6% 27%,79.5% 19%,83.5% 20%,83.8% 29%,82.8% 43%,79.5% 49%,76.9% 45%,78.2% 38%)}@keyframes real-finger-demonstrate{0%,28%,to{transform:translateY(0)scaleY(1)rotate(0)}58%,78%{transform:translateY(var(--press-y)) scaleY(var(--press-scale)) rotate(var(--press-rotate))}}@keyframes real-finger-press{0%{transform:translateY(0)scaleY(1)}to{transform:translateY(var(--press-y)) scaleY(var(--press-scale)) rotate(var(--press-rotate))}}@keyframes finger-nudge{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-3px)rotate(7deg)}}.practice-pause-banner{z-index:12;border:1.5px solid var(--edge);min-width:min(300px,100% - 24px);box-shadow:2px 2px 0 var(--shadow-ink);pointer-events:none;background:#e9e4fff5;border-radius:11px;align-items:center;gap:10px;margin:0;padding:9px 11px;animation:.18s ease-out both pause-badge-in;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.practice-pause-banner>span{background:var(--purple);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:950;display:grid}.practice-pause-banner div{gap:2px;display:grid}.practice-pause-banner b{font-size:11px}.practice-pause-banner small{color:var(--muted);font-size:8px;font-weight:750}@keyframes pause-badge-in{0%{opacity:0;transform:translate(-50%,-44%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.practice-card.is-paused .hand-press-layer,.practice-card.is-paused .keyboard-row kbd.active,.practice-card.is-paused .stage-orbit{animation-play-state:paused}.daily-meter{background:var(--ink);color:var(--paper);border-radius:18px;grid-template-columns:172px minmax(0,1fr);align-items:center;gap:15px;margin-block-start:11px;padding:9px 13px;display:grid}.daily-time{grid-template-columns:98px 65px;align-items:center;gap:9px;width:172px;display:grid}.daily-time>div{justify-content:flex-start;align-items:baseline;gap:3px;width:98px;display:flex}.daily-time b{font-variant-numeric:tabular-nums;letter-spacing:-.04em;width:5.2ch;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:25px;display:inline-block}.timer-pause-button{color:#fff;min-width:65px;height:32px;font:inherit;cursor:pointer;background:#30302d;border:1px solid #6d6d68;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding-inline:9px;font-size:8px;font-weight:900;display:inline-flex}.timer-pause-button span{color:var(--yellow);font-size:11px}.timer-pause-button:hover:not(:disabled){border-color:var(--yellow);transform:translateY(-1px)}.timer-pause-button.paused{background:var(--yellow);color:var(--ink)}.timer-pause-button.paused span{color:var(--purple)}.timer-pause-button:disabled{cursor:not-allowed;opacity:.38}@keyframes lesson-slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes orbit-float{0%,to{translate:0}50%{translate:0 -7px}}.daily-time span,.meter-copy small{color:#a8a8a4;font-size:8px;font-weight:800}.meter-copy>div:first-child,.unlock-meter>div:first-child{justify-content:space-between;gap:10px;margin-block-end:3px;font-size:11px;font-weight:800;display:flex}.meter-track{background:#444440;border-radius:999px;width:100%;height:9px;overflow:hidden}.meter-track span{border-radius:inherit;background:linear-gradient(90deg, var(--lime), var(--yellow));height:100%;transition:width .26s;display:block}.activity-section{border-block-start:1px solid #15151521;padding-block:58px 72px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-block-end:24px;display:flex}.section-label{color:var(--purple);margin:0 0 8px}.section-heading h2,.learning-path h2,.free-note h2{letter-spacing:-.055em;margin:0;font-size:clamp(34px,4vw,58px);line-height:1}.section-heading>p{color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:650}.activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.activity-card{border:2px solid var(--edge);background:var(--paper);text-align:start;border-radius:20px;flex-direction:column;align-items:stretch;min-height:236px;padding:20px;transition:transform .16s,box-shadow .16s;display:flex;position:relative}.activity-card.selected{box-shadow:6px 6px 0 var(--shadow-ink);transform:translate(-3px,-3px)}.activity-card:hover:not(.selected){box-shadow:6px 6px 0 var(--shadow-ink)}.activity-card.lime .activity-number{background:var(--lime)}.activity-card.purple .activity-number{background:var(--purple);color:#fff}.activity-card.pink .activity-number{background:var(--pink)}.activity-card.cyan .activity-number{background:var(--cyan)}.activity-card.orange .activity-number{background:#ff9a62}.activity-card.stripe{background:repeating-linear-gradient(130deg,#ffe7f0 0 18px,#fff5b9 18px 36px)}.activity-card.sunset{background:linear-gradient(145deg,#fff3c7,#ffd4df 54%,#dcd2ff)}.activity-number{border:2px solid var(--edge);width:44px;height:44px;box-shadow:3px 3px 0 var(--shadow-ink);border-radius:12px;place-items:center;font-size:12px;font-weight:950;display:inline-grid}.activity-kicker{color:var(--muted);margin-block:23px 8px;font-size:9px}.activity-card strong{letter-spacing:-.035em;font-size:19px;line-height:1.05;display:block}.activity-card strong span{margin-block-start:5px;font-size:16px;display:block}.activity-description{color:var(--muted);margin-block:12px 18px;font-size:12px;font-weight:600;line-height:1.45}.activity-time{border-block-start:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-block-start:auto;padding-block-start:13px;font-size:11px;font-weight:900;display:flex}.activity-time b{font-size:17px}.game-demo{border:3px solid var(--edge);background:var(--paper);min-height:330px;box-shadow:var(--shadow);border-radius:28px;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);align-items:center;gap:clamp(28px,5vw,76px);margin-block-start:22px;padding:clamp(28px,4vw,54px);scroll-margin-block-start:18px;display:grid}.game-stage-bar{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px 12px;margin-block-end:6px;display:flex}.game-bar-theme{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.signed-out-shell{background:var(--paper);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.signed-out-card{text-align:center;background:var(--paper);border:3px solid var(--edge);width:min(520px,100%);box-shadow:8px 8px 0 var(--shadow-ink);border-radius:24px;padding:clamp(28px,5vw,44px)}.signed-out-card .brand-mark{background:var(--lime,#cdff50);border:2.5px solid var(--edge);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;font-size:28px;font-weight:900;display:inline-flex}.signed-out-card h1{margin:6px 0 14px;font-size:clamp(1.3rem,3vw,1.7rem)}.signed-out-card p{margin:0 0 12px;line-height:1.55}.signed-out-card .signed-out-sub{opacity:.62;font-size:.85rem}.signed-out-card .button{margin-top:10px}.google-signin{flex-direction:column;align-items:center;gap:10px;margin:22px 0 18px;display:flex}.google-signin-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;margin:0!important}.google-signin-button{justify-content:center;min-height:44px;display:flex}.google-signin-status{opacity:.75;font-size:12px;margin:0!important}.google-signin-status.error{color:#c8102e;opacity:1}.owner-tools{justify-content:flex-end;align-items:center;gap:10px;margin-block:14px 0;display:flex}.owner-tools-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:950}.analytics-segment{border:2px solid var(--edge);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.analytics-seg{white-space:nowrap;align-items:center;gap:6px;padding:7px 15px;font-size:12px;font-weight:850;line-height:1;text-decoration:none;transition:filter .12s;display:inline-flex}.analytics-seg+.analytics-seg{border-inline-start:2px solid var(--edge)}.analytics-seg:hover{filter:brightness(.94)}.analytics-seg span{font-size:13px;line-height:1}.analytics-cloudflare{color:#5c3200;background:#ffc98a}.analytics-clarity{color:#10305c;background:#a9d4ff}.admin-header nav,.profile-header nav{align-items:center}.signout-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.game-exit-button{font:inherit;letter-spacing:.01em;color:var(--ink);background:var(--paper);border:2.5px solid var(--edge);cursor:pointer;box-shadow:3px 3px 0 var(--shadow-ink);border-radius:999px;align-items:center;gap:8px;padding:9px 20px;font-weight:800;transition:transform .12s,box-shadow .12s,background .12s,color .12s;display:inline-flex}.game-exit-button:hover{box-shadow:5px 5px 0 var(--shadow-ink);background:var(--ink);color:var(--paper);transform:translate(-1px,-1px)}.game-exit-button:active{box-shadow:1px 1px 0 var(--shadow-ink);transform:translate(2px,2px)}.game-exit-button span{font-size:1.15em;line-height:1}#game-stage{position:relative}.exit-confirm-overlay{z-index:40;background:#0c0a1899;background:var(--ink);border-radius:28px;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.exit-confirm-overlay{background:color-mix(in srgb, var(--ink) 62%, transparent)}}.exit-confirm-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.exit-confirm-card{text-align:center;background:var(--paper);border:3px solid var(--edge);width:min(440px,100%);box-shadow:8px 8px 0 var(--shadow-ink);border-radius:22px;padding:clamp(24px,4vw,40px)}.exit-confirm-card h3{margin:6px 0 10px;font-size:clamp(1.3rem,3vw,1.7rem)}.exit-confirm-card>p:not(.demo-label){opacity:.8;margin:0}.exit-confirm-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-block-start:22px;display:flex}.exit-confirm-actions .button kbd{margin-inline-start:6px}.demo-copy{max-width:630px}.game-demo>.demo-copy:only-child{grid-column:1/-1}.demo-label{color:var(--purple);margin:0 0 12px}.game-demo h3{letter-spacing:-.055em;margin:0;font-size:clamp(28px,3.2vw,48px);line-height:1}.game-demo p:not(.demo-label,.form-message){max-width:650px;color:var(--muted);font-size:15px;font-weight:600;line-height:1.65}.game-demo .button{margin-block-start:12px}.game-demo .button:disabled{cursor:not-allowed;opacity:.42;transform:none}.word-rain-game{grid-column:1/-1;grid-template-columns:minmax(360px,1.3fr) minmax(300px,.7fr);align-items:stretch;gap:clamp(22px,4vw,54px);width:100%;display:grid}.word-rain-board{border:3px solid var(--edge);background:radial-gradient(circle at 20% 20%,#fffffff2 0 3px,#0000 4px),linear-gradient(#8bf1ed 0%,#dffbf8 64%,#fff4c4 82%);border-radius:22px;min-height:430px;position:relative;overflow:hidden}.sky-cloud{background:#ffffffb8;border-radius:999px;width:80px;height:24px;position:absolute}.cloud-one{top:7%;left:8%}.cloud-two{top:17%;right:8%;transform:scale(.7)}.rain-word{z-index:3;border:2px solid var(--edge);background:var(--yellow);min-width:74px;box-shadow:3px 3px 0 var(--shadow-ink);text-align:center;border-radius:999px;padding:8px 12px;font-size:20px;font-weight:950;transition:top 80ms linear;display:grid;position:absolute;transform:translate(-50%)}.rain-word.targeted{border-color:var(--purple);background:var(--lime);box-shadow:0 0 0 6px #c7ff4240, 4px 4px 0 var(--purple);transform:translate(-50%)scale(1.08)}.rain-word small{color:#5b5331;margin-block-start:1px;font-size:7px;font-weight:850}.sea-water{z-index:4;border-block-start:3px solid var(--edge);color:#fff;text-align:center;background:linear-gradient(#5cd5e9,#286bce);height:17%;position:absolute;inset:auto 0 0}.sea-water i{background:#5cd5e9;border-radius:50%;width:38%;height:16px;position:absolute;top:-8px}.sea-water i:first-child{left:-5%}.sea-water i:nth-child(2){left:31%}.sea-water i:nth-child(3){right:-5%}.sea-water b{letter-spacing:.18em;font-size:10px;position:relative;top:26px}.sea-water.splash{animation:.48s water-splash}.capture-burst{z-index:8;color:var(--pink);text-shadow:2px 2px 0 var(--shadow-ink);pointer-events:none;place-items:center;font-size:52px;font-weight:950;animation:.7s cubic-bezier(.18,.84,.34,1) both capture-pop;display:grid;position:absolute;transform:translate(-50%,-50%)}.capture-burst b{color:var(--ink);text-shadow:none;font-size:15px;position:absolute}.word-rain-console{flex-direction:column;justify-content:center;display:flex}.game-scorebar{grid-template-columns:repeat(3,1fr);gap:7px;margin-block-end:22px;display:grid}.game-scorebar span{border:1.5px solid var(--edge);text-align:center;background:#f1efff;border-radius:10px;gap:2px;padding:9px;font-size:8px;font-weight:900;display:grid}.game-scorebar b{color:var(--purple);font-size:18px}.word-rain-console label{margin-block:18px 8px;font-size:11px;font-weight:900;display:block}.word-rain-console input.input-error{background:#fff0f5;border-color:#b31548;animation:.34s input-shake}.game-reset{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:7px 10px;font-size:9px;font-weight:850}@keyframes water-splash{0%,to{transform:translateY(0)}35%{transform:translateY(-14px)scaleY(1.18)}}@keyframes capture-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-25deg)}28%{opacity:1;transform:translate(-50%,-50%)scale(1.35)rotate(10deg)}to{opacity:0;transform:translate(-50%,-115%)scale(.82)rotate(0)}}@keyframes input-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}.demo-form label{margin-block:22px 8px;font-size:12px;font-weight:900;display:block}.inline-form{gap:10px;display:flex}.inline-form input{border:2px solid var(--edge);background:var(--ivory);border-radius:12px;flex:1;min-width:0;padding:12px 14px;font-size:20px;font-weight:800}.inline-form .button{margin:0}.missing-demo{text-align:center;grid-column:1/-1}.progressive-puzzle{justify-self:center;width:min(720px,100%)}.puzzle-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.puzzle-head>b{color:var(--purple);font-size:13px}.puzzle-progress{background:#dedcd2;border-radius:99px;width:min(420px,100%);height:8px;margin:18px auto 0;overflow:hidden}.puzzle-progress span{border-radius:inherit;background:var(--lime);height:100%;transition:width .24s;display:block}.missing-word{justify-content:center;gap:12px;margin-block:24px;font-size:70px;font-weight:950;display:flex}.missing-word span{border:3px dashed var(--purple);background:#f0edff;border-radius:16px;place-items:center;width:90px;height:90px;display:inline-grid}.answer-options{justify-content:center;gap:12px;display:flex}.answer-options button{border:2px solid var(--edge);background:var(--paper);border-radius:12px;width:58px;height:58px;font-size:22px;font-weight:900}.answer-options button:hover,.answer-options button.chosen{background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);transform:translate(-2px,-2px)}.answer-options button.correct{background:var(--lime)}.crossword-game-wrap{grid-column:1/-1;grid-template-columns:minmax(330px,.86fr) minmax(420px,1.14fr);align-items:start;gap:clamp(30px,5vw,72px);width:100%;display:grid}.crossword-board-column{justify-self:center;gap:10px;width:100%;max-width:470px;display:grid}.crossword-board-heading{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-inline:4px;font-size:12px;font-weight:950;display:flex}.crossword-board-heading b{border:2px solid var(--edge);background:var(--lime);letter-spacing:0;border-radius:999px;padding:5px 9px}.crossword-copy .puzzle-progress{margin-inline:0}.crossword-grid{aspect-ratio:1;border:4px solid var(--edge);background:var(--ink);width:min(430px,100%);box-shadow:7px 7px 0 var(--purple);border-radius:18px;gap:3px;padding:8px;display:grid}@supports (color:color-mix(in lab, red, red)){.crossword-grid{box-shadow:7px 7px 0 color-mix(in srgb, var(--purple) 34%, transparent)}}.crossword-grid{transition:box-shadow .25s,transform .25s}.crossword-block{background:radial-gradient(circle at 30% 30%,#ffffff0e 0 2px,#0000 3px),#262623;border-radius:3px;min-width:0}.crossword-cell{background:var(--paper);min-width:0;color:var(--ink);cursor:pointer;border:0;border-radius:4px;place-items:center;transition:background .18s,box-shadow .18s,transform .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000}.crossword-cell small{z-index:2;color:var(--ink);position:absolute;inset-block-start:4px;inset-inline-start:5px}@supports (color:color-mix(in lab, red, red)){.crossword-cell small{color:color-mix(in srgb, var(--ink) 70%, transparent)}}.crossword-cell small{pointer-events:none;font-size:10px;font-weight:950;line-height:1}.crossword-cell input,.crossword-cell strong{width:100%;min-width:0;height:100%;color:var(--ink);text-align:center;caret-color:var(--purple);background:0 0;border:0;outline:0;place-items:center;font-family:inherit;font-size:clamp(22px,4vw,34px);font-weight:950;display:grid}.crossword-cell strong{pointer-events:none;line-height:1}.crossword-cell.active-word{background:#fff5ae}.crossword-cell.selected{z-index:3;background:var(--yellow);box-shadow:inset 0 0 0 4px var(--purple);transform:scale(.96)}.crossword-cell.wrong{background:#ffd9df;animation:.35s both crossword-wrong;box-shadow:inset 0 0 0 4px #d82f49}.crossword-cell.correct{background:var(--lime);animation:.44s cubic-bezier(.2,1.5,.4,1) both crossword-correct;box-shadow:inset 0 0 0 2px #668d00}.crossword-game-wrap.solved .crossword-grid{box-shadow:9px 9px 0 var(--lime);transform:rotate(-.35deg)translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.crossword-game-wrap.solved .crossword-grid{box-shadow:9px 9px 0 color-mix(in srgb, var(--lime) 70%, var(--shadow-ink))}}.crossword-direction-legend{color:var(--muted);justify-content:center;gap:18px;font-size:12px;font-weight:850;display:flex}.crossword-direction-legend span{align-items:center;gap:6px;display:inline-flex}.crossword-direction-legend i{border:2px solid var(--edge);background:var(--paper);width:24px;height:24px;color:var(--purple);border-radius:7px;place-items:center;font-size:16px;font-style:normal;font-weight:950;display:grid}.crossword-copy h3{margin-block:8px 6px}.crossword-status{border:2px solid var(--edge);min-height:46px;margin:0 0 14px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.crossword-status{border:2px solid color-mix(in srgb, var(--edge) 22%, transparent)}}.crossword-status{color:var(--muted);background:#ffffff94;border-radius:12px;font-size:13px;font-weight:750;line-height:1.45}.crossword-status.incomplete{color:#6c4b00;background:#fff5c8;border-color:#dc9c00}.crossword-status.wrong{color:#8f152a;background:#fff0f2;border-color:#d82f49}.crossword-status.solved,.crossword-status.correct{color:#365500;background:#efffc6;border-color:#668d00}.crossword-word-entry{border:2px solid var(--edge);background:var(--yellow);border-radius:16px;gap:8px;margin-block:13px 16px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.crossword-word-entry{background:color-mix(in srgb, var(--yellow) 34%, white)}}.crossword-word-entry{box-shadow:4px 4px 0 var(--purple)}@supports (color:color-mix(in lab, red, red)){.crossword-word-entry{box-shadow:4px 4px 0 color-mix(in srgb, var(--purple) 72%, transparent)}}.crossword-word-entry>label{color:var(--purple);letter-spacing:.08em;font-size:10px;font-weight:950}.crossword-word-entry>div:first-of-type{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.crossword-word-entry input{border:3px solid var(--edge);width:100%;min-width:0;height:48px;color:var(--ink);letter-spacing:.06em;background:#fff;border-radius:12px;outline:0;padding:8px 13px;font-family:inherit;font-size:clamp(20px,3vw,29px);font-weight:950}.crossword-word-entry input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7548e82b}.crossword-word-entry.wrong input{border-color:#d82f49;animation:.35s both crossword-wrong}.crossword-word-entry.correct input{background:#f0ffc9;border-color:#668d00}.crossword-word-entry>div>span{min-width:42px;color:var(--muted);text-align:center;font:950 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.crossword-live-cells{grid-auto-columns:minmax(10px,1fr);grid-auto-flow:column;gap:5px;display:grid}.crossword-live-cells i{background:var(--ink);border-radius:99px;height:5px}@supports (color:color-mix(in lab, red, red)){.crossword-live-cells i{background:color-mix(in srgb, var(--ink) 14%, transparent)}}.crossword-live-cells i{transition:background .16s,transform .16s}.crossword-live-cells i.filled{background:var(--purple);transform:translateY(-1px)}.crossword-clues{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.crossword-clues section{align-content:start;gap:7px;min-width:0;display:grid}.crossword-clues h4{color:var(--ink);letter-spacing:.02em;margin:0;font-size:12px;font-weight:950}.crossword-clues button{border:2px solid var(--edge);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:9px;display:grid}@supports (color:color-mix(in lab, red, red)){.crossword-clues button{border:2px solid color-mix(in srgb, var(--edge) 24%, transparent)}}.crossword-clues button{color:var(--ink);text-align:start;background:#ffffffad;border-radius:11px;transition:border-color .16s,background .16s,transform .16s}.crossword-clues button:hover{border-color:var(--purple);transform:translateY(-1px)}.crossword-clues button.active{border-color:var(--edge);box-shadow:3px 3px 0 var(--purple);background:#e9e1ff;transform:translate(-2px,-2px)}.crossword-clues button>b{background:var(--ink);width:24px;height:24px;color:var(--paper);border-radius:50%;place-items:center;font-size:11px;display:grid}.crossword-clues button>span{min-width:0;font-size:12px;font-weight:800;line-height:1.3}.crossword-clues button>small{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:900}.crossword-actions{flex-wrap:wrap;gap:9px;margin-block-start:16px;display:flex}.crossword-clear{border:2px solid var(--edge);background:var(--paper);color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:900}.crossword-clear:hover{background:var(--yellow);transform:translateY(-1px)}@keyframes crossword-wrong{0%,to{transform:translate(0)}30%{transform:translate(-4px)}65%{transform:translate(4px)}}@keyframes crossword-correct{0%{transform:scale(.82)}to{transform:scale(1)}}.kpop-demo{grid-column:1/-1;grid-template-columns:auto minmax(280px,1fr) minmax(280px,.8fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.kpop-passage blockquote{border-inline-start:5px solid var(--purple);background:#efebff;border-radius:0 14px 14px 0;margin:18px 0 10px;padding:17px;font-size:clamp(20px,2.5vw,32px);font-weight:900;line-height:1.45}.kpop-source{margin-block-start:4px!important;font-size:10px!important;font-weight:850!important}.kpop-live-card{border:2px solid var(--edge);background:var(--ivory);border-radius:18px;padding:20px}.kpop-live-card label{margin-block-end:7px;font-size:10px;font-weight:900;display:block}.kpop-live-card textarea{border:2px solid var(--edge);width:100%;min-height:110px;font:inherit;resize:vertical;background:#fff;border-radius:11px;padding:12px;font-size:15px;font-weight:750;line-height:1.55}.record-disc{border:3px solid var(--edge);background:repeating-radial-gradient(circle, var(--ink) 0 5px, #30302e 6px 10px);width:130px;height:130px;box-shadow:7px 7px 0 var(--pink);border-radius:50%;place-items:center;display:grid}.record-disc span{background:var(--lime);border-radius:50%;place-items:center;width:46px;height:46px;font-weight:950;display:grid}.unlock-meter{border:2px solid var(--edge);background:var(--ivory);border-radius:18px;padding:20px}.unlock-meter small{color:var(--muted);margin-block-start:10px;font-size:10px;font-weight:750;display:block}.screen-demo,.travel-demo{grid-column:1/-1;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);align-items:stretch;gap:clamp(24px,4vw,54px);display:grid}.scene-frame{border:3px solid var(--edge);min-height:310px;box-shadow:7px 7px 0 var(--pink);color:#fff;background:#17172b;border-radius:22px;flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:relative;overflow:hidden}.scene-genre,.travel-situation{background:var(--yellow);width:fit-content;color:var(--ink);text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:950}.scene-visual{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.scene-visual>b{z-index:1;color:#ffffff2e;letter-spacing:-.08em;font-size:clamp(46px,8vw,88px);position:relative}.spotlight{filter:blur(8px);opacity:.55;border-radius:50%;width:230px;height:230px;position:absolute}.spotlight-one{background:var(--purple);inset-block-start:-70px;inset-inline-start:-40px}.spotlight-two{background:var(--pink);inset-block-start:20px;inset-inline-end:-80px}.scene-frame>:not(.scene-visual){z-index:2;position:relative}.scene-frame blockquote,.travel-scene blockquote{letter-spacing:-.045em;margin:18px 0 8px;font-size:clamp(24px,3vw,38px);font-weight:900;line-height:1.25}.scene-frame>p{color:#ffffffb8!important;margin:0!important;font-size:12px!important}.scene-attribution{border-top:1px solid #ffffff29;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:10px;margin-top:10px!important;font-size:12px!important;display:flex!important}.scene-attribution .scene-work{font-weight:700;color:#ffffffeb!important}.scene-attribution .scene-speaker{color:#ffffffa8!important}.scene-form,.travel-form{flex-direction:column;justify-content:center;display:flex}.scene-form label,.travel-form label{margin-block:12px 7px;font-size:11px;font-weight:900}.scene-form textarea,.travel-form input{border:2px solid var(--edge);background:var(--ivory);border-radius:12px;width:100%;padding:13px 14px;font-family:inherit;font-size:17px;font-weight:700}.scene-form textarea{resize:vertical;min-height:90px}.scene-result{color:var(--muted);justify-content:space-between;gap:12px;margin-block-start:9px;font-size:11px;font-weight:850;display:flex}.scene-result .complete{color:#0f7656}.travel-scene{border:3px solid var(--edge);min-height:310px;box-shadow:7px 7px 0 var(--cyan);background:radial-gradient(circle at 82% 18%,#85ff4bd1 0 54px,#0000 55px),linear-gradient(145deg,#fff1a6,#ffcfb2 52%,#b8f3ff);border-radius:22px;padding:22px}.travel-mode-tabs{flex-wrap:wrap;gap:7px;margin-block-end:32px;display:flex}.travel-mode-tabs button{border:1.5px solid var(--edge);background:var(--paper);border-radius:999px;padding:8px 10px;font-size:10px;font-weight:900}.travel-mode-tabs button.active{background:var(--ink);color:#fff}.travel-scene blockquote{color:var(--ink)}.travel-scene>p{color:#51514b!important;margin:0!important;font-size:13px!important}.phrase-dots{gap:7px;margin-block-start:26px;display:flex}.phrase-dots button{border:1px solid var(--edge);background:var(--paper);border-radius:999px;width:25px;height:8px;padding:0}.phrase-dots button.active{background:var(--purple);width:48px}.learning-path{grid-template-columns:minmax(300px,.72fr) minmax(580px,1.28fr);gap:clamp(50px,8vw,120px);padding-block:92px;display:grid}.path-copy>p:not(.section-label){max-width:560px;color:var(--muted);margin-block-start:24px;font-size:16px;font-weight:600;line-height:1.7}.path-badges{flex-direction:column;gap:10px;margin-block-start:28px;display:flex}.path-badges span{border:1.5px solid var(--edge);background:var(--paper);border-radius:999px;width:fit-content;padding:8px 13px;font-size:11px;font-weight:800}.level-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.level-track li{border:1.5px solid var(--line);background:#fffefab3;border-radius:14px;align-items:center;gap:14px;min-height:66px;padding:10px 14px;display:flex}.level-track li>span{border:1.5px solid var(--edge);background:var(--paper);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid}.level-track li p{margin:0;font-size:12px;font-weight:800}.level-track li.done{border-color:var(--edge);background:#edffd1}.level-track li.done>span{background:var(--lime)}.level-track li.current{border:2px solid var(--edge);box-shadow:4px 4px 0 var(--shadow-ink);background:#f0edff}.level-track li.current>span{background:var(--purple);color:#fff}.level-track li.reward{border-color:var(--edge);background:repeating-linear-gradient(130deg,#ffe7f0 0 12px,#fff5b9 12px 24px)}.free-note{border:3px solid var(--edge);background:var(--lime);box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-block-end:80px;padding:clamp(28px,4vw,50px);display:grid}.free-note h2{max-width:650px}.free-note>p{max-width:620px;margin:0;font-size:16px;font-weight:700;line-height:1.7}.site-shell>footer{border-block-start:1px solid #1515152e;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-block:38px 50px;display:grid}.site-shell>footer>p{color:var(--muted);margin:0;font-size:12px;font-weight:700}.site-shell>footer>div{flex-wrap:wrap;justify-self:end;gap:22px;font-size:12px;font-weight:800;display:flex}.return-sound-toggle .speech-toggle-track:before{content:"↵";font-size:12px}.return-sound-toggle input:checked+.speech-toggle-track{background:var(--cyan)}.return-sound-toggle .speech-toggle-copy{min-width:96px}.target-sentence{animation:.32s both sentence-arrive}.typing-feedback.complete{animation:.3s both success-pop}.lesson-finish-card{border:2px solid var(--edge);background:linear-gradient(135deg, var(--lime), #faffaa 55%, var(--cyan));box-shadow:4px 4px 0 var(--shadow-ink);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-block-start:16px;padding:18px;animation:.5s cubic-bezier(.2,.9,.2,1) both finish-reveal;display:grid;position:relative;overflow:hidden}.lesson-finish-card:before,.lesson-finish-card:after{color:var(--purple);content:"✦  ·  ✦  ·  ✦";font-size:17px;animation:2s ease-in-out infinite alternate confetti-drift;position:absolute}.lesson-finish-card:before{inset-block-start:8px;inset-inline-end:22px}.lesson-finish-card:after{animation-delay:-1s;inset-block-end:8px;inset-inline-start:64px}.finish-mark{border:2px solid var(--edge);background:var(--paper);width:48px;height:48px;box-shadow:3px 3px 0 var(--shadow-ink);border-radius:50%;place-items:center;font-size:23px;font-weight:950;display:grid}.lesson-finish-card h3,.lesson-finish-card p{margin:2px 0 0}.lesson-finish-card h3{font-size:20px}.lesson-finish-card p{color:var(--muted);font-weight:750;font-size:12px!important}.lesson-finish-card small{letter-spacing:.08em;font-weight:950;font-size:11px!important}.activity-card.selected .activity-number{animation:.7s both card-beat}.keyboard-row kbd.active,.next-key-card{animation:.9s ease-in-out infinite alternate key-pulse}.privacy-notice{z-index:80;border:2px solid var(--edge);background:var(--paper);width:min(760px,100% - 28px);box-shadow:7px 7px 0 var(--shadow-ink);border-radius:18px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;margin-inline:auto;padding:14px 16px;animation:.42s both notice-rise;display:grid;position:fixed;inset-block-end:18px;inset-inline:0}.privacy-notice>span{background:var(--lime);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.privacy-notice b{font-size:12px}.privacy-notice p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.4}.privacy-notice a{font-size:11px;font-weight:850;text-decoration:underline}.privacy-notice button{border:1.5px solid var(--edge);background:var(--yellow);font:inherit;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:900}.legal-shell,.profile-shell{width:min(1180px,100% - 48px);margin-inline:auto;padding-block-end:80px}.legal-header,.profile-header{border-block-end:1px solid #15151524;justify-content:space-between;align-items:center;gap:22px;min-height:88px;display:flex}.profile-header nav{flex-wrap:wrap;gap:18px;font-size:12px;font-weight:850;display:flex}.legal-hero{border-block-end:2px solid var(--edge);padding-block:74px 52px}.legal-hero h1,.profile-welcome h1{letter-spacing:-.07em;max-width:900px;margin:0;font-size:clamp(46px,7vw,90px);line-height:.94}.legal-hero>p:not(.section-label),.profile-welcome p{color:var(--muted);font-weight:700}.legal-status-row{flex-wrap:wrap;gap:8px;margin-block-start:28px;display:flex}.legal-status-row span,.benefit-pill{border:1.5px solid var(--edge);background:var(--paper);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900}.legal-status-row .preview-status{background:var(--yellow)}.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:clamp(38px,7vw,90px);padding-block-start:50px;display:grid}.legal-nav{border:2px solid var(--edge);background:var(--paper);height:fit-content;box-shadow:4px 4px 0 var(--shadow-ink);border-radius:16px;flex-direction:column;gap:10px;padding:18px;font-size:11px;display:flex;position:sticky;inset-block-start:24px}.legal-nav b{margin-block-end:4px}.legal-nav a{color:var(--muted);font-weight:750}.legal-nav a:hover{color:var(--purple)}.legal-content{min-width:0}.legal-section{padding-block:12px 56px;scroll-margin-block-start:24px}.legal-section+.legal-section{border-block-start:1px solid var(--line);padding-block-start:46px}.legal-kicker{letter-spacing:.08em;color:var(--purple)!important;margin:0 0 9px!important;font-size:10px!important;font-weight:950!important}.legal-section h2{letter-spacing:-.055em;margin:0 0 18px;font-size:clamp(30px,4vw,52px);line-height:1}.legal-section h3{margin:30px 0 8px;font-size:18px}.legal-section>p,.legal-section li{color:#50504b;font-size:14px;font-weight:600;line-height:1.75}.legal-section li+li{margin-block-start:8px}.data-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-block-start:24px;display:grid}.data-snapshot-grid>div{border:1.5px solid var(--edge);background:var(--paper);border-radius:12px;gap:5px;min-height:86px;padding:14px;display:grid}.data-snapshot-grid span{color:var(--muted);font-size:9px;font-weight:850}.data-snapshot-grid b{font-size:13px}.policy-table{border:1.5px solid var(--edge);border-radius:14px;margin-block-start:14px;overflow:hidden}.policy-table [role=row]{grid-template-columns:.8fr 1.2fr;display:grid}.policy-table [role=row]+[role=row]{border-block-start:1px solid var(--line)}.policy-table b,.policy-table span{padding:12px 14px;font-size:11px;line-height:1.55}.policy-table b{background:var(--ink);color:#fff}.policy-table span+span,.policy-table b+b{border-inline-start:1px solid var(--line)}.launch-gate{box-shadow:6px 6px 0 var(--shadow-ink);background:#fff3bd;border-radius:20px;border:2px solid var(--edge)!important;padding:30px!important}.launch-checklist{gap:8px;margin-block:22px;display:grid}.launch-checklist span{border:1px solid var(--line);background:#ffffffa6;border-radius:9px;padding:10px 12px;font-size:11px;font-weight:750}.launch-checklist b{color:var(--purple);margin-inline-end:7px}.legal-note{border-block-start:1px dashed var(--edge);padding-block-start:16px;font-size:11px!important}.profile-welcome{justify-content:space-between;align-items:center;gap:28px;padding-block:64px 38px;display:flex}.profile-welcome h1{font-size:clamp(38px,5.5vw,70px)}.profile-avatar{border:3px solid var(--edge);background:var(--pink);width:94px;height:94px;box-shadow:7px 7px 0 var(--shadow-ink);border-radius:50%;flex:none;place-items:center;font-size:36px;font-weight:950;display:grid}.profile-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profile-stat{border:2px solid var(--edge);background:var(--paper);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:16px;align-items:center;gap:13px;padding:16px;display:flex}.profile-stat>span{font-size:24px}.profile-stat div{gap:3px;display:grid}.profile-stat small{color:var(--muted);font-size:9px;font-weight:850}.profile-stat b{font-size:20px}.streak-stat{background:#fff0b8}.profile-main-grid,.reward-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;margin-block-start:14px;display:grid}.reward-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.profile-card{border:2px solid var(--edge);background:var(--paper);box-shadow:5px 5px 0 var(--shadow-ink);border-radius:20px;padding:24px}.profile-card h2{letter-spacing:-.05em;margin:0;font-size:clamp(26px,3vw,40px)}.profile-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-card-heading>b{font-size:28px}.profile-progress-track{border:1.5px solid var(--edge);background:#dddcd4;border-radius:999px;height:11px;margin-block:22px 13px;overflow:hidden}.profile-progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--pink));height:100%;transition:width .45s;display:block}.lesson-summary-row{flex-wrap:wrap;gap:8px;display:flex}.lesson-summary-row span{background:#efeee7;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:750}.progress-card .button{margin-block-start:22px}.level-card{background:linear-gradient(145deg,#e9e2ff,#ffddeb);position:relative;overflow:hidden}.level-orbit{border:3px solid var(--edge);background:var(--yellow);width:110px;height:110px;box-shadow:6px 6px 0 var(--shadow-ink);border-radius:50%;place-items:center;margin:22px auto 0;animation:3s ease-in-out infinite profile-orbit;display:grid}.level-orbit span{font-size:42px;font-weight:950}.level-card>small{color:var(--muted);text-align:center;font-size:9px;font-weight:800;display:block}.week-rhythm{grid-template-columns:repeat(7,1fr);gap:6px;margin-block:24px;display:grid}.week-rhythm span{place-items:center;gap:6px;display:grid}.week-rhythm i{border:1.5px solid var(--edge);background:#ecebe4;border-radius:12px;place-items:center;width:38px;height:38px;font-size:10px;font-style:normal;font-weight:900;display:grid}.week-rhythm span.active i{background:var(--lime);animation:.4s both success-pop}.week-rhythm small{color:var(--muted);font-size:8px}.visit-card>p{color:var(--muted);font-size:12px}.badge-list,.empty-reward{gap:9px;margin-block-start:20px;display:grid}.badge-list>div,.empty-reward{border:1px solid var(--line);background:#faf9f3;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.badge-list span,.empty-reward>span{background:var(--yellow);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.badge-list p,.empty-reward p{gap:3px;margin:0;display:grid}.badge-list small,.empty-reward small{color:var(--muted);font-size:9px}.account-note{border:1.5px dashed var(--edge);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-block-start:22px;padding:18px;display:flex}.account-note div{gap:3px;font-size:11px;display:grid}.account-note span{color:var(--muted)}.account-note p{max-width:620px;color:var(--muted);margin:0;font-size:10px;line-height:1.5}.admin-shell{width:min(var(--admin-content-max), calc(100% - 48px));margin-inline:auto;padding-block-end:80px}.admin-header{border-block-end:1px solid #15151524;justify-content:space-between;align-items:center;gap:22px;min-height:88px;display:flex}.admin-header nav{flex-wrap:wrap;gap:18px;font-size:12px;font-weight:850;display:flex}.admin-hero{justify-content:space-between;align-items:flex-end;gap:30px;padding-block:50px 34px;display:flex}.admin-hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(38px,5vw,64px);line-height:.95}.admin-owner{border:1.5px solid var(--edge);background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:12px;gap:3px;padding:12px 15px;display:grid}.admin-owner small{font-size:8px;font-weight:850}.admin-owner b{font-size:11px}.admin-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:start;gap:18px;display:grid}.admin-editor,.admin-library,.admin-denied-card{border:2px solid var(--edge);background:var(--paper);box-shadow:6px 6px 0 var(--shadow-ink);border-radius:22px;padding:26px}.admin-editor-heading,.admin-library-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-block-end:20px;display:flex}.admin-editor h2,.admin-library h2{letter-spacing:-.055em;margin:0;font-size:clamp(27px,3vw,40px)}.admin-editor>label,.admin-form-row label{color:var(--ink);gap:7px;margin-block-end:14px;font-size:10px;font-weight:900;display:grid}.admin-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-editor input:not([type=checkbox]),.admin-editor select,.admin-editor textarea,.admin-library select{border:1.5px solid var(--edge);background:var(--ivory);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:11px 12px;font-size:12px;font-weight:700}.admin-editor textarea{resize:vertical;min-height:105px;line-height:1.55}.admin-audio-hint{color:#2d6269;background:#e8f5f7;border-radius:10px;margin:-3px 0 15px;padding:10px 12px;font-size:9px;font-weight:750;line-height:1.5}.publish-control{border:1.5px solid var(--edge);border-radius:12px;gap:6px;margin-block-start:5px;padding:14px;display:grid}.publish-control.ready{background:#e9f8bf}.publish-control.blocked{background:#f2eee6}.publish-control label{align-items:center;gap:8px;font-size:12px;font-weight:950;display:flex}.publish-control input{width:18px;height:18px;accent-color:var(--purple)}.publish-control p{color:var(--muted);margin:0;font-size:9px;font-weight:700;line-height:1.5}.admin-editor-actions{align-items:center;gap:14px;margin-block-start:18px;display:flex}.admin-editor-actions p{color:var(--muted);margin:0;font-size:10px;font-weight:750}.admin-library{max-height:calc(100vh - 32px);position:sticky;inset-block-start:16px;overflow:hidden}.admin-library-heading select{width:auto;max-width:150px}.admin-item-list{gap:8px;max-height:calc(100vh - 185px);padding:2px 4px 10px 2px;display:grid;overflow-y:auto}.admin-item-list article{border:1px solid var(--line);background:#f8f7f0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.admin-item-list article.selected{border:2px solid var(--purple);background:#eee9ff}.admin-item-main{min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;gap:6px;display:grid}.admin-item-main>span{flex-wrap:wrap;gap:5px;display:flex}.admin-item-main i,.admin-item-main em{border-radius:999px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:900}.admin-item-main i{background:var(--ink);color:#fff}.admin-item-main em.published{background:var(--lime)}.admin-item-main em.draft{background:#dddcd4}.admin-item-main b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-item-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:650;overflow:hidden}.admin-delete{color:#a83d55;font:inherit;cursor:pointer;background:0 0;border:0;padding:7px;font-size:8px;font-weight:900}.admin-empty{color:var(--muted);text-align:center;justify-items:center;gap:6px;padding:44px 16px;display:grid}.admin-empty span{background:var(--yellow);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;font-size:24px;display:grid}.admin-empty p{margin:0;font-size:10px}.admin-denied{padding-block-start:24px}.admin-denied>.brand{margin-block-end:50px}.admin-denied-card{text-align:center;max-width:720px;margin-inline:auto}.admin-denied-card h1{letter-spacing:-.065em;margin:0;font-size:clamp(36px,6vw,70px)}.admin-denied-card p{color:var(--muted)}.admin-denied-card .button{margin-block-start:14px}@keyframes sentence-arrive{0%{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes success-pop{0%{transform:scale(.96)}60%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes finish-reveal{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confetti-drift{0%{transform:translateY(-2px)rotate(-4deg)}to{transform:translateY(5px)rotate(4deg)}}@keyframes card-beat{0%,to{transform:rotate(0)scale(1)}35%{transform:rotate(-5deg)scale(1.08)}70%{transform:rotate(4deg)scale(1.04)}}@keyframes key-pulse{0%{filter:saturate()}to{filter:saturate(1.2)drop-shadow(0 0 5px #ffdc2db3)}}@keyframes notice-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes profile-orbit{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(2deg)}}@media (max-width:1360px){.audio-control-cluster .speech-toggle-copy{display:none}.audio-control-cluster .voice-picker{min-width:116px}}@media (max-width:1180px){.language-picker select{min-width:156px}.hero{grid-template-columns:1fr;padding-block-start:60px}.hero-copy{max-width:860px}.practice-stage{width:min(760px,100%);margin-inline:auto}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-card:nth-child(4),.activity-card:nth-child(5){grid-column:span 1}.learning-path{grid-template-columns:1fr}}@media (max-width:1120px){.nav-links{justify-content:flex-end;gap:0}.nav-links a:not([href=\/my]){display:none}}@media (max-width:900px){.topbar{grid-template-columns:minmax(0,1fr) auto}.nav-links{display:none}}@media (max-width:820px){.topbar,.hero,.activity-section,.learning-path,.free-note,.site-shell>footer{width:100%;max-width:var(--site-content-max)}.topbar{grid-template-columns:1fr auto}.header-tools{gap:7px}.audio-control-cluster .voice-picker{min-width:104px}.audio-control-cluster .voice-picker>span:first-child,.audio-control-cluster .voice-picker i,.speech-toggle-copy,.nav-links{display:none}.hero{min-height:0;padding-block:44px 54px}.hero h1{font-size:clamp(52px,13vw,78px)}.practice-card{--card-corner-tr:14px;border-radius:28px var(--card-corner-tr) 28px 14px;padding:20px}.curriculum-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-workspace{grid-template-columns:1fr}.practice-guidance-column{min-height:390px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-card:last-child{grid-column:1/-1}.game-demo,.kpop-demo,.screen-demo,.travel-demo,.free-note,.word-rain-game,.crossword-game-wrap{grid-template-columns:1fr}.word-rain-board{min-height:390px}.crossword-grid{justify-self:center}.record-disc{width:96px;height:96px}.section-heading{flex-direction:column;align-items:flex-start}.site-shell>footer{grid-template-columns:1fr}.site-shell>footer>div{justify-self:start}.lesson-finish-card{grid-template-columns:auto 1fr}.lesson-finish-card .button{grid-column:1/-1;width:100%}.privacy-notice{grid-template-columns:auto 1fr auto}.privacy-notice>a{grid-column:2}.privacy-notice>button{grid-area:1/3/span 2}.legal-shell,.profile-shell,.admin-shell{width:min(100% - 28px,1180px)}.legal-layout,.profile-main-grid,.reward-grid,.admin-grid{grid-template-columns:1fr}.admin-library{max-height:none;position:static}.admin-item-list{max-height:620px}.legal-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.legal-nav b{grid-column:1/-1}.data-snapshot-grid,.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-welcome{align-items:flex-start}.account-note{flex-direction:column;align-items:flex-start}}@media (max-width:540px){.topbar .brand>span:last-child{display:none}.brand{font-size:17px}.brand-mark{width:34px;height:34px}.language-picker select{min-width:106px;padding-inline:30px 20px}.header-tools{flex-wrap:wrap;width:100%;max-width:calc(100vw - 76px);flex:100%!important;justify-content:flex-start!important}.audio-control-cluster{order:2;max-width:100%}.audio-control-cluster .speech-toggle{padding-inline:6px}.audio-control-cluster .voice-picker{min-width:92px;padding-inline:5px}.audio-control-cluster .voice-picker select{max-width:82px}.sound-preview-button{width:34px}.hero-actions,.hero-actions .button{width:100%}.practice-stage{padding:12px 0 24px}.practice-card{box-shadow:6px 8px 0 var(--shadow-ink)}.practice-card-header{padding-inline-end:0}.curriculum-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-card:before{display:none}.typing-panel{padding:16px}.typing-meta{flex-direction:column;align-items:flex-start;gap:4px}.keyboard-tools{grid-template-columns:1fr;gap:7px}.keyboard-layout-picker{justify-content:space-between}.keyboard-map{padding-block-end:102px;padding-inline:6px}.keyboard-map-legend{flex-wrap:wrap;align-items:flex-start}.keyboard-map-legend b{width:100%}.keyboard-row{gap:3px}.hand-overlay{transform-origin:bottom;inset-block-start:50px;inset-inline:3%;transform:scale(.88)}.crossword-board-column{max-width:390px}.crossword-grid{box-shadow:5px 5px 0 var(--purple);border-width:3px;border-radius:14px;gap:2px;padding:6px}@supports (color:color-mix(in lab, red, red)){.crossword-grid{box-shadow:5px 5px 0 color-mix(in srgb, var(--purple) 34%, transparent)}}.crossword-cell input,.crossword-cell strong{font-size:clamp(21px,8vw,30px)}.crossword-clues{grid-template-columns:1fr}.crossword-actions>*{flex:1}.lesson-evaluation{grid-template-columns:1fr}.lesson-evaluation dl{width:100%}.lesson-evaluation dl div{flex:1}.daily-meter{grid-template-columns:1fr;gap:10px}.activity-grid,.level-track{grid-template-columns:1fr}.activity-card:last-child{grid-column:auto}.game-demo{box-shadow:5px 5px 0 var(--shadow-ink);padding:24px 18px}.word-rain-board{min-height:350px}.rain-word{min-width:62px;padding:7px 9px;font-size:17px}.puzzle-head{flex-direction:column;align-items:flex-start;gap:4px}.inline-form{flex-direction:column}.missing-word{font-size:54px}.missing-word span{width:72px;height:72px}.free-note{box-shadow:5px 5px 0 var(--shadow-ink)}.privacy-notice{grid-template-columns:1fr auto}.privacy-notice>span{display:none}.privacy-notice>a{grid-column:1}.privacy-notice>button{grid-column:2}.legal-header,.profile-header,.profile-welcome,.admin-header,.admin-hero{flex-direction:column;align-items:flex-start;padding-block:18px}.legal-header .button{width:100%}.legal-hero{padding-block:50px 34px}.legal-nav,.data-snapshot-grid,.profile-stat-grid,.policy-table [role=row]{grid-template-columns:1fr}.policy-table span+span,.policy-table b+b{border-inline-start:0;border-block-start:1px solid var(--line)}.profile-avatar{width:68px;height:68px;font-size:26px}.week-rhythm{grid-template-columns:repeat(4,1fr)}.admin-form-row{grid-template-columns:1fr;gap:0}.admin-editor,.admin-library{padding:18px}.admin-editor-heading,.admin-editor-actions{flex-direction:column;align-items:stretch}}.hero{transition:grid-template-columns .72s cubic-bezier(.2,.86,.22,1),gap .72s cubic-bezier(.2,.86,.22,1)}.hero-copy,.practice-stage,.practice-card,.hero-copy>*{transition:opacity .62s,transform .72s cubic-bezier(.2,.86,.22,1),max-height .72s cubic-bezier(.2,.86,.22,1),margin .72s cubic-bezier(.2,.86,.22,1)}.hero-copy{max-height:none;overflow:visible}.hero-copy h1{text-wrap:balance;max-height:none;overflow:visible;word-break:keep-all!important;overflow-wrap:normal!important}.hero-copy h1 span{word-break:keep-all!important;display:inline-block!important}.headline-accent{max-width:100%;word-break:keep-all!important;white-space:nowrap!important;display:inline-block!important}html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .hero-copy h1,html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .hero-copy h1 span,html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .headline-accent{word-break:normal!important;overflow-wrap:normal!important}html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .hero-copy h1 span,html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .headline-accent{max-width:100%;white-space:normal!important}html:not([lang=ko]):not([lang=ja]):not([lang=zh-Hans]):not([lang=zh-Hant]) .headline-accent{display:inline!important}.hero-description{max-height:none;padding-bottom:2px;line-height:1.5;overflow:visible}.trust-row,.hero-actions .button-secondary{max-height:none;overflow:visible}.eyebrow{max-height:58px;transition:width .72s cubic-bezier(.2,.86,.22,1),max-height .72s,padding .72s,margin .72s,opacity .55s,transform .72s cubic-bezier(.2,.86,.22,1)}.hero-focus-toggle,.hero-focus-toggle .hero-focus-label,.hero-focus-toggle .hero-focus-arrow{transition:width .65s cubic-bezier(.2,.86,.22,1),min-height .65s,padding .65s,font-size .45s,transform .65s cubic-bezier(.2,.86,.22,1),opacity .45s}.hero-focus-toggle .hero-focus-label{display:inline-block}.hero.practice-preparing .hero-copy{opacity:.88;transform:translate(-6px)}.hero.practice-preparing .practice-stage{filter:saturate(1.06);transform:translateY(-3px)scale(1.012)}.hero.practice-preparing .hero-focus-toggle{box-shadow:5px 5px 0 var(--pink), 0 0 0 8px #ff4f861c}.hero.practice-focus-mode{min-height:calc(100svh - var(--chrome-h));grid-template-columns:minmax(82px,.12fr) minmax(0,1.88fr);align-items:start;gap:14px;padding-block-start:9px}.practice-focus-mode .hero-copy{z-index:4;opacity:.96;align-self:start;position:sticky;inset-block-start:100px;transform:translate(-7px)}.practice-focus-mode .hero-copy h1,.practice-focus-mode .hero-description,.practice-focus-mode .trust-row,.practice-focus-mode .hero-actions a.button-secondary,.practice-focus-mode .eyebrow{max-height:0;overflow:hidden;transform:translate(-28px)scale(.92);opacity:0!important;pointer-events:none!important;margin:0!important;display:none!important}.practice-focus-mode .hero-actions{margin:0}.practice-focus-mode .practice-stage{padding-inline:4px 12px;animation:.75s cubic-bezier(.18,.95,.24,1) both practice-stage-expand}.practice-focus-mode .practice-card{min-height:calc(100svh - var(--chrome-h) - 22px);--card-corner-tr:14px;border-radius:24px var(--card-corner-tr) 28px 14px;box-shadow:10px 8px 0 var(--shadow-ink), 0 20px 70px #5b3ecb29}.practice-focus-mode .typing-panel{background:radial-gradient(circle at 92% 12%, #cdff506b, transparent 20%), var(--paper)}.practice-focus-mode .target-sentence{font-size:clamp(26px,2.6vw,46px)}.practice-focus-mode .keyboard-map{transform-origin:50%;animation:.7s cubic-bezier(.2,1,.3,1) both keyboard-deck-arrive}.practice-card .keyboard-row{transform-origin:50%;transition:opacity .45s,transform .55s cubic-bezier(.2,.92,.3,1),filter .45s}.practice-card.stage-home .keyboard-row.home{z-index:4;transform:scale(1.08)translateY(-3px)}.practice-card.stage-home .keyboard-row.top,.practice-card.stage-home .keyboard-row.bottom{opacity:.2;filter:saturate(.4);transform:scale(.94)}.practice-card.stage-syllable .keyboard-row.top,.practice-card.stage-batchim .keyboard-row.top,.practice-card.stage-double .keyboard-row.top{z-index:3;transform:scale(1.045)translateY(2px)}.practice-card.stage-syllable .keyboard-row.bottom,.practice-card.stage-batchim .keyboard-row.bottom,.practice-card.stage-double .keyboard-row.bottom{opacity:.34;filter:saturate(.55);transform:scale(.96)}.practice-card .keyboard-row kbd{transition:transform .16s cubic-bezier(.2,1.6,.4,1),background .16s,box-shadow .16s,opacity .3s}.practice-card .keyboard-row kbd.active{box-shadow:0 0 0 7px #c7ff4252, 5px 7px 0 var(--shadow-ink);transform:translateY(-8px)scale(1.24);z-index:31!important}.practice-card .keyboard-row.active-row{z-index:30!important;opacity:1!important;filter:none!important}.practice-focus-mode .hand-overlay.is-pressing{animation:.3s cubic-bezier(.2,1.4,.4,1) whole-hand-react}.practice-focus-mode .finger-callout{animation:1.4s ease-in-out infinite alternate finger-callout-beat}.practice-card.is-mastered{animation:1.4s ease-in-out infinite alternate card-mastered-glow}.practice-coach-message{color:#594800;background:#fff7c7;border:1px solid #c8a200;border-radius:10px;align-items:center;gap:8px;margin:8px 0 0;padding:8px 10px;font-size:10px;font-weight:850;animation:.35s both coach-arrive;display:flex}.practice-coach-message span{background:var(--yellow);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.mastery-choice-card{border:3px solid var(--edge);background:radial-gradient(circle at 90% 10%, #ffffffb3 0 3px, transparent 4px), linear-gradient(135deg, #f2ffab, var(--lime) 50%, #9df5ee);box-shadow:6px 6px 0 var(--purple);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-block-start:14px;padding:18px;animation:.62s cubic-bezier(.16,1.32,.35,1) both mastery-arrive;display:grid;position:relative;overflow:hidden}.practice-workspace.mastery-open{grid-template-columns:1fr}.mastery-choice-card:after{background:conic-gradient(from 45deg, transparent 0 9%, #ffffff59 9% 11%, transparent 11% 24%);content:"";pointer-events:none;animation:12s linear infinite mastery-rays;position:absolute;inset:-20%}.mastery-burst,.mastery-copy,.mastery-actions{z-index:1;position:relative}.mastery-burst{border:3px solid var(--edge);background:var(--pink);width:82px;height:82px;box-shadow:4px 4px 0 var(--shadow-ink);color:var(--ink);border-radius:50%;align-content:center;place-items:center;animation:1.1s ease-in-out infinite alternate badge-beat;display:grid;transform:rotate(-6deg)}.mastery-burst span{letter-spacing:.12em;font-size:9px;font-weight:950}.mastery-burst b{font-size:21px;line-height:.9}.mastery-copy small{letter-spacing:.12em;font-size:9px;font-weight:950}.mastery-copy h3{letter-spacing:-.04em;margin:3px 0 4px;font-size:22px}.mastery-copy p{color:#40513d;margin:0;font-size:10px;font-weight:750;line-height:1.45}.mastery-metrics{flex-wrap:wrap;gap:6px;margin-block-start:10px;display:flex}.mastery-metrics span{background:#ffffff80;border:1px solid #15151547;border-radius:999px;align-items:baseline;gap:4px;padding:5px 8px;font-size:8px;font-weight:850;display:flex}.mastery-metrics b{color:var(--purple);font-size:12px}.mastery-actions{gap:8px;min-width:190px;display:grid}.mastery-actions .button{justify-content:flex-start;min-height:42px;padding:9px 13px;font-size:10px}.mastery-actions kbd,.word-rain-console .button kbd,.crossword-actions kbd{font:inherit;background:#ffffff24;border:1px solid;border-radius:5px;padding:2px 5px;font-size:8px}.mastery-target-line{color:var(--muted);grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin-block-start:6px;font-size:8px;font-style:normal;display:grid}.mastery-target-line>span{font-weight:900}.mastery-target-line>b{color:var(--purple)}.mastery-target-line>em{justify-self:end;font-style:normal}.aurora{z-index:0;filter:blur(34px);opacity:.32;border-radius:50%;width:65%;height:55%;animation:7s ease-in-out infinite alternate aurora-drift;position:absolute}.aurora-one{background:var(--purple);inset:-10% auto auto -10%}.aurora-two{background:var(--lime);animation-delay:-3.5s;inset:12% -10% auto auto}.word-rain-board{min-height:500px;box-shadow:inset 0 0 70px #1610482e, 7px 7px 0 var(--shadow-ink);background:radial-gradient(circle at 20% 20%,#fffffff2 0 2px,#0000 3px),radial-gradient(circle at 76% 10%,#ffffffb3 0 1px,#0000 2px),linear-gradient(#604ccc 0%,#736bdc 24%,#8fe9ed 63%,#fff0a5 83%)}.word-rain-level,.word-rain-lives{z-index:10;position:absolute;inset-block-start:13px}.word-rain-level{border:2px solid var(--edge);min-width:54px;box-shadow:3px 3px 0 var(--shadow-ink);background:#ffffffd1;border-radius:11px;padding:6px 9px;display:grid;inset-inline-start:14px}.word-rain-level small{letter-spacing:.12em;font-size:7px;font-weight:950}.word-rain-level b{color:var(--purple);font-size:22px;line-height:.9}.word-rain-lives{border:2px solid var(--edge);background:#ffffffd1;border-radius:999px;gap:3px;padding:6px 8px;display:flex;inset-inline-end:14px}.word-rain-lives span{color:#b7b6b0;font-size:14px}.word-rain-lives span.alive{color:#ff4578;filter:drop-shadow(1px 1px 0 var(--shadow-ink));animation:1.4s ease-in-out infinite heart-beat}.rain-word{background:#fff7c7;border-radius:13px;padding:9px 13px 8px;transition:top 50ms linear,transform .15s,background .15s;box-shadow:4px 5px #151515db}.rain-word>i{background:#ffffff80;width:2px;height:10px;position:absolute;inset-block-start:-11px;inset-inline:50% auto}.rain-word.targeted{background:var(--lime);box-shadow:0 0 0 7px #c8ff4240, 5px 6px 0 var(--shadow-ink)}.game-curtain{z-index:20;color:#fff;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18123dc2;align-content:center;place-items:center;gap:6px;animation:.25s both curtain-in;display:grid;position:absolute;inset:0}.game-curtain small{letter-spacing:.18em;font-size:10px;font-weight:950}.game-curtain>b{letter-spacing:-.06em;text-shadow:4px 4px 0 var(--purple);font-size:clamp(34px,6vw,70px)}.game-curtain>p{color:#ffd3e1;max-width:430px;margin:0;font-size:11px;font-weight:800;line-height:1.55}.game-curtain>span{align-items:center;gap:7px;font-size:11px;font-weight:850;display:flex}.game-curtain kbd{color:var(--ink);font:inherit;background:#fff;border:1px solid #fff;border-radius:6px;padding:5px 8px}.wave-progress{border:1.5px solid var(--edge);background:#dedcd2;border-radius:999px;height:12px;margin:-12px 0 22px;position:relative;overflow:hidden}.wave-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));height:100%;transition:width .3s;display:block}.wave-progress small{font-size:6px;font-weight:950;position:absolute;inset:50% 8px auto auto;transform:translateY(-50%)}.word-rain-game{background:linear-gradient(135deg,#ffffff0a 25%,#0000 25%) 0 0/18px 18px,#17142c;border:3px solid #151326;border-radius:30px;gap:clamp(18px,2.6vw,34px);padding:clamp(10px,1.5vw,18px);box-shadow:9px 9px #151326,0 30px 80px #14103638}.word-rain-board{isolation:isolate;background:radial-gradient(circle at 50% 118%,#23f6ee57,#0000 46%),radial-gradient(circle at 12% 18%,#ff35ae30,#0000 26%),linear-gradient(#100d2d 0%,#1d1753 52%,#123c65 82%,#0a172c 100%);border-color:#090817;border-radius:20px;min-height:540px;box-shadow:inset 0 0 0 2px #6cf1ff33,inset 0 0 90px #0006,6px 6px #080715,0 0 36px #5552ff38}.retro-scanlines{z-index:18;pointer-events:none;opacity:.17;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 3px,#00000052 4px);position:absolute;inset:0}.pixel-stars{z-index:0;pointer-events:none;position:absolute;inset:0}.pixel-stars i{background:#d9ffff;border-radius:1px;width:3px;height:3px;animation:1.8s steps(2,end) infinite pixel-twinkle;position:absolute;box-shadow:0 0 7px #72f8ff}.pixel-stars i:first-child{inset:11% auto auto 9%}.pixel-stars i:nth-child(2){animation-delay:-.3s;inset:18% auto auto 34%}.pixel-stars i:nth-child(3){animation-delay:-.7s;inset:9% 13% auto auto}.pixel-stars i:nth-child(4){animation-delay:-1.1s;inset:31% auto auto 18%}.pixel-stars i:nth-child(5){animation-delay:-.5s;inset:37% 29% auto auto}.pixel-stars i:nth-child(6){animation-delay:-1.4s;inset:52% auto auto 6%}.pixel-stars i:nth-child(7){animation-delay:-.9s;inset:57% 8% auto auto}.pixel-stars i:nth-child(8){animation-delay:-1.6s;inset:23% auto auto 68%}.word-rain-board .aurora{opacity:.2;mix-blend-mode:screen}.word-rain-board .sky-cloud{opacity:.08;filter:blur(1px)}.mission-hud{z-index:11;color:#fff;text-align:center;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);background:#08091eb8;border:1px solid #7cf5ff80;border-radius:7px;min-width:250px;padding:10px 18px;display:grid;position:absolute;inset:14px 50% auto auto;transform:translate(50%)}.mission-hud small{color:#75f7ff;letter-spacing:.16em;font-size:10px;font-weight:900}.mission-hud b{letter-spacing:.035em;margin-block:3px;font-size:14px}.mission-hud span{color:#d8ff65;font-size:12px;font-weight:950}.word-rain-level{color:#fff;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);background:#08091ecc;border:1px solid #69f5ff;border-radius:7px;min-width:66px;box-shadow:0 0 0 2px #69f5ff1f,0 0 16px #69f5ff2e}.word-rain-level small{color:#69f5ff;font-size:10px}.word-rain-level b{color:#f6ff72;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:26px}.word-rain-level em{color:#ff5ec7;letter-spacing:.08em;font-size:9px;font-style:normal;font-weight:950}.word-rain-lives{color:#fff;background:#08091ecc;border:1px solid #ff5ec7;border-radius:7px;gap:2px;min-width:112px;padding:7px 9px;display:grid;box-shadow:0 0 15px #ff5ec729}.word-rain-lives>small{color:#ff77cd;letter-spacing:.11em;font-size:10px;font-weight:950}.word-rain-lives>b{color:#fff;font:950 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.shield-meter{background:#ffffff29;border-radius:99px;width:94px;height:4px;position:relative;overflow:hidden}.shield-meter i{border-radius:inherit;background:linear-gradient(90deg,#ff5c90,#f4ff6a,#63f5ff);height:100%;transition:width .4s;display:block;box-shadow:0 0 8px #63f5ff}.threat-alert{z-index:12;color:#79f6ff;letter-spacing:.08em;background:#08091ec2;border:1px solid #68f8ff59;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;font:950 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex;position:absolute;inset:76px 13px auto auto}.threat-alert i{background:#6ff7ff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #6ff7ff}.threat-alert.active{color:#ff9aae;border-color:#f57;animation:.46s steps(2,end) infinite impact-alert}.threat-alert.active i{background:#ff4f73;box-shadow:0 0 12px #ff4f73}.rain-word{color:#fff;background:linear-gradient(90deg,#0000 0 8%,#ffffff14 9% 15%,#0000 16%),linear-gradient(#282e64fa,#0a0c28fc);border:1px solid #8cf9ff;border-radius:16px 16px 8px 8px;min-width:96px;padding:12px 15px 16px;transition:top 50ms linear,transform .12s,background .12s,box-shadow .12s;box-shadow:inset 0 0 0 2px #69f5ff17,inset 9px 0 15px #75f4ff14,0 6px #030310bd,0 0 20px #69f5ff4d}.rain-word:after{content:"";filter:drop-shadow(0 5px 4px #030310b3);border-block-start:14px solid #8cf9ff;border-inline:18px solid #0000;width:0;height:0;position:absolute;inset:auto auto -13px 50%;transform:translate(-50%)}.hero h1{letter-spacing:-.05em;padding-bottom:4px;font-size:clamp(2.1rem,3.8vw,3.4rem);font-weight:950;line-height:1.12}.hero h1 span{word-break:keep-all;white-space:nowrap;display:inline-block}.headline-accent{z-index:1;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;width:fit-content;max-width:100%;position:relative;word-break:keep-all!important;white-space:nowrap!important;background-image:linear-gradient(90deg, var(--lime) 0 76%, var(--pink) 76% 100%)!important;background-position:0 84%!important;background-repeat:no-repeat!important;background-size:100% 40%!important;padding:0 18px 4px 4px!important;display:inline-block!important}.rain-word>b{letter-spacing:.02em;text-shadow:0 0 9px #69f5ff7a;font-size:20px;font-weight:950}.rain-word small{color:#9da5d6;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.rain-word .word-tether{z-index:-2;background:linear-gradient(#0000,#ff4fb3 42%,#f6ff75 88%,#fff);width:4px;height:47px;animation:.17s linear infinite alternate missile-trail;inset-block-start:-46px;box-shadow:0 0 9px #ff5ec7}.missile-plume{z-index:-1;width:18px;height:26px;position:absolute;inset:-24px 50% auto auto;transform:translate(50%)}.missile-plume:before{content:"";background:linear-gradient(#fff,#f7ff72 28%,#ff6b32 60%,#0000);border-radius:50% 50% 65% 65%;height:20px;animation:.12s steps(2,end) infinite missile-flame;position:absolute;inset:7px 4px auto;box-shadow:0 0 14px #ff5ec7}.missile-plume i{width:3px;height:20px;transform:translateX(-50%) rotate(var(--trail-angle,0deg));transform-origin:50% 100%;opacity:.6;background:linear-gradient(#0000,#75f7ff);position:absolute;inset:auto auto 0 50%}.missile-plume i:nth-child(2){--trail-angle:-14deg;height:15px;inset-inline-start:35%}.missile-plume i:nth-child(3){--trail-angle:14deg;height:16px;inset-inline-start:65%}.missile-fins{z-index:-1;clip-path:polygon(0 0,100% 0,100% 100%,72% 66%,28% 66%,0 100%);filter:drop-shadow(0 0 6px #ff5ec78c);border-inline:12px solid #ff5ec7;height:34px;position:absolute;inset:12% -8px auto}.target-brackets:before,.target-brackets:after{content:"";opacity:0;border-block:2px solid #dfff67;width:7px;position:absolute;inset-block:-5px}.target-brackets:before{border-inline-start:2px solid #dfff67;inset-inline-start:-6px}.target-brackets:after{border-inline-end:2px solid #dfff67;inset-inline-end:-6px}.rain-word.targeted{z-index:8;background:linear-gradient(#344e2e,#13271c);border-color:#dfff67;animation:.42s steps(2,end) infinite target-lock;transform:translate(-50%)scale(1.1);box-shadow:0 0 0 3px #dfff6733,0 5px #070b08,0 0 28px #dfff6799}.rain-word.targeted .target-brackets:before,.rain-word.targeted .target-brackets:after{opacity:1}.rain-word.critical{border-color:#ff617f;animation:.42s steps(2,end) infinite threat-pulse;box-shadow:0 0 0 2px #ff617f2b,0 5px #030310bd,0 0 22px #ff466c7a}.rain-word.critical.targeted{border-color:#dfff67;animation:.3s steps(2,end) infinite target-lock}.defense-grid{z-index:1;opacity:.32;transform-origin:bottom;background:repeating-linear-gradient(90deg,#0000 0 47px,#46ddec 48px 49px),repeating-linear-gradient(0deg,#0000 0 22px,#46ddec 23px 24px);height:34%;position:absolute;inset:auto -20% 9%;transform:perspective(240px)rotateX(62deg);-webkit-mask-image:linear-gradient(#0000,#000 70%);mask-image:linear-gradient(#0000,#000 70%)}.neon-city{z-index:2;opacity:.98;filter:drop-shadow(0 0 13px #40eeff47);transform-origin:50% 100%;justify-content:center;align-items:end;gap:clamp(2px,.7vw,8px);height:156px;display:flex;position:absolute;inset:auto 1.5% 8.8%}.neon-city>span{z-index:2;clip-path:polygon(8% 0,90% 0,100% 7%,100% 100%,0 100%,0 7%);border:1px solid #5bcfe6;background:repeating-linear-gradient(90deg,#0000 0 8px,#73f1ff29 9px 10px),repeating-linear-gradient(#0000 0 10px,#f5e884 11px 13px),linear-gradient(90deg,#0b1532,#1b3970 52%,#081128);border-block-end:0;width:5.8%;min-width:20px;height:42%;position:relative;box-shadow:inset 5px 0 12px #4fe1ff1f,0 0 8px #4be4ff3d}.neon-city>span:before{content:"";background:#142b57;border:1px solid #5bcfe6;border-block-end:0;height:8px;position:absolute;inset:-8px 38% auto}.neon-city>span:after{z-index:3;content:"";opacity:0;filter:drop-shadow(0 0 4px #ff5576);background:linear-gradient(118deg,#0000 0 41%,#ff586ff2 42% 45%,#0000 46% 60%,#ff586fb8 61% 63%,#0000 64%),linear-gradient(62deg,#0000 0 54%,#ff586fd1 55% 58%,#0000 59%);position:absolute;inset:6% 10%}.neon-city>span:first-child{width:4.7%;height:35%}.neon-city>span:nth-child(2){width:6.8%;height:67%}.neon-city>span:nth-child(3){width:5.2%;height:50%}.neon-city>span:nth-child(4){width:7%;height:82%}.neon-city>span:nth-child(5){width:5%;height:59%}.neon-city>span:nth-child(6){width:6%;height:43%}.neon-city>span:nth-child(7){width:7.8%;height:72%}.neon-city>span:nth-child(8){width:5.3%;height:94%}.neon-city>span:nth-child(8):before{clip-path:polygon(48% 0,60% 0,67% 100%,32% 100%);height:21px;inset-block-start:-21px}.neon-city>span:nth-child(9){width:6.5%;height:57%}.neon-city>span:nth-child(10){width:4.8%;height:76%}.neon-city>span:nth-child(11){width:6.8%;height:48%}.neon-city>span:nth-child(12){width:5%;height:63%}.neon-city>span:nth-child(13){width:6.2%;height:39%}.neon-city>span:nth-child(14){width:5.4%;height:53%}.city-skyline-back{z-index:0;opacity:.42;filter:blur(.25px);justify-content:space-between;align-items:end;height:112px;display:flex;position:absolute;inset:auto 1% 0}.city-skyline-back i{background:repeating-linear-gradient(#0000 0 8px,#84bfee47 9px 10px),#091128;border-block-start:1px solid #7bc3f073;width:7%;height:45%}.city-skyline-back i:nth-child(2),.city-skyline-back i:nth-child(8){height:78%}.city-skyline-back i:nth-child(3),.city-skyline-back i:nth-child(11){height:59%}.city-skyline-back i:nth-child(4){height:91%}.city-skyline-back i:nth-child(5),.city-skyline-back i:nth-child(9){height:37%}.city-skyline-back i:nth-child(6){height:68%}.city-skyline-back i:nth-child(10){height:84%}.neon-city>span{transform-origin:50% 100%;transition:opacity .35s,filter .35s,transform .7s cubic-bezier(.18,.7,.2,1)}.neon-city.damage-1>span:nth-child(7),.neon-city.damage-1>span:nth-child(14),.neon-city.damage-2>span:nth-child(7),.neon-city.damage-2>span:nth-child(14),.neon-city.damage-3>span:nth-child(7),.neon-city.damage-3>span:nth-child(14),.neon-city.damage-4>span:nth-child(7),.neon-city.damage-4>span:nth-child(14),.neon-city.damage-5>span:nth-child(7){filter:grayscale(.8)brightness(.46);transform:skew(9deg)scaleY(.72)}.neon-city.damage-2>span:nth-child(2),.neon-city.damage-2>span:nth-child(10),.neon-city.damage-3>span:nth-child(2),.neon-city.damage-3>span:nth-child(10),.neon-city.damage-4>span:nth-child(2),.neon-city.damage-4>span:nth-child(10),.neon-city.damage-5>span:nth-child(2){filter:grayscale(.9)brightness(.36);transform:rotate(-8deg)scaleY(.58)}.neon-city.damage-3>span:nth-child(5),.neon-city.damage-3>span:nth-child(12),.neon-city.damage-4>span:nth-child(5),.neon-city.damage-4>span:nth-child(12),.neon-city.damage-5>span:nth-child(5){opacity:.46;filter:grayscale()brightness(.3);transform:rotate(12deg)scaleY(.34)}.neon-city.damage-4>span:first-child,.neon-city.damage-4>span:nth-child(6),.neon-city.damage-4>span:nth-child(9),.neon-city.damage-4>span:nth-child(13),.neon-city.damage-5>span:first-child,.neon-city.damage-5>span:nth-child(6),.neon-city.damage-5>span:nth-child(9),.neon-city.damage-5>span:nth-child(13){opacity:.28;filter:grayscale()brightness(.2);transform:scaleY(.18)}.neon-city.damage-1>span:nth-child(7):after,.neon-city.damage-1>span:nth-child(14):after,.neon-city.damage-2>span:nth-child(2):after,.neon-city.damage-2>span:nth-child(7):after,.neon-city.damage-2>span:nth-child(10):after,.neon-city.damage-2>span:nth-child(14):after,.neon-city.damage-3>span:nth-child(5):after,.neon-city.damage-3>span:nth-child(8):after,.neon-city.damage-3>span:nth-child(12):after,.neon-city.damage-4>span:after,.neon-city.damage-5>span:after{opacity:.92}.neon-city.damage-5>span{opacity:.15;filter:grayscale()brightness(.16);transform:rotate(var(--collapse-tilt,7deg)) scaleY(.08)}.city-damage-layer{z-index:5;pointer-events:none;position:absolute;inset:-18px 0 0}.city-damage-layer i{opacity:0;filter:drop-shadow(0 0 7px #ff4f5d);transform-origin:50% 100%;background:radial-gradient(circle at 50% 76%,#fff8a3 0 16%,#ff7b2d 17% 45%,#ff315b 46% 64%,#0000 65%);border-radius:50% 50% 35% 35%;width:12px;height:22px;animation:.42s ease-in-out infinite alternate city-fire;position:absolute;inset:auto auto 17px 78%}.city-damage-layer i:nth-child(2){animation-delay:-.16s;inset-block-end:13px;inset-inline-start:22%}.city-damage-layer i:nth-child(3){animation-delay:-.28s;inset-block-end:9px;inset-inline-start:57%}.city-damage-layer i:nth-child(4){animation-delay:-.09s;inset-block-end:5px;inset-inline-start:8%}.city-damage-layer i:nth-child(5){animation-delay:-.34s;inset-block-end:3px;inset-inline-start:91%}.city-damage-layer i:nth-child(6){animation-delay:-.22s;inset-block-end:20px;inset-inline-start:43%}.neon-city.damage-1 .city-damage-layer i:first-child,.neon-city.damage-2 .city-damage-layer i:nth-child(-n+2),.neon-city.damage-3 .city-damage-layer i:nth-child(-n+3),.neon-city.damage-4 .city-damage-layer i:nth-child(-n+4),.neon-city.damage-5 .city-damage-layer i{opacity:1}.city-smoke{z-index:8;pointer-events:none;position:absolute;inset:-45px 0 0}.city-smoke i{opacity:0;filter:blur(1px);background:radial-gradient(circle at 38% 43%,#c2cadcad,#3a3d4ebd 54%,#0000 69%);border-radius:50%;width:36px;height:36px;animation:2.6s ease-in infinite city-smoke-rise;position:absolute;inset:auto auto 24px 78%}.city-smoke i:nth-child(2){animation-delay:-.7s;inset-inline-start:21%;transform:scale(.8)}.city-smoke i:nth-child(3){animation-delay:-1.4s;inset-inline-start:55%;transform:scale(1.15)}.city-smoke i:nth-child(4){animation-delay:-2s;inset-inline-start:8%;transform:scale(.72)}.city-smoke i:nth-child(5){animation-delay:-1.1s;inset-inline-start:90%;transform:scale(.9)}.city-smoke i:nth-child(6){animation-delay:-.2s;inset-inline-start:42%;transform:scale(1.25)}.city-smoke i:nth-child(7){animation-delay:-1.8s;inset-inline-start:67%;transform:scale(.68)}.neon-city.damage-1 .city-smoke i:first-child,.neon-city.damage-2 .city-smoke i:nth-child(-n+3),.neon-city.damage-3 .city-smoke i:nth-child(-n+5),.neon-city.damage-4 .city-smoke i,.neon-city.damage-5 .city-smoke i{opacity:.72}.city-rubble{z-index:9;pointer-events:none;height:28px;position:absolute;inset:auto 0 -2px;overflow:hidden}.city-rubble i{inset:auto auto -10px calc(var(--rubble-x,50) * 1%);width:var(--rubble-size,13px);height:var(--rubble-size,13px);opacity:0;transform:rotate(var(--rubble-turn,18deg));background:linear-gradient(135deg,#27304f,#0c1020);border:1px solid #5acee259;transition:opacity .4s,inset-block-end .6s;position:absolute}.city-rubble i:first-child{--rubble-x:8;--rubble-size:18px;--rubble-turn:31deg}.city-rubble i:nth-child(2){--rubble-x:16;--rubble-size:11px;--rubble-turn:-14deg}.city-rubble i:nth-child(3){--rubble-x:24;--rubble-size:22px;--rubble-turn:8deg}.city-rubble i:nth-child(4){--rubble-x:34;--rubble-size:14px;--rubble-turn:43deg}.city-rubble i:nth-child(5){--rubble-x:43;--rubble-size:20px;--rubble-turn:-23deg}.city-rubble i:nth-child(6){--rubble-x:51;--rubble-size:12px;--rubble-turn:17deg}.city-rubble i:nth-child(7){--rubble-x:59;--rubble-size:19px;--rubble-turn:36deg}.city-rubble i:nth-child(8){--rubble-x:68;--rubble-size:15px;--rubble-turn:-31deg}.city-rubble i:nth-child(9){--rubble-x:76;--rubble-size:22px;--rubble-turn:12deg}.city-rubble i:nth-child(10){--rubble-x:83;--rubble-size:13px;--rubble-turn:48deg}.city-rubble i:nth-child(11){--rubble-x:90;--rubble-size:18px;--rubble-turn:-8deg}.city-rubble i:nth-child(12){--rubble-x:95;--rubble-size:10px;--rubble-turn:24deg}.neon-city.damage-3 .city-rubble i:nth-child(-n+4),.neon-city.damage-4 .city-rubble i:nth-child(-n+8),.neon-city.damage-5 .city-rubble i{opacity:.95;inset-block-end:0}.city-core{background:#ff56c2;border:2px solid #fff;width:26px;height:26px;animation:1.3s ease-in-out infinite city-core-pulse;position:absolute;inset:auto 50% 5px auto;transform:translate(50%)rotate(45deg);box-shadow:0 0 0 6px #ff56c22e,0 0 24px #ff56c2}.city-core i{border:1px solid #fff;position:absolute;inset:5px}.neon-city.damage-3 .city-core{animation-duration:.55s;box-shadow:0 0 0 6px #ff56c21f,0 0 16px #ff315b}.neon-city.damage-4 .city-core{background:#ff385e;animation-duration:.28s}.neon-city.damage-5 .city-core{background:#201328;animation:.42s steps(2,end) infinite city-core-fail;box-shadow:0 0 18px #ff315b}.word-rain-board .sea-water{z-index:5;background:linear-gradient(#2acfe5ad,#123577ed);border-block-start:2px solid #71f4ff;height:11%;box-shadow:0 -8px 20px #42e5ff2e}.word-rain-board .sea-water i{opacity:.64;background:#2bcfe5}.word-rain-board .sea-water b{color:#dcfdff;text-shadow:0 0 7px #69f5ff;font-size:10px;top:18px}.capture-burst{z-index:24;color:#fff;width:8px;height:8px;text-shadow:none;animation:none}.capture-burst:before,.capture-burst:after{content:"";border:2px solid #f4ff6a;border-radius:50%;width:76px;height:76px;animation:.7s ease-out both blast-ring;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.capture-burst:after{border-color:#67f7ff;width:40px;height:40px;animation-delay:80ms}.blast-core{z-index:3;background:radial-gradient(circle,#fff 0 13%,#f6ff77 14% 27%,#ff9d31 28% 48%,#ff376e 49% 66%,#0000 68%);border-radius:50%;width:62px;height:62px;animation:.82s ease-out both aerial-detonation;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 28px #ff6b38,0 0 55px #ff438ec2}.blast-smoke{z-index:1;width:1px;height:1px;position:absolute;inset:50% auto auto 50%}.blast-smoke i{filter:blur(.4px);background:radial-gradient(circle at 38% 34%,#d5d6df,#5e5d72 58%,#0000 70%);border-radius:50%;width:32px;height:32px;animation:.9s ease-out both aerial-smoke;position:absolute}.blast-smoke i:first-child{--smoke-x:-52px;--smoke-y:-31px}.blast-smoke i:nth-child(2){--smoke-x:28px;--smoke-y:-44px;animation-delay:40ms}.blast-smoke i:nth-child(3){--smoke-x:-37px;--smoke-y:21px;animation-delay:80ms}.blast-smoke i:nth-child(4){--smoke-x:35px;--smoke-y:18px;animation-delay:.12s}.missile-shards{z-index:4;width:1px;height:1px;position:absolute;inset:50% auto auto 50%}.missile-shards i{--shard-angle:calc(var(--shard-index) * 77deg - 45deg);color:#fff;text-shadow:0 0 8px #75f7ff,2px 2px #161226;font:950 17px/1 ui-monospace,SFMono-Regular,Consolas,monospace;animation:.76s cubic-bezier(.12,.62,.2,1) both missile-shard-fly;position:absolute}.capture-burst>i{transform-origin:50% 0;background:linear-gradient(#fff,#ff5ec7,#0000);width:6px;height:30px;animation:.65s ease-out both blast-ray;position:absolute}.capture-burst>i:nth-child(2){transform:rotate(60deg)}.capture-burst>i:nth-child(3){transform:rotate(120deg)}.capture-burst>i:nth-child(4){transform:rotate(180deg)}.capture-burst>i:nth-child(5){transform:rotate(240deg)}.capture-burst>i:nth-child(6){transform:rotate(300deg)}.capture-burst strong,.capture-burst>b,.capture-burst>em{width:max-content;position:absolute;inset-inline-start:50%;transform:translate(-50%)}.capture-burst strong{color:#f4ff6a;letter-spacing:.08em;text-shadow:2px 2px #151326,0 0 12px #f4ff6a;font:950 17px/1 ui-monospace,SFMono-Regular,Consolas,monospace;animation:.75s ease-out both blast-copy;inset-block-start:-42px}.capture-burst>b{color:#fff;text-shadow:1px 1px #151326;font:950 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;animation:.75s ease-out 50ms both blast-copy;inset-block-start:-18px}.capture-burst>em{color:#ff72d0;letter-spacing:.08em;font:950 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;animation:.75s ease-out .1s both blast-copy;inset-block-start:4px}.mission-curtain,.wave-clear-curtain{z-index:30;color:#fff;text-align:center;align-content:center;place-items:center;display:grid;position:absolute;inset:0}.mission-briefing{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#0c0a27e0,#080b1ff0),repeating-linear-gradient(90deg,#0000 0 28px,#67f7ff14 29px 30px);gap:15px;padding:34px;animation:.45s both mission-boot}.mission-emblem{background:#72f6ff14;border:2px solid #72f6ff;place-items:center;width:74px;height:74px;display:grid;transform:rotate(45deg);box-shadow:0 0 0 7px #72f6ff12,0 0 28px #72f6ff4d}.mission-emblem span{color:#f5ff6d;text-shadow:0 0 14px #f5ff6d;font-size:32px;font-weight:950;transform:rotate(-45deg)}.mission-briefing>small{color:#73f7ff;letter-spacing:.15em;font-size:12px;font-weight:950}.mission-briefing h3{letter-spacing:-.045em;text-shadow:3px 3px #6427c9;margin:0;font-size:clamp(25px,4vw,42px)}.game-demo .mission-briefing>p{color:#fff;text-shadow:0 1px 8px #0000008c;max-width:640px;margin:0;font-size:clamp(18px,1.65vw,21px);font-weight:800;line-height:1.6}.mission-rules{gap:8px;margin-block:4px;display:flex}.mission-rules span{color:#d5ddff;background:#6ef5ff0f;border:1px solid #6ef5ff52;border-radius:5px;align-items:center;gap:5px;padding:9px 12px;font:900 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.mission-rules b{color:#ff69c9}.mission-start{color:#f4ff6a;letter-spacing:.08em;align-items:center;gap:9px;margin-block-start:5px;font:950 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace;animation:.8s steps(2,end) infinite mission-start-pulse;display:flex}.mission-start kbd,.mission-console-head kbd{color:inherit;font:inherit;background:#ffffff14;border:1px solid;border-radius:4px;padding:5px 8px;box-shadow:2px 2px}.wave-clear-curtain{pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a25e0;border:1px solid #6af7ffcc;border-radius:8px;gap:5px;width:min(470px,100% - 28px);padding:12px 18px;animation:1.4s both wave-clear-flash;inset:102px auto auto 50%;transform:translate(-50%);box-shadow:0 0 24px #6af7ff40,4px 4px #080617cc}.wave-clear-curtain small{color:#6af7ff;letter-spacing:.18em;font-size:10px;font-weight:950}.wave-clear-curtain b{color:#f4ff6a;text-shadow:3px 3px #6a27ca,0 0 20px #f4ff6a66;font:950 clamp(23px,3.5vw,38px)/1 ui-monospace,SFMono-Regular,Consolas,monospace}.wave-clear-curtain span{color:#fff;letter-spacing:.05em;font-size:11px;font-weight:850}.word-rain-arena{flex-direction:column;gap:10px;min-width:0;display:flex}.word-rain-arena>.word-rain-board{flex:auto}.word-rain-hud{flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;display:flex}.word-rain-hud>.word-rain-level,.word-rain-hud>.mission-hud,.word-rain-hud>.word-rain-lives,.word-rain-hud>.threat-alert{margin:0;position:static;inset:auto;transform:none}.word-rain-hud>.mission-hud{flex:200px;align-content:center;min-width:0}.word-rain-hud>.word-rain-level,.word-rain-hud>.word-rain-lives{flex:none;align-content:center}.word-rain-hud>.threat-alert{flex:100%;justify-content:center}@media (min-width:720px){.word-rain-hud>.threat-alert{flex:0 auto}}@media (max-width:719px){.word-rain-hud{gap:6px}.word-rain-hud>.word-rain-level{order:1}.word-rain-hud>.word-rain-lives{order:2}.word-rain-hud>.mission-hud{order:3}.word-rain-hud>.threat-alert{order:4}.word-rain-hud>.word-rain-level,.word-rain-hud>.word-rain-lives{flex:calc(50% - 3px);min-width:0}.word-rain-hud>.mission-hud{flex:100%;min-width:0;padding-block:7px}}.word-rain-game.has-shock .word-rain-board{animation:.58s both city-impact}.word-rain-game.has-shock .retro-scanlines{opacity:.6;background-color:#ff286038}.word-rain-game.is-critical .word-rain-board{box-shadow:inset 0 0 0 2px #ff3d676b,inset 0 0 110px #8e052542,6px 6px #080715,0 0 44px #ff376447}.word-rain-game.is-game-over .word-rain-board{filter:saturate(.72)}.word-rain-game.combo-hot .word-rain-board{box-shadow:inset 0 0 0 2px #f4ff6a4d,inset 0 0 90px #0006,6px 6px #080715,0 0 42px #f4ff6a40}.word-rain-console{color:#fff;background:linear-gradient(145deg,#ffffff0a,#0000 42%),#211c3a;border:1px solid #615a93;border-radius:18px;padding:clamp(18px,2.4vw,28px);position:relative;box-shadow:inset 0 0 0 2px #ffffff06,4px 4px #0b0917}.mission-console-head{border-block-end:1px solid #8177b56b;justify-content:space-between;align-items:center;gap:8px;margin-block-end:15px;padding-block-end:11px;display:flex}.mission-console-head>span{color:#78f7ff;letter-spacing:.12em;font:950 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.mission-console-head>span i{background:#dfff67;border-radius:50%;width:7px;height:7px;margin-inline-end:5px;animation:1s steps(2,end) infinite console-led;display:inline-block;box-shadow:0 0 9px #dfff67}.game-audio-toggle{color:#8f8ba9;cursor:pointer;background:#17142c;border:1px solid #716995;border-radius:5px;align-items:center;gap:5px;padding:7px 9px;font:850 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex}.game-audio-toggle.is-on{color:#ff78d2;border-color:#ff65c8;box-shadow:0 0 10px #ff65c824}.game-audio-toggle>b{font-size:12px}.game-audio-toggle kbd{box-shadow:none;padding:2px 4px}.word-rain-console .game-scorebar{gap:6px;margin-block-end:19px}.word-rain-console .game-scorebar span{color:#d0cde2;background:#17142c;border-color:#5f588a;border-radius:6px;font-size:10px}.word-rain-console .game-scorebar b{color:#f2ff69;text-shadow:0 0 8px #f2ff6942;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:21px}.word-rain-console .wave-progress{background:#111022;border-color:#635b8f}.word-rain-console .wave-progress>span{background:linear-gradient(90deg,#55ebff,#8d63ff,#ff5ec7);box-shadow:0 0 10px #7b69ff}.word-rain-console .wave-progress small{color:#fff;font-size:9px}.word-rain-console .demo-label{color:#ff6ccc}.word-rain-console h3{color:#fff}.word-rain-console .demo-label{font-size:11px}.word-rain-console h3{font-size:clamp(24px,3vw,36px);line-height:1.2}.game-demo .word-rain-console p:not(.demo-label,.form-message){color:#f0eefb;font-size:16px;font-weight:700;line-height:1.65}.word-rain-console label{color:#77f5ff;letter-spacing:.05em;font-size:14px}.word-rain-console .inline-form{position:relative}.word-rain-console .inline-form input{color:#f7ff74;caret-color:#ff6ccc;background:#0f1025;border-color:#6af5ff;border-radius:7px;font:950 20px/1 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:inset 0 0 0 2px #6af5ff14,0 0 18px #6af5ff14}.word-rain-console .inline-form input:focus{outline-offset:2px;outline:2px solid #ff6ccc;box-shadow:inset 0 0 0 2px #ff6ccc1f,0 0 22px #ff6ccc2e}.word-rain-console .inline-form .button{color:#17142c;background:#f1ff67;border-color:#0b0917;border-radius:7px;box-shadow:4px 4px #ff5ec7}.word-rain-console .form-message{color:#c7c4da;min-height:36px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}.word-rain-console .form-message.error{color:#ff7798}.word-rain-console .game-key-help>span{color:#aba7c3}.word-rain-console .game-key-help kbd{color:#72f6ff;background:#151229;border-color:#6d668f;box-shadow:1px 1px #070610}@keyframes pixel-twinkle{50%{opacity:.18;transform:scale(.55)}}@keyframes target-lock{50%{filter:brightness(1.22)}}@keyframes threat-pulse{50%{filter:brightness(1.35);transform:translate(-50%)scale(1.035)}}@keyframes impact-alert{50%{filter:brightness(1.35);background:#7e0825c7;transform:translate(-2px)}}@keyframes city-fire{0%{filter:drop-shadow(0 0 5px #ff4f5d);transform:scale(.8)rotate(-4deg)}to{filter:drop-shadow(0 0 12px #ff9a36);transform:scale(1.14)rotate(5deg)}}@keyframes city-core-pulse{50%{transform:translate(50%)rotate(45deg)scale(1.08);box-shadow:0 0 0 11px #ff56c20f,0 0 36px #ff56c2}}@keyframes city-core-fail{50%{opacity:.28;transform:translate(50%)rotate(48deg)scale(.78)}}@keyframes blast-ring{0%{opacity:1;transform:translate(-50%,-50%)scale(.1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@keyframes aerial-detonation{0%{opacity:0;filter:brightness(2.4);transform:translate(-50%,-50%)scale(.08)}12%{opacity:1;filter:brightness(1.55);transform:translate(-50%,-50%)scale(1.45)}68%{opacity:.9;transform:translate(-50%,-50%)scale(.9)}to{opacity:0;filter:blur(3px);transform:translate(-50%,-50%)scale(1.24)}}@keyframes aerial-smoke{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}24%{opacity:.85}to{opacity:0;transform:translate(var(--smoke-x), var(--smoke-y)) scale(1.45);filter:blur(4px)}}@keyframes missile-shard-fly{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(calc(cos(var(--shard-angle)) * 74px), calc(sin(var(--shard-angle)) * 74px)) rotate(320deg) scale(.75)}}@keyframes blast-ray{0%{opacity:1}to{opacity:0;height:66px}}@keyframes blast-copy{0%{opacity:0;transform:translate(-50%,8px)scale(.7)}25%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,-34px)scale(.92)}}@keyframes mission-boot{0%{opacity:0;filter:blur(8px)}}@keyframes mission-start-pulse{50%{opacity:.45}}@keyframes missile-trail{0%{opacity:.46;transform:translate(-50%)scaleY(.8)}to{opacity:1;transform:translate(-50%)scaleY(1.14)}}@keyframes missile-flame{50%{filter:hue-rotate(14deg)brightness(1.3);height:16px;transform:scaleX(.72)}}@keyframes city-smoke-rise{0%{filter:blur(1px);translate:0 8px;scale:.45}55%{filter:blur(2px);translate:-7px -38px;scale:1}to{filter:blur(5px);opacity:0;translate:10px -76px;scale:1.45}}@keyframes wave-clear-flash{0%{opacity:0;background:#fffffff0;translate:0 -10px}12%,82%{opacity:1}to{opacity:0;translate:0 -18px}}@keyframes city-impact{0%,to{filter:none;transform:translate(0)}15%{filter:saturate(1.8);transform:translate(-8px,3px)}30%{transform:translate(7px,-2px)}48%{transform:translate(-5px,1px)}68%{transform:translate(3px)}}@keyframes console-led{50%{opacity:.35}}.game-key-help{flex-wrap:wrap;gap:7px;margin-block-start:10px;display:flex}.game-key-help>span{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:850;display:flex}.game-key-help kbd{border:1px solid var(--edge);background:var(--paper);box-shadow:1px 1px 0 var(--shadow-ink);color:var(--ink);font:inherit;border-radius:5px;padding:3px 6px;font-size:10px}.form-message.error{color:#a3173e}.progressive-puzzle{border:3px solid var(--edge);background:radial-gradient(circle at 88% 8%, var(--yellow) 0 6%, transparent 6.2%), linear-gradient(145deg, #fffdf2, #f1edff);width:min(880px,100%);box-shadow:8px 8px 0 var(--shadow-ink);border-radius:28px;padding:clamp(22px,4vw,42px);position:relative;overflow:hidden}.puzzle-head>div{gap:6px;display:flex}.puzzle-head>div span{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:850}.puzzle-head>div b{color:var(--purple);font-size:12px}.missing-level-track{grid-template-columns:repeat(5,1fr);gap:8px;width:min(430px,100%);margin:24px auto 30px;display:grid;position:relative}.missing-level-track:before{z-index:0;content:"";background:#d6d4ca;border-radius:99px;height:5px;position:absolute;inset:50% 8% auto;transform:translateY(-50%)}.missing-level-track>span{z-index:2;border:2px solid var(--edge);background:#dedcd2;border-radius:50%;justify-self:center;place-items:center;width:36px;height:36px;font-size:11px;font-weight:950;display:grid;position:relative}.missing-level-track>span.current{background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);transform:scale(1.1)}.missing-level-track>span.done{background:var(--lime)}.missing-level-track>i{z-index:1;background:var(--purple);border-radius:99px;max-width:84%;height:5px;transition:width .35s;position:absolute;inset:calc(50% - 2.5px) auto auto 8%}.missing-prompt small{color:var(--purple);letter-spacing:.12em;font-size:9px;font-weight:950}.missing-prompt h3{margin:5px 0 0;font-size:clamp(24px,4vw,38px)}.missing-word{align-items:center;margin-block:26px 20px}.missing-word b{min-width:.85em}.missing-word span{width:94px;height:94px;box-shadow:inset 0 0 0 4px #ffffff8f, 5px 5px 0 var(--purple);background:#eee8ff;border-style:solid;animation:1s ease-in-out infinite alternate missing-cell-pulse}.missing-word span.correct{background:var(--lime);border-color:#557800;animation:.42s both success-pop}.missing-input-label{color:var(--muted);margin-block-end:7px;font-size:9px;font-weight:900;display:block}#missing-letter-input{clip:rect(0 0 0 0);clip-path:inset(50%);border:0;width:1px;height:1px;position:absolute;overflow:hidden}.answer-options button{border-radius:15px;grid-template-columns:auto 1fr;place-items:center;width:76px;height:68px;padding:8px;font-size:25px;display:grid}.answer-options button kbd{border:1px solid var(--line);color:var(--muted);font:inherit;border-radius:4px;align-self:start;padding:2px 4px;font-size:7px}.number-finger-guide{border:1.5px solid var(--purple);width:min(430px,100%);margin:0 auto 14px;padding:11px 14px}@supports (color:color-mix(in lab, red, red)){.number-finger-guide{border:1.5px solid color-mix(in srgb, var(--purple) 58%, var(--line))}}.number-finger-guide{background:var(--purple);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.number-finger-guide{background:color-mix(in srgb, var(--purple) 7%, white)}}.number-finger-guide>p{color:var(--ink);margin:0 0 8px;font-size:11px;font-weight:950}.number-finger-guide>div{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.number-finger-guide>div>span{border:1px solid var(--line);text-align:start;background:#fff;border-radius:10px;grid-template-columns:auto auto 1fr;align-items:center;gap:6px;padding:7px 9px;display:grid}.number-finger-guide kbd{border:1.5px solid var(--edge);background:var(--yellow);width:25px;height:25px;box-shadow:2px 2px 0 var(--shadow-ink);border-radius:6px;place-items:center;font:950 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.number-finger-guide b{font-size:9px}.number-finger-guide small{color:var(--muted);margin-block-start:8px;font-size:9px;font-weight:800;display:block}.finger-tip{background:currentColor;border:2px solid;border-radius:999px 999px 8px 8px;width:11px;height:16px;display:block}@supports (color:color-mix(in lab, red, red)){.finger-tip{background:color-mix(in srgb, currentColor 22%, white)}}.finger-tip{box-shadow:0 0 0 3px}@supports (color:color-mix(in lab, red, red)){.finger-tip{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 9%, transparent)}}.finger-tip.pinky{color:#e4437f}.finger-tip.ring{color:#7053d7;height:19px}.finger-tip.middle{color:#1584a0;height:22px}.missing-level-up{z-index:10;color:#fff;background:#5b3ecbed;align-content:center;place-items:center;animation:1.45s both level-curtain;display:grid;position:absolute;inset:0}.missing-level-up span{letter-spacing:.2em;font-size:13px;font-weight:950}.missing-level-up b{letter-spacing:-.07em;text-shadow:5px 5px 0 var(--shadow-ink);font-size:clamp(44px,9vw,86px)}.missing-level-up small{margin-block-start:8px;font-size:11px;font-weight:850}.crossword-board-heading>div{align-items:center;gap:7px;display:flex}.crossword-board-heading small{color:var(--muted);font-size:10px}.crossword-grid{position:relative}.crossword-cell input,.crossword-cell strong{font-size:clamp(14px,2.6vw,25px)}.crossword-cell small{font-size:7px;inset-block-start:2px;inset-inline-start:3px}.crossword-clues{scrollbar-color:var(--purple) transparent;max-height:290px;padding:2px 5px 8px 2px;overflow:auto}.crossword-clues button.solved{background:#f0ffc9;border-color:#6b9200}.crossword-clues button.solved>b{background:#6b9200}.active-clue-banner{border:2px solid var(--edge);background:var(--yellow);box-shadow:3px 3px 0 var(--shadow-ink);border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-block:12px;padding:12px;display:grid}.active-clue-banner>span{background:var(--ink);color:#fff;border-radius:9px;place-items:center;min-width:46px;height:42px;font-size:14px;font-weight:950;display:grid}.active-clue-banner div{gap:2px;display:grid}.active-clue-banner small{letter-spacing:.12em;font-size:7px;font-weight:950}.active-clue-banner b{font-size:11px}.active-clue-banner em{color:var(--muted);font-size:8px;font-style:normal;font-weight:900}.crossword-complete-stamp{z-index:20;color:#355500;pointer-events:none;background:#efffc6e6;border:6px double #4c7200;border-radius:14px;align-content:center;place-items:center;width:150px;height:90px;animation:.5s cubic-bezier(.2,1.6,.4,1) both stamp-in;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(-8deg)}.crossword-complete-stamp span{letter-spacing:.2em;font-size:9px;font-weight:950}.crossword-complete-stamp b{font-size:27px}.crossword-key-help{margin-block-start:14px}@keyframes coach-arrive{0%{opacity:0;transform:translateY(-5px)}}@keyframes practice-stage-expand{0%{opacity:.72;transform:translate(40px)scale(.96)}}@keyframes keyboard-deck-arrive{0%{opacity:.45;transform:translateY(24px)scale(.95)}}@keyframes whole-hand-react{50%{transform:translateY(3px)scale(.995)}}@keyframes finger-callout-beat{to{box-shadow:5px 5px 0 var(--shadow-ink), 0 0 0 7px #ff4d831f;transform:translateY(-2px)}}@keyframes card-mastered-glow{to{box-shadow:10px 8px 0 var(--shadow-ink), 0 0 0 8px #c7ff424d, 0 22px 74px #5b3ecb3d}}@keyframes mastery-arrive{0%{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes mastery-rays{to{transform:rotate(360deg)}}@keyframes badge-beat{to{transform:rotate(4deg)scale(1.04)}}@keyframes aurora-drift{to{transform:translate(28%,12%)scale(1.2)}}@keyframes heart-beat{50%{transform:scale(1.18)}}@keyframes curtain-in{0%{opacity:0}}@keyframes missing-cell-pulse{to{box-shadow:inset 0 0 0 4px #ffffff8f, 7px 8px 0 var(--purple);transform:translateY(-3px)}}@keyframes level-curtain{0%,to{opacity:0}15%,80%{opacity:1}}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(-18deg)}}@media (max-width:900px){.hero.practice-focus-mode{grid-template-columns:1fr}.practice-focus-mode .hero-copy{justify-content:space-between;align-items:center;gap:10px;max-height:92px;display:flex;position:static;transform:none}.practice-focus-mode .eyebrow{margin:0}.practice-focus-mode .hero-actions .button-primary{grid-template-columns:auto auto;width:auto;min-height:48px;padding:8px 12px}.practice-focus-mode .hero-actions .button-primary .hero-focus-label{max-width:none}.mastery-choice-card{grid-template-columns:auto 1fr}.mastery-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.word-rain-board{min-height:430px}}@media (max-width:540px){.practice-track-picker{flex-wrap:wrap}.practice-track-picker>span{width:100%}.mastery-choice-card{text-align:center;grid-template-columns:1fr}.mastery-burst{margin-inline:auto}.mastery-actions{grid-template-columns:1fr}.mastery-metrics{justify-content:center}.mastery-target-line{grid-template-columns:1fr auto}.mastery-target-line>em{grid-column:1/-1;justify-self:start}.progressive-puzzle{border-radius:20px;padding:20px 14px}.puzzle-head>div{flex-wrap:wrap;justify-content:center}.answer-options{gap:7px}.answer-options button{width:68px;height:62px}.crossword-grid{width:min(94vw,420px)}.crossword-clues{max-height:none}.active-clue-banner{grid-template-columns:auto 1fr}.active-clue-banner em{grid-column:2}.mission-briefing{gap:10px;padding:20px 16px}.mission-emblem{width:56px;height:56px}.mission-emblem span{font-size:26px}.game-demo .mission-briefing>p{font-size:14px;line-height:1.5}.mission-rules{flex-wrap:wrap;justify-content:center}.mission-rules span{padding:8px 9px;font-size:10px}.mission-start{font-size:10px}.mission-hud{min-width:190px;padding:8px 12px;inset-block-start:72px}.mission-hud small{font-size:9px}.mission-hud b{font-size:12px}.neon-city{height:126px}.rain-word{min-width:80px;padding:10px 11px 13px}}.profile-detail-grid{grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);gap:14px;margin-block-start:14px;display:grid}.mastery-map-card{background:linear-gradient(145deg,#fffef7,#f2f0ff)}.mastery-map-list{gap:8px;margin-block-start:22px;display:grid}.mastery-map-list>div{border:1.5px solid var(--line);background:#ffffffad;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;transition:transform .2s,box-shadow .2s,opacity .2s;display:grid}.mastery-map-list>div.current{border:2px solid var(--edge);box-shadow:3px 3px 0 var(--shadow-ink);background:#fff6af;transform:translate(3px)}.mastery-map-list>div.locked{opacity:.48}.mastery-map-list>div.done{background:#f2ffcf}.mastery-map-number{border:1.5px solid var(--edge);background:var(--paper);border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:950;display:grid}.mastery-map-list .done .mastery-map-number{background:var(--lime)}.mastery-map-list>div>div{grid-template-columns:1fr auto;gap:3px 8px;display:grid}.mastery-map-list b{font-size:12px}.mastery-map-list small{color:var(--muted);grid-column:1/-1;font-size:8px;font-weight:750}.mastery-map-list i{background:#dedcd2;border-radius:99px;grid-column:1/-1;height:6px;overflow:hidden}.mastery-map-list i span{border-radius:inherit;background:linear-gradient(90deg, var(--purple), var(--pink));height:100%;display:block}.mastery-map-list em{color:var(--purple);font-size:10px;font-style:normal;font-weight:950}.insight-card{background:radial-gradient(circle at 88% 12%,#ffffff8c,#0000 22%),linear-gradient(145deg,#8bf0e8,#c7ff42);overflow:hidden}.accuracy-dial{border:3px solid var(--edge);background:conic-gradient(var(--purple) calc(var(--accuracy) * 1%), #ffffff85 0);width:168px;height:168px;box-shadow:7px 7px 0 var(--shadow-ink);border-radius:50%;place-items:center;margin:24px auto;animation:.7s cubic-bezier(.2,1.4,.4,1) both profile-dial-arrive;display:grid;position:relative;transform:rotate(-3deg)}.accuracy-dial:before{border:2px solid var(--edge);content:"";background:#f8fff1;border-radius:50%;width:126px;height:126px;position:absolute}.accuracy-dial>span{z-index:1;text-align:center;display:grid;position:relative}.accuracy-dial b{letter-spacing:-.06em;font-size:36px}.accuracy-dial small{color:var(--muted);font-size:8px;font-weight:850}.insight-status{gap:7px;display:grid}.insight-status>span{background:#ffffff7a;border:1px solid #15151540;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.insight-status small{letter-spacing:.08em;font-size:7px;font-weight:950}.insight-status b{text-align:end;font-size:10px}.insight-card .button{width:100%;margin-block-start:14px}@keyframes profile-dial-arrive{0%{opacity:0;transform:rotate(-40deg)scale(.7)}}@media (max-width:900px){.profile-detail-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.capture-burst:before,.capture-burst:after{opacity:.72;transform:translate(-50%,-50%)scale(1.08);animation:none!important}.capture-burst .blast-core{opacity:.94;filter:none;transform:translate(-50%,-50%)scale(.94);animation:none!important}.capture-burst .blast-smoke i{opacity:.38;transform:translate(var(--smoke-x), var(--smoke-y)) scale(.78);animation:none!important}.capture-burst .missile-shards i,.capture-burst strong,.capture-burst>b,.capture-burst>em{opacity:1;animation:none!important}}.social-share-cluster{border:2px solid var(--edge);background:var(--paper);max-width:640px;box-shadow:4px 4px 0 var(--shadow-ink);border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:14px 28px;display:flex;width:fit-content!important;margin:32px auto 24px!important}.social-share-title{color:var(--ink);letter-spacing:-.01em;font-size:13px;font-weight:800}.social-share-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.social-btn{border:1.5px solid var(--edge);color:#1e293b;cursor:pointer;box-shadow:2px 2px 0 var(--shadow-ink);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:750;transition:transform .15s cubic-bezier(.2,1,.4,1),box-shadow .15s,background-color .15s;display:inline-flex}.social-btn:hover{box-shadow:3px 3px 0 var(--shadow-ink);transform:translateY(-2px)}.social-btn:active{box-shadow:1px 1px 0 var(--shadow-ink);transform:translateY(0)}.social-btn.btn-x{color:#fff;background:#000}.social-btn.btn-facebook{color:#fff;background:#1877f2}.social-btn.btn-kakao{color:#000;background:#fee500}.social-btn.btn-line{color:#fff;background:#06c755}.social-btn.btn-reddit{color:#fff;background:#ff4500}.social-btn.btn-copy{color:#0f172a;background:#f1f5f9}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1117b8;place-items:center;padding:20px;animation:.2s cubic-bezier(.2,1,.4,1) modal-fade-in;display:grid;position:fixed;inset:0}.modal-content.keyboard-setup-modal{border:3px solid var(--edge);background:var(--paper);width:100%;max-width:620px;max-height:85vh;box-shadow:8px 8px 0 var(--shadow-ink);color:var(--ink);border-radius:24px;padding:24px;position:relative;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;margin-block-end:12px;display:flex}.modal-badge{background:var(--cyan);color:var(--ink);border-radius:6px;margin-block-end:6px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-block}.modal-header h2{margin:0;font-size:20px;font-weight:850}.modal-close-btn{border:2px solid var(--edge);cursor:pointer;background:#fff;border-radius:50%;width:32px;height:32px;font-weight:700}.modal-intro{color:#475569;margin-block-end:18px;font-size:13px;line-height:1.5}.os-tab-selector{flex-wrap:wrap;gap:8px;margin-block-end:18px;display:flex}.os-tab-selector button{border:2px solid var(--edge);cursor:pointer;box-shadow:2px 2px 0 var(--shadow-ink);background:#fff;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:750}.os-tab-selector button.active{background:var(--ink);color:#fff;box-shadow:none}.instruction-card{border:2px solid var(--edge);background:#fff;border-radius:16px;padding:16px}.instruction-card h3{color:#0f172a;margin-block-end:8px;font-size:14px;font-weight:800}.instruction-card p{color:#64748b;margin-block-end:10px;font-size:12px}.code-command-box{color:#38bdf8;background:#0f172a;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.code-command-box code{white-space:pre;overscroll-behavior-x:contain;font-family:monospace;font-size:12px;overflow-x:auto}.copy-cmd-btn{align-self:flex-end;padding:6px 12px;font-size:11px}.step-list{color:#334155;margin:0;padding-left:20px;font-size:12px;line-height:1.7}.modal-footer{border-top:1px dashed #cbd5e1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-block-start:20px;padding-block-start:14px;display:flex}.modal-footer .button{white-space:nowrap;flex:none}[dir=rtl] .hero{direction:rtl;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)!important;gap:clamp(18px,2.2vw,36px)!important;overflow:visible!important}[dir=rtl] .hero-copy{text-align:right;min-width:0;max-width:100%;overflow:hidden}[dir=rtl] .hero h1{text-align:right!important;direction:rtl!important;font-size:clamp(1.75rem,3.2vw,3rem)!important;line-height:1.28!important}[dir=rtl] .hero h1 span{white-space:nowrap!important;direction:rtl!important;display:inline-block!important}[dir=rtl] .headline-accent{max-width:100%;white-space:nowrap!important;word-break:keep-all!important;-webkit-box-decoration-break:clone!important;box-decoration-break:clone!important;direction:rtl!important;padding:0 16px 4px 6px!important;display:inline-block!important}[dir=rtl] .practice-stage{direction:ltr}.hero h1{text-wrap:balance;word-break:keep-all!important;overflow-wrap:normal!important;font-size:clamp(1.6rem,3vw,2.9rem)!important;line-height:1.3!important}.headline-accent{-webkit-box-decoration-break:clone!important;box-decoration-break:clone!important;border-radius:4px!important;padding:0 12px 4px 6px!important;display:inline-block!important}.shortcut-tip{color:#64748b;flex-wrap:wrap;flex:240px;align-items:center;gap:4px 10px;min-width:0;font-size:11px;display:flex}.shortcut-pair{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.footer-link-btn{color:inherit;font:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;text-decoration:underline;transition:opacity .2s,color .2s}.footer-link-btn:hover{opacity:1;color:#58a6ff}:where(html[data-theme=dark]) .speech-toggle-track{background:var(--surface-3)}:where(html[data-theme=dark]) .voice-picker>span:first-child{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .voice-picker>span:first-child{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .curriculum-progress li{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .curriculum-progress li{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .curriculum-progress li.done{color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .curriculum-progress li.done{color:color-mix(in srgb, var(--lime) 82%, white)}}:where(html[data-theme=dark]) .hero-description{color:var(--muted)}:where(html[data-theme=dark]) .target-sentence .incorrect{color:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .target-sentence .incorrect{color:color-mix(in srgb, var(--pink) 82%, white)}}:where(html[data-theme=dark]) .typing-feedback.complete,:where(html[data-theme=dark]) .form-message.success{color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .typing-feedback.complete,:where(html[data-theme=dark]) .form-message.success{color:color-mix(in srgb, var(--cyan) 82%, white)}}:where(html[data-theme=dark]) .lesson-evaluation.rejected{background:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .lesson-evaluation.rejected{background:color-mix(in srgb, var(--pink) 10%, var(--paper))}}:where(html[data-theme=dark]) .lesson-evaluation dl div{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .lesson-evaluation dl div{background:color-mix(in srgb, var(--paper) 68%, transparent)}}:where(html[data-theme=dark]) .inline-sound-control span{background:var(--surface-3)}:where(html[data-theme=dark]) .keyboard-row kbd small{color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .keyboard-row kbd small{color:color-mix(in srgb, var(--cyan) 82%, white)}}:where(html[data-theme=dark]) .hand-press-layer:after{background:linear-gradient(180deg, #ff4d8d94, var(--yellow))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .hand-press-layer:after{background:linear-gradient(180deg, #ff4d8d94, color-mix(in srgb, color-mix(in srgb, var(--yellow) 32%, var(--paper)) 48%, transparent))}}:where(html[data-theme=dark]) .practice-pause-banner{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .practice-pause-banner{background:color-mix(in srgb, color-mix(in srgb, var(--purple) 10%, var(--paper)) 96%, transparent)}}:where(html[data-theme=dark]) .activity-card.stripe{background:repeating-linear-gradient(130deg, var(--pink) 0 18px, var(--yellow) 18px 36px)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .activity-card.stripe{background:repeating-linear-gradient(130deg, color-mix(in srgb, var(--pink) 10%, var(--paper)) 0 18px, color-mix(in srgb, var(--yellow) 18%, var(--paper)) 18px 36px)}}:where(html[data-theme=dark]) .activity-card.sunset{background:linear-gradient(145deg, var(--yellow), var(--pink) 54%, var(--purple))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .activity-card.sunset{background:linear-gradient(145deg, color-mix(in srgb, var(--yellow) 14%, var(--paper)), color-mix(in srgb, var(--pink) 12%, var(--paper)) 54%, color-mix(in srgb, var(--purple) 11%, var(--paper)))}}:where(html[data-theme=dark]) .google-signin-status.error{color:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .google-signin-status.error{color:color-mix(in srgb, var(--pink) 82%, white)}}:where(html[data-theme=dark]) .analytics-cloudflare{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-cloudflare{color:color-mix(in srgb, var(--yellow) 82%, white)}}:where(html[data-theme=dark]) .analytics-cloudflare{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-cloudflare{background:color-mix(in srgb, var(--yellow) 32%, var(--paper))}}:where(html[data-theme=dark]) .analytics-clarity{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-clarity{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .analytics-clarity{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-clarity{background:color-mix(in srgb, var(--cyan) 32%, var(--paper))}:where(html[data-theme=dark]) .word-rain-board{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--paper) 95%, transparent) 0 3px, transparent 4px), linear-gradient(180deg, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 0%, color-mix(in srgb, var(--cyan) 13%, var(--paper)) 64%, color-mix(in srgb, var(--yellow) 15%, var(--paper)) 82%)}}:where(html[data-theme=dark]) .sky-cloud{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .sky-cloud{background:color-mix(in srgb, var(--paper) 72%, transparent)}}:where(html[data-theme=dark]) .rain-word small{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word small{color:color-mix(in srgb, var(--yellow) 82%, white)}}:where(html[data-theme=dark]) .sea-water{background:linear-gradient(180deg, var(--cyan), #286bce)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .sea-water{background:linear-gradient(180deg, color-mix(in srgb, var(--cyan) 32%, var(--paper)), #286bce)}}:where(html[data-theme=dark]) .sea-water i{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .sea-water i{background:color-mix(in srgb, var(--cyan) 32%, var(--paper))}}:where(html[data-theme=dark]) .game-scorebar span{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .game-scorebar span{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .word-rain-console input.input-error{background:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console input.input-error{background:color-mix(in srgb, var(--pink) 10%, var(--paper))}}:where(html[data-theme=dark]) .puzzle-progress{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .puzzle-progress{background:color-mix(in srgb, var(--yellow) 13%, var(--paper))}:where(html[data-theme=dark]) .missing-word span{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .crossword-block{background:radial-gradient(circle at 30% 30%, var(--paper) 0 2px, transparent 3px), #262623}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-block{background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--paper) 6%, transparent) 0 2px, transparent 3px), #262623}}:where(html[data-theme=dark]) .crossword-cell.active-word{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-cell.active-word{background:color-mix(in srgb, var(--yellow) 21%, var(--paper))}}:where(html[data-theme=dark]) .crossword-cell.wrong{background:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-cell.wrong{background:color-mix(in srgb, var(--pink) 11%, var(--paper))}}:where(html[data-theme=dark]) .crossword-status{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status{background:color-mix(in srgb, var(--paper) 58%, transparent)}}:where(html[data-theme=dark]) .crossword-status.incomplete{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.incomplete{background:color-mix(in srgb, var(--yellow) 14%, var(--paper))}}:where(html[data-theme=dark]) .crossword-status.incomplete{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.incomplete{color:color-mix(in srgb, var(--yellow) 82%, white)}}:where(html[data-theme=dark]) .crossword-status.wrong{background:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.wrong{background:color-mix(in srgb, var(--pink) 10%, var(--paper))}}:where(html[data-theme=dark]) .crossword-status.wrong{color:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.wrong{color:color-mix(in srgb, var(--pink) 82%, white)}}:where(html[data-theme=dark]) .crossword-status.solved{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.solved{background:color-mix(in srgb, var(--lime) 14%, var(--paper))}}:where(html[data-theme=dark]) .crossword-status.solved{color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.solved{color:color-mix(in srgb, var(--lime) 82%, white)}}:where(html[data-theme=dark]) .crossword-status.correct{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.correct{background:color-mix(in srgb, var(--lime) 14%, var(--paper))}}:where(html[data-theme=dark]) .crossword-status.correct{color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-status.correct{color:color-mix(in srgb, var(--lime) 82%, white)}}:where(html[data-theme=dark]) .crossword-word-entry input{background:var(--paper)}:where(html[data-theme=dark]) .crossword-word-entry.correct input{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-word-entry.correct input{background:color-mix(in srgb, var(--lime) 13%, var(--paper))}}:where(html[data-theme=dark]) .crossword-clues button{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-clues button{background:color-mix(in srgb, var(--paper) 68%, transparent)}}:where(html[data-theme=dark]) .crossword-clues button.active{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-clues button.active{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .kpop-passage blockquote{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .kpop-passage blockquote{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .kpop-live-card textarea{background:var(--paper)}:where(html[data-theme=dark]) .scene-result .complete{color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .scene-result .complete{color:color-mix(in srgb, var(--cyan) 82%, white)}}:where(html[data-theme=dark]) .travel-scene{background:radial-gradient(circle at 82% 18%, var(--lime) 0 54px, transparent 55px), linear-gradient(145deg, var(--yellow), var(--yellow) 52%, var(--cyan))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .travel-scene{background:radial-gradient(circle at 82% 18%, color-mix(in srgb, color-mix(in srgb, var(--lime) 32%, var(--paper)) 82%, transparent) 0 54px, transparent 55px), linear-gradient(145deg, color-mix(in srgb, var(--yellow) 23%, var(--paper)), color-mix(in srgb, var(--yellow) 22%, var(--paper)) 52%, color-mix(in srgb, var(--cyan) 28%, var(--paper)))}}:where(html[data-theme=dark]) .travel-scene>p{color:var(--muted)!important}:where(html[data-theme=dark]) .level-track li{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .level-track li{background:color-mix(in srgb, color-mix(in srgb, var(--yellow) 10%, var(--paper)) 70%, transparent)}}:where(html[data-theme=dark]) .level-track li.done{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .level-track li.done{background:color-mix(in srgb, var(--lime) 11%, var(--paper))}}:where(html[data-theme=dark]) .level-track li.current{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .level-track li.current{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .level-track li.reward{background:repeating-linear-gradient(130deg, var(--pink) 0 12px, var(--yellow) 12px 24px)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .level-track li.reward{background:repeating-linear-gradient(130deg, color-mix(in srgb, var(--pink) 10%, var(--paper)) 0 12px, color-mix(in srgb, var(--yellow) 18%, var(--paper)) 12px 24px)}}:where(html[data-theme=dark]) .legal-section>p,:where(html[data-theme=dark]) .legal-section li{color:var(--muted)}:where(html[data-theme=dark]) .launch-gate{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .launch-gate{background:color-mix(in srgb, var(--yellow) 17%, var(--paper))}}:where(html[data-theme=dark]) .launch-checklist span{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .launch-checklist span{background:color-mix(in srgb, var(--paper) 65%, transparent)}}:where(html[data-theme=dark]) .lesson-summary-row span{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .lesson-summary-row span{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .week-rhythm i{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .week-rhythm i{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .badge-list>div,:where(html[data-theme=dark]) .empty-reward{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .badge-list>div,:where(html[data-theme=dark]) .empty-reward{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .admin-audio-hint{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .admin-audio-hint{background:color-mix(in srgb, var(--cyan) 10%, var(--paper))}}:where(html[data-theme=dark]) .admin-audio-hint{color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .admin-audio-hint{color:color-mix(in srgb, var(--cyan) 82%, white)}}:where(html[data-theme=dark]) .publish-control.ready{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .publish-control.ready{background:color-mix(in srgb, var(--lime) 16%, var(--paper))}}:where(html[data-theme=dark]) .publish-control.blocked{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .publish-control.blocked{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .admin-item-list article{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .admin-item-list article{background:color-mix(in srgb, var(--yellow) 10%, var(--paper))}}:where(html[data-theme=dark]) .admin-item-list article.selected{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .admin-item-list article.selected{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .admin-item-main em.draft{background:var(--surface-3)}:where(html[data-theme=dark]) .admin-delete{color:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .admin-delete{color:color-mix(in srgb, var(--pink) 82%, white)}}:where(html[data-theme=dark]) .practice-coach-message{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .practice-coach-message{background:color-mix(in srgb, var(--yellow) 14%, var(--paper))}}:where(html[data-theme=dark]) .practice-coach-message{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .practice-coach-message{color:color-mix(in srgb, var(--yellow) 82%, white)}}:where(html[data-theme=dark]) .mastery-choice-card:after{background:conic-gradient(from 45deg, transparent 0 9%, var(--paper) 9% 11%, transparent 11% 24%)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-choice-card:after{background:conic-gradient(from 45deg, transparent 0 9%, color-mix(in srgb, var(--paper) 35%, transparent) 9% 11%, transparent 11% 24%)}}:where(html[data-theme=dark]) .mastery-copy p{color:var(--muted)}:where(html[data-theme=dark]) .mastery-metrics span{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-metrics span{background:color-mix(in srgb, var(--paper) 50%, transparent)}}:where(html[data-theme=dark]) .mastery-actions kbd,:where(html[data-theme=dark]) .word-rain-console .button kbd,:where(html[data-theme=dark]) .crossword-actions kbd{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-actions kbd,:where(html[data-theme=dark]) .word-rain-console .button kbd,:where(html[data-theme=dark]) .crossword-actions kbd{background:color-mix(in srgb, var(--paper) 14%, transparent)}:where(html[data-theme=dark]) .word-rain-board{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--paper) 95%, transparent) 0 2px, transparent 3px), radial-gradient(circle at 76% 10%, color-mix(in srgb, var(--paper) 70%, transparent) 0 1px, transparent 2px), linear-gradient(180deg, #604ccc 0%, #736bdc 24%, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 63%, color-mix(in srgb, var(--yellow) 23%, var(--paper)) 83%)}}:where(html[data-theme=dark]) .word-rain-level{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-level{background:color-mix(in srgb, var(--paper) 82%, transparent)}}:where(html[data-theme=dark]) .word-rain-lives{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-lives{background:color-mix(in srgb, var(--paper) 82%, transparent)}:where(html[data-theme=dark]) .rain-word{background:color-mix(in srgb, var(--yellow) 14%, var(--paper))}}:where(html[data-theme=dark]) .rain-word>i{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word>i{background:color-mix(in srgb, var(--paper) 50%, transparent)}}:where(html[data-theme=dark]) .game-curtain kbd{background:var(--paper)}:where(html[data-theme=dark]) .wave-progress{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .wave-progress{background:color-mix(in srgb, var(--yellow) 13%, var(--paper))}}:where(html[data-theme=dark]) .word-rain-game{background:linear-gradient(135deg, var(--paper) 25%, transparent 25%) 0 0 / 18px 18px, #17142c}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-game{background:linear-gradient(135deg, color-mix(in srgb, var(--paper) 4%, transparent) 25%, transparent 25%) 0 0 / 18px 18px, #17142c}}:where(html[data-theme=dark]) .word-rain-board{background:radial-gradient(circle at 50% 118%, var(--cyan), transparent 46%), radial-gradient(circle at 12% 18%, #ff35ae30, transparent 26%), linear-gradient(180deg, #100d2d 0%, #1d1753 52%, #123c65 82%, #0a172c 100%)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-board{background:radial-gradient(circle at 50% 118%, color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 34%, transparent), transparent 46%), radial-gradient(circle at 12% 18%, #ff35ae30, transparent 26%), linear-gradient(180deg, #100d2d 0%, #1d1753 52%, #123c65 82%, #0a172c 100%)}}:where(html[data-theme=dark]) .pixel-stars i{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .pixel-stars i{background:color-mix(in srgb, var(--cyan) 15%, var(--paper))}}:where(html[data-theme=dark]) .shield-meter{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .shield-meter{background:color-mix(in srgb, var(--paper) 16%, transparent)}}:where(html[data-theme=dark]) .shield-meter i{background:linear-gradient(90deg, #ff5c90, var(--lime), var(--cyan))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .shield-meter i{background:linear-gradient(90deg, #ff5c90, color-mix(in srgb, var(--lime) 32%, var(--paper)), color-mix(in srgb, var(--cyan) 32%, var(--paper)))}}:where(html[data-theme=dark]) .threat-alert i{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .threat-alert i{background:color-mix(in srgb, var(--cyan) 32%, var(--paper))}}:where(html[data-theme=dark]) .rain-word{background:linear-gradient(90deg, transparent 0 8%, var(--paper) 9% 15%, transparent 16%), linear-gradient(180deg, #282e64fa, #0a0c28fc)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word{background:linear-gradient(90deg, transparent 0 8%, color-mix(in srgb, var(--paper) 8%, transparent) 9% 15%, transparent 16%), linear-gradient(180deg, #282e64fa, #0a0c28fc)}}:where(html[data-theme=dark]) .rain-word .word-tether{background:linear-gradient(180deg, transparent, #ff4fb3 42%, var(--lime) 88%, var(--paper))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word .word-tether{background:linear-gradient(180deg, transparent, #ff4fb3 42%, color-mix(in srgb, var(--lime) 31%, var(--paper)) 88%, var(--paper))}}:where(html[data-theme=dark]) .missile-plume:before{background:linear-gradient(180deg, var(--paper), var(--lime) 28%, #ff6b32 60%, transparent)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .missile-plume:before{background:linear-gradient(180deg, var(--paper), color-mix(in srgb, var(--lime) 32%, var(--paper)) 28%, #ff6b32 60%, transparent)}}:where(html[data-theme=dark]) .missile-plume i{background:linear-gradient(transparent, var(--cyan))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .missile-plume i{background:linear-gradient(transparent, color-mix(in srgb, var(--cyan) 32%, var(--paper)))}}:where(html[data-theme=dark]) .rain-word.targeted{border-color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word.targeted{border-color:color-mix(in srgb, var(--lime) 32%, var(--paper))}}:where(html[data-theme=dark]) .rain-word.critical.targeted{border-color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .rain-word.critical.targeted{border-color:color-mix(in srgb, var(--lime) 32%, var(--paper))}}:where(html[data-theme=dark]) .defense-grid{background:repeating-linear-gradient(90deg, transparent 0 47px, var(--cyan) 48px 49px), repeating-linear-gradient(0deg, transparent 0 22px, var(--cyan) 23px 24px)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .defense-grid{background:repeating-linear-gradient(90deg, transparent 0 47px, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 48px 49px), repeating-linear-gradient(0deg, transparent 0 22px, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 23px 24px)}}:where(html[data-theme=dark]) .neon-city>span{background:repeating-linear-gradient(90deg, transparent 0 8px, var(--cyan) 9px 10px), repeating-linear-gradient(180deg, transparent 0 10px, var(--yellow) 11px 13px), linear-gradient(90deg, #0b1532, #1b3970 52%, #081128)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .neon-city>span{background:repeating-linear-gradient(90deg, transparent 0 8px, color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 16%, transparent) 9px 10px), repeating-linear-gradient(180deg, transparent 0 10px, color-mix(in srgb, var(--yellow) 32%, var(--paper)) 11px 13px), linear-gradient(90deg, #0b1532, #1b3970 52%, #081128)}}:where(html[data-theme=dark]) .city-damage-layer i{background:radial-gradient(circle at 50% 76%, var(--yellow) 0 16%, #ff7b2d 17% 45%, #ff315b 46% 64%, transparent 65%)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .city-damage-layer i{background:radial-gradient(circle at 50% 76%, color-mix(in srgb, var(--yellow) 23%, var(--paper)) 0 16%, #ff7b2d 17% 45%, #ff315b 46% 64%, transparent 65%)}}:where(html[data-theme=dark]) .city-smoke i{background:radial-gradient(circle at 38% 43%, var(--purple), #3a3d4ebd 54%, transparent 69%)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .city-smoke i{background:radial-gradient(circle at 38% 43%, color-mix(in srgb, color-mix(in srgb, var(--purple) 16%, var(--paper)) 68%, transparent), #3a3d4ebd 54%, transparent 69%)}}:where(html[data-theme=dark]) .word-rain-board .sea-water{background:linear-gradient(180deg, var(--cyan), #123577ed)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-board .sea-water{background:linear-gradient(180deg, color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 68%, transparent), #123577ed)}}:where(html[data-theme=dark]) .word-rain-board .sea-water i{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-board .sea-water i{background:color-mix(in srgb, var(--cyan) 32%, var(--paper))}}:where(html[data-theme=dark]) .capture-burst:after{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .capture-burst:after{border-color:color-mix(in srgb, var(--cyan) 32%, var(--paper))}}:where(html[data-theme=dark]) .blast-core{background:radial-gradient(circle, var(--paper) 0 13%, var(--lime) 14% 27%, #ff9d31 28% 48%, #ff376e 49% 66%, transparent 68%)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .blast-core{background:radial-gradient(circle, var(--paper) 0 13%, color-mix(in srgb, var(--lime) 31%, var(--paper)) 14% 27%, #ff9d31 28% 48%, #ff376e 49% 66%, transparent 68%)}}:where(html[data-theme=dark]) .blast-smoke i{background:radial-gradient(circle at 38% 34%, var(--surface-3), #5e5d72 58%, transparent 70%)}:where(html[data-theme=dark]) .capture-burst>i{background:linear-gradient(var(--paper), #ff5ec7, transparent)}:where(html[data-theme=dark]) .mission-briefing{background:linear-gradient(#0c0a27e0, #080b1ff0), repeating-linear-gradient(90deg, transparent 0 28px, var(--cyan) 29px 30px)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mission-briefing{background:linear-gradient(#0c0a27e0, #080b1ff0), repeating-linear-gradient(90deg, transparent 0 28px, color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 8%, transparent) 29px 30px)}}:where(html[data-theme=dark]) .mission-emblem{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mission-emblem{background:color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 8%, transparent)}}:where(html[data-theme=dark]) .mission-rules span{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mission-rules span{background:color-mix(in srgb, color-mix(in srgb, var(--cyan) 32%, var(--paper)) 6%, transparent)}}:where(html[data-theme=dark]) .mission-start kbd,:where(html[data-theme=dark]) .mission-console-head kbd{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mission-start kbd,:where(html[data-theme=dark]) .mission-console-head kbd{background:color-mix(in srgb, var(--paper) 8%, transparent)}}:where(html[data-theme=dark]) .word-rain-console{background:linear-gradient(145deg, var(--paper), transparent 42%), #211c3a}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console{background:linear-gradient(145deg, color-mix(in srgb, var(--paper) 4%, transparent), transparent 42%), #211c3a}}:where(html[data-theme=dark]) .mission-console-head>span i{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mission-console-head>span i{background:color-mix(in srgb, var(--lime) 32%, var(--paper))}}:where(html[data-theme=dark]) .word-rain-console .wave-progress>span{background:linear-gradient(90deg, var(--cyan), #8d63ff, #ff5ec7)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console .wave-progress>span{background:linear-gradient(90deg, color-mix(in srgb, var(--cyan) 32%, var(--paper)), #8d63ff, #ff5ec7)}}:where(html[data-theme=dark]) .word-rain-console .inline-form input{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console .inline-form input{border-color:color-mix(in srgb, var(--cyan) 32%, var(--paper))}}:where(html[data-theme=dark]) .word-rain-console .inline-form .button{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console .inline-form .button{background:color-mix(in srgb, var(--lime) 32%, var(--paper))}}:where(html[data-theme=dark]) .word-rain-console .inline-form .button{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .word-rain-console .inline-form .button{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .form-message.error{color:var(--pink)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .form-message.error{color:color-mix(in srgb, var(--pink) 82%, white)}}:where(html[data-theme=dark]) .puzzle-head>div span{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .puzzle-head>div span{background:color-mix(in srgb, var(--paper) 70%, transparent)}}:where(html[data-theme=dark]) .missing-level-track:before{background:var(--surface-3)}:where(html[data-theme=dark]) .missing-level-track>span{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .missing-level-track>span{background:color-mix(in srgb, var(--yellow) 13%, var(--paper))}}:where(html[data-theme=dark]) .missing-word span{background:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .missing-word span{background:color-mix(in srgb, var(--purple) 10%, var(--paper))}}:where(html[data-theme=dark]) .number-finger-guide>div>span{background:var(--paper)}:where(html[data-theme=dark]) .finger-tip{background:currentColor}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .finger-tip{background:color-mix(in srgb, currentColor 22%, var(--paper))}}:where(html[data-theme=dark]) .finger-tip.ring{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .finger-tip.ring{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .finger-tip.middle{color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .finger-tip.middle{color:color-mix(in srgb, var(--cyan) 82%, white)}}:where(html[data-theme=dark]) .crossword-clues button.solved{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-clues button.solved{background:color-mix(in srgb, var(--lime) 13%, var(--paper))}}:where(html[data-theme=dark]) .crossword-complete-stamp{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-complete-stamp{background:color-mix(in srgb, color-mix(in srgb, var(--lime) 14%, var(--paper)) 90%, transparent)}}:where(html[data-theme=dark]) .crossword-complete-stamp{color:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .crossword-complete-stamp{color:color-mix(in srgb, var(--lime) 82%, white)}}:where(html[data-theme=dark]) .mastery-map-card{background:linear-gradient(145deg, var(--yellow), var(--purple))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-map-card{background:linear-gradient(145deg, color-mix(in srgb, var(--yellow) 10%, var(--paper)), color-mix(in srgb, var(--purple) 10%, var(--paper)))}}:where(html[data-theme=dark]) .mastery-map-list>div{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-map-list>div{background:color-mix(in srgb, var(--paper) 68%, transparent)}}:where(html[data-theme=dark]) .mastery-map-list>div.current{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-map-list>div.current{background:color-mix(in srgb, var(--yellow) 20%, var(--paper))}}:where(html[data-theme=dark]) .mastery-map-list>div.done{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-map-list>div.done{background:color-mix(in srgb, var(--lime) 12%, var(--paper))}}:where(html[data-theme=dark]) .mastery-map-list i{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .mastery-map-list i{background:color-mix(in srgb, var(--yellow) 13%, var(--paper))}}:where(html[data-theme=dark]) .insight-card{background:radial-gradient(circle at 88% 12%, var(--paper), transparent 22%), linear-gradient(145deg, var(--cyan), var(--lime))}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .insight-card{background:radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--paper) 55%, transparent), transparent 22%), linear-gradient(145deg, color-mix(in srgb, var(--cyan) 32%, var(--paper)), color-mix(in srgb, var(--lime) 32%, var(--paper)))}}:where(html[data-theme=dark]) .accuracy-dial:before{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .accuracy-dial:before{background:color-mix(in srgb, var(--lime) 10%, var(--paper))}}:where(html[data-theme=dark]) .insight-status>span{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .insight-status>span{background:color-mix(in srgb, var(--paper) 48%, transparent)}}:where(html[data-theme=dark]) .social-btn{background:var(--paper);color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .social-btn{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .social-btn.btn-kakao{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .social-btn.btn-kakao{background:color-mix(in srgb, var(--yellow) 32%, var(--paper))}}:where(html[data-theme=dark]) .social-btn.btn-kakao{color:var(--ink)}:where(html[data-theme=dark]) .social-btn.btn-copy{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .social-btn.btn-copy{background:color-mix(in srgb, var(--cyan) 10%, var(--paper))}}:where(html[data-theme=dark]) .social-btn.btn-copy{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .social-btn.btn-copy{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .modal-close-btn{background:var(--paper)}:where(html[data-theme=dark]) .modal-intro{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .modal-intro{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .os-tab-selector button,:where(html[data-theme=dark]) .instruction-card{background:var(--paper)}:where(html[data-theme=dark]) .instruction-card h3{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .instruction-card h3{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .instruction-card p{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .instruction-card p{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .step-list{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .step-list{color:color-mix(in srgb, var(--purple) 82%, white)}}:where(html[data-theme=dark]) .shortcut-tip{color:var(--purple)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .shortcut-tip{color:color-mix(in srgb, var(--purple) 82%, white)}}.signup-cta{border:2.5px solid var(--edge);background:linear-gradient(135deg, var(--lime), var(--paper));border-radius:20px;justify-items:start;gap:9px;max-width:34rem;margin-block:18px 4px;padding:16px 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.signup-cta{background:linear-gradient(135deg, color-mix(in srgb, var(--lime) 34%, var(--paper)), var(--paper))}}.signup-cta{box-shadow:6px 6px 0 var(--shadow-ink)}.signup-cta-value{margin:0;font-size:13px;font-weight:750;line-height:1.5}.signup-cta-button{border:2.5px solid var(--edge);color:#fff;font:inherit;letter-spacing:-.01em;cursor:pointer;box-shadow:4px 4px 0 var(--shadow-ink);background:#6032e6;border-radius:999px;align-items:center;gap:9px;padding:14px 26px;font-size:16px;font-weight:900;transition:transform .14s,box-shadow .14s;display:inline-flex}.signup-cta-button:hover{box-shadow:6px 6px 0 var(--shadow-ink);transform:translate(-2px,-2px)}.signup-cta-button:active{box-shadow:2px 2px 0 var(--shadow-ink);transform:translate(1px,1px)}.signup-cta-sub{color:var(--muted);font-size:11px;font-weight:700}.signup-overlay,.members-overlay,.desktop-notice-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060d9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.signup-modal,.members-modal,.desktop-notice{border:3px solid var(--edge);background:var(--paper);width:min(100%,30rem);max-height:calc(100vh - 40px);box-shadow:8px 8px 0 var(--shadow-ink);text-align:center;border-radius:24px;padding:26px 24px 22px;position:relative;overflow-y:auto}.members-modal{text-align:start;width:min(100%,34rem)}.signup-modal h2,.desktop-notice h2{letter-spacing:-.03em;margin:12px 0 8px;font-size:clamp(19px,2.4vw,24px);line-height:1.2}.signup-modal-value,.desktop-notice p{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:650;line-height:1.55}.signup-modal-note{color:var(--muted);margin-block-start:14px;font-size:11px;font-weight:650;display:block}.signup-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:24px;line-height:1;position:absolute;inset-block-start:10px;inset-inline-end:12px}.signup-close:hover{background:var(--surface-2);color:var(--ink)}.signup-role{text-align:start;border:0;margin:16px 0 6px;padding:0}.signup-role legend{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:0;font-size:10px;font-weight:950}.signup-role-options{gap:8px;margin-block-start:8px;display:grid}.signup-role-options label{border:2px solid var(--line);background:var(--paper);cursor:pointer;border-radius:14px;grid-template-columns:auto auto 1fr;align-items:center;gap:2px 10px;padding:10px 13px;transition:border-color .14s,background .14s;display:grid}.signup-role-options label.selected{border-color:var(--purple);background:var(--purple)}@supports (color:color-mix(in lab, red, red)){.signup-role-options label.selected{background:color-mix(in srgb, var(--purple) 12%, var(--paper))}}.signup-role-options input{accent-color:var(--purple);grid-row:span 2}.signup-role-options label>span{grid-row:span 2;font-size:20px;line-height:1}.signup-role-options b{font-size:13px;font-weight:850}.signup-role-options small{color:var(--muted);font-size:11px;font-weight:650}.save-nudge{border:1.5px dashed var(--edge);background:var(--yellow);border-radius:999px;align-items:center;gap:8px;margin-inline-start:auto;padding:6px 8px 6px 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.save-nudge{background:color-mix(in srgb, var(--yellow) 26%, var(--paper))}}.save-nudge p{margin:0;font-size:11px;font-weight:750}.save-nudge-cta{border:1.5px solid var(--edge);background:var(--purple);color:#fff;font:inherit;cursor:pointer;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:900}.save-nudge-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:17px;line-height:1}.desktop-notice-icon{font-size:38px;line-height:1}.desktop-notice-tip{border:1.5px dashed var(--edge);background:var(--cyan);border-radius:13px;padding:11px 13px}@supports (color:color-mix(in lab, red, red)){.desktop-notice-tip{background:color-mix(in srgb, var(--cyan) 22%, var(--paper))}}.desktop-notice-tip{color:var(--ink)}.desktop-notice-actions{gap:9px;margin-block-start:18px;display:grid}.desktop-notice-never{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:750;text-decoration:underline}.owner-members{border:2px solid var(--edge);background:var(--lime);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.owner-members{background:color-mix(in srgb, var(--lime) 40%, var(--paper))}}.owner-members{color:var(--on-accent);font:inherit;white-space:nowrap;cursor:pointer;box-shadow:3px 3px 0 var(--shadow-ink);font-size:12px;font-weight:850}.owner-members b{font-size:14px;font-weight:950}.owner-members:hover{filter:brightness(1.04)}.analytics-studio{color:#3a2a00;background:#ffe9a8}.members-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin-block:16px 20px;display:grid}.members-summary article{border:1.5px solid var(--line);background:var(--surface-2);border-radius:14px;gap:3px;padding:12px;display:grid}.members-summary article.members-teacher{border-color:var(--purple);background:var(--purple)}@supports (color:color-mix(in lab, red, red)){.members-summary article.members-teacher{background:color-mix(in srgb, var(--purple) 14%, var(--paper))}}.members-summary small{color:var(--muted);font-size:10px;font-weight:850}.members-summary b{font-size:22px;font-weight:950}.members-subhead{margin:0 0 10px;font-size:13px;font-weight:900}.members-country-list{gap:6px;max-height:46vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.members-country-list li{border-radius:10px;grid-template-columns:auto minmax(0,8rem) minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;display:grid}.members-country-list li:nth-child(odd){background:var(--surface-2)}.members-flag{font-size:16px;line-height:1}.members-country-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.members-bar{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.members-bar i{background:linear-gradient(90deg, var(--purple), var(--cyan));border-radius:999px;height:100%;display:block}.members-count{align-items:baseline;gap:7px;font-size:12px;display:inline-flex}.members-count b{font-weight:950}.members-count em{color:var(--purple);font-size:11px;font-style:normal;font-weight:800}.members-empty{color:var(--muted);text-align:center;padding:20px 0;font-size:13px}:where(html[data-theme=dark]) .analytics-studio{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-studio{color:color-mix(in srgb, var(--yellow) 82%, white)}}:where(html[data-theme=dark]) .analytics-studio{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:where(html[data-theme=dark]) .analytics-studio{background:color-mix(in srgb, var(--yellow) 26%, var(--paper))}}@media (max-width:640px){.members-country-list li{grid-template-columns:auto minmax(0,1fr) auto}.members-bar{display:none}.signup-cta-button{justify-content:center;width:100%}}.greeting-original{color:var(--muted);letter-spacing:.02em;margin:2px 0 0;font-size:12px;font-weight:700}.save-nudge-cta,.crossword-word-entry input,.signup-role-options label{min-width:0}.curriculum-progress li button b,.theme-chip b,.practice-track-picker button,.trust-row span{overflow-wrap:normal;white-space:normal}.sister-promo{width:100%;max-width:var(--site-content-max);border-block-start:1px solid var(--line);margin:0 auto 24px;padding-block-start:20px}.sister-promo-eyebrow{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:900}.sister-promo-body{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sister-promo-logo{border-radius:9px;flex:none;width:34px;height:34px;box-shadow:0 2px 6px #00000038}.sister-promo-body>p{flex:18rem;gap:1px;min-width:0;margin:0;display:grid}.sister-promo-body b{font-size:13px;font-weight:900}.sister-promo-body span{color:var(--muted);font-size:12px;font-weight:600;line-height:1.45}.sister-promo-link{border:1.5px solid var(--edge);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 15px;font-size:12px;font-weight:800;transition:background .14s;display:inline-flex}.sister-promo-link:hover{background:var(--surface-2)}.sister-promo-link span{color:inherit;font-size:12px}@media (max-width:720px){.sister-promo-link{justify-content:center;width:100%}}html[data-theme=dark] .next-key-jamo,html[data-theme=dark] .next-key-copy kbd,html[data-theme=dark] .next-key-card kbd,html[data-theme=dark] .activity-card.stripe .activity-number,html[data-theme=dark] .activity-card.sunset .activity-number{color:var(--ink)}.nav-links{white-space:nowrap;gap:clamp(16px,1.8vw,30px)}.nav-links a,.nav-links button{white-space:nowrap}.audio-control-cluster .speech-toggle{gap:6px;padding:6px 8px}.audio-control-cluster .speech-toggle-copy{min-width:0;max-width:8.5ch;overflow:hidden}.audio-control-cluster .speech-toggle-copy b{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:9px;overflow:hidden}.audio-control-cluster .speech-toggle{min-width:0;overflow:hidden}.audio-control-cluster .speech-toggle-copy small{display:none}.audio-control-cluster .speech-toggle-track{width:32px;height:19px}.audio-control-cluster .speech-toggle-track i{width:12px;height:12px;inset-block-start:2.5px}.audio-control-cluster .speech-toggle input:checked+.speech-toggle-track i{transform:translate(12px)}[dir=rtl] .audio-control-cluster .speech-toggle input:checked+.speech-toggle-track i{transform:translate(-12px)}.voice-picker select{text-overflow:ellipsis;width:4.5ch;min-width:0;padding-inline:2px}.voice-picker{gap:4px;padding-inline:8px}.language-picker{max-width:8.5rem}.language-picker select{text-overflow:ellipsis;width:100%;min-width:0}.topbar{flex-wrap:wrap;align-items:center;row-gap:8px;display:flex}.topbar>.brand,.topbar>.header-tools{flex:none}.topbar>.nav-links{flex:auto;justify-content:center;min-width:max-content}.header-tools{flex-wrap:nowrap}@media (max-width:900px){.language-picker{max-width:none}}.practice-choice-row{z-index:3;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-block-start:8px;display:flex;position:relative}.practice-choice-row .theme-picker,.practice-choice-row .practice-track-picker{margin-block-start:0}.practice-choice-row .theme-picker{flex:auto;min-width:0}.practice-choice-row .practice-track-picker{flex:none;padding-inline-start:14px;position:relative}.practice-choice-row .practice-track-picker:before{background:var(--line);content:"";width:1px;position:absolute;inset-block:3px;inset-inline-start:0}@media (max-width:700px){.practice-choice-row .practice-track-picker{padding-inline-start:0}.practice-choice-row .practice-track-picker:before{display:none}}.practice-choice-row .theme-chip{gap:4px;padding:4px 9px}.practice-choice-row .theme-chip b{text-overflow:ellipsis;max-width:11ch;font-size:11px;display:block;overflow:hidden}.practice-choice-row .theme-chip .theme-chip-icon{font-size:13px}.practice-choice-row .practice-track-picker button{padding:5px 9px}.practice-choice-row .practice-track-picker>span,.practice-choice-row .theme-picker-label{max-width:7ch;line-height:1.15}.practice-choice-row .theme-picker{flex:0 auto}.practice-choice-row{gap:6px 10px}:root{--control-h:38px;--control-h-sm:28px;--control-radius:12px;--control-font:12px;--control-font-sm:11px;--control-pad-x:12px}.header-tools{gap:8px}.header-tools>.audio-control-cluster,.header-tools>.language-picker,.header-tools>.theme-toggle-btn,.header-tools>.keyboard-setup-btn,.header-tools>.button{height:var(--control-h);min-height:var(--control-h);box-sizing:border-box;border-radius:var(--control-radius);font-size:var(--control-font);white-space:nowrap;font-weight:800;line-height:1}.header-tools>.language-picker,.header-tools>.theme-toggle-btn,.header-tools>.keyboard-setup-btn,.header-tools>.button{padding:0 var(--control-pad-x);border:2px solid var(--edge);background:var(--paper);color:var(--ink);box-shadow:0 3px 0 var(--shadow-ink);align-items:center;gap:6px;display:inline-flex}.header-tools>.keyboard-setup-btn{padding:0 var(--control-pad-x)!important;border-radius:var(--control-radius)!important;font-size:var(--control-font)!important}.header-tools>.audio-control-cluster>*{height:100%;min-height:0}.header-tools>.language-picker:before{content:"🌐";font-size:13px;line-height:1}.header-tools>.language-picker select,.header-tools>.language-picker{height:auto}.header-tools>.language-picker select{font:inherit;font-size:var(--control-font);cursor:pointer;background:0 0;border:0;font-weight:800}.header-tools>.theme-toggle-btn:hover,.header-tools>.keyboard-setup-btn:hover,.header-tools>.language-picker:hover{filter:brightness(.97);transform:none}.practice-instruction{letter-spacing:-.03em;white-space:normal;word-break:keep-all;max-width:100%;margin:0;line-height:1.35;overflow:visible}.practice-choice-row .theme-picker-label,.practice-choice-row .practice-track-picker>span{white-space:nowrap;max-width:none}.practice-choice-row .theme-chip,.practice-choice-row .practice-track-picker button{height:var(--control-h-sm);box-sizing:border-box;font-size:var(--control-font-sm);white-space:nowrap;align-items:center;padding:0 10px;font-weight:800;line-height:1;display:inline-flex}.practice-choice-row .theme-chip b,.practice-choice-row .practice-track-picker button{font-size:var(--control-font-sm)}.practice-choice-row .theme-chip b{max-width:10ch}.practice-choice-row .theme-chip.active b{max-width:none}.practice-choice-row .practice-track-picker button{box-shadow:none;border-radius:999px}.practice-choice-row .practice-track-picker button.active{box-shadow:0 2px 0 var(--shadow-ink)}.curriculum-progress li button{align-items:center;min-height:34px}.curriculum-progress li b{-webkit-line-clamp:2;font-size:9px;line-height:1.2}@media (max-width:900px){.header-tools>.audio-control-cluster,.header-tools>.language-picker,.header-tools>.theme-toggle-btn,.header-tools>.keyboard-setup-btn,.header-tools>.button{height:auto;min-height:var(--control-h)}}.hero h1{line-height:1.35!important}.practice-card h2.practice-instruction{font-size:clamp(12px,1.95cqi,17px)}html[lang=ko] .practice-card h2.practice-instruction,html[lang=ja] .practice-card h2.practice-instruction,html[lang=zh-Hans] .practice-card h2.practice-instruction,html[lang=zh-Hant] .practice-card h2.practice-instruction{font-size:clamp(15px,2.45cqi,26px)}html[lang=ta] .practice-card h2.practice-instruction,html[lang=hi] .practice-card h2.practice-instruction,html[lang=bn] .practice-card h2.practice-instruction,html[lang=ne] .practice-card h2.practice-instruction,html[lang=si] .practice-card h2.practice-instruction,html[lang=km] .practice-card h2.practice-instruction,html[lang=lo] .practice-card h2.practice-instruction,html[lang=my] .practice-card h2.practice-instruction,html[lang=th] .practice-card h2.practice-instruction{font-size:clamp(11px,1.5cqi,14px)}.language-picker,.header-tools>.language-picker{height:var(--control-h,36px)!important;min-height:var(--control-h,36px)!important;border:2px solid var(--edge,#0f172a)!important;border-radius:var(--control-radius,999px)!important;background:var(--paper,#fff)!important;color:var(--ink,#0f172a)!important;box-shadow:0 3px 0 var(--shadow-ink,#0f172a)!important;box-sizing:border-box!important;justify-content:flex-start!important;align-items:center!important;max-width:13rem!important;padding:0 28px 0 32px!important;display:inline-flex!important;position:relative!important;overflow:hidden!important}.language-picker:before,.header-tools>.language-picker:before{content:"🌐"!important;pointer-events:none!important;z-index:2!important;font-size:13px!important;line-height:1!important;position:absolute!important;inset-block-start:50%!important;inset-inline-start:10px!important;transform:translateY(-50%)!important}.language-picker:after,.header-tools>.language-picker:after{content:"▾"!important;color:var(--ink,#0f172a)!important;pointer-events:none!important;z-index:2!important;font-size:11px!important;line-height:1!important;position:absolute!important;inset-block-start:50%!important;inset-inline-end:10px!important;transform:translateY(-50%)!important}.language-picker select,.header-tools>.language-picker select{appearance:none!important;width:100%!important;height:100%!important;box-shadow:none!important;font-family:inherit!important;font-size:var(--control-font,13px)!important;color:var(--ink,#0f172a)!important;cursor:pointer!important;text-overflow:ellipsis!important;white-space:nowrap!important;z-index:1!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important;font-weight:800!important;line-height:1.85!important}.language-picker select option{font-weight:700!important}.global-theme-bar{box-sizing:border-box!important;z-index:10!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:100%!important;margin-bottom:12px!important;padding:4px 0!important;display:flex!important;position:relative!important;overflow:visible!important}.global-theme-bar::-webkit-scrollbar{display:none!important}.global-theme-bar .theme-picker-label{color:var(--text-muted)!important;white-space:nowrap!important;flex-shrink:0!important;font-size:12px!important;font-weight:800!important}.global-theme-bar .theme-picker-row{flex-flow:wrap!important;align-items:center!important;gap:6px!important;display:flex!important}.theme-chip{box-sizing:border-box!important;white-space:nowrap!important;background:var(--paper)!important;max-width:none!important;color:var(--ink)!important;border:1px solid var(--edge)!important;border-radius:999px!important;flex-shrink:0!important;align-items:center!important;gap:5px!important;padding:5px 11px!important;display:inline-flex!important;overflow:visible!important}.theme-chip b{white-space:nowrap!important;text-overflow:clip!important;max-width:none!important;margin:0!important;padding:0!important;font-size:12px!important;font-weight:800!important;line-height:1.3!important;display:inline-block!important;overflow:visible!important}.practice-choice-row{box-sizing:border-box!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;width:100%!important;margin-bottom:16px!important;display:flex!important}.practice-track-picker{flex-flow:row!important;align-items:center!important;gap:8px!important;display:flex!important}.practice-track-picker span{color:#64748b!important;white-space:nowrap!important;font-size:13px!important;font-weight:800!important}.practice-track-picker button{box-sizing:border-box!important;white-space:nowrap!important;text-overflow:clip!important;border-radius:999px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;max-width:none!important;padding:6px 16px!important;font-size:13px!important;font-weight:800!important;display:inline-flex!important;overflow:visible!important}@media (max-width:340px){.practice-choice-row .practice-track-picker{flex-wrap:wrap!important;flex:100%!important;width:100%!important;max-width:100%!important}.practice-choice-row .practice-track-picker>span,.practice-choice-row .practice-track-picker button{flex:100%!important;width:100%!important;max-width:100%!important}}.desktop-notice-bar{width:100%!important;max-width:var(--site-content-max)!important;text-align:center!important;color:var(--ink)!important;background:var(--surface-2)!important;border:1px solid var(--edge)!important;box-sizing:border-box!important;border-radius:999px!important;margin:12px auto 0!important;padding:6px 16px!important;font-size:12px!important;font-weight:800!important;line-height:1.6!important}.notice-bar-report{font:inherit!important;color:var(--info)!important;text-underline-offset:2px!important;cursor:pointer!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;text-decoration:underline!important;display:inline!important}.notice-bar-report:hover,.notice-bar-report:focus-visible{color:var(--ink)!important}@media (min-width:901px){.site-shell>.topbar,html[dir=rtl] .site-shell>.topbar,body[dir=rtl] .site-shell>.topbar{width:100%!important;max-width:var(--site-content-max)!important;box-sizing:border-box!important;direction:ltr!important;flex-flow:row!important;justify-content:space-between!important;align-items:center!important;gap:0 clamp(8px,1.5vw,24px)!important;margin-inline:auto!important;padding-inline:0!important;display:flex!important;overflow:visible!important}.topbar>.brand{flex:none!important}.topbar>.nav-links{flex:none!important;min-width:max-content!important}.topbar>.header-tools{flex:auto!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important;display:flex!important}.site-shell>.topbar .audio-control-cluster .speech-toggle-copy{display:none!important}.header-tools>.language-picker{flex:0 auto!important;min-width:0!important}.hero,html[dir=rtl] .hero,body[dir=rtl] .hero{min-height:calc(100svh - var(--chrome-h))!important;width:100%!important;max-width:var(--site-content-max)!important;box-sizing:border-box!important;direction:ltr!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr)!important;align-items:center!important;gap:clamp(24px,3vw,56px)!important;margin-inline:auto!important;padding-block:16px 24px!important;padding-inline:0!important;display:grid!important;overflow:visible!important}}.hero-copy h1,.hero-copy p,.hero-description,.headline-accent{word-break:keep-all!important;overflow-wrap:normal!important;word-wrap:normal!important}@media (max-width:900px){:root{--site-inline-space:32px}.site-shell>.topbar,html[dir=rtl] .site-shell>.topbar,body[dir=rtl] .site-shell>.topbar{box-sizing:border-box!important;direction:ltr!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;width:100%!important;padding-inline:0!important;display:flex!important}.hero,html[dir=rtl] .hero,body[dir=rtl] .hero{box-sizing:border-box!important;direction:ltr!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;width:100%!important;min-height:auto!important;padding-inline:0!important;display:flex!important}.hero-copy,.practice-stage{width:100%!important;max-width:100%!important}}.hero.practice-focus-mode,html[dir=rtl] .hero.practice-focus-mode,body[dir=rtl] .hero.practice-focus-mode{max-width:var(--site-content-max)!important;grid-template-columns:1fr!important;width:100%!important;min-height:auto!important;margin-inline:auto!important;display:block!important}.practice-focus-mode .hero-copy{display:none!important}.practice-focus-mode .practice-stage,.practice-focus-mode .practice-card{width:100%!important;max-width:100%!important;display:block!important}.sound-menu{flex:none;position:relative}.sound-menu-trigger{height:var(--control-h-sm,34px);border:1px solid var(--edge);background:var(--paper);color:var(--ink);font-size:var(--control-font-sm,12px);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.sound-menu-trigger:hover{background:var(--surface-2)}.sound-menu-caret{opacity:.7;font-size:10px}.sound-menu-panel{z-index:60;border:1px solid var(--edge);background:var(--paper);min-width:280px;box-shadow:0 18px 44px -18px var(--shadow-ink), 0 0 0 1px #ffffff0a;text-align:start;border-radius:16px;gap:10px;padding:14px;display:grid;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0}.sound-row{cursor:pointer;align-items:center;gap:10px;display:flex}.sound-row-name{min-width:0;color:var(--ink);overflow-wrap:normal;word-break:keep-all;flex:auto;font-size:12px;font-weight:800}.sound-row select{border:1px solid var(--edge);background:var(--paper);max-width:130px;color:var(--ink);border-radius:8px;flex:none;padding:4px 8px;font-size:12px;font-weight:700}.sound-row-badge{background:var(--surface-2);color:var(--muted);border-radius:6px;flex:none;padding:2px 6px;font-size:9px;font-style:normal;font-weight:900}.sound-row.unavailable{cursor:not-allowed;opacity:.5}.sound-row input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.sound-row-volume{align-items:center}.sound-volume-steps{flex:none;gap:4px;display:inline-flex}.sound-volume-steps button{border:1px solid var(--edge);background:var(--paper);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.sound-volume-steps button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sound-menu-panel .sound-preview-button{white-space:nowrap;border:1px solid var(--edge);background:var(--surface-2);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:800;display:block}.practice-choice-row,.practice-card-header,.practice-card-header-right,.curriculum-progress,.practice-workspace{z-index:1;position:relative}.theme-chip.active,.global-theme-bar .theme-chip.active,.practice-choice-row .theme-chip.active{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important;box-shadow:3px 3px 0 var(--shadow-ink)!important;border-width:2px!important;font-weight:900!important}.theme-chip.active b,.global-theme-bar .theme-chip.active b,.practice-choice-row .theme-chip.active b{color:var(--paper)!important;font-weight:900!important}.theme-chip.active:after{content:"✓";margin-inline-start:6px;font-size:11px;font-weight:900;line-height:1}html[data-theme=dark] .theme-chip.active,html[data-theme=dark] .global-theme-bar .theme-chip.active{background:var(--lime)!important;color:#08101f!important;border-color:var(--lime)!important}html[data-theme=dark] .theme-chip.active b{color:#08101f!important}.activity-preview{aspect-ratio:120/64;border-radius:10px;width:100%;height:auto;margin-block:6px 10px;display:block}.activity-card.selected .activity-preview{outline:2px solid var(--ink);outline-offset:2px}.teacher-b2b-banner{border:1px solid var(--info);flex-direction:column;gap:12px;width:100%;max-width:840px;margin:40px auto;padding:28px 32px;display:flex}@supports (color:color-mix(in lab, red, red)){.teacher-b2b-banner{border:1px solid color-mix(in srgb, var(--info) 30%, transparent)}}.teacher-b2b-banner{background:linear-gradient(135deg, var(--info), var(--purple)), var(--paper);border-radius:20px}@supports (color:color-mix(in lab, red, red)){.teacher-b2b-banner{background:linear-gradient(135deg, color-mix(in srgb, var(--info) 10%, transparent), color-mix(in srgb, var(--purple) 12%, transparent)), var(--paper)}}.teacher-b2b-banner h3{color:var(--ink)}.teacher-b2b-banner p{color:var(--muted)}.global-theme-bar .theme-chip .theme-chip-icon{font-size:13px}html[data-theme=dark] .curriculum-progress li.done{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){html[data-theme=dark] .curriculum-progress li.done{background:color-mix(in srgb, var(--lime) 76%, var(--paper))}}.owner-activity{box-sizing:border-box;background:var(--ivory);min-height:100svh;color:var(--ink);align-content:start;gap:20px;padding:clamp(16px,3vw,32px);display:grid}.owner-activity-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.owner-activity-nav a{color:var(--ink);font-weight:800;text-decoration:none}.owner-activity-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.owner-activity-summary div{border:2px solid var(--line);background:var(--paper);border-radius:14px;gap:2px;padding:14px 16px;display:grid}.owner-activity-summary b{font-size:24px;font-weight:900;line-height:1.1}.owner-activity-summary span{opacity:.75;font-size:12px;font-weight:700}.owner-activity-flag{background:var(--pink);border-radius:999px;padding:2px 8px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.owner-activity-flag{background:color-mix(in srgb, var(--pink) 22%, var(--paper))}}.owner-activity-flag{color:var(--danger-ink,#c2185b);font-size:12px;font-weight:800}.owner-activity-empty,.owner-activity-note{opacity:.8;margin:0;font-size:13px}.notice-row{width:100%;max-width:var(--site-content-max);box-sizing:border-box;align-items:stretch;gap:10px;margin:12px auto 0;padding:0;display:flex}.notice-row>.desktop-notice-bar{flex:50%!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}.live-board{border:1px solid var(--edge);background:var(--surface-2);box-sizing:border-box;min-width:0;color:var(--ink);border-radius:999px;flex:50%;justify-content:center;align-items:center;gap:14px;padding:6px 14px;display:flex}.live-board-cell{align-items:center;gap:6px;min-width:0;display:inline-flex}.live-board-digits{gap:3px;display:inline-flex}.live-board-digits b{color:#4ade80;font-variant-numeric:tabular-nums;text-shadow:0 0 7px #4ade8080;background:#14161c;border-radius:4px;place-items:center;min-width:17px;padding:2px 3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:900;line-height:1;display:grid}.live-board-label{letter-spacing:.06em;opacity:.8;white-space:nowrap;font-size:11px;font-weight:900}.live-board-cell.is-now{border-inline-end:1px solid var(--line);padding-inline-end:12px}.live-board-cell.is-now .live-board-digits b{color:#7dd3fc;text-shadow:0 0 7px #7dd3fc80}.live-board.is-busy .live-board-cell.is-now .live-board-digits b{color:#4ade80;text-shadow:0 0 9px #4ade80a6}.live-board-lamp{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s step-end infinite live-board-blink}.live-board.is-busy .live-board-lamp{background:#2da44e}@keyframes live-board-blink{0%,55%{opacity:1;box-shadow:0 0 6px #2da44ecc}56%,to{opacity:.3;box-shadow:none}}@media (max-width:860px){.notice-row{flex-direction:column}.notice-row>.desktop-notice-bar,.live-board{flex:auto}}@media (prefers-reduced-motion:reduce){.live-board-lamp{animation:none}}@media (max-width:900px){.site-shell>.topbar{height:auto!important;min-height:var(--control-h,36px)!important;flex-wrap:wrap!important;row-gap:8px!important;padding-block:10px!important}.header-tools{flex-wrap:wrap!important;justify-content:flex-end!important;row-gap:8px!important;min-width:0!important;max-width:none!important}.header-tools>*{flex-shrink:1!important;min-width:0!important}.header-tools>.sound-menu{flex:0 auto!important}}.install-app-button{border:2px solid var(--edge);background:var(--paper);box-shadow:2px 2px 0 var(--shadow-ink);color:var(--ink);cursor:pointer;border-radius:999px;align-items:baseline;gap:8px;margin:14px 0 0;padding:9px 16px;font-size:13px;font-weight:900;transition:transform .12s,box-shadow .12s;display:inline-flex}.install-app-button:hover:not(:disabled){box-shadow:3px 3px 0 var(--shadow-ink);transform:translate(-1px,-1px)}.install-app-button:disabled{opacity:.6;cursor:default}.install-app-button small{opacity:.7;font-size:11px;font-weight:700}@media (max-width:560px){.install-app-button small{display:none}}.owner-activity-countries{flex-wrap:wrap;gap:6px 8px;margin:0;display:flex}.owner-activity-countries .owner-flag{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.owner-flag{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.owner-flag img{object-fit:cover;border-radius:2px;flex:none;width:22px;height:16px;box-shadow:0 0 0 1px #0000002e}.owner-flag-none{opacity:.5}.owner-console{width:min(var(--admin-content-max), 100%);box-sizing:border-box;background:var(--ivory);min-height:100svh;color:var(--ink);align-content:start;gap:22px;margin-inline:auto;padding:clamp(16px,3vw,32px);display:grid}.owner-console-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.owner-console-who{opacity:.75;overflow-wrap:anywhere;max-width:100%;font-size:13px;font-weight:700}.owner-console-head h1{margin:6px 0 4px;font-size:clamp(24px,3vw,34px);font-weight:900}.owner-console-head p{opacity:.8;margin:0;font-size:14px}.owner-console-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.owner-console-stats div{border:2px solid var(--line);background:var(--paper);border-radius:14px;gap:2px;padding:16px 18px;display:grid}.owner-console-stats b{font-size:26px;font-weight:900;line-height:1.1}.owner-console-stats span{opacity:.75;font-size:12px;font-weight:700}.owner-console h2{letter-spacing:.04em;margin:0 0 10px;font-size:15px;font-weight:900}.owner-console-countries p{flex-wrap:wrap;gap:6px 8px;margin:0;display:flex}.owner-console-countries .owner-flag{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.owner-console-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.owner-tool{border:2px solid var(--edge);background:var(--paper);box-shadow:3px 3px 0 var(--shadow-ink);color:var(--ink);border-radius:16px;gap:3px;padding:18px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:grid}.owner-tool:hover{box-shadow:5px 5px 0 var(--shadow-ink);transform:translate(-2px,-2px)}.owner-tool span{font-size:22px;line-height:1}.owner-tool b{font-size:15px;font-weight:900}.owner-tool small{opacity:.75;font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){.owner-tool:hover{transform:none}}.hangul-guide{--hg-paper:#f2f1ee;--hg-surface:#fff;--hg-sunken:#e7e6e1;--hg-ink:#1a1c1f;--hg-mute:#64686e;--hg-line:#d5d4ce;--hg-indigo:#2c4a7c;--hg-indigo-soft:#e3e8f1;--hg-vermilion:#c1452f;--hg-jade:#3e6b5a;--hg-measure:34rem;background:var(--hg-paper);min-height:100svh;color:var(--hg-ink);font-size:17px;line-height:1.75}html[data-theme=dark] .hangul-guide{--hg-paper:#14161a;--hg-surface:#1c1f24;--hg-sunken:#101216;--hg-ink:#eceae4;--hg-mute:#9ba1a9;--hg-line:#2e333a;--hg-indigo:#8fb2e0;--hg-indigo-soft:#1e2a3d;--hg-vermilion:#e8785f;--hg-jade:#79b49a}.hg-wrap{max-width:60rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.hg-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;display:flex}.hg-nav a{color:var(--hg-ink);font-weight:800;text-decoration:none}.hg-nav .brand,.hg-practice{white-space:nowrap}.hg-practice{font-size:.95rem;color:var(--hg-indigo)!important}.hg-plate{border-bottom:1px solid var(--hg-line);gap:clamp(2rem,5vw,3.5rem);padding:clamp(2rem,7vw,5rem) 0 clamp(2.5rem,6vw,4rem);display:grid}.hg-eyebrow{letter-spacing:.16em;color:var(--hg-indigo);margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.hangul-guide h1{letter-spacing:-.02em;text-wrap:balance;margin:.6rem 0 0;font-size:clamp(2.4rem,7vw,4.4rem);font-weight:900;line-height:1.08}.hg-standfirst{max-width:var(--hg-measure);color:var(--hg-mute);margin:1.25rem 0 0}.hg-section-tabs{border:1px solid var(--hg-line);background:var(--hg-line);border-radius:2px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:1px;scroll-margin-top:1rem;display:grid;overflow:hidden}.hg-section-tabs button{min-width:0;color:var(--hg-ink);background:var(--hg-surface);text-align:start;cursor:pointer;border:0;align-items:center;gap:.65rem;padding:.85rem .9rem;font-family:inherit;font-size:.84rem;font-weight:800;line-height:1.3;display:flex}.hg-section-tabs button:hover,.hg-section-tabs button:focus-visible{color:var(--hg-indigo);background:var(--hg-indigo-soft)}.hg-section-tabs button.is-active{color:var(--hg-indigo);background:var(--hg-paper);box-shadow:inset 0 -3px 0 var(--hg-indigo)}.hg-section-tabs b{border:1px solid var(--hg-line);min-width:1.9rem;min-height:1.9rem;color:var(--hg-indigo);background:var(--hg-paper);border-radius:999px;flex:none;place-items:center;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;display:grid}.hg-section-tabs span{text-wrap:balance;min-width:0}.hg-strokes,.hg-organs,.hg-vowels{background:var(--hg-line);border:1px solid var(--hg-line);border-radius:2px;gap:1px;display:grid;overflow:hidden}.hg-strokes{grid-template-columns:repeat(3,minmax(0,1fr))}.hg-organs{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-top:1.5rem}.hg-vowels{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin-top:1.5rem}.hg-stroke,.hg-vowel{background:var(--hg-surface);text-align:center;justify-items:center;gap:.4rem;padding:clamp(1.35rem,4vw,2.5rem) 1rem;display:grid}.hg-stroke b{color:var(--hg-jade);font-size:clamp(2.4rem,8vw,3.6rem);line-height:1}.hg-stroke span{font-size:.95rem;font-weight:700}.hg-stroke small,.hg-vowel small{color:var(--hg-mute);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.hg-vowel svg{width:5.25rem;height:5.25rem;display:block}.hg-vowel b{color:var(--hg-jade);font-size:1.5rem;line-height:1}.hg-lesson{border-bottom:1px solid var(--hg-line);padding:clamp(2.5rem,8vw,5rem) 0;scroll-margin-top:1rem}.hg-lesson[hidden]{display:none}.hg-lesson-head{gap:.75rem;margin-bottom:clamp(1.75rem,5vw,2.75rem);display:grid}.hg-lesson-no{letter-spacing:.14em;color:var(--hg-indigo);align-items:baseline;gap:.5rem;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700;display:inline-flex}.hg-lesson-no i{font-size:1.6rem;font-style:normal;line-height:1}.hangul-guide h2{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,4.4vw,2.7rem);font-weight:900;line-height:1.15}.hangul-guide h3{text-wrap:balance;margin:clamp(2rem,5vw,2.75rem) 0 .75rem;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:900;line-height:1.3}.hg-lede{max-width:var(--hg-measure);color:var(--hg-mute);margin:0}.hangul-guide p{max-width:var(--hg-measure);text-wrap:pretty}.hg-organ{background:var(--hg-surface);gap:.85rem;padding:clamp(1.1rem,3vw,1.6rem);display:grid}.hg-organ-top{align-items:center;gap:.85rem;display:flex}.hg-organ-glyph{color:var(--hg-vermilion);font-size:2.6rem;font-weight:900;line-height:1}.hg-organ-name{gap:.1rem;display:grid}.hg-organ-name b{font-size:.98rem}.hg-organ-name small{color:var(--hg-mute);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem}.hg-organ svg{background:var(--hg-sunken);border-radius:2px;width:100%;height:auto;display:block}.hg-organ p{max-width:none;color:var(--hg-mute);margin:0;font-size:.92rem;line-height:1.62}.hg-svg-label{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.hg-svg-jamo{font-weight:900}.hg-ladder-scroll{margin-top:1.5rem;overflow-x:auto}.hg-ladder{border-collapse:collapse;width:100%;min-width:30rem}.hg-ladder th,.hg-ladder td{border-bottom:1px solid var(--hg-line);text-align:start;padding:.7rem .8rem}.hg-ladder th{letter-spacing:.1em;color:var(--hg-mute);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700}.hg-ladder td.hg-j{width:4.5rem;font-size:1.7rem;font-weight:900;line-height:1}.hg-ladder td.hg-j.base{color:var(--hg-ink)}.hg-ladder td.hg-j.add{color:var(--hg-indigo)}.hg-ladder td.hg-j.add2{color:var(--hg-vermilion)}.hg-ladder td small{color:var(--hg-mute);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:400;display:block}.hg-blocks{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(1rem,3vw,1.75rem);margin-top:1.5rem;display:grid}.hg-block{background:var(--hg-surface);border:1px solid var(--hg-line);border-radius:2px;gap:.9rem;padding:clamp(1.1rem,3vw,1.5rem);display:grid}.hg-block svg{width:100%;height:auto;display:block}.hg-block b{font-size:.95rem}.hg-block p{max-width:none;color:var(--hg-mute);margin:0;font-size:.9rem;line-height:1.6}.hg-note{background:var(--hg-indigo-soft);border-inline-start:3px solid var(--hg-indigo);border-radius:0 2px 2px 0;gap:.5rem;margin-top:clamp(1.75rem,5vw,2.5rem);padding:clamp(1.1rem,3vw,1.5rem) clamp(1.1rem,3vw,1.75rem);display:grid}.hg-note b{font-size:.95rem}.hg-note p{max-width:none;margin:0;font-size:.93rem;line-height:1.65}.hg-history-grid,.hg-grammar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,1.5rem);display:grid}.hg-history-callout,.hg-grammar-card{border:1px solid var(--hg-line);background:var(--hg-surface);border-radius:2px;min-width:0;padding:clamp(1.2rem,3vw,1.7rem)}.hg-history-kicker,.hg-grammar-label{color:var(--hg-indigo);letter-spacing:.1em;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.73rem;font-weight:800}.hg-history-callout h3,.hg-grammar-card h3,.hg-hangeul-day h3,.hg-timeline-item h3{margin:.55rem 0 .7rem}.hg-history-callout>p:last-child,.hg-grammar-card>p,.hg-hangeul-day p,.hg-timeline-item p{max-width:none;color:var(--hg-mute);margin:0;font-size:.93rem;line-height:1.68}.hg-timeline{border-block:1px solid var(--hg-line);margin-top:clamp(2rem,5vw,3rem);display:grid}.hg-timeline-item{border-bottom:1px solid var(--hg-line);grid-template-columns:5rem minmax(0,1fr);gap:clamp(1rem,4vw,2rem);padding:1.25rem 0;display:grid}.hg-timeline-item:last-child{border-bottom:0}.hg-timeline-item time{color:var(--hg-vermilion);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-weight:900}.hg-timeline-item h3{margin-top:0}.hg-hangeul-day{border:1px solid var(--hg-line);background:var(--hg-indigo-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.25rem,5vw,2.5rem);margin-top:clamp(2rem,5vw,3rem);padding:clamp(1.25rem,4vw,2rem);display:grid}.hg-hangeul-day>span{aspect-ratio:1;width:clamp(5.5rem,16vw,7.5rem);color:var(--hg-surface);background:var(--hg-indigo);letter-spacing:-.04em;border-radius:999px;place-items:center;font-size:clamp(1.45rem,5vw,2.15rem);font-weight:900;display:grid}.hg-sources{color:var(--hg-mute);flex-wrap:wrap;align-items:baseline;gap:.6rem 1rem;margin-top:1.25rem;font-size:.78rem;display:flex}.hg-sources b{color:var(--hg-ink)}.hg-sources a{color:var(--hg-indigo);text-underline-offset:.2em}.hg-grammar-formula{border-block:1px solid var(--hg-line);flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.65rem;margin-bottom:clamp(2rem,5vw,3rem);padding:clamp(1rem,4vw,1.5rem);display:flex}.hg-grammar-formula span{border:1px solid var(--hg-line);background:var(--hg-surface);text-align:center;place-content:center;gap:.2rem;min-width:8.5rem;padding:.85rem 1rem;font-size:1.08rem;font-weight:900;display:grid}.hg-grammar-formula small{color:var(--hg-indigo);letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem}.hg-grammar-formula i{color:var(--hg-mute);align-self:center;font-style:normal;font-weight:900}.hg-example{border-top:1px solid var(--hg-line);gap:.3rem;margin-top:1.1rem;padding-top:.9rem;display:grid}.hg-example b{color:var(--hg-vermilion);font-size:1rem}.hg-example small{color:var(--hg-mute);font-size:.76rem;line-height:1.5}.hg-lesson-pager{border-bottom:1px solid var(--hg-line);background:var(--hg-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.hg-lesson-pager>button{min-width:0;min-height:4.5rem;color:var(--hg-ink);background:var(--hg-surface);font:inherit;text-align:start;cursor:pointer;border:0;align-items:center;gap:.8rem;padding:1rem clamp(.9rem,3vw,1.35rem);display:flex}.hg-lesson-pager>button.is-next{text-align:end;justify-content:flex-end}.hg-lesson-pager>button:hover,.hg-lesson-pager>button:focus-visible{color:var(--hg-indigo);background:var(--hg-indigo-soft)}.hg-lesson-pager i{color:var(--hg-indigo);flex:none;font-size:1.2rem;font-style:normal;font-weight:900}.hg-lesson-pager span{min-width:0}.hg-lesson-pager button span{text-wrap:balance;gap:.2rem;display:grid}.hg-lesson-pager b{letter-spacing:.08em;color:var(--hg-mute);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem}.hg-footer{color:var(--hg-mute);justify-items:start;gap:1rem;padding:clamp(2rem,6vw,3.5rem) 0 clamp(3rem,8vw,4.5rem);font-size:.9rem;display:grid}@media (prefers-reduced-motion:no-preference){.hg-pulse{animation:3.2s ease-in-out infinite hg-breathe}@keyframes hg-breathe{0%,to{opacity:1}50%{opacity:.55}}}.hangul-guide p,.hangul-guide h1,.hangul-guide h2,.hangul-guide h3,.hangul-guide td,.hangul-guide b,.hangul-guide small,.hangul-guide span{word-break:normal!important;overflow-wrap:break-word!important}html[lang=ko] .hangul-guide p,html[lang=ko] .hangul-guide h1,html[lang=ko] .hangul-guide h2,html[lang=ko] .hangul-guide h3,html[lang=ko] .hangul-guide th,html[lang=ko] .hangul-guide td,html[lang=ko] .hangul-guide a,html[lang=ko] .hangul-guide b,html[lang=ko] .hangul-guide small,html[lang=ko] .hangul-guide span{word-break:keep-all!important}.ime-missing{border:2px solid var(--edge);background:var(--yellow);border-radius:14px;gap:12px;margin-block-start:14px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.ime-missing{background:color-mix(in srgb, var(--yellow) 22%, var(--paper))}}.ime-missing{color:var(--ink)}.ime-missing-head{gap:4px;display:grid}.ime-missing-head b{font-size:14px;font-weight:900}.ime-missing-head p{opacity:.85;margin:0;font-size:13px;line-height:1.6}.ime-missing-actions{flex-wrap:wrap;gap:8px;display:flex}.ime-missing-actions .button{padding:8px 14px;font-size:13px}.osk{border:2px solid var(--edge);background:var(--surface-2);border-radius:14px;margin-block-start:12px;padding:12px}.osk-rows{gap:6px;display:grid}.osk-row{justify-content:center;gap:6px;display:flex}.osk-key{border:2px solid var(--edge);background:var(--paper);min-width:38px;min-height:42px;color:var(--ink);cursor:pointer;border-radius:9px;flex:none;padding:6px 8px;font-size:17px;font-weight:800;line-height:1;transition:transform 80ms,background .12s}.osk-key:active{transform:translateY(1px)}.osk-key:hover{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.osk-key:hover{background:color-mix(in srgb, var(--lime) 26%, var(--paper))}}.osk-key.is-vowel{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.osk-key.is-vowel{background:color-mix(in srgb, var(--cyan) 26%, var(--paper))}}.osk-key.is-vowel:hover{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.osk-key.is-vowel:hover{background:color-mix(in srgb, var(--cyan) 44%, var(--paper))}}.osk-mod{min-width:52px;font-size:15px}.osk-mod.is-on{background:var(--lime);border-color:var(--edge)}.osk-space{flex:200px;max-width:320px;font-size:13px}.osk-enter{min-width:90px;font-size:13px}@media (max-width:560px){.osk-key{min-width:30px;min-height:38px;padding:4px 5px;font-size:15px}.osk-row{gap:4px}.osk-mod{min-width:42px}}@media (prefers-reduced-motion:reduce){.osk-key{transition:none}}.ime-upgrade{border:2px solid var(--edge);background:var(--lime);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-start:12px;padding:14px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.ime-upgrade{background:color-mix(in srgb, var(--lime) 20%, var(--paper))}}.ime-upgrade{color:var(--ink)}.ime-upgrade-body{flex:260px;gap:4px;min-width:0;display:grid}.ime-upgrade-body b{font-size:14px;font-weight:900}.ime-upgrade-body p{opacity:.85;margin:0;font-size:13px;line-height:1.6}.ime-upgrade-actions{flex-wrap:wrap;gap:8px;display:flex}.ime-upgrade-actions .button{padding:8px 14px;font-size:13px}.language-picker.is-loading:after,.header-tools>.language-picker.is-loading:after{content:"◠"!important;transform-origin:50%!important;font-weight:900!important;animation:.7s linear infinite language-picker-spin!important}.language-picker.is-loading select,.header-tools>.language-picker.is-loading select{opacity:.7!important;cursor:progress!important}@keyframes language-picker-spin{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.language-picker.is-loading:after,.header-tools>.language-picker.is-loading:after{content:"…"!important;animation:none!important}}@media (max-width:560px){.osk{--osk-breakout:36px;margin-inline:calc(var(--osk-breakout) * -1);padding:10px 6px;overflow-x:auto}.osk-rows{gap:5px}.osk-row{gap:4px}.osk-key{flex:calc(10% - 3.6px);min-width:20px;max-width:44px;min-height:40px;padding:6px 2px;font-size:15px}.osk-mod{flex:calc(10% - 3.6px);min-width:20px;max-width:44px;font-size:13px}.osk-space{flex:4 1 0;min-width:0;max-width:none;font-size:12px}.osk-enter{flex:3 1 0;min-width:0;max-width:none;font-size:12px}}.osk-rows{grid-template-columns:minmax(0,1fr)}.osk-row{min-width:0}.member-directory{gap:14px;min-width:0;display:grid}.owner-me{border:2px dashed var(--line);background:var(--surface-2);border-radius:14px;gap:6px;padding:14px 16px;display:grid}.owner-me-body{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.owner-me-body b{font-size:15px;font-weight:900}.owner-me-body>span{opacity:.75;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:600}.owner-me dl{flex-wrap:wrap;gap:6px 16px;margin:0;display:flex}.owner-me dl div{align-items:baseline;gap:6px;display:flex}.owner-me dt{letter-spacing:.04em;opacity:.7;font-size:11px;font-weight:800}.owner-me dd{margin:0;font-size:13px;font-weight:800}.owner-me-note{opacity:.6;margin:0;font-size:11px;font-weight:600}.member-directory-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.member-directory-bar h2{margin:0}.member-directory-bar h2 span,.member-directory-group h3 span{opacity:.6;letter-spacing:0;font-size:13px;font-weight:700}.owner-group-toggle{border:2px solid var(--edge);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800}.owner-group-toggle:hover{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.owner-group-toggle:hover{background:color-mix(in srgb, var(--lime) 24%, var(--paper))}}.member-directory-group{gap:8px;display:grid}.member-directory-group h3{letter-spacing:.03em;align-items:baseline;gap:8px;margin:4px 0 0;font-size:14px;font-weight:900;display:flex}.owner-sort-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.owner-sort-controls label{align-items:center;gap:8px;min-width:0;font-size:11px;font-weight:850;display:flex}.owner-sort-controls select,.owner-sort-controls button{box-sizing:border-box;border:2px solid var(--edge);background:var(--paper);min-height:36px;color:var(--ink);font:inherit;border-radius:999px;font-size:12px;font-weight:800}.owner-sort-controls select{min-width:148px;max-width:100%;padding:7px 30px 7px 12px}.owner-sort-controls button{cursor:pointer;white-space:nowrap;padding:7px 13px}.owner-sort-controls button:hover{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.owner-sort-controls button:hover{background:color-mix(in srgb, var(--lime) 24%, var(--paper))}}.owner-sort-controls :is(select,button):focus-visible{outline:3px solid var(--purple)}@supports (color:color-mix(in lab, red, red)){.owner-sort-controls :is(select,button):focus-visible{outline:3px solid color-mix(in srgb, var(--purple) 65%, transparent)}}.owner-sort-controls :is(select,button):focus-visible{outline-offset:2px}@media (max-width:760px){.owner-console-stats,.owner-activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-console-grid{grid-template-columns:minmax(0,1fr)}.owner-sort-controls{justify-content:flex-start}}@media (max-width:480px){.owner-sort-controls label{width:100%}.owner-sort-controls select{flex:auto;min-width:0}}.ime-missing-fallback{color:var(--ink);text-align:start;text-underline-offset:3px;opacity:.72;cursor:pointer;background:0 0;border:0;flex-basis:100%;padding:4px 0 0;font-size:12px;font-weight:700;text-decoration:underline}.ime-missing-fallback:hover{opacity:1}.osk-exit{opacity:.8;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;font-size:12px;font-weight:600;display:flex}.osk-exit button{border:2px solid var(--edge);background:var(--paper);color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.osk-exit button:hover{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.osk-exit button:hover{background:color-mix(in srgb, var(--lime) 26%, var(--paper))}}.ime-try{border:2px solid var(--edge);background:var(--lime);border-radius:14px;gap:4px;margin-block-start:14px;padding:12px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.ime-try{background:color-mix(in srgb, var(--lime) 20%, var(--paper))}}.ime-try{color:var(--ink)}.ime-try b{font-size:14px;font-weight:900}.ime-try p{opacity:.85;margin:0;font-size:13px;line-height:1.6}.owner-flag b{background:var(--ink);border-radius:999px;min-width:18px;margin-inline-start:2px;padding:1px 6px}@supports (color:color-mix(in lab, red, red)){.owner-flag b{background:color-mix(in srgb, var(--ink) 12%, transparent)}}.owner-flag b{font-variant-numeric:tabular-nums;text-align:center;font-size:11px;font-weight:900}@media (max-width:700px){.hg-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.hg-history-grid,.hg-grammar-grid{grid-template-columns:minmax(0,1fr)}.hg-grammar-formula span{flex:8.5rem}}@media (max-width:430px){.hg-nav{gap:10px}.hg-nav .brand>span:last-child{display:none}.hg-section-tabs button{padding-inline:.7rem}.hg-hangeul-day{grid-template-columns:minmax(0,1fr)}.hg-hangeul-day>span{width:5.5rem}.hg-timeline-item{grid-template-columns:4rem minmax(0,1fr)}.hg-grammar-formula{grid-template-columns:minmax(0,1fr);display:grid}.hg-grammar-formula span{width:100%;min-width:0}.hg-grammar-formula i{justify-self:center}}.name-card{border:2px solid var(--edge);color:#1b1a17;text-align:center;background:linear-gradient(90deg,#c0392b 0 5px,#0000 5px),linear-gradient(160deg,#fffdf7,#f6efe1);border-radius:16px;justify-items:center;gap:6px;padding:26px 24px 20px;display:grid}.name-card-label{letter-spacing:.12em;text-transform:uppercase;color:#8a8378;margin:0;font-size:11px;font-weight:800}.name-card-hangul{letter-spacing:.02em;overflow-wrap:normal;word-break:keep-all;margin:2px 0 0;font-family:Nanum Myeongjo,Gungsuh,궁서,Batang,serif;font-size:clamp(34px,7vw,58px);font-weight:800;line-height:1.25}.name-card-original{color:#8a8378;margin:0;font-size:13px;font-weight:600}.name-card-save{color:#1b1a17;white-space:nowrap;cursor:pointer;background:0 0;border:2px solid #1b1a17;border-radius:999px;margin-block-start:8px;padding:8px 16px;font-size:12px;font-weight:800}.name-card-save:hover{color:#fffdf7;background:#1b1a17}.name-card.is-compact{text-align:start;justify-items:start;gap:2px;margin-block-start:14px;padding:14px 16px}.name-card.is-compact .name-card-hangul{font-size:clamp(26px,4vw,36px)}.name-card.is-compact .name-card-save{margin-block-start:6px;padding:6px 13px;font-size:11px}.name-modal{text-align:center;max-width:460px}.name-modal-intro{margin:0 0 14px;font-size:14px;font-weight:700;line-height:1.6}.name-modal-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-block-start:16px;display:flex}.name-modal-actions .button{white-space:nowrap;flex:none}.name-modal-dismiss{color:var(--ink);text-underline-offset:3px;opacity:.7;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700;text-decoration:underline}.name-modal-dismiss:hover{opacity:1}.name-modal-note{opacity:.6;margin:12px 0 0;font-size:11px;font-weight:600}.name-preview{justify-items:start;gap:10px;display:grid}.name-preview-note{opacity:.72;margin:0;font-size:12px;font-weight:600}.name-preview-none{opacity:.8;max-width:60ch;margin:0;font-size:13px;font-weight:600;line-height:1.6}.name-preview-field{gap:4px;display:grid}.name-preview-field span{letter-spacing:.06em;opacity:.7;font-size:11px;font-weight:800}.name-preview-field input{border:2px solid var(--edge);background:var(--paper);min-width:min(320px,100%);color:var(--ink);font:inherit;border-radius:10px;padding:9px 13px;font-size:14px;font-weight:700}.name-preview-samples{flex-wrap:wrap;gap:6px;display:flex}.name-preview-samples button{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.name-preview-samples button:hover{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.name-preview-samples button:hover{background:color-mix(in srgb, var(--lime) 24%, var(--paper))}}.name-card-caveat{color:#8a8378;overflow-wrap:normal;word-break:keep-all;max-width:34ch;margin:6px 0 0;font-size:11px;font-weight:600;line-height:1.55}.name-card.is-compact .name-card-caveat{max-width:42ch}.member-directory-legend{opacity:.72;white-space:normal;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:600;line-height:1.45;display:inline-flex}.member-directory-legend .is-idle-swatch{border:1px solid var(--line);background:var(--ink);opacity:.62;border-radius:3px;flex:none;width:22px;height:12px}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}._shell_15nbe_1{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--purple) 12%, transparent) 0, transparent 28rem), var(--paper)}._header_15nbe_9{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:min(1120px,100% - 40px);margin:0 auto;padding:24px 0;display:flex}._brand_15nbe_20{color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:900;text-decoration:none;display:inline-flex}._brandMark_15nbe_30{border:2px solid var(--ink);background:var(--yellow);width:34px;height:34px;box-shadow:3px 3px 0 var(--ink);border-radius:10px;place-items:center;display:inline-grid}._headerLinks_15nbe_41{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}._headerLinks_15nbe_41 a,._primaryLink_15nbe_49,._secondaryLink_15nbe_50{border:1px solid var(--line);min-height:38px;color:var(--ink);background:color-mix(in srgb, var(--paper) 88%, transparent);border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}._headerLinks_15nbe_41 a:hover,._secondaryLink_15nbe_50:hover{border-color:var(--ink)}._primaryLink_15nbe_49{border-color:var(--ink);background:var(--purple);color:#fff;box-shadow:3px 3px 0 var(--ink)}._main_15nbe_77{width:min(920px,100% - 40px);margin:0 auto;padding:76px 0 96px}._hero_15nbe_83{max-width:760px;margin-bottom:54px}._eyebrow_15nbe_88{color:var(--purple);letter-spacing:.14em;margin:0 0 14px;font-size:11px;font-weight:950}._hero_15nbe_83 h1{letter-spacing:-.055em;margin:0;font-size:clamp(42px,8vw,76px);line-height:.98}._lede_15nbe_103{max-width:700px;color:var(--muted);margin:24px 0 0;font-size:clamp(17px,2.2vw,21px);line-height:1.65}._status_15nbe_111{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}._status_15nbe_111 span{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}._content_15nbe_127{gap:18px;display:grid}._section_15nbe_132,._highlight_15nbe_133{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);border-radius:20px;padding:clamp(24px,5vw,42px);box-shadow:0 14px 42px #1515120f}._section_15nbe_132 h2,._highlight_15nbe_133 h2{letter-spacing:-.025em;margin:0 0 14px;font-size:clamp(22px,4vw,30px)}._section_15nbe_132 h3{margin:26px 0 8px;font-size:16px}._section_15nbe_132 p,._section_15nbe_132 li,._highlight_15nbe_133 p{color:var(--muted);font-size:15px;line-height:1.8}._section_15nbe_132 p,._highlight_15nbe_133 p{margin:0}._section_15nbe_132 p+p{margin-top:14px}._section_15nbe_132 ul,._section_15nbe_132 ol{margin:14px 0 0;padding-left:21px}._section_15nbe_132 li+li{margin-top:9px}._section_15nbe_132 a,._highlight_15nbe_133 a,._footer_15nbe_182 a{color:var(--purple);text-underline-offset:3px;font-weight:800}._highlight_15nbe_133{border:2px solid var(--ink);background:var(--yellow);box-shadow:5px 5px 0 var(--ink)}._highlight_15nbe_133 p{color:var(--ink)}._actionRow_15nbe_198{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}._contactGrid_15nbe_205{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}._contactCard_15nbe_212{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 78%, white);border-radius:14px;padding:18px}._contactCard_15nbe_212 strong{margin-bottom:6px;font-size:14px;display:block}._contactCard_15nbe_212 p{font-size:13px;line-height:1.6}._contactCard_15nbe_212 a{margin-top:10px;font-size:12px;display:inline-block}._emailBox_15nbe_236{border:2px solid var(--ink);background:var(--paper);border-radius:14px;margin-top:22px;padding:20px}._emailBox_15nbe_236 span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:850;display:block}._emailBox_15nbe_236 a{overflow-wrap:anywhere;color:var(--ink);font-size:clamp(17px,4vw,23px);font-weight:900}._footer_15nbe_182{border-top:1px solid var(--line);width:min(920px,100% - 40px);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;padding:25px 0 42px;font-size:11px;display:flex}@media (max-width:640px){._header_15nbe_9{align-items:flex-start;width:min(100% - 28px,1120px)}._headerLinks_15nbe_41 a:not(:last-child){display:none}._main_15nbe_77,._footer_15nbe_182{width:min(100% - 28px,920px)}._main_15nbe_77{padding-top:52px}._contactGrid_15nbe_205{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){._headerLinks_15nbe_41 a,._primaryLink_15nbe_49,._secondaryLink_15nbe_50{scroll-behavior:auto}}
