.session-head .session-head-actions{display:flex;align-items:center;flex:0 0 auto;gap:4px}.session-head>span{min-width:0}@media(max-width:400px){.session-head{column-gap:4px}.session-head>.back-button{padding-inline:4px;font-size:12px}.session-head>span{font-size:14px;gap:4px}.session-head .session-head-actions{gap:2px}.session-head .session-head-actions>.icon-button{width:36px;height:36px;padding:6px}}.session-page .results,.session-page .game-over{width:100%;max-width:900px;margin:16px auto 28px;padding:clamp(22px,4vw,36px);border:1px solid var(--border);border-radius:24px;background:var(--surface);text-align:center}.results .result-heading{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;text-align:left}.session-page .results .result-symbol{width:52px;height:52px;flex:0 0 52px;margin:0;border-radius:18px}.session-page .results .eyebrow{margin:0 0 6px;line-height:1.4}.session-page .results h1{margin:0;color:var(--text);font-size:clamp(22px,4vw,30px);font-weight:650;line-height:1.3;overflow-wrap:anywhere}.result-percent{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:12px 0 8px;color:var(--accent-text);font-size:clamp(56px,10vw,76px);font-weight:650;line-height:1.05;font-variant-numeric:tabular-nums}.result-percent>span{font-size:.4em}.session-page .results .result-caption{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.5}.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:560px;margin:0 auto 24px}.result-stats>div{display:flex;flex-direction:column;gap:8px;padding:16px 8px;border-radius:16px;background:var(--surface2)}.result-stats dt{color:var(--muted);font-size:13px;line-height:1.4}.result-stats dd{margin:0;color:var(--text);font-size:clamp(19px,4vw,26px);font-weight:650;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}.session-page .results .button-row,.session-page .game-over .button-row{justify-content:center;gap:12px;flex-wrap:wrap}.result-extra{display:grid;justify-items:center;gap:12px;margin-top:20px}.result-extra p{margin:0;color:var(--muted);line-height:1.5}.test-content .result-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:0;padding-top:16px;border-top:1px solid var(--border);width:100%}.result-tools .text-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted)}.session-page .game-over h1,.session-page .game-over h2{margin:8px 0 16px;font-size:clamp(25px,5vw,34px);line-height:1.3;overflow-wrap:anywhere}.session-page .game-over>p{max-width:54ch;margin:0 auto 24px;font-size:15px;line-height:1.65}.session-page .arcade-result .arcade-result-symbol{width:72px;height:72px;border-radius:24px;margin-bottom:16px}.session-page .arcade-final-score{font-size:clamp(48px,9vw,68px);line-height:1.15;margin-block:16px 24px}.session-page .result-details{margin-top:24px}.mode-intro-modal[open]{display:flex;flex-direction:column}.mode-intro-modal .modal-head{flex-shrink:0}.mode-intro-modal .mode-intro-body{min-height:0;flex:1 0 auto;gap:16px}.mode-intro-body h2,.mode-intro-body>p{margin:0}@media(max-width:600px){.session-page .results,.session-page .game-over{margin-top:12px;padding:22px 16px;border-radius:20px}.results .result-heading{gap:12px}.result-stats{gap:8px}.session-page .results .button-row,.session-page .game-over .button-row{display:grid;grid-template-columns:minmax(0,1fr)}.result-extra>button{width:100%}}@media(max-height:650px){.mode-intro-modal .mode-intro-body{gap:12px;padding-block:16px}.mode-intro-modal .intro-icon{width:64px;height:64px;margin:0}.mode-intro-modal .intro-icon svg{width:38px;height:38px}}.study-progress-section{margin:32px 0}.study-progress-section .section-heading p{margin:8px 0 0}.study-progress-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.study-progress-group{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.study-progress-count{align-self:flex-start;display:grid;place-items:center;min-width:54px;min-height:54px;padding:8px;border-radius:16px;background:var(--surface2);color:var(--text);font-size:25px;font-weight:700}.study-progress-learning .study-progress-count{background:var(--peach)}.study-progress-mastered .study-progress-count{background:var(--green-soft);color:var(--accent-text, var(--green))}.study-progress-group h3{margin:18px 0 10px;font-size:20px}.study-progress-group p{margin:0 0 16px;line-height:1.55}.study-progress-preview{overflow-wrap:anywhere;color:var(--muted)}.study-progress-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.study-progress-actions button{white-space:normal;min-width:0}.study-progress-explanation{margin-top:18px;color:var(--muted);line-height:1.6}.study-progress-explanation summary{cursor:pointer;color:var(--text)}.study-progress-explanation p{margin:12px 0 0}@media(max-width:800px){.study-progress-groups{grid-template-columns:1fr}.study-progress-group{padding:20px}}.daily-practice{display:grid;gap:18px;min-width:0;width:100%;max-width:510px}.app .hero .hero-copy{flex:1;min-width:0;padding-right:24px}.daily-practice>h2{margin:0}.daily-practice-progress{display:grid;gap:8px}.daily-practice-progress>div{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5}.daily-practice-progress span{min-width:0}.daily-practice-progress strong{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font-variant-numeric:tabular-nums;font-size:14px}.daily-practice-progress progress{display:block;width:100%;height:7px;margin:0}.daily-practice .hero-button{justify-self:start;margin:2px 0 0}.daily-dictation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid currentColor;padding-top:16px}.daily-dictation>span,.daily-dictation>strong{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.5}.daily-dictation .secondary{color:inherit;background:transparent;border-color:currentColor}.daily-dictation .secondary:hover{background:#ffffff12}.daily-practice-settings{display:grid;gap:16px}.daily-target-presets{display:flex;flex-wrap:wrap;gap:8px}.daily-target-presets button{flex:1;min-width:48px}.daily-target-presets button[aria-pressed=true]{color:var(--accent-text);border-color:var(--accent-text);background:var(--green-soft)}@media(max-width:500px){.daily-practice{gap:16px}.daily-practice .hero-button{width:100%}}@media(max-width:700px){.app .hero .hero-copy{width:100%;max-width:none;padding-right:0}.app .hero .hero-art{display:none}}.daily-word-image{width:56px;height:56px;flex:0 0 56px;object-fit:contain;border-radius:12px}.word-of-day .phrase h3{flex:1;min-width:0;overflow-wrap:break-word;word-break:keep-all}@media(max-width:400px){.daily-word-image{width:44px;height:44px;flex-basis:44px}.word-of-day .phrase{gap:10px}}.diagram-editor{width:100%;border-top:1px solid var(--border);padding-top:.7rem}.diagram-editor>summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}.diagram-editor>p{font-size:.85rem;line-height:1.5;margin:.3rem 0}.diagram-surface{padding:22px;text-align:center;border-radius:14px;background:var(--surface2);margin:.6rem 0}.diagram-canvas{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.diagram-canvas img{display:block;max-width:100%;height:auto;width:auto;max-height:360px;border-radius:8px}.diagram-marker{position:absolute;transform:translate(-50%,-50%);min-width:44px;width:44px;height:44px;min-height:44px;padding:0;border:2px solid var(--accent-text);background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0004;border-radius:50%;font-weight:750;z-index:1}.diagram-marker.selected{z-index:2;box-shadow:0 0 0 3px var(--accent-text)}.diagram-marker.correct{background:var(--good-bg);color:var(--good);border-color:var(--good)}.diagram-marker.wrong{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.diagram-marker:disabled{opacity:1}.diagram-number-buttons,.diagram-mode-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.diagram-number-buttons button{min-width:44px;min-height:44px;padding:.5rem}.diagram-number-buttons .active,.diagram-marker-list .active{border-color:var(--accent-text)}.diagram-marker-list{padding:0;list-style:none;margin:.7rem 0;display:grid;gap:.4rem}.diagram-marker-list li{display:flex;align-items:center;gap:.4rem;min-width:0}.diagram-marker-list li>.secondary{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere;min-height:44px}.diagram-marker-list .icon-button{flex-shrink:0;min-width:44px;min-height:44px}.diagram-point-position{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.diagram-point-form{margin:.6rem 0;padding:.8rem;border:1px solid var(--border);border-radius:10px}.diagram-point-form .field{margin-bottom:.6rem}.diagram-mode-tabs>button{flex:1;min-height:44px}.diagram-question{margin:.9rem 0 .2rem}.diagram-question h3{font-size:1.6rem;margin:.35rem 0;overflow-wrap:anywhere}.diagram-question>span,.diagram-progress-note{font-size:.8rem;line-height:1.5}.diagram-definition{display:flex;justify-content:space-between;gap:.7rem;align-items:center;padding:.8rem;background:var(--surface2);border-radius:10px;margin-top:.7rem}.diagram-definition h3,.diagram-definition p{margin:.2rem 0;overflow-wrap:anywhere}.diagram-feedback{padding:.8rem;margin-top:.7rem;border-left:3px solid var(--good);border-radius:10px;background:var(--good-bg);color:var(--text)}.diagram-feedback.incorrect{border-color:var(--bad);background:var(--bad-bg)}.diagram-feedback p{overflow-wrap:anywhere}.diagram-result h3{font-size:1.3rem;margin:1rem 0}.diagram-progress-note{margin:.9rem 0 0}.word-actions .diagram-open{color:var(--accent-text)}.word-row-diagram .word-actions{flex-wrap:wrap}@media(max-width:480px){.diagram-canvas img{max-height:270px}.diagram-point-position{grid-template-columns:1fr}}.word-media{display:inline-flex;max-width:100%;flex-direction:column;align-items:center;gap:.65rem}.formatted-word{overflow-wrap:anywhere}.word-image{max-width:100%;width:auto;height:auto;max-height:170px;object-fit:contain;border-radius:12px}.option-word-media{flex-direction:row;align-items:center;gap:.65rem;min-width:0;text-align:left}.option-word-media .word-image{width:48px;height:48px;max-width:48px;max-height:48px;flex:0 0 48px;border-radius:8px}.option-word-media .formatted-word{min-width:0}.word-mark-bold{font-weight:750}.word-mark-italic{font-style:italic}.word-mark-underline{text-decoration:underline;text-underline-offset:.16em}.word-mark-highlight{background:var(--green-soft);background:color-mix(in srgb,var(--green) 30%,var(--surface));color:var(--text);border-radius:3px}.word-format-editor{margin:-.5rem 0 1rem}.word-format-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.word-format-toolbar button{min-width:44px;min-height:44px}.word-format-toolbar button[aria-pressed=true]{border-color:var(--accent-text)}.word-format-preview{border-left:3px solid var(--accent-text);padding:.5rem .7rem;margin-top:.5rem;overflow-wrap:anywhere}.word-media-editor{border-top:1px solid var(--border);padding-top:1rem;margin-top:.25rem}.word-media-editor h3{font-size:1rem;margin:0 0 .7rem}.word-image-editor{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.word-image-editor .field{width:100%;margin:0}.word-media-note{font-size:.8rem;line-height:1.5;margin:.5rem 0 .9rem}.word-audio-editor{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0;border-top:1px solid var(--border)}.word-audio-editor strong{font-size:.85rem}.word-media-editor .button-row{gap:.4rem;flex-wrap:wrap}.word-recording{color:var(--text);font-size:.85rem}.word-recording:before{content:"";display:inline-block;background:var(--danger, #d65a66);width:8px;height:8px;border-radius:50%;margin-right:.5rem}.word-row .word-media{align-items:flex-start}.word-row .word-image{max-width:100px;max-height:70px}.match-tile .word-image{max-height:55px;max-width:80px;border-radius:6px}.match-tile .word-media{gap:4px}@media(max-width:480px){.word-media-editor .button-row button{min-height:44px}.word-audio-editor{align-items:flex-start;flex-direction:column}.word-image{max-height:140px}}.practice-content{-webkit-user-select:none;user-select:none}.practice-content input,.practice-content textarea{-webkit-user-select:text;user-select:text}.modal.practice-sheet[open]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border:0;border-radius:0;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:practiceSheetUp .28s cubic-bezier(.2,.75,.25,1) both}.practice-sheet .modal-head,.practice-sheet .question-pane{width:min(100%,720px);margin-inline:auto;flex-shrink:0}.modal.practice-sheet .question-pane{padding:16px 0;margin-block:auto;background:none}.practice-choice-row{display:flex;align-items:stretch;gap:8px;min-width:0}.practice-choice-row>.choice{flex:1;min-width:0}.practice-choice-row>.audio{flex:0 0 44px;align-self:center}.graded-choices .audio{pointer-events:auto}.practice-sheet::backdrop{animation:practiceBackdrop .2s ease-out both}.modal.practice-sheet[open].is-leaving{animation:practiceSheetDown .18s ease-in both;pointer-events:none}.practice-attempts{color:var(--muted);font-size:12px;margin:0 0 10px}.practice-content[data-result=correct] .feedback,.practice-content[data-result=correct] .graded-choices .choice-correct{animation:practiceCorrect .32s ease-out both}@keyframes practiceAppear{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes practiceLeave{to{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes practiceBackdrop{0%{opacity:0}to{opacity:1}}@keyframes practiceCorrect{0%{transform:scale(.985);filter:brightness(1.12)}to{transform:none;filter:none}}@media(max-width:900px){.modal.practice-sheet[open].is-leaving{animation:practiceSheetDown .18s ease-in both}.practice-sheet .modal-head{margin-bottom:12px}.practice-sheet .modal-head h2{font-size:18px}.practice-sheet .question-pane h2{margin:12px 0}.practice-sheet .choice-grid{gap:9px}.practice-sheet .choice{min-height:48px;padding:11px 13px}}@keyframes practiceSheetUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes practiceSheetDown{to{opacity:0;transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.modal.practice-sheet[open],.practice-sheet::backdrop,.modal.practice-sheet[open].is-leaving,.practice-content[data-result=correct] .feedback,.practice-content[data-result=correct] .graded-choices .choice-correct{animation:none}}.test-matching-panel .question-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.test-matching-instruction{font-size:13px;line-height:1.7;color:var(--text);margin:12px 0 20px}.test-pair-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.test-pair-column{min-width:0;display:flex;flex-direction:column;gap:12px}.test-pair-column h3{font-size:12px;color:var(--text);margin:0 0 3px;padding:0 2px 8px;border-bottom:2px solid color-mix(in srgb,var(--accent-text) 30%,var(--border))}.test-pair-definitions h3{border-bottom-color:color-mix(in srgb,#4183a4 45%,var(--border))}.test-pair-row{min-width:0;position:relative}.test-pair-row:has(>.test-pair-clear) .test-pair-option{padding-right:44px}.test-pair-clear{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--muted);border-radius:8px}.test-pair-clear:hover,.test-pair-clear:focus-visible{color:var(--text);background:var(--surface2)}.test-pair-row:has(>.audio)>.test-pair-clear{right:44px}@media(max-width:480px){.test-pair-row>.test-pair-clear{left:0;right:auto;top:0;transform:none}.test-pair-row:has(>.audio)>.test-pair-clear{left:0;right:auto}.test-pair-row:has(>.test-pair-clear) .test-pair-option{padding-right:8px}}.test-pair-row:has(>.audio){padding-right:44px}.test-pair-row>.audio{position:absolute;top:14px;right:0;width:44px;height:44px}.test-pair-option{display:flex;align-items:center;gap:9px;width:100%;min-height:75px;padding:14px 11px;text-align:left;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);transition:background .15s,border-color .15s}.test-pair-option>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere;word-break:keep-all;font-size:14px;line-height:1.5}.test-pair-definitions .test-pair-option{background:color-mix(in srgb,#4183a4 7%,var(--surface))}.test-pair-number{flex-shrink:0;color:var(--muted);font-size:11px}.test-pair-label{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;min-height:24px;padding:2px 4px;border-radius:7px;background:var(--surface2);font-size:11px;color:var(--text)}.test-pair-option.pair-assigned{border-color:color-mix(in srgb,var(--test-pair-color) 60%,var(--border));background:color-mix(in srgb,var(--test-pair-color) 12%,var(--surface))}.test-pair-option.pair-assigned .test-pair-label{background:color-mix(in srgb,var(--test-pair-color) 25%,var(--surface))}.test-pair-option.pair-linked{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}.test-pair-option.pair-active{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent-text) 14%,var(--surface));box-shadow:inset 0 0 0 2px var(--accent-text)}.test-pair-option:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.test-pair-option:not(:disabled):hover{border-color:var(--accent-text)}.test-pair-option:disabled{opacity:1}.test-pair-option.pair-correct{border-color:var(--good);background:var(--good-bg)}.test-pair-option.pair-wrong{border-color:var(--bad);background:var(--bad-bg)}.test-pair-correction{display:block;margin:8px 3px 0;font-size:11px;color:var(--text);line-height:1.6;overflow-wrap:anywhere}.test-pair-correction>span{display:block}.test-pair-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.test-content .test-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;text-align:left}.test-content .test-intro h1{font-size:24px;margin:0}.test-content .test-question{padding:20px;margin-bottom:12px;scroll-margin-top:112px}.test-content .test-question[tabindex="-1"]:focus{outline:none}.test-content .test-group-title{font-size:12px;color:var(--muted);margin:0 0 12px;line-height:1.4}.test-written-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.test-written-form input{min-width:0;width:100%}.test-written-form button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:10px 12px}@media(max-width:600px){.test-content .test-question{padding:16px}.test-content .test-intro h1{font-size:22px}}@media(max-width:400px){.test-written-form button span{display:none}}@media(max-width:480px){.test-pair-row:has(>.audio){padding-right:0}.test-pair-row>.audio{top:0;right:0}.test-matching-panel .test-pair-option{position:relative;padding:44px 8px 10px;justify-content:center;text-align:center}.test-pair-option>.test-pair-number{position:absolute;top:8px;left:8px}.test-pair-option>.test-pair-label{position:absolute;top:6px;right:6px}.test-pair-row:has(>.audio) .test-pair-label{right:44px}.test-pair-row:has(>.test-pair-clear) .test-pair-label{left:50%;right:auto;transform:translate(-50%)}.test-pair-row:has(>.test-pair-clear) .test-pair-number{top:auto;bottom:8px}.test-matching-panel .test-pair-option>span:nth-child(2){font-size:14px}}@media(max-width:360px){.test-matching-panel .test-pair-option>span:nth-child(2){font-size:13px}}@media(max-width:600px){.test-pair-columns,.test-pair-column{gap:10px}.test-pair-option{gap:6px;padding:11px 7px;min-height:76px}.test-pair-option>span:nth-child(2){font-size:12px}.test-pair-label{min-width:18px;font-size:10px}.test-pair-number{font-size:10px}}.test-print-sheet{display:none}.test-screen-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}.test-screen-actions button{display:flex;align-items:center;gap:8px;min-height:44px}@media(hover:none),(pointer:coarse){.desktop-keyboard-hint{display:none}}@media print{@page{margin:16mm}html{background:#fff!important;color-scheme:light!important;--text:#111!important;--muted:#444!important;--accent-text:#111!important;--bg:white!important;--surface:white!important;--surface2:white!important}body[data-haru-print] .app,body[data-haru-print] #root{min-height:0!important;background:#fff!important}body[data-haru-print]{background:#fff!important;color:#000!important;min-width:0}body[data-haru-print] .sidebar,body[data-haru-print] header,body[data-haru-print] .bottom-nav,body[data-haru-print] .session-head,body[data-haru-print] .toast,body[data-haru-print] .modal-backdrop{display:none!important}body[data-haru-print] .main,body[data-haru-print] .page-content,body[data-haru-print] .test-content{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;display:block;background:#fff!important;color:#000!important}body[data-haru-print] button,body[data-haru-print] .test-screen-actions,body[data-haru-print] .test-pair-status,body[data-haru-print] .test-matching-instruction{display:none!important}body[data-haru-print=blank] .test-content>:not(.test-print-sheet){display:none!important}body[data-haru-print=blank] .test-print-sheet{display:block!important}body[data-haru-print] .test-print-sheet h1{font-size:22pt;margin:0 0 12pt}body[data-haru-print] .test-print-question,body[data-haru-print] .test-question{break-inside:avoid;border:0!important;border-bottom:1px solid #ccc!important;padding:14pt 0!important;margin:0!important;background:#fff!important;color:#000!important;box-shadow:none!important}body[data-haru-print] .test-print-question h2{display:flex;align-items:flex-start;gap:6pt;font-size:13pt;margin-bottom:9pt}body[data-haru-print] .test-print-question h2 .word-media{flex-direction:column-reverse}body[data-haru-print] .test-print-question ul{list-style:none;padding:0}body[data-haru-print] .test-print-question li{padding:4pt 0;font-size:11pt}body[data-haru-print] .test-print-pairs{display:grid;grid-template-columns:1fr 1fr;gap:20pt}body[data-haru-print] .test-print-pairs li{break-inside:avoid}body[data-haru-print] .word-media{align-items:flex-start;color:#000!important}body[data-haru-print] .word-image{max-height:32mm;border-radius:0}body[data-haru-print] .word-mark-highlight{color:#000!important;background:#fff2b2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body[data-haru-print] .results{margin:0;padding:0}body[data-haru-print] .results h1{font-size:28pt}body[data-haru-print] .test-answer,body[data-haru-print] .test-pair-correction,body[data-haru-print] .eyebrow,body[data-haru-print] .test-pair-column h3{color:#000!important;background:#fff!important}body[data-haru-print=results] .test-pair-option{display:flex!important;background:#fff!important;color:#000!important;border:1px solid #bbb!important}body[data-haru-print=results] .test-pair-option.pair-correct{border:2px solid #333!important}body[data-haru-print=results] .test-pair-option.pair-wrong{border:2px dashed #333!important}}.cards-content .card-swipe-viewport{overflow:hidden;margin-inline:-16px;padding-inline:16px}@media(max-width:600px){.cards-content .card-swipe-viewport{margin-inline:-8px;padding-inline:8px}}.cards-content .card-swipe-viewport .flashcard-scene{will-change:transform,opacity;animation:card-arrive .26s cubic-bezier(.2,.75,.25,1);transition:transform .18s ease-out,opacity .18s ease-out}.cards-content .card-swipe-viewport .flashcard-scene.is-dragging{animation:none;transition:none}.cards-content .card-swipe-viewport .flashcard-scene.is-exiting{animation:none;transition:transform .26s cubic-bezier(.25,.6,.3,1),opacity .26s ease-in;pointer-events:none}.cards-content .card-swipe-marker{position:absolute;z-index:2;top:62px;border:2px solid currentColor;border-radius:12px;padding:8px 14px;font-weight:750;pointer-events:none}.card-swipe-marker.is-known{left:24px;color:var(--good);background:var(--good-bg);transform:rotate(-8deg)}.card-swipe-marker.is-learning{right:24px;color:var(--bad);background:var(--bad-bg);transform:rotate(8deg)}.learn-recall-answer .learn-recall-audio{display:flex;align-items:center;justify-content:space-between;gap:12px}@keyframes card-arrive{0%{transform:translate(var(--card-entry-x, 28px)) scale(.98);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.cards-content .flashcard-scene{animation:none;transition:none}}.learn-path{max-width:650px}.spell-content .question-meta{display:flex;flex-direction:column;align-items:center;gap:26px;margin:0 0 28px}.spell-content .question-meta .eyebrow{text-align:center}.spell-content .spell-listen{display:flex;align-items:center;gap:10px;min-height:60px;min-width:180px;justify-content:center;border-radius:30px}.spell-instruction{margin:12px 0 20px;text-align:center;color:var(--muted);font-size:13px}.choice-fallback-note{margin:12px 0 20px;padding:12px 15px;background:var(--surface2);border-radius:10px;color:var(--text);font-size:13px;line-height:1.6}.spell-letter-text{white-space:pre-wrap;overflow-wrap:anywhere}.spell-letter-error{color:var(--bad);background:var(--bad-bg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;border-radius:3px;padding:1px 2px}.spell-letter-missing{outline:1px dashed currentColor}.dictation-content.dictation-sequential{max-width:600px}.dictation-sequential .dictation-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;margin:12px 0}.dictation-progress>span:first-child{min-width:0;line-height:1.5}.dictation-progress>span:last-child{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.dictation-sequential>progress{display:block;width:100%;height:4px;margin:0 0 24px}.dictation-step{display:grid;gap:20px;min-width:0;animation:dictation-enter .18s ease-out}.dictation-task{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:290px;padding:30px 20px;background:var(--surface);border:1px solid var(--border);border-radius:20px;text-align:center}.dictation-task .eyebrow{margin:0}.dictation-task h1{margin:0;max-width:100%;font-size:clamp(25px,5.7vw,38px);line-height:1.3;overflow-wrap:anywhere}.dictation-task h1[lang=ko]{word-break:keep-all}.dictation-task>p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.dictation-task .dictation-listen{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 22px;border-radius:28px}.dictation-reference{width:100%;padding:20px 12px;border-top:1px solid var(--border)}.dictation-reference small{display:block;color:var(--muted);margin-bottom:8px}.dictation-reference strong{display:block;color:var(--text);font-size:clamp(24px,5.7vw,36px);line-height:1.4;overflow-wrap:anywhere}.dictation-sequential .dictation-mark-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.dictation-mark-group button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:52px}.dictation-mark-group button[aria-pressed=true].dictation-good{background:var(--good-bg);border-color:var(--good);color:var(--good)}.dictation-mark-group button[aria-pressed=true].dictation-bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}.dictation-sequential .dictation-next{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;min-height:52px}.session-page .dictation-sequential .dictation-step>.dictation-next{margin-top:0}.dictation-check-intro{display:flex;flex-direction:column;align-items:stretch;gap:20px;text-align:center;padding:32px 20px}.dictation-check-intro>h1,.dictation-check-intro>p,.dictation-check-intro>progress,.session-page .dictation-check-intro>progress,.session-page .dictation-sequential.dictation-check-intro>.dictation-next{margin:0}.dictation-check-intro p{line-height:1.6;color:var(--muted)}.dictation-sequential .results .button-row,.dictation-sequential .game-over .button-row{display:flex;flex-wrap:wrap;gap:12px}.dictation-sequential .dictation-retry{display:inline-flex;align-items:center;gap:10px;margin-top:18px}.dictation-start-count{display:grid;gap:12px;width:100%;text-align:left;margin:8px 0 20px}.dictation-count-presets{display:flex;gap:10px;margin:0}.dictation-count-presets button{flex:1;min-height:44px}.dictation-count-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.mode-settings-modal .finish-round{color:var(--bad);background:var(--bad-bg);border:1px solid var(--bad);display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:12px}.dictation-sequential .dictation-help{text-align:center;font-size:13px;line-height:1.5;margin:14px 0;color:var(--muted)}.dictation-review{margin:24px 0;padding:0;list-style:none;text-align:left}.dictation-review li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.dictation-review .dictation-result-label{flex:1;min-width:0}.dictation-review .dictation-result-label strong,.dictation-review .dictation-result-label small{display:block;overflow-wrap:anywhere}.dictation-review .dictation-result-label small{margin-top:4px;color:var(--muted)}.dictation-review .dictation-review-good{color:var(--good);flex-shrink:0}.dictation-review .dictation-review-bad{color:var(--bad);flex-shrink:0}@keyframes dictation-enter{0%{opacity:.5}to{opacity:1}}@media(max-width:500px){.dictation-step{gap:18px}.dictation-check-intro{padding:26px 8px;gap:18px}.dictation-task{min-height:250px;padding:24px 16px;border-radius:16px}.dictation-sequential>progress{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){.dictation-step{animation:none}}.mode-advanced-settings>summary{cursor:pointer;font-weight:600;padding-block:8px}.mode-advanced-content{display:grid;gap:14px;padding-top:12px}.mode-advanced-content h3{margin:10px 0 0}.mode-advanced-content input[type=range]{width:100%}.engagement-counter{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.results .button-row{display:flex;flex-wrap:wrap;gap:12px}.match-content.match-classic .match-grid,.match-content.match-written .match-grid{height:var(--match-height, min(60dvh, 560px));grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--match-rows, 4),minmax(44px,1fr));grid-auto-rows:unset;gap:6px;margin:8px 0 0}.match-content .match-tile{min-width:0;min-height:44px;height:100%;padding:8px 6px;touch-action:manipulation;overflow:hidden;word-break:normal;overflow-wrap:normal;hyphens:none!important}.match-content .match-label{display:block;width:100%;max-width:100%;line-height:1.3;word-break:normal;overflow-wrap:normal;hyphens:none}.match-content .match-label .word-image{max-height:45px;max-width:100%;object-fit:contain}.match-content .match-card-back{width:34px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--accent-text);background:var(--green-soft);font-size:25px;font-weight:750}.match-content .match-tile.is-face-down{background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--green) 18%,var(--surface)))}.match-content .match-tile.is-face-up{animation:memory-reveal .18s ease-out}.match-content .match-live-status{margin-top:6px}.match-content .session-progress{margin-top:0}@keyframes memory-reveal{0%{transform:rotateY(55deg)}to{transform:rotateY(0)}}@media(max-width:700px){.match-content .match-tile{min-height:44px;padding:6px}}.blocks-content{--block-empty: color-mix(in srgb, #6571b2 14%, var(--surface));--block-empty-border: #6571b210}.blocks-content .block-cell:disabled{opacity:1}[data-theme=dark] .blocks-content{--block-empty: color-mix(in srgb, #6571b2 30%, var(--surface))}[data-theme=light] .blocks-content{--block-empty: #dddff4;--block-empty-border: #c8cbe8}.blocks-content .block-cell.color-1{--block-clear-fill: var(--piece-1)}.blocks-content .block-cell.color-2{--block-clear-fill: var(--piece-2)}.blocks-content .block-cell.color-3{--block-clear-fill: var(--piece-3)}.blocks-content .block-board .block-cell.block-clearing,.blocks-content .block-board .block-cell.block-clear-pending{position:relative;background:var(--block-empty);box-shadow:inset 0 0 0 1px var(--block-empty-border);transition:none;animation:none;opacity:1;transform:none}.block-clear-paint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(at 30% 20%,#ffffff65,var(--block-clear-fill) 65%);box-shadow:inset 0 -3px #00000020,inset 0 1px #ffffff60;pointer-events:none}.blocks-content .block-cell.block-clearing .block-clear-paint{animation:blocks-line-clear .12s cubic-bezier(.2,.6,.3,1) both}@keyframes blocks-line-clear{0%{filter:brightness(1);transform:scale(1);opacity:1}35%{filter:brightness(1.25);transform:scale(1.06)}to{filter:brightness(1);transform:scale(.15);opacity:0}}.blocks-content .block-cell.block-clearing .block-clear-paint:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--block-clear-fill);pointer-events:none;animation:blocks-clear-spark .12s ease-out both}@keyframes blocks-clear-spark{0%{opacity:.3;box-shadow:0 0 6px 2px var(--block-clear-fill)}to{opacity:0;box-shadow:0 0 0 0 transparent}}.drag-ghost{will-change:transform}@media(prefers-reduced-motion:reduce){.blocks-content .block-cell.block-clearing .block-clear-paint{animation:none!important;transform:none;opacity:0}.blocks-content .block-cell.block-clearing .block-clear-paint:after{display:none}}.arcade-hud{display:flex;align-items:center;gap:20px;margin-bottom:14px}.arcade-score{display:flex;flex-direction:column;gap:4px}.arcade-score small{font-size:10px;letter-spacing:.13em;color:var(--muted)}.arcade-score strong{font-size:38px;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.arcade-record{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--text);font-size:13px}.arcade-clock,.crystal-moves{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:16px;background:var(--surface2);color:var(--text);font-variant-numeric:tabular-nums}.arcade-clock b,.crystal-moves strong{font-size:24px}.arcade-clock b small{margin-left:4px;font-size:12px;font-weight:400}.arcade-clock.urgent,.crystal-moves.urgent{color:#b52b47;background:#ffe9ec}.blast-timeline{height:5px;overflow:hidden;border-radius:5px;background:var(--surface2);margin-bottom:16px}.blast-timeline>span{display:block;height:100%;background:var(--green);transition:width .1s linear}.blast-level{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text);margin:0 0 12px;flex-wrap:wrap}.blast-level progress{height:6px;flex:1;min-width:60px;margin:0}.blast-level>b{color:var(--green)}.blast-arena{position:relative;border-radius:24px;padding:22px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 80% 0,#285270 0,transparent 55%),radial-gradient(ellipse at 0 95%,#614f82 0,transparent 65%),#141c32;color:#f5f7ff}.blast-starfield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.45;background-image:radial-gradient(circle at 8% 14%,#fff 1px,transparent 2px),radial-gradient(circle at 50% 77%,#fff 1px,transparent 2px),radial-gradient(circle at 82% 42%,#fff 1px,transparent 2px);background-size:139px 113px,97px 181px,181px 147px;animation:blastStars 24s linear infinite}.blast-question{padding:0 0 18px;animation:blastQuestion .25s ease-out}.blast-question-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.blast-question-meta>span{font-size:9px;letter-spacing:.12em;color:#ccd6ee}.blast-question-meta .icon-button{color:#f5f7ff;background:#ffffff14}.blast-question h2{margin:12px 0 0;color:#fff;font-size:clamp(22px,4vw,32px);overflow-wrap:anywhere}.blast-asteroids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 34px;padding:24px 15px 30px}.blast-rock{position:relative;min-height:100px;padding:6px;border:0;background:none;color:#fff;animation:blastDriftA var(--rock-speed,8s) var(--rock-delay,0s) linear infinite;opacity:1!important;will-change:transform}.blast-rock.rock-1,.blast-rock.rock-4{animation-name:blastDriftB}.blast-rock.rock-2,.blast-rock.rock-5{animation-name:blastDriftC}.blast-rock-core{min-height:88px;padding:20px 17px;border-radius:17%;clip-path:polygon(12% 17%,25% 3%,46% 8%,62% 0,86% 11%,95% 31%,88% 49%,100% 68%,81% 91%,61% 95%,43% 88%,24% 100%,4% 80%,9% 59%,0 37%);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;background:radial-gradient(ellipse at 23% 72%,#172f4680 0 7%,transparent 8%),radial-gradient(ellipse at 77% 25%,#14253780 0 6%,transparent 7%),linear-gradient(145deg,#56738e,#2d455d 65%,#213348);border:2px solid #8da8c07a;box-shadow:inset 8px 7px #ffffff14,inset -9px -10px #0003,0 6px 14px #0003;transition:background .2s,border-color .2s}.rock-1 .blast-rock-core,.rock-4 .blast-rock-core{clip-path:polygon(18% 0,40% 6%,58% 0,85% 16%,91% 39%,100% 51%,88% 80%,70% 91%,43% 100%,20% 89%,13% 71%,0 48%,6% 23%)}.rock-2 .blast-rock-core,.rock-5 .blast-rock-core{clip-path:polygon(5% 24%,25% 9%,44% 0,62% 11%,81% 7%,97% 32%,91% 51%,100% 72%,78% 96%,53% 90%,31% 100%,8% 81%,0 58%)}.blast-rock-core b{font-size:clamp(15px,2.4vw,21px);font-weight:600;overflow-wrap:anywhere}.blast-rock-core small{position:absolute;left:18px;top:10px;font-size:9px;color:#c6d8e8}.blast-rock:hover .blast-rock-core,.blast-rock:focus-visible .blast-rock-core{border-color:#d0eaff;box-shadow:0 0 0 3px #b7dff829,0 6px 14px #0003}.blast-rock.rock-correct .blast-rock-core{color:#123547;background:linear-gradient(145deg,#b5fbff,#45c9e3);border-color:#c5ffff}.blast-rock.rock-wrong .blast-rock-core{background:linear-gradient(145deg,#a54464,#602238);border-color:#ffc0d0;animation:blastShake .4s}.blast-rock.rock-destroyed .blast-rock-core{animation:blastDestroy .5s forwards}.blast-burst{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:4px solid #94f6ff;border-radius:50%;animation:blastBurst .5s forwards;pointer-events:none}.blast-ship{width:62px;height:52px;position:relative;margin:0 auto 4px;color:#dfedff;transform:rotate(-45deg)}.blast-ship>span{position:absolute;width:14px;height:26px;bottom:0;left:0;background:linear-gradient(#ffebad,#fb9270,transparent);clip-path:polygon(50% 100%,0 0,100% 0);animation:blastFlame .2s alternate infinite}.blast-ship{transition:transform .1s}.blast-powerup{position:absolute;right:14px;bottom:82px;display:flex;align-items:center;gap:5px;padding:9px;border-radius:50%;color:#fff3b4;border:1px solid #f5d680;background:#725d32;animation:blastFloat 4s infinite;font-size:10px}.blast-power-status{color:#ffeab2;font-size:11px;display:flex;align-items:center;justify-content:center;gap:6px}.blast-shot{--shot:#88edff;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:visible;animation:blastShotFade .38s forwards}.blast-shot-wrong{--shot:#ff9daf}.blast-shot line{stroke:var(--shot);stroke-linecap:round}.blast-shot-glow{stroke-width:9;opacity:.3;filter:blur(3px)}.blast-shot-ray{stroke-width:2;stroke-dasharray:1000;animation:blastShotTravel .24s ease-out}.blast-shot-impact{fill:none;stroke:var(--shot);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:blastShotImpact .38s ease-out forwards}.blast-shot-muzzle{fill:#fff;filter:drop-shadow(0 0 7px var(--shot))}.blast-inline-feedback{min-height:45px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;margin-top:4px;padding:10px;color:#d4dcef;font-size:12px;border-radius:12px}.blast-inline-feedback.is-correct{color:#a1f3c3;background:#36cc8f18}.blast-inline-feedback.is-wrong{color:#ffc1d0;background:#ed477818}.blast-inline-feedback>b{margin-left:auto;font-size:19px}.blast-inline-feedback>span{overflow-wrap:anywhere}.blast-answer{margin-top:18px}.blast-answer>label{display:block;font-size:12px;margin-bottom:8px;color:var(--text)}.blast-answer>div{display:flex;gap:8px}.blast-answer input{min-width:0;flex:1}.blast-answer .primary{flex-shrink:0}.crystal-moves{margin-left:auto}.crystal-moves span{font-size:11px}.crystal-overload{display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px;margin:18px 0}.crystal-overload progress{min-width:0;flex:1;height:7px;margin:0}.crystal-overload>svg{color:var(--green)}.crystal-overload small{font-variant-numeric:tabular-nums}.crystal-panel{width:100%;max-width:430px;margin-inline:auto;box-sizing:border-box;border:1px solid var(--border);border-radius:24px;padding:15px;background:var(--surface);box-shadow:0 10px 32px #00000005}.crystal-board{position:relative;width:100%;aspect-ratio:6/9;background:var(--surface2);border-radius:15px;overflow:hidden}.crystal-tile{position:absolute;left:calc(var(--col)*100%/6);top:calc(var(--row)*100%/9);width:calc(100%/6);height:calc(100%/9);padding:3px;margin:0;border:0;border-radius:10px;background:none;opacity:1!important;touch-action:none;-webkit-user-select:none;user-select:none}.crystal-motion{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:color-mix(in srgb,var(--surface) 55%,transparent);border:2px solid transparent;border-radius:8px}.crystal-in-motion{animation:crystalMove .24s cubic-bezier(.2,.65,.35,1)}.crystal-gem{--gem:#b699ee;position:relative;width:78%;height:78%;display:flex;align-items:center;justify-content:center;background:var(--gem);border-radius:25%;box-shadow:inset 5px 5px #ffffff38,inset -5px -5px #0002;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}.crystal-facet{position:absolute;top:17%;right:17%;bottom:17%;left:17%;background:#ffffff15;border:1px solid #fff3;clip-path:inherit}.crystal-gem>b{position:relative;z-index:1;color:#10232e;font-size:clamp(14px,3vw,23px);font-weight:800;text-shadow:0 1px 1px #fff8}.crystal-gem:has(b){filter:drop-shadow(0 0 4px #fff9)}.crystal-kind-1 .crystal-gem{--gem:#74bafa;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.crystal-kind-2 .crystal-gem{--gem:#f88f9e;clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}.crystal-kind-3 .crystal-gem{--gem:#96d69b;clip-path:polygon(20% 0,80% 0,100% 45%,80% 100%,20% 100%,0 45%)}.crystal-kind-4 .crystal-gem{--gem:#f3cc76;clip-path:polygon(50% 0,100% 88%,0 88%)}.crystal-kind-5 .crystal-gem{--gem:#7ed4dd;border-radius:50%;clip-path:none}.crystal-kind--1 .crystal-gem{--gem:#8b8e99;border-radius:25% 37% 28% 40%;clip-path:polygon(25% 0,75% 8%,100% 40%,83% 90%,40% 100%,3% 70%,0 30%);box-shadow:inset 5px 5px #ffffff15,inset -5px -5px #0003}.crystal-selected .crystal-motion{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 1px var(--green)}.crystal-hint .crystal-gem{animation:crystalHint 1s ease-in-out infinite}.crystal-clearing .crystal-gem{animation:crystalPop .23s forwards}.crystal-blasting .crystal-motion{animation:crystalBlast .23s forwards}.crystal-bottom{display:flex;align-items:center;gap:10px;padding:12px 0 0;min-height:57px}.crystal-bottom>p{flex:1;min-width:0;margin:0;font-size:11px;line-height:1.6;color:var(--text)}.crystal-bottom .icon-button{flex-shrink:0}.crystal-reward{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:16px;color:var(--text);background:var(--green-soft);border-radius:14px}.crystal-reward>svg{color:var(--green)}.crystal-reward>strong{font-size:24px}.crystal-reward>span{font-size:12px}.crystal-question-refresh{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px auto 0}.crystal-question .choice:disabled{opacity:1}.crystal-question .choice.crystal-answer-correct{border-color:#31916a;background:#cdeada;color:#153e2e}.crystal-question .choice.crystal-answer-wrong{border-color:#c74864;background:#ffe0e7;color:#752239}.arcade-result-symbol{display:inline-flex;align-items:center;justify-content:center;width:90px;height:90px;border-radius:30px;background:var(--green-soft);color:var(--green);margin-bottom:20px}.arcade-result .eyebrow{display:block;margin-bottom:10px}.arcade-final-score{display:block;font-size:64px;margin:20px 0 16px;color:var(--text)}.arcade-final-score small{display:block;font-size:13px;font-weight:400}.arcade-result-record{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text);margin-bottom:24px}.blast-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px auto;max-width:420px}.blast-result-stats>div{background:var(--surface2);padding:15px 8px;border-radius:16px;display:flex;flex-direction:column;gap:7px}.blast-result-stats strong{font-size:25px;color:var(--text)}.blast-result-stats span{font-size:11px;line-height:1.5;color:var(--text)}.blast-answer-review{text-align:left;margin:30px auto 0;padding:17px;border:1px solid var(--border);border-radius:18px;max-width:450px;color:var(--text)}.blast-answer-review summary{cursor:pointer;font-weight:600;font-size:14px}.blast-answer-review ul{list-style:none;padding:0;margin:14px 0}.blast-answer-review li{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.6}.blast-answer-review li>span,.blast-answer-review li>strong{min-width:0;overflow-wrap:anywhere}.blast-answer-review p{font-size:12px;margin:14px 0 0}@keyframes blastFloat{0%,to{transform:translate(0) rotate(-2deg)}50%{transform:translate(4px,8px) rotate(2deg)}}@keyframes blastDriftA{0%,to{transform:translate(calc(-12px * var(--rock-drift-x,1)),calc(-17px * var(--rock-drift-y,1)))}25%{transform:translate(calc(11px * var(--rock-drift-x,1)),calc(-5px * var(--rock-drift-y,1)))}50%{transform:translate(calc(5px * var(--rock-drift-x,1)),calc(19px * var(--rock-drift-y,1)))}75%{transform:translate(calc(-8px * var(--rock-drift-x,1)),calc(6px * var(--rock-drift-y,1)))}}@keyframes blastDriftB{0%,to{transform:translate(calc(11px * var(--rock-drift-x,1)),calc(15px * var(--rock-drift-y,1)))}25%{transform:translate(calc(-3px * var(--rock-drift-x,1)),calc(19px * var(--rock-drift-y,1)))}50%{transform:translate(calc(-12px * var(--rock-drift-x,1)),calc(-9px * var(--rock-drift-y,1)))}75%{transform:translate(calc(7px * var(--rock-drift-x,1)),calc(-18px * var(--rock-drift-y,1)))}}@keyframes blastDriftC{0%,to{transform:translate(calc(-7px * var(--rock-drift-x,1)),calc(18px * var(--rock-drift-y,1)))}25%{transform:translate(calc(-12px * var(--rock-drift-x,1)),calc(-7px * var(--rock-drift-y,1)))}50%{transform:translate(calc(10px * var(--rock-drift-x,1)),calc(-18px * var(--rock-drift-y,1)))}75%{transform:translate(calc(12px * var(--rock-drift-x,1)),calc(6px * var(--rock-drift-y,1)))}}@keyframes blastStars{to{background-position:0 113px,0 181px,0 147px}}@keyframes blastQuestion{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes blastShake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes blastDestroy{0%{transform:scale(1)}30%{transform:scale(1.15);filter:brightness(1.6)}to{transform:scale(.35);opacity:0}}@keyframes blastBurst{0%{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes blastFlame{to{transform:scaleY(.7)}}@keyframes blastShotFade{0%,45%{opacity:1}to{opacity:0}}@keyframes blastShotTravel{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes blastShotImpact{0%{transform:scale(.25);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes crystalMove{0%{transform:translate(calc(var(--from-x)*100%),calc(var(--from-y)*100%))}to{transform:none}}@keyframes crystalPop{0%{transform:scale(1);opacity:1}45%{transform:scale(1.18);filter:brightness(1.4)}to{transform:scale(.1);opacity:0}}@keyframes crystalBlast{50%{background:#ffe8b8;box-shadow:0 0 12px #ffd36b}to{background:transparent}}@keyframes crystalHint{50%{transform:scale(.86) rotate(-5deg);filter:brightness(1.2)}}@media(max-width:600px){.arcade-hud{gap:12px}.arcade-score strong{font-size:32px}.arcade-record{font-size:12px}.blast-arena{padding:16px 12px;border-radius:20px}.blast-asteroids{gap:40px 30px;padding:23px 12px 28px}.blast-rock{min-height:91px;padding:2px}.blast-rock-core{min-height:84px;padding:20px 12px 14px}.blast-rock-core b{font-size:16px}.blast-question h2{font-size:24px}.blast-inline-feedback{min-height:48px;padding:9px 4px}.crystal-panel{padding:9px;border-radius:20px}.crystal-tile{padding:2px}.crystal-motion{border-radius:7px}.crystal-gem{width:82%;height:82%}.crystal-overload{margin:14px 0;gap:6px}.crystal-moves{padding:7px 9px;gap:5px}.arcade-crystals .session-note{font-size:11px;line-height:1.6}.arcade-result .button-row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.blast-starfield,.blast-rock,.blast-ship>span,.blast-question,.crystal-in-motion,.crystal-hint .crystal-gem{animation:none}.blast-rock.rock-destroyed .blast-rock-core,.blast-rock.rock-wrong .blast-rock-core,.blast-burst,.crystal-clearing .crystal-gem,.crystal-blasting .crystal-motion,.blast-shot,.blast-shot-ray,.blast-shot-impact{animation-duration:.01ms}}.arcade-blast{max-width:620px;margin-inline:auto}.arcade-score-change{animation:arcadeScoreChange .25s ease-out}@keyframes arcadeScoreChange{35%{transform:scale(1.15)}}.arcade-blast .arcade-hud,.arcade-crystals .arcade-hud{margin-bottom:12px;gap:12px}.arcade-blast .arcade-score,.arcade-crystals .arcade-score{flex-direction:row;align-items:baseline;gap:8px}.arcade-blast .arcade-score strong,.arcade-crystals .arcade-score strong{font-size:28px;font-weight:750}.arcade-blast .arcade-score small,.arcade-crystals .arcade-score small{letter-spacing:.05em;font-size:9px}.arcade-blast .arcade-record,.arcade-crystals .arcade-record{color:var(--text)}.arcade-blast .arcade-record svg,.arcade-crystals .arcade-record svg{color:#d79c13}.arcade-blast .arcade-clock{margin-left:auto;padding:6px 10px;border-radius:25px}.arcade-blast .arcade-clock b{font-size:22px}.arcade-blast .arcade-record{margin-left:0}.arcade-blast .blast-arena{background:radial-gradient(ellipse at 0 95%,#30217b 0,transparent 60%),radial-gradient(ellipse at 85% 25%,#242575 0,transparent 65%),#100d35;padding:0 16px 8px;border-radius:22px;box-shadow:0 12px 28px #160d4420}.arcade-blast .blast-question{position:relative;display:flex;align-items:center;justify-content:center;min-height:66px;margin:0 -16px;padding:12px 52px;background:linear-gradient(115deg,#4135a4,#29227c);text-align:center}.arcade-blast .blast-question-meta>span{font-size:9px;letter-spacing:.08em;color:#dedcff}.arcade-blast .blast-question-meta{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.arcade-blast .blast-question-meta .icon-button{width:40px;height:40px}.arcade-blast .blast-question h2{font-size:clamp(23px,5.8vw,36px);margin:0;line-height:1.25}.arcade-blast .blast-timeline{margin:0 -16px;border-radius:0;height:5px;background:#65639e}.arcade-blast .blast-timeline>span{background:#b6b8ff}.arcade-blast .blast-timeline.urgent>span{background:#ff6d91}.arcade-blast .blast-asteroids{--rock-size:clamp(96px,28vw,132px);position:relative;display:block;height:clamp(340px,46dvh,420px);margin:0;padding:0}.arcade-blast .blast-rock{--rock-x:25;--rock-y:20;position:absolute;width:var(--rock-size);min-width:44px;min-height:44px;height:var(--rock-height,var(--rock-size));padding:0;left:calc(var(--rock-x)*1% - var(--rock-size)/2);top:calc(var(--rock-y)*1% - var(--rock-height,var(--rock-size))/2)}.arcade-blast .rock-1{--rock-x:75;--rock-y:20}.arcade-blast .rock-2{--rock-x:25;--rock-y:50}.arcade-blast .rock-3{--rock-x:75;--rock-y:50}.arcade-blast .rock-4{--rock-x:25;--rock-y:80}.arcade-blast .rock-5{--rock-x:75;--rock-y:80}.arcade-blast .blast-asteroids[data-count="4"] .rock-0{--rock-x:55;--rock-y:19}.arcade-blast .blast-asteroids[data-count="4"] .rock-1{--rock-x:19;--rock-y:44}.arcade-blast .blast-asteroids[data-count="4"] .rock-2{--rock-x:79;--rock-y:64}.arcade-blast .blast-asteroids[data-count="4"] .rock-3{--rock-x:35;--rock-y:81}.arcade-blast .blast-rock-core{width:100%;height:100%;min-height:0;padding:18px 13px;border:0;background:radial-gradient(circle at 25% 68%,#25156280 0 8%,transparent 9%),radial-gradient(circle at 74% 30%,#28207890 0 7%,transparent 8%),radial-gradient(at 35% 24%,#7667e4,#4635b5 65%,#382987);box-shadow:inset 4px 5px 7px #b7baff65,inset -6px -5px 6px #17094b80}.arcade-blast .blast-rock-core b{min-width:0;font-size:clamp(14px,4.4vw,22px);font-weight:600;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:none}.arcade-blast .blast-rock-core>svg{position:absolute;right:17%;bottom:12%;width:18px;height:18px}.arcade-blast .blast-rock-core small{color:#dbd7ff;top:15px;left:calc(50% - 3px);font-size:9px}.arcade-blast .blast-rock:hover .blast-rock-core,.arcade-blast .blast-rock:focus-visible .blast-rock-core{filter:brightness(1.2)}.arcade-blast .blast-rock.rock-correct .blast-rock-core{background:radial-gradient(at 35% 24%,#dff,#53e0ef 65%,#099fac);color:#063345;box-shadow:inset 3px 5px 7px #fff9}.arcade-blast .blast-rock.rock-wrong .blast-rock-core{background:radial-gradient(at 35% 24%,#ffb5d5,#ba3879 65%,#731a62);box-shadow:inset 0 0 0 4px #ff97bd}.arcade-blast .blast-ship{width:62px;height:50px;margin:0 auto 7px;color:#7bf7c0;filter:drop-shadow(0 0 10px #40dbae55)}.arcade-blast .blast-level{display:grid;grid-template-columns:auto 1fr auto;color:#dedcff;font-size:11px;column-gap:10px;row-gap:4px;margin:0 0 4px}.arcade-blast .blast-level progress{background:#ffffff25;height:5px;min-width:0}.arcade-blast .blast-level progress::-webkit-progress-value{background:#b9bcff}.arcade-blast .blast-level progress::-moz-progress-bar{background:#b9bcff}.arcade-blast .blast-level b{grid-column:1/-1;justify-self:end;color:#dcb2ff;font-size:11px}.arcade-blast .blast-inline-feedback{min-height:36px;padding:4px 8px;margin:0;font-size:11px}.arcade-blast .blast-inline-feedback>b{margin-left:0}.arcade-blast .session-note{font-size:11px;margin-top:12px}.arcade-crystals{max-width:410px}.arcade-crystals .arcade-hud{display:grid;grid-template-columns:1fr auto 1fr}.arcade-crystals .crystal-moves{justify-self:center;margin:0;min-width:62px;justify-content:center;padding:7px 12px;background:color-mix(in srgb,#7064ff 18%,var(--surface));border-radius:25px}.arcade-crystals .crystal-moves>svg{display:none}.arcade-crystals .crystal-moves strong{font-size:24px}.arcade-crystals .crystal-moves span{font-size:10px}.arcade-crystals .arcade-record{margin:0;justify-self:end}.arcade-crystals .crystal-overload{margin:0 0 10px;font-size:10px}.arcade-crystals .crystal-panel{border:0;border-radius:16px;padding:0;box-shadow:none;background:none}.arcade-crystals .crystal-board{background:color-mix(in srgb,#6856ce 13%,var(--surface));border-radius:16px}[data-theme=dark] .arcade-crystals .crystal-board{background:color-mix(in srgb,#342277 75%,var(--surface))}.arcade-crystals .crystal-tile{padding:3px;translate:var(--drag-x,0px) var(--drag-y,0px);cursor:grab}.arcade-crystals .crystal-tile.crystal-dragging{z-index:5;cursor:grabbing}.arcade-crystals .crystal-motion{background:none;border:0;border-radius:10px}.arcade-crystals .crystal-gem{--gem:#8278ff;width:80%;height:80%;border-radius:20%;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%);background:radial-gradient(at 36% 25%,#ffffffbf,var(--gem) 68%,color-mix(in srgb,var(--gem) 65%,#130337));box-shadow:inset 2px 3px 3px #ffffff70,inset -4px -5px 4px #09032445}.arcade-crystals .crystal-kind-1 .crystal-gem{--gem:#23daef;border-radius:35%;clip-path:polygon(16% 0,85% 4%,100% 36%,92% 90%,55% 100%,7% 88%,0 45%)}.arcade-crystals .crystal-kind-2 .crystal-gem{--gem:#ffad24;clip-path:polygon(25% 0,75% 0,100% 20%,100% 80%,75% 100%,25% 100%,0 80%,0 20%)}.arcade-crystals .crystal-kind-3 .crystal-gem{--gem:#26d8a0;clip-path:polygon(5% 8%,50% 0,95% 8%,84% 50%,50% 100%,16% 50%);border-radius:0}.arcade-crystals .crystal-kind-4 .crystal-gem{--gem:#f4d42b;clip-path:polygon(50% 0,85% 23%,100% 50%,85% 77%,50% 100%,15% 77%,0 50%,15% 23%)}.arcade-crystals .crystal-kind-5 .crystal-gem{--gem:#e931ed;border-radius:50%;clip-path:none}.arcade-crystals .crystal-kind--1 .crystal-gem{--gem:#747386;clip-path:polygon(25% 0,75% 8%,100% 40%,83% 90%,40% 100%,3% 70%,0 30%);background:radial-gradient(at 36% 25%,#c5c1cc,var(--gem) 68%,#34303e)}.arcade-crystals .crystal-gem>b{color:#fff;text-shadow:0 1px 3px #151035,0 0 2px #151035;font-size:clamp(18px,5vw,25px)}.arcade-crystals .crystal-facet{top:15%;right:15%;bottom:15%;left:15%;background:#ffffff12;border-color:#ffffff40}.arcade-crystals .crystal-selected .crystal-motion,.arcade-crystals .crystal-drop-target .crystal-motion{background:#8a7bff30;box-shadow:inset 0 0 0 2px #948cff}.arcade-crystals .crystal-dragging .crystal-gem{filter:brightness(1.18) drop-shadow(0 5px 5px #17084780)}.arcade-crystals .crystal-bottom{min-height:45px;padding-top:8px}.arcade-crystals .crystal-bottom>p{font-size:12px;line-height:1.5}.arcade-crystals .session-note{margin-top:10px;font-size:11px}[data-theme=dark] .arcade-clock.urgent,[data-theme=dark] .crystal-moves.urgent{color:#ffb3c7;background:#742641}.arcade-crystals .crystal-moves.urgent{background:var(--bad-bg);color:var(--bad)}@media(min-width:1100px){.arcade-blast{max-width:960px}.arcade-blast .blast-asteroids{--rock-size:145px;height:clamp(360px,50dvh,510px)}.arcade-blast .blast-question h2{font-size:36px}.arcade-blast .blast-rock-core b{font-size:24px}}@media(max-width:600px){.arcade-blast .blast-arena{border-radius:17px}.arcade-blast .blast-asteroids[data-count="5"],.arcade-blast .blast-asteroids[data-count="6"]{--rock-size:clamp(112px,34vw,142px);--rock-height:calc(var(--rock-size)*.8);--rock-drift-x:.4;--rock-drift-y:.15;height:clamp(385px,46dvh,440px)}.arcade-blast .blast-asteroids[data-count="5"] .blast-rock-core,.arcade-blast .blast-asteroids[data-count="6"] .blast-rock-core{padding-inline:11px}.arcade-blast .blast-asteroids[data-count="5"] .blast-rock-core b,.arcade-blast .blast-asteroids[data-count="6"] .blast-rock-core b{font-size:clamp(14px,3.8vw,16px)}.arcade-crystals .crystal-tile{padding:2px}}.session-blast .arcade-blast{max-width:1200px;width:100%}.session-blast .blast-arena{min-height:calc(100dvh - 132px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.session-blast .blast-asteroids{flex:1;min-height:300px;height:auto}.session-blast .blast-asteroids[data-count="5"],.session-blast .blast-asteroids[data-count="6"]{min-height:330px;height:auto}.session-blast .blast-inline-feedback{min-height:28px}.session-blast .blast-level{margin-bottom:0}.session-blast .blast-answer{margin-top:10px}.session-blast .blast-arena:has(.blast-written-targets){min-height:calc(100dvh - 240px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}@media(min-width:900px){.session-blast .blast-asteroids{--rock-size:clamp(145px,15vw,180px);min-height:360px}.session-blast .blast-asteroids[data-count="5"],.session-blast .blast-asteroids[data-count="6"]{min-height:390px}}@media(max-width:600px){.session-blast .blast-arena{border-radius:12px}.session-blast .blast-question{min-height:58px;padding-block:10px}.session-blast .blast-ship{height:42px;margin-bottom:2px}.session-blast .blast-rock-core small{display:none}}@media(pointer:coarse){.arcade-blast .blast-rock-core small{display:none}}@media(max-height:650px)and (max-width:600px){.session-crystals .crystal-board{width:min(100%,calc((100dvh - 220px)*2/3));margin-inline:auto}.session-blast .blast-asteroids,.session-blast .blast-asteroids[data-count="5"],.session-blast .blast-asteroids[data-count="6"]{min-height:260px;--rock-size:clamp(96px,30vw,116px);--rock-height:calc(var(--rock-size)*.78);--rock-drift-y:.1}.session-blast .blast-question{min-height:52px;padding-block:8px}.session-blast .blast-ship{height:36px}}.arcade-crystals .crystal-motion{position:relative}.arcade-crystals .crystal-kind--1 .crystal-gem{width:86%;height:86%;background:none;box-shadow:none;clip-path:none;border-radius:0}.arcade-crystals .crystal-stone-art{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 1px #0003)}.arcade-crystals [data-stone-blocked] .crystal-stone-art{transform-origin:50% 65%;animation:crystalStoneRock .32s ease-out both}.arcade-crystals .crystal-bottom>p{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.arcade-crystals .crystal-bottom{justify-content:flex-end;min-height:0}.arcade-crystals .crystal-moves{position:relative;border-radius:50%;min-width:48px;height:48px;padding:4px}.arcade-crystals .crystal-moves>span{display:none}.arcade-crystals .crystal-overload-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg);pointer-events:none}.arcade-crystals .crystal-moves>.crystal-overload-ring{display:block}.arcade-crystals .crystal-overload-ring circle{fill:none;stroke:#ffa329;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .35s ease-out}.arcade-crystals .crystal-overload-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;background:none;border:4px solid #f22b48;box-shadow:inset 0 0 12px #fb25454d,0 0 10px #fb254561;border-radius:16px;animation:crystalOverloadBorder .25s ease-out both}.crystals-question-overlay{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:var(--background, var(--bg));color:var(--text);overflow:auto;overscroll-behavior:contain;animation:crystalQuestionUp .28s cubic-bezier(.2,.75,.25,1) both}.crystals-question-overlay.is-leaving{animation:crystalQuestionDown .18s ease-in both;pointer-events:none}.practice-sheet.crystals-question-overlay .question-pane{width:min(100%,720px);box-sizing:border-box;border:0;background:none;box-shadow:none;padding:0;margin-block:0}.modal.crystals-question-overlay .modal-head{margin-bottom:12px}.crystals-question-overlay .question-tags{display:none}.crystals-question-overlay .question-pane h2{font-size:clamp(25px,5vw,40px);text-align:center;margin:12px 0 30px}.crystals-question-overlay .choice-grid{gap:12px}.crystals-question-overlay .choice{min-height:60px;text-align:center;justify-content:center;font-size:clamp(16px,3.4vw,22px)}.crystals-question-overlay .choice>span:first-child{display:none}.crystals-question-overlay .crystal-answer-correct{border-color:var(--good);background:var(--good-bg)}.crystals-question-overlay .crystal-answer-correct>.lucide-keyboard{visibility:hidden}.crystals-question-overlay .crystal-answer-correct input{color:var(--good)}.crystals-question-overlay .practice-content[data-result=correct] .graded-choices .choice-correct{animation:crystalAnswerGlow .32s ease-out both}@keyframes crystalAnswerGlow{0%{filter:brightness(1.12)}to{filter:none}}.crystals-question-reward{position:relative;width:min(100%,720px);display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:8px}.crystals-reward-gem{position:relative;display:flex;width:52px;height:52px;align-items:center;justify-content:center;filter:drop-shadow(0 3px 5px #0389b740)}.crystals-reward-gem .crystal-gem{width:90%;height:90%}.crystals-reward-gem b{font-size:25px;line-height:1}.crystals-question-reward small{position:absolute;top:4px;right:0;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}@keyframes crystalQuestionUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes crystalQuestionDown{to{opacity:0;transform:translateY(40px)}}@keyframes crystalOverload{0%{opacity:0;transform:scale(.1)}38%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(1.9)}}@media(max-height:650px){.crystals-question-overlay{justify-content:flex-start;padding-block:14px}.crystals-question-reward{margin-bottom:0;gap:5px}.crystals-question-overlay .question-pane h2{margin:6px 0 18px}.crystals-question-overlay .choice{min-height:48px}}.arcade-crystals .crystal-in-motion{animation-duration:var(--motion-duration, .24s);animation-delay:var(--motion-delay, 0ms);animation-fill-mode:both;animation-timing-function:cubic-bezier(.15,.72,.27,1.06)}.arcade-crystals .crystal-clearing .crystal-gem{animation-duration:.26s}.arcade-crystals .crystal-wave{position:absolute;z-index:8;pointer-events:none;border-radius:50%;opacity:0;background:linear-gradient(90deg,transparent,#fff6,#fff,#fff6,transparent);box-shadow:0 0 12px 4px #eddaff99;animation:crystalWave .26s ease-out}.arcade-crystals .crystal-wave-row{left:0;top:calc((var(--wave-row) + .5) * 100% / 9 - 6px);width:100%;height:12px}.arcade-crystals .crystal-wave-column{top:0;left:calc((var(--wave-col) + .5) * 100% / 6 - 6px);height:100%;width:12px;background:linear-gradient(transparent,#fff6,#fff,#fff6,transparent)}.arcade-crystals .crystal-wave-burst,.arcade-crystals .crystal-wave-burst5{left:calc((var(--wave-col) + .5) * 100% / 6 - 42%);top:calc((var(--wave-row) + .5) * 100% / 9 - 28%);width:84%;height:56%;border-radius:50%;background:radial-gradient(circle,transparent 20%,#d2fcffb3 40%,#fff 48%,#62ecff80 56%,transparent 65%);box-shadow:none}.arcade-crystals .crystal-wave-burst5{left:calc((var(--wave-col) + .5) * 100% / 6 - 58.333%);top:calc((var(--wave-row) + .5) * 100% / 9 - 38.889%);width:116.667%;height:77.778%}.arcade-crystals .crystal-gem.crystal-power{border-radius:0;clip-path:polygon(24% 0,76% 0,100% 24%,100% 76%,76% 100%,24% 100%,0 76%,0 24%);background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--gem) 55%,#fff) 18%,var(--gem) 47%,#fff 49%,var(--gem) 54%,color-mix(in srgb,var(--gem) 65%,#140838) 100%);box-shadow:inset 0 0 0 3px #fff,inset 0 0 12px #fff9}.arcade-crystals .crystal-power-forming .crystal-gem{animation:crystalPowerForm .5s ease-out both}.arcade-crystals .crystal-power:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;pointer-events:none}.arcade-crystals .crystal-power-row:after{background:linear-gradient(transparent 35%,#fff8 38%,#fff 48%,#fff8 59%,transparent 62%)}.arcade-crystals .crystal-power-column:after{background:linear-gradient(90deg,transparent 35%,#fff8 38%,#fff 48%,#fff8 59%,transparent 62%)}.arcade-crystals .crystal-power-burst:after{background:linear-gradient(125deg,#fff9,transparent 38%,#fff4 65%,transparent);clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}.arcade-crystals .crystal-gem.crystal-power-burst5{clip-path:polygon(50% 0,83% 12%,100% 50%,83% 88%,50% 100%,17% 88%,0 50%,17% 12%);box-shadow:inset 0 0 0 5px #fff,inset 0 0 14px #fff}.arcade-crystals .crystal-power-burst5:after{background:conic-gradient(from 35deg,#fff9,transparent 22%,#fff8 45%,transparent 70%,#fffc);clip-path:inherit}.arcade-crystals .crystal-power-shine{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.arcade-crystals .crystal-power-forming .crystal-power-shine{animation:crystalSpecialShine .6s ease-out both}@keyframes crystalSpecialShine{0%{opacity:0;transform:scale(.65)}50%{opacity:1;transform:scale(1.13)}to{opacity:.9;transform:scale(1)}}.arcade-crystals .crystal-combo{position:absolute;z-index:9;pointer-events:none;left:50%;top:43%;font-size:clamp(36px,10vw,58px);line-height:1;font-weight:850;color:#fff;text-shadow:0 2px 1px #44276c,0 0 9px #943be5,0 0 20px #7e3ee8;animation:crystalCombo 1.1s cubic-bezier(.17,.76,.32,1) forwards}.arcade-crystals .crystal-overload-combo{color:#ed1745;text-shadow:0 1px 2px #4c123e,0 0 10px #ff17514d;animation:crystalOverloadCombo .17s ease-out forwards}@keyframes crystalOverloadCombo{0%{opacity:.8;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}.arcade-crystals .crystal-ice{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:17%;pointer-events:none;border:2px solid #c9f7ff;background:linear-gradient(135deg,#d6f9ff6b,#79c8f326 45%,#eafcff80);box-shadow:inset 0 0 7px #fff9,0 0 5px #53c0df55;clip-path:polygon(12% 0,86% 3%,100% 16%,96% 88%,85% 100%,10% 97%,0 82%,3% 11%)}.arcade-crystals .crystal-points{position:absolute;z-index:8;pointer-events:none;left:calc((var(--col) + .5) * 100% / 6);top:calc((var(--row) + .5) * 100% / 9);color:#fffbc5;font-size:clamp(12px,3.5vw,17px);line-height:1;font-weight:800;text-shadow:0 1px 2px #27123d;animation:crystalPoints .65s ease-out forwards}html:not([data-theme=dark]) .arcade-crystals .crystal-points{color:#53376c;text-shadow:0 1px 2px #fff}.arcade-crystals .crystal-ice:after{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;opacity:.8;background:linear-gradient(33deg,transparent 42%,#eefeff 44% 46%,transparent 48%),linear-gradient(115deg,transparent 44%,#d5f8ff 46% 48%,transparent 50%)}.arcade-crystals .crystal-ice-2{border-width:3px;background:linear-gradient(135deg,#e6fcffc7,#86d1f578 45%,#efffffc7)}.arcade-crystals .crystal-frozen{cursor:default}.arcade-crystals .crystal-ice-forming .crystal-ice{animation:crystalFreeze .4s ease-out}.arcade-crystals .crystal-ice-cracking .crystal-ice{animation:crystalCrack .22s ease-out forwards}.arcade-crystals .crystal-hint .crystal-gem{animation-iteration-count:2}@keyframes crystalFreeze{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes crystalOverloadBorder{0%{opacity:0}to{opacity:1}}@keyframes crystalStoneRock{0%,to{transform:rotate(0) translate(0)}22%{transform:rotate(-7deg) translate(-1px)}48%{transform:rotate(6deg) translate(1px)}72%{transform:rotate(-3deg)}}@keyframes crystalCrack{0%{transform:scale(1);opacity:1}55%{transform:scale(1.15);opacity:1}to{transform:scale(1.3);opacity:0}}@keyframes crystalWave{0%{opacity:0;transform:scale(.12)}35%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(1.22)}}@keyframes crystalPowerForm{35%{transform:scale(1.12);filter:brightness(1.5) drop-shadow(0 0 8px #fff)}to{transform:scale(1)}}@keyframes crystalCombo{0%{opacity:0;transform:translate(-50%,14px) scale(.6)}18%,45%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-40px) scale(.95)}}@media(prefers-reduced-motion:reduce){.arcade-crystals .crystal-in-motion,.arcade-crystals .crystal-ice-forming .crystal-ice,.arcade-crystals .crystal-ice-cracking .crystal-ice,.arcade-crystals .crystal-wave,.arcade-crystals .crystal-combo{animation-duration:.01ms;animation-delay:0ms}.crystals-question-overlay,.crystals-question-overlay .practice-content[data-result=correct] .graded-choices .choice-correct,.crystals-question-overlay.is-leaving,.arcade-crystals .crystal-overload-burst,.arcade-crystals .crystal-power-forming .crystal-gem,.arcade-crystals .crystal-power-forming .crystal-power-shine,.arcade-crystals [data-stone-blocked] .crystal-stone-art{animation:none}.arcade-crystals .crystal-overload-ring circle{transition:none}.arcade-crystals .crystal-combo{animation:none;opacity:1;transform:translate(-50%)}.arcade-crystals .crystal-points{display:none}}@keyframes crystalPoints{0%{opacity:0;transform:translate(-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-8px) scale(1)}to{opacity:0;transform:translate(-50%,-28px) scale(.95)}}.crystals-question-overlay .answer-retry-error{border-color:var(--danger, #df6a74);background:color-mix(in srgb,var(--danger, #df6a74) 12%,var(--surface))}.crystals-retry-note{margin:-12px 0 8px;color:var(--muted);text-align:center;font-size:.9rem}.arcade-learning-summary{width:min(100%,520px);margin:22px auto;text-align:left}.arcade-learning-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}.arcade-learning-stats>div{min-width:0;padding:14px 8px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.arcade-learning-stats strong{display:block;color:var(--text);font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}.arcade-learning-stats span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.arcade-learning-practice{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;min-height:44px}.arcade-learning-terms{margin-top:18px}.arcade-learning-terms summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--text);font-size:14px}.arcade-learning-terms ul{padding:0;margin:0;list-style:none}.arcade-learning-terms li{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.arcade-learning-terms li>svg{flex-shrink:0}.arcade-learning-good{color:var(--good)}.arcade-learning-bad{color:var(--bad)}.arcade-learning-word{flex:1;min-width:0}.arcade-learning-word strong,.arcade-learning-word small{display:block;overflow-wrap:anywhere}.arcade-learning-word strong{font-size:17px}.arcade-learning-word small,.arcade-learning-errors{font-size:12px;color:var(--muted)}.arcade-learning-errors{flex-shrink:0}.arcade-learning-empty{color:var(--muted);font-size:14px}@media(max-width:360px){.arcade-learning-terms li{flex-wrap:wrap}.arcade-learning-errors{margin-left:29px}}.leaderboard-heading{align-items:flex-start;gap:16px}.leaderboard-heading>div{min-width:0}.leaderboard-heading p:last-child{max-width:480px}.leaderboard-refresh{flex-shrink:0;margin-top:16px}.leaderboard-sort{display:flex;gap:8px;margin-bottom:22px}.leaderboard-sort button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:650;font-size:13px;transition:background .18s,color .18s,border-color .18s}.leaderboard-sort button[aria-pressed=true]{color:var(--accent-text);border-color:var(--green);background:var(--green-soft)}.leaderboard-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.leaderboard-entry{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(280px,1.2fr);gap:18px;align-items:center;padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--surface);animation:leaderboard-arrive .24s ease-out both}.leaderboard-entry.is-you{border-color:var(--green)}.leaderboard-place{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface2);color:var(--muted);font-size:21px;font-weight:750}.leaderboard-place.is-leading{color:var(--warning);background:var(--peach)}.leaderboard-person{min-width:0}.leaderboard-person h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:18px;letter-spacing:-.4px;overflow-wrap:anywhere}.leaderboard-person h2 span{padding:3px 7px;border-radius:6px;background:var(--green-soft);color:var(--accent-text);font-size:10px;letter-spacing:0}.leaderboard-person p{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.leaderboard-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:12px}.leaderboard-scores>div{min-width:0}.leaderboard-scores dt{font-size:11px;color:var(--muted);margin-bottom:5px;white-space:nowrap}.leaderboard-scores dd{margin:0;font-variant-numeric:tabular-nums;font-size:25px;font-weight:750;line-height:1.2}.leaderboard-scores .is-selected dd{color:var(--accent-text)}.leaderboard-scores dd small{font-size:11px;font-weight:500;margin-left:3px;color:var(--muted)}.leaderboard-explanation{margin-top:22px;color:var(--muted);font-size:12px}.leaderboard-explanation summary{cursor:pointer;min-height:44px;padding:12px 0}.leaderboard-explanation p{max-width:680px;margin:7px 0}.leaderboard-updated{color:var(--muted);font-size:11px;margin-top:8px}.leaderboard-error{padding:12px 16px;margin-bottom:16px;color:var(--bad);background:var(--bad-bg);border-radius:12px;font-size:13px}.leaderboard-empty{display:grid;justify-items:center;gap:14px;padding:42px 20px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;text-align:center}.is-refreshing{animation:leaderboard-spin 1s linear infinite}@keyframes leaderboard-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes leaderboard-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.leaderboard-entry{grid-template-columns:44px minmax(0,1fr);gap:14px}.leaderboard-scores{grid-column:2}}@media(max-width:700px){.leaderboard-sort{gap:6px;margin-bottom:16px}.leaderboard-sort button{flex:1;min-width:0;padding:10px 7px;font-size:12px;gap:6px}.leaderboard-entry{padding:17px 15px;border-radius:16px}.leaderboard-scores{grid-column:1 / -1;padding-top:12px;border-top:1px solid var(--border);gap:8px}.leaderboard-scores dt{font-size:10px}.leaderboard-scores dd{font-size:24px}.app .bottom-nav button{min-width:0;flex:1;padding:0}.app .bottom-nav button.active svg{padding-right:12px;padding-left:12px;margin-right:-12px;margin-left:-12px}}@media(prefers-reduced-motion:reduce){.leaderboard-entry,.is-refreshing{animation:none}.leaderboard-sort button{transition:none}}@media(max-width:700px){.app:not(.in-session)>.main>.page-content{padding-bottom:calc(var(--bottom-nav-height, calc(66px + env(safe-area-inset-bottom, 0px)) ) + 16px)}.app:not(.in-session)>.bottom-nav{gap:2px}.app:not(.in-session)>.bottom-nav>button{flex:1 1 0;min-width:0;padding-inline:2px}.app:not(.in-session)>.bottom-nav>button>span{max-width:100%;overflow-wrap:anywhere;line-height:1.3}.app:not(.in-session) .toast{bottom:calc(var(--bottom-nav-height, calc(66px + env(safe-area-inset-bottom, 0px)) ) + 12px)}}@media(max-width:900px){html[data-practice-keyboard],html[data-practice-keyboard] body{overflow:hidden}html[data-practice-keyboard] .practice-sheet[data-practice-viewport]{scrollbar-width:none}html[data-practice-keyboard] .practice-sheet[data-practice-viewport]::-webkit-scrollbar{display:none}input[data-practice-input],textarea[data-practice-input]{font-size:max(16px,var(--practice-input-size, 16px))}html[data-practice-focus] .session-page .arcade-crystals{max-width:var(--practice-crystals-width)}html[data-practice-focus] .session-page .arcade-crystals .crystal-board{width:var(--practice-crystal-board-width);max-width:100%}html[data-practice-focus] .session-page .blocks-content .block-board{max-width:var(--practice-block-board-width)}html[data-practice-focus] .session-blast .blast-asteroids{height:var(--practice-blast-height)}html[data-practice-focus] .session-blast .blast-arena{min-height:var(--practice-blast-arena-height)}html[data-practice-focus] .session-page .match-grid{height:var(--practice-match-height)}html[data-practice-focus]:not([data-practice-keyboard]) .practice-sheet[data-practice-viewport]{padding-top:var(--practice-sheet-padding-top);padding-bottom:var(--practice-sheet-padding-bottom)}html[data-practice-focus]:not([data-practice-keyboard]) .practice-sheet[data-practice-viewport] .question-pane h2{margin-top:var(--practice-heading-margin-top);margin-bottom:var(--practice-heading-margin-bottom)}html[data-practice-focus]:not([data-practice-keyboard]) .practice-sheet[data-practice-viewport] .crystals-question-reward{margin-bottom:var(--practice-reward-margin-bottom);gap:var(--practice-reward-gap)}html[data-practice-keyboard] .modal.practice-sheet[open][data-practice-viewport]{top:var(--practice-sheet-top);bottom:auto;height:var(--practice-sheet-visible-height);max-height:var(--practice-sheet-visible-height);margin-block:0;overflow-y:auto;overscroll-behavior:contain}html[data-practice-keyboard] .crystals-question-overlay[data-practice-viewport]{top:var(--practice-sheet-top);bottom:auto;height:var(--practice-sheet-visible-height);max-height:var(--practice-sheet-visible-height);overflow-y:auto}html[data-practice-keyboard] .practice-sheet{padding-block:12px}html[data-practice-keyboard] .practice-sheet .modal-head{margin-bottom:8px;min-height:36px}html[data-practice-keyboard] .modal.practice-sheet .question-pane{margin-block:0;padding-block:4px}html[data-practice-keyboard] .practice-sheet .question-pane h2{margin:8px 0 12px;font-size:clamp(23px,5vw,32px)}html[data-practice-keyboard] .practice-sheet .crystals-question-reward{margin-bottom:0}html[data-practice-keyboard] .practice-sheet .crystals-reward-gem{width:36px;height:36px}html[data-practice-keyboard] .practice-sheet .word-image{max-height:64px;width:auto}}.grammar-page{max-width:980px;margin-inline:auto}.grammar-page .page-heading p{color:var(--muted);line-height:1.6}.grammar-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grammar-topic{display:flex;align-items:center;gap:14px;text-align:left;color:var(--text);padding:18px}.grammar-topic:hover{border-color:var(--green)}.grammar-number{font-size:20px;color:var(--muted);font-variant-numeric:tabular-nums}.grammar-topic-copy{flex:1;min-width:0}.grammar-topic-copy strong{display:block;font-size:17px;line-height:1.45}.grammar-topic-copy small{display:block;color:var(--muted);margin-block:8px}.grammar-topic-copy progress{margin:0;height:4px}.grammar-rule{line-height:1.75}.grammar-examples{padding:14px 14px 14px 32px;border-radius:12px;background:var(--surface2);line-height:1.8}.question-pane h2 .grammar-task{font-size:clamp(19px,4vw,26px);white-space:pre-line;line-height:1.65;font-weight:500}.grammar-lesson .session-progress{width:min(100%,720px);margin-inline:auto}.grammar-lesson .session-progress>span:first-child{display:flex;align-items:center;gap:8px}.grammar-lesson>progress{width:min(100%,720px);margin-inline:auto;flex-shrink:0}.grammar-explanation{color:var(--muted);font-size:13px;line-height:1.7}.grammar-lesson-result{width:min(100%,540px);margin:auto;padding-block:24px;text-align:center}.grammar-lesson-result .secondary{margin-top:12px}@media(max-width:700px){.grammar-topic-list{grid-template-columns:1fr;gap:10px}.grammar-topic{padding:14px}.grammar-topic-copy strong{font-size:16px}}.feedback-inline.correct{background:transparent;border:0;padding:0}.feedback-inline .answer-correct{color:var(--good);border:2px solid var(--good);background:var(--good-bg);min-height:56px;gap:12px}.answer-correct>span{flex:1}.written-correction{font-weight:400}.written-correction strong{font-weight:800;color:var(--text);text-decoration:underline;text-decoration-color:var(--bad);text-underline-offset:5px}.word-metadata{grid-column:1 / -1;margin-top:8px;font-size:12px;color:var(--muted)}.word-metadata summary{cursor:pointer;padding-block:4px}.word-metadata dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 12px;margin:8px 0}.word-metadata dd{margin:0;overflow-wrap:anywhere}.word-group{display:block;margin-top:6px;color:var(--muted)}.page-heading .update-status{margin-top:8px;padding:0;border:0;gap:12px;justify-content:flex-start}.page-heading .update-status button{padding:7px 10px;font-size:12px}.library-toolbar select{min-width:0}@media(max-width:600px){.library-toolbar{flex-wrap:wrap}.library-toolbar .search{flex-basis:100%}.library-toolbar select{flex:1}}:root{--accent-ink: #ffffff;font-family:Segoe UI,Arial,sans-serif;color:#23372e;background:#f7f8f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f7f8f2;--surface: #fffefa;--surface2: #eff2e8;--text: #23372e;--muted: #778178;--border: #e3e7dd;--green: #285e4c;--green-soft: #e5eedf;--peach: #f7e9dc;--lilac: #eeebf5;--blue: #e5eef3;--bad: #b75049;--bad-bg: #fff0ed;--good-bg: #ebf4e7;--shadow: 0 10px 35px #20382d08}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button{border:0}a{color:var(--green)}input,select,textarea{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:11px;padding:13px 14px;min-height:46px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #527d5420}button:focus-visible,a:focus-visible{outline:3px solid #a7bb86;outline-offset:4px}textarea{resize:vertical;line-height:1.7}h1,h2,h3,p{margin:0}h1{font-size:35px;line-height:1.25;letter-spacing:-1.25px;font-weight:650}h2{font-size:23px;letter-spacing:-.65px;font-weight:650}h3{font-size:17px;font-weight:650}p{line-height:1.7}small{line-height:1.5}.hangul{font-family:Malgun Gothic,Noto Sans KR,Apple SD Gothic Neo,sans-serif;word-break:keep-all}.muted{color:var(--muted)}.small-text{font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}.full{width:100%}.primary,.secondary,.hero-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:46px;border-radius:11px;padding:12px 20px;font-weight:600;font-size:13px;transition:background .15s,transform .15s}.primary{color:#fffefa;background:var(--green)}.primary:hover{background:#1e4c3c}.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.secondary:hover{background:var(--surface2)}.secondary.small{min-height:42px;padding:9px 13px;font-size:12px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:transparent;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--surface2);color:var(--green)}.text-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:3px 0;background:none;color:var(--green);font-size:12px;font-weight:600}.danger{color:var(--bad)}.starred{color:#bc8b3c}.tag{display:inline-flex;align-items:center;max-width:100%;border-radius:6px;background:var(--surface2);padding:4px 8px;color:#738167;font-size:10px;white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:7px;padding:7px 10px;background:var(--surface2);font-size:12px;font-weight:600}.selected{border-color:var(--green)!important;background:var(--green-soft)!important}.app{display:flex;min-height:100vh;min-height:100dvh}.sidebar{position:fixed;top:0;right:auto;bottom:0;left:0;width:224px;border-right:1px solid var(--border);background:var(--surface);padding:35px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-align:left;background:none;padding:0 8px}.logo-mark{background:var(--green);color:#f4f3dd;width:39px;height:39px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.brand>span:last-child{font-size:28px;font-weight:700;letter-spacing:-1.5px;line-height:1.1}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:5px}.nav-caption{font-size:9px;letter-spacing:1.2px;color:#9aa296;font-weight:700;margin:55px 12px 16px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:13px;padding:13px 14px;min-height:48px;text-align:left;background:none;border-radius:10px;font-size:13px;color:var(--muted);font-weight:550}.sidebar nav button.active{background:var(--green-soft);color:var(--green)}.sidebar nav button:hover{background:var(--surface2)}.nav-count{margin-left:auto;font-size:10px;background:#d4e2c9;padding:4px 7px;border-radius:5px;color:var(--green)}.sidebar-bottom{margin-top:auto;padding:25px 10px 0;display:grid;gap:20px}.offline{display:flex;gap:9px;color:var(--muted);font-size:10px}.help-button{display:flex;align-items:center;gap:9px;background:none;padding:0;color:var(--muted);font-size:11px;text-align:left}.version{font-size:9px;color:#a2aa9c;line-height:1.6}.main{margin-left:224px;flex:1;min-width:0}.topbar{height:87px;border-bottom:1px solid var(--border);padding:0 43px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:12px}.breadcrumb span{color:#bdc5b8}.topbar-tools{display:flex;align-items:center;gap:17px}.language-pill{font-size:11px;display:flex;align-items:center;gap:6px;color:var(--text)}.language-pill>span:last-child{color:var(--muted);margin-left:3px}.korean-dot{height:12px;width:12px;border-radius:50%;background:linear-gradient(#c9655a 50%,#456d8c 50%)}.avatar{height:31px;width:31px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#efe7d4;color:#7d6b41;font-size:15px}.mobile-brand,.bottom-nav{display:none}.page-content{padding:40px 43px 35px;max-width:1370px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:12px}.page-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:12px}.date-label{border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:11px;color:var(--muted);white-space:nowrap;align-self:flex-start;margin-top:27px}.mobile-break{display:none}.hero{background:#e4eddf;min-height:285px;position:relative;border:1px solid #dce5d3;border-radius:20px;padding:34px 38px;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.hero-copy{z-index:1}.hero-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.3px;color:#587648;font-weight:700}.hero h2{font-size:30px;line-height:1.3;letter-spacing:-1px;color:#2b4c37;margin:17px 0 12px}.hero p{color:#6c7e65;font-size:12px;margin-bottom:24px}.hero-button{background:#2c5e46;color:#fff;padding:12px 18px;min-height:44px}.hero-time{display:inline-flex;gap:6px;color:#728068;font-size:10px;margin-left:16px}.hero-art{width:305px;height:230px;position:relative;flex-shrink:0}.art-orbit{border:1px solid #bacaa967;border-radius:50%;width:270px;height:270px;position:absolute;left:20px;top:-17px}.art-card{position:absolute;border:1px solid #d7ddc5;background:#f8faee;width:155px;height:190px;border-radius:16px;box-shadow:0 12px 30px #4b6b3612;display:flex;align-items:center;justify-content:center}.art-card.back{left:57px;top:6px;transform:rotate(-14deg);color:#a6b593;font-size:32px;letter-spacing:4px}.art-card.front{left:110px;top:38px;transform:rotate(12deg);flex-direction:column;gap:10px}.art-card.front>span{color:#547b42;font-size:75px;font-weight:650;line-height:1}.art-card.front small{font-size:8px;color:#8d9e7a}.art-dots{display:flex;gap:4px;margin-top:12px}.art-dots i{height:3px;width:13px;background:#dde4ce;border-radius:5px}.art-dots i:first-child{background:#92ad76}.art-spark{position:absolute;color:#a5bc82;font-size:40px;right:1px;top:15px;z-index:2}.art-label{position:absolute;left:5px;bottom:15px;transform:rotate(-9deg);border:1px solid #c8d4b8;border-radius:20px;padding:9px 16px;font-size:12px;color:#6d8356;background:#eaf1e0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:21px 0 34px}.stat-card{border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:19px 21px;display:grid;grid-template-columns:1fr auto;gap:10px}.stat-card svg{color:#91a286;grid-column:2;grid-row:1}.stat-card strong{font-size:27px;letter-spacing:-1px;line-height:1;grid-column:1;grid-row:1;font-weight:600}.stat-card>span{font-size:10px;color:var(--muted);grid-column:1 / 3}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading h2{font-size:20px;letter-spacing:-.6px}.section-heading p{font-size:11px;color:var(--muted);margin-top:7px}.section-note{font-size:10px;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.mode-card{position:relative;min-height:158px;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:20px;text-align:left;transition:transform .15s,border-color .15s,box-shadow .15s}.mode-card:hover{transform:translateY(-3px);border-color:#aebe9c;box-shadow:var(--shadow)}.mode-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;margin-bottom:19px}.sage{background:#e8efdf;color:#6b8953}.peach{background:var(--peach);color:#ba8b60}.lilac{background:var(--lilac);color:#9d8bb6}.blue{background:var(--blue);color:#6a94a9}.mode-copy{display:block}.mode-copy strong{display:block;font-size:15px;font-weight:650;margin-bottom:6px}.mode-copy small{display:block;font-size:10px;color:var(--muted);line-height:1.65;max-width:145px}.mode-arrow{position:absolute;top:24px;right:18px;color:#b4bdac}.new-label{position:absolute;right:13px;top:57px;font-size:7px;font-weight:700;letter-spacing:.5px;color:#b9997a}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:27px}.word-of-day{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:21px 24px}.word-of-day .section-heading{margin-bottom:5px}.phrase{display:flex;align-items:center;gap:8px}.phrase h3{font-size:21px;font-weight:500}.word-of-day p{font-size:11px;color:var(--muted);margin-top:5px}.quiet-tip{display:flex;gap:19px;align-items:flex-start;padding:22px 13px}.tip-icon{width:43px;height:43px;border-radius:50%;background:#eaeedf;color:#94a674;display:flex;align-items:center;justify-content:center;font-size:29px;flex-shrink:0}.quiet-tip h3{font-size:13px;margin:4px 0 6px}.quiet-tip p{font-size:11px;color:var(--muted);max-width:270px}.quiet-tip .text-button{font-size:10px;margin-top:4px}.page-footer{margin:0 43px;padding:18px 0;border-top:1px solid var(--border);font-size:9px;color:#a1ab98;display:flex;justify-content:space-between}.modal{border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);padding:25px;width:min(540px,calc(100vw - 28px));max-height:calc(100vh - 38px);max-height:calc(100dvh - 38px);box-shadow:0 20px 100px #1f332e28;overflow:auto}.modal.wide{width:min(700px,calc(100vw - 28px))}.modal::backdrop{background:#192d2670;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.modal-head h2{font-size:25px}.modal-intro{font-size:13px;color:var(--muted);margin-bottom:20px}.modal>p{margin-bottom:17px;font-size:13px}.settings-section{padding:19px 0;border-top:1px solid var(--border)}.settings-section h3{font-size:13px;margin-bottom:10px}.field{display:grid;gap:8px;margin-bottom:17px;font-size:12px}.field>span{font-weight:600}.field small{color:var(--muted);font-size:11px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.toggle-row{display:flex;align-items:center;gap:15px;position:relative;padding:11px 0;cursor:pointer;min-height:47px}.toggle-row>span:first-child{flex:1}.toggle-row strong{display:block;font-size:12px;font-weight:550}.toggle-row small{display:block;font-size:10px;color:var(--muted);max-width:350px;margin-top:4px}.toggle-row input{position:absolute;width:40px;height:24px;min-height:0;right:0;opacity:0;cursor:pointer;z-index:1}.toggle-row .switch{width:36px;height:21px;border-radius:20px;background:#d6ddcf;position:relative;flex-shrink:0;transition:background .2s}.toggle-row .switch:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}.toggle-row input:checked+.switch:after{transform:translate(15px)}.toggle-row input:focus-visible+.switch{outline:3px solid #a7bb86;outline-offset:4px}.toggle-row.disabled{opacity:.4;cursor:default}.range-label{display:grid;grid-template-columns:1fr auto;gap:13px;font-size:12px;margin:18px 0}.range-label input{grid-column:1 / 3;border:0;box-shadow:none;accent-color:var(--green);padding:0;height:25px;min-height:25px;background:none}.range-label>span{font-weight:650;color:var(--green)}.modal-foot{border-top:1px solid var(--border);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;font-size:11px}.toast{position:fixed;bottom:26px;left:calc(50% + 112px);transform:translate(-50%);max-width:calc(100vw - 30px);border-radius:12px;box-shadow:0 8px 30px #0002;background:#2a493a;color:#fff;padding:13px 16px;z-index:1000;display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.5}.toast button{background:none;color:#fff;font-weight:600;flex-shrink:0;padding:7px}.session-page{padding:16px 20px 24px}.session-page.session-blast{max-width:1240px;padding:calc(6px + env(safe-area-inset-top,0px)) 10px calc(8px + env(safe-area-inset-bottom,0px))}.session-blast .session-head{border-bottom:0;margin-bottom:6px;padding-bottom:0}.session-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 0 18px;margin-bottom:28px}.session-head>span{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.back-button{display:flex;align-items:center;gap:8px;background:none;color:var(--muted);font-size:12px;padding:10px 0}.session-content,.dictation-content,.test-content,.match-content,.blast-content{max-width:750px;margin:0 auto}.session-progress{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:20px 0 13px}progress{-webkit-appearance:none;appearance:none;width:100%;height:5px;border:0;background:var(--border);border-radius:10px;overflow:hidden;margin-bottom:24px}progress::-webkit-progress-bar{background:var(--border)}progress::-webkit-progress-value{background:#94b67b;border-radius:10px}.question-pane{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:28px 32px;box-shadow:var(--shadow)}.question-meta{display:flex;align-items:center;justify-content:space-between;gap:15px}.question-pane h2{font-size:31px;line-height:1.5;margin:20px 0 15px;overflow-wrap:anywhere}.question-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:32px}.answer-label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.answer-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:11px;padding:0 14px;background:var(--surface);gap:10px;margin-bottom:15px}.answer-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #527d5420}.answer-input svg{color:#a6b19c;flex-shrink:0}.answer-input input{border:0;box-shadow:none;padding:15px 0;font-size:18px;background:none}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;align-items:center;gap:14px;padding:17px 18px;text-align:left;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-size:15px;line-height:1.7;min-height:64px;overflow-wrap:anywhere}.choice:hover{border-color:#93aa84;background:var(--surface2)}.choice>span:first-child:not(.word-media):not(.formatted-word){font-size:10px;color:var(--muted);background:var(--surface2);padding:2px 6px;border-radius:4px}.skip{display:flex;margin:15px auto 0;color:var(--muted);font-size:11px}.feedback{border-radius:13px;padding:20px;background:var(--good-bg);margin-top:10px}.feedback.incorrect{background:var(--bad-bg)}.feedback-title{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px;color:var(--green)}.incorrect .feedback-title{color:var(--bad)}.feedback p{font-size:13px}.feedback .primary,.feedback .field{margin-top:15px}.error-text{color:var(--bad)}.session-note{text-align:center;font-size:11px;color:var(--muted);line-height:1.7;margin:23px auto;max-width:510px}.flashcard{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:18px 22px;box-shadow:var(--shadow);min-height:335px;margin-bottom:18px;transition:background .2s}.flashcard.flipped{background:#edf3e8}.flash-tools{display:flex;align-items:center;justify-content:space-between}.flash-tools>div{display:flex;gap:1px}.flip-area{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:38px;width:100%;min-height:220px;background:none}.flip-area>span{font-size:36px;font-weight:500;line-height:1.6}.flip-area>small{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.flash-tags{display:flex;gap:5px;justify-content:center;padding:12px 0}.card-ratings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-controls{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:22px;color:var(--muted);font-size:11px}.results{text-align:center;padding:28px 10px;margin-bottom:25px}.result-symbol{display:inline-flex;width:64px;height:64px;background:var(--green-soft);border-radius:50%;align-items:center;justify-content:center;color:var(--green);margin:20px 0}.results .eyebrow{margin-top:8px}.results h1{font-size:86px;margin:14px 0;font-weight:550;color:var(--green)}.results h1 span{font-size:33px}.results>p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:22px}.results .button-row{justify-content:center}.test-intro,.dictation-intro{margin:30px 0;text-align:center}.test-intro h1,.dictation-intro h1{font-size:30px;margin:12px 0}.test-intro>p:not(.eyebrow),.dictation-intro>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:570px;margin:0 auto 18px}.test-question{padding:27px 28px;border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:18px}.test-question h2{margin:16px 0 22px;line-height:1.6}.test-input{font-size:16px}.proposed{font-size:20px;margin:-7px 0 18px}.test-question.passed{border-left:3px solid #96b480}.test-question.failed{border-left:3px solid #c78170}.test-answer{display:flex;gap:10px;font-size:17px;align-items:flex-start}.good{color:var(--green)}.bad{color:var(--bad)}.test-answer svg{margin-top:4px;flex-shrink:0}.test-answer small{display:block;color:var(--muted);font-size:13px;margin-top:9px}.paper-icon{display:flex;align-items:center;justify-content:center;border-radius:18px;width:60px;height:65px;background:var(--peach);color:#b3895a;margin:0 auto 18px;transform:rotate(-8deg);font-size:35px}.paper-list{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:6px 25px;margin-bottom:20px}.paper-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.paper-row:last-child{border-bottom:0}.word-number{font-size:12px;color:#9ca793}.paper-word{flex:1;min-width:100px}.paper-word strong{display:block;font-size:15px;font-weight:550}.paper-word>span{display:block;font-size:22px;margin-top:5px;color:var(--green)}.mark-group{display:flex;gap:7px;flex-shrink:0}.mark-group label{position:relative;display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:10px;cursor:pointer}.mark-group input{position:absolute;opacity:0;width:100%;height:100%;top:0;right:0;bottom:0;left:0;cursor:pointer}.mark-group .marked.good{background:var(--good-bg);border-color:#a9bea0}.mark-group .marked.bad{background:var(--bad-bg);border-color:#cda195}.mark-group input:focus-visible{outline:3px solid #a7bb86;opacity:.15}.dictation-content>.muted{font-size:12px;margin-bottom:10px}.library-toolbar{display:flex;gap:12px;align-items:center;background:var(--surface);padding:14px;border:1px solid var(--border);border-radius:13px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:9px;flex:1;min-width:210px;background:var(--surface2);border-radius:8px;padding:0 11px}.search input{border:0;background:none;box-shadow:none;font-size:12px;padding:10px 0;min-height:42px}.search svg{color:var(--muted)}.library-toolbar select{width:auto;max-width:200px;font-size:11px;min-height:42px;padding:9px}.heading-count{font-size:16px;letter-spacing:0;color:#8b9e7e;background:var(--green-soft);border-radius:8px;padding:5px 9px;margin-left:12px;vertical-align:middle}.library-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:13px 4px}.word-table{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.table-head,.word-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,.8fr) 75px 80px;gap:18px;align-items:center;padding:16px 22px}.table-head{font-size:8px;letter-spacing:1px;color:var(--muted);background:var(--surface2);padding-top:15px;padding-bottom:15px;font-weight:700}.word-row{border-top:1px solid var(--border);font-size:12px;min-height:73px}.word-row:first-of-type{border-top:0}.word-ru small{display:block;font-size:9px;color:#af946e;margin-top:6px}.word-ko{font-size:18px;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.word-ko .audio{width:30px;height:36px}.word-ko .audio svg{width:15px}.word-tags{display:flex;gap:4px;flex-wrap:wrap}.word-mastery>span{font-size:11px;color:var(--muted)}.mini-progress{height:3px;width:54px;background:var(--border);border-radius:5px;margin-top:7px}.mini-progress i{display:block;height:100%;background:#90ad79;border-radius:5px}.word-actions{display:flex;justify-content:flex-end}.word-actions .icon-button{width:36px;height:42px}.import-example{display:flex;align-items:center;gap:9px;background:var(--surface2);border-radius:9px;padding:13px;margin-bottom:18px;font-size:11px;overflow-wrap:anywhere}.import-example code{font-family:inherit}.import-summary{display:flex;align-items:center;justify-content:space-between;background:var(--green-soft);padding:13px;border-radius:8px;font-size:12px;margin-bottom:14px}.import-summary span{font-size:10px;color:var(--muted)}.import-errors{color:var(--bad);background:var(--bad-bg);padding:13px;border-radius:8px;font-size:11px;white-space:pre-line;margin-bottom:12px}.import-preview{display:grid;gap:0}.import-preview>div{display:grid;grid-template-columns:1fr 1fr auto;border-bottom:1px solid var(--border);gap:10px;padding:12px 0;font-size:12px}.empty{text-align:center;padding:65px 20px;color:var(--muted)}.empty svg{color:#a0b28c}.empty h2{color:var(--text);margin:20px 0 10px}.empty p{font-size:13px}.panel{border:1px solid var(--border);border-radius:15px;background:var(--surface);padding:26px;margin-bottom:20px}.panel h2{font-size:20px;margin-bottom:12px}.panel>p{font-size:12px;margin:13px 0 19px}.progress-panels{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.activity-chart{display:flex;justify-content:space-between;gap:16px;height:200px;margin-top:24px}.activity-chart>div{display:flex;flex-direction:column;align-items:center;width:100%;gap:9px;font-size:10px;color:var(--muted)}.activity-chart>div>span{height:15px}.bar-track{height:150px;width:100%;position:relative;display:flex;align-items:flex-end}.bar-track i{width:100%;background:#b0c599;border-radius:7px 7px 3px 3px;min-height:3px}.distribution{margin:22px 0}.distribution>div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);font-size:13px}.weak-list>div{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:center;padding:16px 0;border-top:1px solid var(--border);font-size:13px}.weak-list strong{font-size:18px;font-weight:500}.memory-explanation{padding:5px 20px}.memory-explanation p{font-size:12px;color:var(--muted);margin-top:12px;max-width:800px}.preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}.data-panel>svg{color:#839c6b;margin-bottom:13px}.local-badge{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-top:23px}.local-badge>span{height:5px;width:5px;background:#88a56c;border-radius:50%}.file-button{cursor:pointer}.brand-mini{display:block;font-size:35px;color:#8ba471;margin:0 0 10px}.game-content{max-width:530px;margin:0 auto}.game-score{display:flex;align-items:center;justify-content:space-between;margin:25px 0 20px}.game-score>div{display:grid;gap:6px}.game-score small{font-size:10px;color:var(--muted);letter-spacing:1px}.game-score strong{font-size:32px;font-weight:550}.game-score>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#a18b4e}.board-panel{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:23px}.board-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:23px}.block-board{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;aspect-ratio:1}.block-cell{border:0;border-radius:6px;background:#e7ecdf;min-width:0;min-height:0;opacity:1!important;transition:background .15s}.block-cell.color-1{background:#9db6d2;box-shadow:inset 0 -3px #6f93b05c}.block-cell.color-2{background:#d3a29b;box-shadow:inset 0 -3px #ba776d5c}.block-cell.color-3{background:#9bb284;box-shadow:inset 0 -3px #76955e5c}.block-cell.preview{background:#b8c89c}.block-cell:focus-visible{outline-offset:0}.pieces{display:flex;justify-content:space-around;gap:10px;margin-top:21px}.piece{border:1px solid var(--border);background:var(--surface);width:110px;min-height:80px;border-radius:11px;display:flex;align-items:center;justify-content:center}.piece.active{border-color:#9fb781;background:var(--green-soft)}.shape{display:grid;gap:3px}.shape>span{height:16px;width:16px;border-radius:3px}.shape>span.filled{background:#7ea274}.piece:nth-child(1) .shape .filled{background:#92aac7}.piece:nth-child(2) .shape .filled{background:#c58c83}.game-message{font-size:11px;color:var(--muted);text-align:center;min-height:36px;margin-top:18px}.gem-board{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;aspect-ratio:1}.gem-cell{background:var(--surface2);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:8px;opacity:1!important;border:2px solid transparent}.gem-cell>span{display:block;width:72%;height:72%;clip-path:polygon(50% 0,92% 26%,92% 74%,50% 100%,8% 74%,8% 26%);background:#a692c7;box-shadow:inset -8px -8px #0001}.gem-1>span{background:#8caaca;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.gem-2>span{background:#d39b8d;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.gem-3>span{background:#a6ba7c;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}.gem-4>span{background:#dcc38a;clip-path:polygon(50% 0,100% 90%,0 90%)}.gem-cell.active{border-color:var(--green);background:var(--green-soft)}.game-over{text-align:center;padding:40px 10px}.game-over>svg{color:#8aab70;margin-bottom:20px}.game-over h1,.game-over h2{margin-bottom:15px}.game-over p{font-size:13px;color:var(--muted);margin-bottom:22px}.game-over .button-row{justify-content:center}.modal .question-pane{box-shadow:none;border:0;padding:6px 0}.modal .question-pane h2{font-size:27px}.modal .question-tags{margin-bottom:25px}.space{height:230px;background:#253b3e;border-radius:20px;position:relative;overflow:hidden;margin-bottom:20px}.space-counter{position:absolute;top:20px;right:24px;color:#c7d7c1;font-size:11px}.planet{position:absolute;width:130px;height:130px;border-radius:50%;background:#455b59;right:-30px;top:-40px;box-shadow:inset 25px -15px #3b504e}.orbit{position:absolute;border:1px solid #c5d5bb13;width:240px;height:240px;border-radius:50%;left:calc(50% - 120px);top:-5px}.orbit2{width:390px;height:390px;left:calc(50% - 195px);top:-80px}.space-star{height:4px;width:4px;position:absolute;border-radius:50%;background:#b8cfa8}.s1{top:31px;left:21%}.s2{top:102px;left:84%;width:2px;height:2px}.s3{top:170px;left:33%}.asteroid{position:absolute;width:52px;height:52px;border-radius:35% 43% 30% 45%;background:#698476;color:#d3e0c7;display:flex;align-items:center;justify-content:center;font-size:26px;animation:float 6s ease-in-out infinite}.a1{left:20%;top:80px;transform:rotate(-16deg)}.a2{right:22%;top:42px;background:#7d718e;animation-delay:-2s}.a3{right:38%;bottom:28px;background:#9f8c6a;animation-delay:-4s}.spaceship{position:absolute;bottom:30px;left:55px;color:#dde8cb;transform:rotate(25deg)}@keyframes float{0%,to{translate:0 0;rotate:-10deg}50%{translate:12px -13px;rotate:10deg}}.match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.match-tile{min-height:105px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.match-tile:hover{border-color:#aabf94}.match-tile.matched{background:var(--green-soft);color:#88a775;border-color:#d8e3cf;opacity:.65}.match-tile.was-wrong{border-color:#cc9987}.loading{height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-align:center;padding:30px}.loading h1{font-weight:700}.loading p{color:var(--muted);font-size:13px;max-width:500px}[data-theme=dark]{--bg: #19241f;--surface: #223029;--surface2: #2a3a30;--text: #e2e8dd;--muted: #99a696;--border: #354337;--green: #769b65;--green-soft: #344b35;--peach: #4d3d30;--lilac: #3d374b;--blue: #2c4148;--bad: #e09f91;--bad-bg: #47332f;--good-bg: #30432e;background:var(--bg);color:var(--text)}[data-theme=dark] .hero{background:#304330;border-color:#425640}[data-theme=dark] .hero h2{color:#dae8c7}[data-theme=dark] .hero p,[data-theme=dark] .hero-label,[data-theme=dark] .hero-time{color:#a8bb97}[data-theme=dark] .flashcard.flipped{background:#30432e}[data-theme=dark] .primary{color:#122119}[data-theme=dark] .block-cell.color-0{background:#344332}[data-theme=dark] .tag{color:#adbea0}[data-theme=dark] .app{background:var(--bg)}@media(min-width:1550px){.page-content{padding-top:48px}.hero{min-height:310px}.hero h2{font-size:35px}.mode-card{min-height:175px}.mode-copy small{max-width:180px}.hero-art{margin-right:45px}}@media(max-width:1200px){.sidebar{width:195px;padding:30px 15px}.brand>span:last-child{font-size:26px}.main{margin-left:195px}.topbar{padding:0 28px}.page-content{padding:32px 28px}.page-footer{margin:0 28px}.hero{padding:30px}.hero-art{width:235px;transform:scale(.85);transform-origin:right center;margin-left:-25px}.hero h2{font-size:27px}.hero-time{display:flex;margin:13px 0 0}.mode-grid{grid-template-columns:repeat(4,1fr);gap:10px}.mode-card{padding:17px 14px}.mode-copy strong{font-size:14px}.mode-copy small{font-size:9px}.mode-arrow{right:12px;top:20px;width:15px}.new-label{display:none}.stat-card{padding:18px 15px}.word-row,.table-head{gap:10px;padding:14px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.7fr) 50px 73px}.word-tags .tag{font-size:9px}.toast{left:calc(50% + 97px)}}@media(max-width:970px){.mode-grid{grid-template-columns:repeat(2,1fr)}.mode-card{min-height:120px;display:flex;align-items:center;gap:15px;padding:22px}.mode-icon{margin:0;flex-shrink:0}.mode-copy small{font-size:10px;max-width:none}.hero-art{width:170px;transform:scale(.65)}.hero h2{font-size:24px}.page-heading h1{font-size:29px}.date-label,.word-tags{display:none}.word-row,.table-head{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) 50px 73px}.table-head>span:nth-child(3){display:none}.preferences-grid,.progress-panels,.dashboard-bottom{grid-template-columns:1fr}.quiet-tip{padding:8px 10px}.page-footer{margin-top:15px}.paper-row{gap:10px}.mark-group{width:100%;padding-left:29px}.stat-card strong{font-size:24px}.stat-card>span{font-size:9px}.stat-card svg{width:15px}.stats-grid{gap:9px}.choice-grid{grid-template-columns:1fr}.page-heading>.button-row{flex-shrink:0}.library-toolbar .search{flex-basis:100%}}@media(max-width:700px){.sidebar{display:none}.main{margin-left:0}.topbar{height:74px;padding:env(safe-area-inset-top,0px) 21px 0;background:var(--surface)}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;background:none;padding:0;font-weight:700;font-size:25px;letter-spacing:-1px}.mobile-brand .logo-mark{height:31px;width:31px;border-radius:10px;font-size:23px}.topbar-tools{gap:8px}.language-pill{font-size:10px}.avatar{height:27px;width:27px;font-size:13px}.topbar-tools>.icon-button{height:36px;width:36px}.page-content{padding:27px 19px 26px}.page-heading{display:block;margin-bottom:23px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:11px}.page-heading h1{font-size:28px;letter-spacing:-1px}.page-heading p:not(.eyebrow){font-size:11px;max-width:290px;margin-top:10px}.mobile-break{display:block}.hero{min-height:241px;padding:24px 22px;border-radius:18px;align-items:flex-start}.hero h2{font-size:23px;max-width:215px;margin:16px 0 12px;line-height:1.3}.hero p{font-size:10px;max-width:192px;margin-bottom:20px;line-height:1.7}.hero-label{font-size:8px;gap:5px;letter-spacing:.8px}.hero-button{font-size:11px;min-height:42px;padding:10px 13px;gap:12px}.hero-time{font-size:9px;margin-top:13px}.hero-art{position:absolute;right:3px;bottom:6px;width:280px;transform:scale(.56);transform-origin:right bottom;opacity:.95}.hero .art-card{box-shadow:0 12px 30px #4b6b3617}.art-label{display:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0 28px}.stat-card{border-radius:11px;padding:17px}.stat-card strong{font-size:27px}.stat-card>span{font-size:10px}.stat-card svg{width:18px}.section-heading h2{font-size:21px}.section-heading p{font-size:10px;margin-top:6px}.section-note{font-size:9px}.mode-grid{gap:10px}.mode-card{display:block;min-height:156px;border-radius:13px;padding:17px}.mode-icon{height:35px;width:35px;border-radius:10px;margin-bottom:17px}.mode-icon svg{width:20px}.mode-copy strong{font-size:14px;margin-bottom:6px}.mode-copy small{font-size:9px;line-height:1.6;max-width:135px}.mode-arrow{top:20px;right:15px;width:15px}.dashboard-bottom{margin-top:20px;gap:12px}.word-of-day{padding:19px}.phrase h3{font-size:21px}.quiet-tip{padding:13px 6px;gap:14px}.quiet-tip p{font-size:10px}.page-footer{margin:0 19px 90px;padding:17px 0;font-size:8px}.page-footer>span:last-child{display:none}.bottom-nav{display:flex;position:fixed;top:auto;right:0;bottom:0;left:0;background:var(--surface);border-top:1px solid var(--border);padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px));z-index:15;justify-content:space-around}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:68px;min-height:47px;background:none;color:var(--muted);font-size:9px}.bottom-nav button.active{color:var(--green)}.bottom-nav button.active svg{background:var(--green-soft);box-sizing:content-box;padding:5px 15px;margin:-5px -15px 0;border-radius:15px}.toast{left:50%;bottom:93px;width:max-content;max-width:calc(100vw - 26px);font-size:11px}.in-session .toast{bottom:22px}.in-session .page-footer{margin-bottom:25px}.in-session .topbar{display:none}.session-page{padding-top:calc(15px + env(safe-area-inset-top,0px))}.session-head{padding-bottom:15px;margin-bottom:20px;gap:10px}.session-head>span{font-size:13px;gap:7px}.back-button{font-size:10px;gap:3px}.back-button svg{width:17px}.session-head .icon-button{width:36px;height:36px}.session-head>span svg{width:19px}.question-pane{padding:22px 21px;border-radius:17px}.question-pane h2{font-size:27px;margin:20px 0 16px;line-height:1.55}.question-meta .eyebrow{font-size:8px;letter-spacing:1.1px}.question-tags{margin-bottom:25px}.question-tags .tag{font-size:9px}.answer-input input{font-size:18px}.choice{font-size:16px;min-height:57px;padding:13px}.session-progress{font-size:10px}.session-note{font-size:10px;margin:20px 5px}.modal{padding:22px 20px;border-radius:19px;max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);width:calc(100vw - 24px)}.modal-head h2{font-size:24px}.modal-intro{font-size:12px}.modal-foot{font-size:10px;align-items:flex-start}.modal-foot>.primary{padding:12px 16px;flex-shrink:0}.settings-section{padding:16px 0}.toggle-row{padding:12px 0}.toggle-row small{font-size:10px}.flashcard{padding:14px 16px;min-height:328px}.flip-area>span{font-size:32px}.flip-area{min-height:232px;gap:32px}.card-ratings{gap:10px}.card-ratings button{font-size:12px;padding:13px 10px}.card-controls{gap:12px}.results h1{font-size:78px}.results>p:not(.eyebrow){font-size:12px}.test-intro h1,.dictation-intro h1{font-size:27px}.test-question{padding:22px 20px}.test-question h2{font-size:24px}.paper-list{padding:3px 17px}.paper-row{padding:18px 0}.paper-word strong{font-size:14px}.paper-word>span{font-size:23px;line-height:1.6}.mark-group{padding-left:25px}.mark-group label{font-size:11px;min-height:41px;padding:11px 13px}.word-number{font-size:10px}.page-heading>.button-row{margin-top:20px;gap:9px}.page-heading>.button-row button{padding:10px 15px;font-size:12px;min-height:43px}.heading-count{font-size:13px}.library-toolbar{padding:11px;gap:9px}.library-toolbar select{flex:1;max-width:100%;font-size:10px;min-width:0}.library-toolbar .secondary{font-size:10px;width:100%}.word-table{background:none;border:0;border-radius:0;overflow:visible;display:grid;gap:10px}.table-head{display:none}.word-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;grid-template-columns:1fr auto;gap:6px 12px}.word-ru{grid-column:1;grid-row:1;font-size:12px}.word-ko{grid-column:1;grid-row:2;font-size:22px;line-height:1.6}.word-actions{grid-column:2;grid-row:1;align-self:start}.word-mastery{grid-column:2;grid-row:2;justify-self:end;text-align:right}.word-mastery .mini-progress{margin-left:auto;width:45px}.word-tags{display:flex;grid-column:1 / 3;grid-row:3;margin-top:5px}.word-row:first-of-type{border-top:1px solid var(--border)}.word-ru small{font-size:9px;margin-top:3px}.word-actions .icon-button{height:34px;width:31px}.word-actions svg{width:16px}.library-meta{margin:12px 2px;font-size:9px}.import-example{font-size:10px;padding:11px}.import-summary{display:grid;gap:8px}.import-preview>div{grid-template-columns:1fr 1fr;font-size:11px}.import-preview .tag{grid-column:1 / 3;justify-self:start}.panel{padding:22px 20px;border-radius:13px}.panel h2{font-size:19px}.panel>p{font-size:11px}.preferences-grid{gap:0}.preferences-grid .button-row button,.preferences-grid .file-button{font-size:11px;padding:12px 14px}.data-panel .button-row{display:grid;grid-template-columns:1fr}.progress-panels{gap:0}.activity-chart{gap:12px}.weak-list>div{font-size:11px;grid-template-columns:1fr 1fr auto;gap:8px}.weak-list strong{font-size:17px}.memory-explanation{padding:5px}.memory-explanation p{font-size:11px}.game-score{margin:18px 3px}.game-score strong{font-size:29px}.game-score>span{font-size:10px}.board-panel{padding:17px;border-radius:17px}.board-top{font-size:10px;gap:10px;margin-bottom:18px}.block-board{gap:4px}.block-cell{border-radius:4px}.piece{width:95px;min-height:75px}.shape{transform:scale(.95)}.gem-board{gap:4px}.gem-cell{padding:4px;border-radius:8px}.game-message{font-size:10px}.space{height:210px}.space .spaceship{left:32px;bottom:25px}.match-grid{grid-template-columns:repeat(2,1fr);gap:10px}.match-tile{min-height:100px;font-size:15px;padding:13px}.match-content h2{font-size:24px}.match-content>.muted{font-size:12px}.modal .choice-grid{grid-template-columns:1fr}.modal .question-pane h2{font-size:25px}.board-panel .badge{font-size:10px;padding:6px 8px}.game-content .session-note{margin-bottom:0}}@media(max-width:365px){.page-content{padding-left:15px;padding-right:15px}.hero{padding:22px 18px}.hero h2{font-size:21px}.hero-art{transform:scale(.46);right:0;bottom:14px}.mode-card{padding:15px}.mode-copy small{font-size:8.5px}.topbar{padding-left:17px;padding-right:17px}.language-pill>span:last-child{display:none}.modal{padding:18px}.session-head>span{font-size:12px}.stat-card{padding:15px}.phrase h3{font-size:19px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.primary,.hero-button,.logo-mark{color:var(--accent-ink);background:var(--green)}.hero,[data-theme=dark] .hero{background:var(--hero-bg);border-color:var(--border);min-height:230px}.hero h2,[data-theme=dark] .hero h2{color:var(--text);font-size:36px}.hero p,.hero-label,.hero-time,[data-theme=dark] .hero p{color:var(--muted)}.mode-card{min-height:175px;padding:22px}.mode-icon{width:60px;height:60px;border-radius:18px;margin-bottom:15px}.mode-copy strong{font-size:20px;font-weight:750;letter-spacing:-.5px}.mode-copy small{font-size:11px;opacity:.65;max-width:180px}.mode-card:hover .mode-icon{transform:rotate(-6deg) scale(1.04)}.mode-icon{transition:transform .18s ease}.mode-icon.sage{background:var(--green-soft);color:var(--green)}.dashboard-bottom{grid-template-columns:1fr 1fr}.xp-panel{display:flex;align-items:center;gap:22px;padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.xp-panel>div{flex:1}.xp-panel h3{font-size:22px}.xp-panel p{color:var(--green);font-weight:700;margin:8px 0}.xp-panel small{color:var(--muted)}.xp-track{background:var(--surface2);height:8px;border-radius:20px;margin:12px 0;overflow:hidden}.xp-track i{display:block;height:100%;background:var(--green);border-radius:inherit}.profile-banner{display:flex;align-items:center;gap:20px;margin-bottom:24px}.profile-avatar{background:var(--green-soft);color:var(--green);border-radius:20px;width:66px;height:66px;display:grid;place-items:center;font-size:30px;font-weight:750}.profile-banner p{margin-top:6px}.profile-badges{margin-left:auto;display:flex;gap:18px}.profile-badges span{display:flex;gap:7px;align-items:center;color:var(--green);font-weight:700}.profile-form{display:grid;gap:4px;margin-top:20px}.profile-form .primary{justify-self:start;margin-top:8px}.panel h2{display:flex;align-items:center;gap:10px}.theme-picker{padding:18px;border-radius:14px;margin-top:15px;border:1px solid var(--border)}.theme-picker.light{color:#24352e;background:#f5f7f0}.theme-picker.dark{color:#e6e9e3;background:#232a29}.theme-picker h3{font-size:14px;margin-bottom:14px}.palette-list{display:flex;flex-wrap:wrap;gap:10px}.palette-list button{width:34px;height:34px;border-radius:50%;font-weight:750;font-size:19px}.palette-list button.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--green)}.custom-color{display:flex;gap:10px;align-items:center;font-size:12px;margin-top:18px}.custom-color input{width:36px;height:30px;min-height:0;padding:2px;border-radius:6px;background:transparent}.custom-color span:last-child{font-size:10px;opacity:.6}.advanced-settings{margin-top:22px}.advanced-settings summary{cursor:pointer;font-weight:700;padding:5px 0}.advanced-content{margin-top:22px}.advanced-content>h3{margin:25px 0 16px}.advanced-word-list{max-height:350px;overflow:auto;margin:22px 0;font-size:12px}.advanced-word-list>div{display:grid;grid-template-columns:1fr 1fr 50px;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.advanced-word-list small{grid-column:1 / -1;color:var(--muted)}.success-note{background:var(--good-bg);padding:14px 20px;border-radius:12px;margin-bottom:20px}.table-head,.word-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 85px}.progress-panels{grid-template-columns:1fr}.profile-name{border:0}@media(max-width:760px){.mode-card{min-height:166px;padding:18px}.mode-icon{width:54px;height:54px;margin-bottom:12px;border-radius:16px}.mode-icon svg{width:29px;height:29px}.mode-copy strong{font-size:19px}.mode-copy small{font-size:10px}.dashboard-bottom{grid-template-columns:1fr}.profile-banner{flex-wrap:wrap;gap:12px;padding:20px}.profile-badges{width:100%;margin:8px 0 0}.profile-banner h2{font-size:20px}.word-row{grid-template-columns:minmax(0,1fr) 75px;padding:15px 18px}.word-ru{grid-column:1;grid-row:1}.word-ko{grid-column:1;grid-row:2}.word-actions{grid-column:2;grid-row:1 / 3}.hero h2,[data-theme=dark] .hero h2{font-size:28px}.custom-color{gap:8px}}.test-submit-confirm-actions{display:grid;gap:12px;margin-top:20px}.test-submit-confirm-actions>button{min-height:48px}.choice-space{height:330px;margin-top:12px}.answer-asteroid{position:absolute;width:43%;min-height:68px;padding:15px 10px;border-radius:21px;background:#607b70;color:#edf4e5;font-size:15px;line-height:1.6;overflow-wrap:anywhere;border:1px solid #c8dfb735;animation:float 7s ease-in-out infinite;z-index:2}.asteroid-0{left:6%;top:44px}.asteroid-1{right:6%;top:104px;animation-delay:-2s;background:#786e88}.asteroid-2{left:6%;top:169px;animation-delay:-4s;background:#958469}.asteroid-3{right:6%;top:230px;animation-delay:-1s;background:#617d8e}.choice-space .spaceship{left:37px;bottom:20px;width:36px}.laser{position:absolute;left:95px;bottom:75px;width:3px;height:130px;transform:rotate(34deg);transform-origin:bottom;background:#dbecb4;box-shadow:0 0 14px #dcf2c2;animation:shoot .5s ease-out forwards}.shot .asteroid{animation:none;opacity:.3}@keyframes shoot{0%{scale:1 .01;opacity:1}80%{scale:1 1;opacity:1}to{opacity:0}}@supports not (aspect-ratio: 1){.block-board,.gem-board{height:440px}@media(max-width:700px){.block-board,.gem-board{height:calc(100vw - 76px)}}}.auth-shell{min-height:100vh;padding:50px 7vw;display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center;max-width:1400px;margin:auto}.auth-story{position:relative;padding:25px 0}.auth-brand{display:flex;align-items:center;margin-bottom:60px}.auth-brand strong{font-size:34px;margin-left:12px;letter-spacing:-1.5px}.auth-story h1{font-size:clamp(32px,4vw,51px);line-height:1.2;letter-spacing:-1.8px;margin:19px 0 24px}.auth-story>p{max-width:360px;color:var(--muted);line-height:1.8}.auth-features{display:flex;flex-wrap:wrap;margin-top:30px}.auth-features span{display:flex;align-items:center;margin-right:25px;margin-bottom:10px;font-size:13px}.auth-features svg{margin-right:8px;color:var(--green)}.auth-hangul{margin-top:28px;font-size:100px;font-weight:700;letter-spacing:-8px;color:#dae4ce}.auth-card{width:100%;max-width:470px;padding:36px;border:1px solid var(--border);border-radius:25px;background:var(--surface);box-shadow:var(--shadow)}.auth-key{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--green-soft);color:var(--green)}.auth-card h2{font-size:27px;margin:22px 0 10px;letter-spacing:-.8px}.auth-card>p{font-size:13px;line-height:1.7}.auth-tabs{display:flex;background:var(--surface2);padding:4px;border-radius:12px;margin:26px 0}.auth-tabs button{width:50%;padding:11px;background:transparent;border-radius:9px;font-size:13px;color:var(--muted)}.auth-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 2px 7px #00000008}.auth-card .field{margin-bottom:18px}.password-field{position:relative}.password-field input{padding-right:50px}.password-field button{position:absolute;right:5px;top:5px}.auth-card .auth-local{color:var(--muted);font-size:11px;margin:23px 0 0;line-height:1.8}.auth-error{margin:0 0 17px;font-size:13px}.profile-control{display:flex;align-items:center;color:var(--muted);font-size:12px}.profile-control .profile-name{max-width:105px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-right:5px}@media(max-width:700px){.auth-shell{display:block;padding:26px 22px 40px}.auth-story{padding:0}.auth-brand{margin-bottom:26px}.auth-brand strong{font-size:29px}.auth-story h1{font-size:30px;margin-bottom:10px}.auth-story>p,.auth-features,.auth-hangul,.auth-story>.eyebrow{display:none}.auth-card{margin:24px auto 0;padding:25px 22px;border-radius:20px}.auth-card h2{font-size:25px}.profile-control .profile-name{max-width:58px;font-size:10px}.profile-control .icon-button{width:31px;height:31px}.topbar-tools>.avatar{display:none}}button{line-height:1.45}button svg{flex-shrink:0}input,select,textarea,.field,.mode-copy,.toggle-row>span:first-child{min-width:0}.page-heading{flex-wrap:wrap}.page-heading>div{min-width:0}.page-heading>button{margin-top:8px}.profile-avatar{flex-shrink:0}.profile-banner>div:nth-child(2){min-width:0;flex:1}.profile-banner h2,.profile-banner p,.flip-area>span,.phrase h3{overflow-wrap:anywhere}.profile-badges{flex-wrap:wrap;row-gap:10px}.board-top,.session-progress{gap:12px;line-height:1.5}.board-top .badge{flex-shrink:0;white-space:nowrap}.toggle-row strong{line-height:1.5}.toggle-row small{line-height:1.6}.modal-head{gap:16px}.modal[open]{animation:modal-enter .18s ease-out}.mode-intro-modal{width:min(580px,calc(100vw - 28px))}.mode-intro-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 8px 16px;gap:20px}.mode-intro-body .intro-icon{width:104px;height:104px;margin:0 0 12px;border-radius:28px}.mode-intro-body h2{font-size:28px;line-height:1.3}.mode-intro-body>p{color:var(--muted);font-size:16px;line-height:1.6;max-width:480px}.intro-play{min-height:54px;font-size:17px;border-radius:28px;margin-top:12px}.intro-tools{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:14px}.intro-tools button{border-radius:28px;min-height:50px}.intro-help{background:var(--surface2);border-radius:16px;padding:18px;text-align:left;font-size:14px}.mode-settings-modal .settings-section h3{font-size:16px;margin-bottom:16px}.mode-settings-modal .toggle-row strong{font-size:15px}.mode-settings-modal .toggle-row small{font-size:13px}.mode-settings-modal .toggle-row{padding:15px 0}.mode-settings-modal .settings-section{padding:24px 0}.settings-actions{display:grid;gap:12px;margin-top:20px;padding-bottom:8px}.settings-actions button{min-height:50px;font-size:15px;border-radius:26px}.advanced-group{padding:18px 0;border-top:1px solid var(--border)}.advanced-group>summary{font-size:15px;margin-bottom:0}.advanced-group[open]>summary{margin-bottom:20px}.advanced-group .field{max-width:460px}.advanced-group h3{margin:18px 0}.advanced-content{margin-top:12px}.flashcard-scene{perspective:1400px;margin-bottom:18px;touch-action:pan-y;animation:card-enter .2s ease-out}.flashcard.flashcard-rotator{display:grid;padding:0;margin:0;min-height:0;background:none;border:0;box-shadow:none;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.2,.7,.25,1)}.flashcard.flashcard-rotator.flipped{background:none;transform:rotateY(180deg)}.flashcard-face{grid-area:1 / 1;min-width:0;min-height:335px;padding:18px 22px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flashcard-back{transform:rotateY(180deg);background:var(--green-soft)}.flashcard-face[aria-hidden=true]{pointer-events:none}.flip-area{padding:20px 8px}.flip-area>span{max-width:100%;word-break:normal}.card-ratings{min-height:48px}.piece{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.piece.dragging .shape{opacity:.2}.piece:active{cursor:grabbing}.shape>span{width:var(--shape-cell, 16px);height:var(--shape-cell, 16px)}.drag-ghost{position:fixed;pointer-events:none;z-index:200;filter:drop-shadow(0 8px 10px #0003);opacity:.92}.drag-ghost.color-1 .filled{background:#9db6d2}.drag-ghost.color-2 .filled{background:#d3a29b}.drag-ghost.color-3 .filled{background:#9bb284}.block-board{gap:5px}.block-cell.preview{background:var(--green);opacity:.65!important;box-shadow:inset 0 0 0 2px var(--green)}.block-cell.preview-invalid{box-shadow:inset 0 0 0 2px var(--bad);background:var(--bad-bg)}.block-cell.block-placed{animation:block-place .18s ease-out}.gem-cell{touch-action:none}.gem-cell.gem-clearing>span{animation:block-clear .18s ease-in forwards}.gem-cell .gem-falling{animation:gem-fall .22s ease-out}.graded-choices{pointer-events:none}.answer-asteroid.destroyed{animation:asteroid-burst .5s ease-out forwards}.match-tile{touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color .15s,background .15s,opacity .15s}.match-tile.matched{pointer-events:none;animation:pair-match .28s ease-out forwards}.match-tile.was-wrong{animation:pair-wrong .35s ease-in-out}.match-tile.tile-dragging{opacity:.25}.match-tile.drop-target{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px var(--green)}.match-drag-ghost{position:fixed;z-index:200;pointer-events:none;transform:translate(-50%,-50%);max-width:160px;padding:16px;border:2px solid var(--green);border-radius:12px;background:var(--surface);box-shadow:0 12px 24px #0003;text-align:center;overflow-wrap:anywhere}.match-timer{font-variant-numeric:tabular-nums}@keyframes modal-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:.5;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes block-place{0%{transform:scale(.75)}to{transform:scale(1)}}@keyframes block-clear{30%{filter:brightness(1.6)}to{transform:scale(.25);opacity:0}}@keyframes gem-fall{0%{transform:translateY(-35%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes asteroid-burst{to{transform:scale(1.4) rotate(12deg);opacity:0}}@keyframes pair-match{to{transform:scale(.85);opacity:0;visibility:hidden}}@keyframes pair-wrong{25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}@media(max-width:700px){.topbar{height:calc(68px + env(safe-area-inset-top,0px));padding-left:16px;padding-right:12px}.topbar .language-pill{display:none}.topbar-tools{gap:4px}.profile-control .profile-name{max-width:80px;font-size:12px}.page-heading{display:flex;align-items:center;gap:16px}.page-heading>button{margin:0}.page-content{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.mode-grid{grid-template-columns:1fr;gap:10px}.mode-card{display:flex;align-items:center;gap:18px;min-height:86px;padding:16px 18px}.mode-icon{width:48px;height:48px;margin:0;flex-shrink:0}.mode-copy strong{font-size:19px;margin-bottom:3px}.mode-copy small{max-width:none;font-size:12px;line-height:1.5}.mode-arrow{display:none}.new-label{position:static;margin-left:auto;font-size:8px;flex-shrink:0}.hero-time{display:block;margin:12px 0 0}.hero-copy{max-width:100%}.hero-art{opacity:.35}.mode-intro-modal,.mode-settings-modal{width:100%;max-width:none;height:100%;max-height:100vh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:calc(20px + env(safe-area-inset-top,0px)) 22px calc(22px + env(safe-area-inset-bottom,0px))}.mode-intro-modal .modal-head{padding-bottom:16px;border-bottom:1px solid var(--border)}.mode-intro-body{min-height:calc(100vh - 140px);min-height:calc(100dvh - 140px);justify-content:center;padding:24px 0}.mode-intro-body h2{font-size:26px}.mode-intro-body>p{font-size:16px}.mode-settings-modal .modal-head{margin-bottom:24px}.mode-settings-modal .modal-head h2{font-size:28px}.mode-settings-modal .settings-section:first-of-type{border-top:0;padding-top:0}.modal-foot{flex-wrap:wrap}.field-pair{grid-template-columns:minmax(0,1fr)}.flashcard-face{min-height:310px;padding:14px 16px}.flash-tools .eyebrow{letter-spacing:1px;font-size:9px}.flip-area>span{font-size:30px}.card-controls{gap:8px}.board-panel{padding:14px}.board-top{margin-bottom:16px;font-size:12px}.board-top .badge{padding:6px 8px;font-size:11px}.pieces{margin-top:16px}.piece{flex:1;min-width:0;min-height:76px}.game-message{font-size:12px;margin-top:16px}.session-note{font-size:12px;line-height:1.6}.session-head{display:grid;grid-template-columns:1fr auto 1fr}.session-head>.icon-button{justify-self:end}.session-head .back-button{font-size:12px}.session-head>span{font-size:14px;white-space:nowrap}.match-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.match-tile{min-height:84px;padding:10px 7px;font-size:13px}.profile-banner{padding:18px}.profile-banner p{font-size:13px}.panel{min-width:0}.preferences-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.match-tile.matched{visibility:hidden}}.choice.choice-correct:disabled{opacity:1;background:var(--good-bg);border-color:var(--good);color:var(--text)}.choice.choice-wrong:disabled{opacity:1;background:var(--bad-bg);border-color:var(--bad);color:var(--text)}.choice{overflow-wrap:anywhere}.unlock-journey{margin:24px 0}.unlock-journey>p{margin:12px 0;line-height:1.6}.unlock-journey progress{width:100%;margin:6px 0}.unlock-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;gap:18px;margin:22px 0}.unlock-milestones li{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface2)}.unlock-milestones p{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.unlock-milestones strong{font-size:13px}.unlock-number{border-radius:50%;display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:var(--green-soft);color:var(--accent-text)}.unlock-next{display:flex;gap:10px;align-items:center}.reminder-panel{margin-bottom:24px}.reminder-panel>p{font-size:13px;line-height:1.6;margin-top:16px}.mode-locked .mode-icon{filter:saturate(.35)}@media(max-width:1000px){.unlock-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.unlock-milestones{grid-template-columns:1fr;gap:10px}}.learn-recall-answer{margin:20px 0;padding:20px;border-radius:16px;background:var(--surface2);animation:recall-reveal .28s ease-out}@keyframes recall-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.learn-recall-answer{animation:none}}.blocks-content{--piece-1:#586aff;--piece-2:#15c8ef;--piece-3:#ec35ce;max-width:480px}.blocks-content .game-score{margin:8px 0 16px}.blocks-content .game-score>div{display:flex;flex-direction:row;align-items:baseline;gap:9px}.blocks-content .game-score strong{font-weight:750;font-size:30px}.blocks-content .game-score>span{color:var(--text);font-size:13px}.blocks-content .game-score>span svg{color:#d79c13}.blocks-content .board-panel{padding:0;border:0;border-radius:0;background:none}.blocks-content .board-top{margin-bottom:12px;font-size:12px}.blocks-content .board-top,.game-rules-note{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.blocks-content .board-top .badge{background:none;padding:0;color:var(--muted)}.blocks-content .block-board{gap:3px}.blocks-content .block-cell.color-0{background:color-mix(in srgb,#6571b2 14%,var(--surface));box-shadow:inset 0 0 0 1px #6571b210}[data-theme=dark] .blocks-content .block-cell.color-0{background:color-mix(in srgb,#6571b2 30%,var(--surface))}.blocks-content .block-cell.color-1{background:radial-gradient(at 30% 20%,#bbc5ff,var(--piece-1) 65%);box-shadow:inset 0 -3px #293eb35c,inset 0 1px #d8ddff}.blocks-content .block-cell.color-2{background:radial-gradient(at 30% 20%,#c6fdff,var(--piece-2) 65%);box-shadow:inset 0 -3px #04729c5c,inset 0 1px #d8fcff}.blocks-content .block-cell.color-3{background:radial-gradient(at 30% 20%,#ffcaff,var(--piece-3) 65%);box-shadow:inset 0 -3px #a90bb65c,inset 0 1px #ffdcfc}.blocks-content .block-cell.preview{background:color-mix(in srgb,var(--green) 45%,var(--surface));box-shadow:inset 0 0 0 2px var(--accent-text)}.blocks-content .block-cell.preview-invalid{background:var(--bad-bg);box-shadow:inset 0 0 0 2px var(--bad)}.blocks-content .pieces{margin-top:26px;gap:10px}.blocks-content .piece{flex:1;background:none;border:1px solid transparent;border-radius:14px;min-height:100px;box-shadow:none}.blocks-content .piece.active{background:color-mix(in srgb,var(--accent-text) 5%,transparent);border-color:color-mix(in srgb,var(--accent-text) 45%,transparent);box-shadow:none}.blocks-content .piece:disabled{opacity:.2}.blocks-content .piece .shape{transform:none}.blocks-content .piece:nth-child(1) .shape .filled{background:var(--piece-1)}.blocks-content .piece:nth-child(2) .shape .filled{background:var(--piece-2)}.blocks-content .piece:nth-child(3) .shape .filled{background:var(--piece-3)}.blocks-content .shape .filled{box-shadow:inset 0 1px #ffffff70,inset 0 -2px #0002}.drag-ghost.color-1 .shape .filled{background:#586aff}.drag-ghost.color-2 .shape .filled{background:#15c8ef}.drag-ghost.color-3 .shape .filled{background:#ec35ce}.blocks-content .game-message{margin:15px 0 0;min-height:28px;font-size:12px}.blocks-content .session-note{font-size:11px;margin-top:8px}@media(max-width:600px)and (max-height:650px){.blocks-content .game-score{margin:0 0 10px}.blocks-content .pieces{margin-top:12px}.blocks-content .game-message{margin-top:6px}}.match-classic{max-width:720px;margin-inline:auto}.match-classic .match-instruction-title,.match-classic .match-instruction{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.match-classic .session-progress{margin-bottom:8px;font-size:12px}.match-classic .match-timer{color:var(--text);font-weight:700}.match-classic>progress{height:4px;margin:0}.match-classic>.session-note{margin:10px 0;font-size:11px}.match-classic .match-grid{gap:8px;margin:12px 0 0;grid-auto-rows:minmax(110px,1fr)}.match-classic .match-tile{display:flex;align-items:center;justify-content:center;padding:14px 10px;font-size:20px;font-weight:550;line-height:1.4;background:color-mix(in srgb,#7582bb 10%,var(--surface));border-color:color-mix(in srgb,#7582bb 30%,var(--border));border-radius:16px}.match-classic .match-tile.selected,.match-classic .match-tile.drop-target{background:var(--green-soft)!important;color:var(--text);border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}.match-classic .match-tile.was-wrong{color:var(--text);background:var(--bad-bg);border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}.match-live-status{margin:12px 0 0;min-height:20px;color:var(--muted);text-align:center;font-size:12px}.match-live-status.is-wrong{color:var(--bad);font-weight:650}.cards-content .card-sort-counts{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;font-size:12px;font-weight:650}.card-sort-counts b{display:inline-block;padding:3px 10px;border:1px solid currentColor;border-radius:20px;font-variant-numeric:tabular-nums}.card-still-count{color:var(--bad)}.card-known-count{color:var(--good)}.cards-content .flashcard-face{display:flex;flex-direction:column}.cards-content .flashcard-scene{animation-name:card-enter-contained}@keyframes card-enter-contained{0%{opacity:.5}to{opacity:1}}.cards-content .flashcard-face .flip-area{flex:1}.cards-content .card-ratings{justify-content:center;gap:14px}.cards-content .card-ratings button{min-width:130px;border-radius:28px}.cards-content .card-ratings .secondary{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.match-classic .match-tile{min-width:0;overflow-wrap:normal;word-break:normal}.match-classic .match-tile[lang=ru]{hyphens:auto}.match-classic .match-tile[lang=ko]{word-break:keep-all;overflow-wrap:anywhere}@media(max-width:700px){.cards-content .flashcard-face{min-height:clamp(330px,51dvh,560px)}.cards-content .card-ratings button{min-width:0;flex:1}}@media(min-width:1100px){.blocks-content{max-width:760px}.blocks-content .game-score{margin-left:180px}.blocks-content .board-panel{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:30px}.blocks-content .block-board{grid-column:2;grid-row:1}.blocks-content .pieces{grid-column:1;grid-row:1;display:flex;flex-direction:column;margin:0;justify-content:space-evenly}.blocks-content .piece{width:100%;min-height:0}.blocks-content .piece .shape{--shape-cell:34px!important}.blocks-content .game-message{grid-column:2}}@media(max-width:700px){.blocks-content .game-score{margin-top:0}.blocks-content .piece{min-height:93px}.match-classic .match-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(95px,calc((100dvh - 220px)/var(--match-rows,4)));gap:6px}.match-classic .match-tile{padding:10px 8px;font-size:clamp(15px,4.8vw,20px)}.match-classic .match-tile[data-long-label=long]{padding-inline:5px;font-size:clamp(12px,3.5vw,17px)}.match-classic .match-tile[data-long-label=extra]{padding-inline:5px;font-size:clamp(11px,3.1vw,15px)}}@media(max-width:600px)and (max-height:650px){.match-classic .match-grid{grid-auto-rows:minmax(72px,calc((100dvh - 240px)/var(--match-rows,4)))}.match-classic .match-tile{min-height:72px;padding:6px}.match-classic .match-tile .word-image{max-height:38px}.match-classic .match-live-status{margin-top:8px}.cards-content .flashcard-face{min-height:220px;padding:12px 16px}.cards-content .flip-area{min-height:0;padding:8px 4px}.cards-content .word-image{max-height:100px}.cards-content .flashcard-scene{margin-bottom:12px}.cards-content .card-controls{margin-top:12px}}.cards-content .card-controls{gap:6px}@media(max-width:600px){.cards-content .card-controls .icon-button{width:40px;height:44px;min-width:40px}}.in-session .sidebar,.in-session .topbar,.in-session .page-footer{display:none}.in-session .main{margin-left:0}.session-page .session-head{margin-bottom:12px;padding-bottom:10px}.session-page.session-blast .session-head{margin-bottom:4px;padding-bottom:0}.session-page{padding:16px 20px 20px}.intro-tools:has(>button:only-child){grid-template-columns:1fr}.desktop-keyboard-hint{display:inline}@media(max-width:700px){.session-page{padding:calc(8px + env(safe-area-inset-top,0px)) 10px calc(12px + env(safe-area-inset-bottom,0px))}.desktop-keyboard-hint{display:none}}@media(pointer:coarse){.desktop-keyboard-hint{display:none}}:root{--muted: #56665d;--accent-text: #285e4c;--good: #23734b;--warning: #865911;--peach-ink: #9c4d1f;--lilac-ink: #6845a5;--blue-ink: #17698b}html{color-scheme:light;background:var(--bg)}html[data-theme=dark]{color-scheme:dark}body{color:var(--text);background:var(--bg)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}a,.text-button,.starred,.data-panel>svg,.brand-mini,.range-label>span,.paper-word>span,.auth-key,.auth-features svg{color:var(--accent-text)}.eyebrow,.nav-caption,.version,.page-footer,.breadcrumb span,.mode-arrow,.word-number,.answer-input svg,.new-label{color:var(--muted)}.sidebar nav button.active,.bottom-nav button.active,.profile-avatar,.profile-badges span,.xp-panel p,.result-symbol,.results h1,.game-over>svg,.mode-icon.sage,.mode-intro-body .intro-icon.sage{color:var(--accent-text)}.nav-count,.heading-count{color:var(--text);background:var(--green-soft);border:1px solid var(--border);font-weight:750;font-variant-numeric:tabular-nums;line-height:1.4}.nav-count{min-width:30px;padding:4px 7px;text-align:center;font-size:11px}.heading-count{margin-left:12px;vertical-align:middle}.badge{color:var(--text);background:var(--surface2)}.tag,[data-theme=dark] .tag{color:var(--muted);background:var(--surface2)}.mode-icon.peach,.paper-icon{color:var(--peach-ink);background:var(--peach)}.mode-icon.lilac{color:var(--lilac-ink);background:var(--lilac)}.mode-icon.blue{color:var(--blue-ink);background:var(--blue)}.tip-icon{color:var(--accent-text);background:var(--green-soft)}.game-score>span{color:var(--warning)}.feedback-title,.good,.test-answer.good{color:var(--good)}.incorrect .feedback-title,.test-answer.bad{color:var(--bad)}.success-note{color:var(--good)}.primary,.hero-button,.logo-mark,[data-theme=dark] .primary{color:var(--accent-ink);background:var(--green)}.primary:hover,.hero-button:hover{background:var(--green);filter:brightness(.94)}.primary:disabled:hover,.hero-button:disabled:hover{filter:none}.secondary:hover,.icon-button:hover{background:var(--surface2)}.icon-button:hover{color:var(--accent-text)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.hero-button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible,.toggle-row input:focus-visible+.switch{outline:3px solid var(--accent-text);outline-offset:3px}.toggle-row .switch{background:var(--border)}.toggle-row input:checked+.switch{background:var(--green)}.toggle-row input:checked+.switch:after{background:var(--accent-ink)}.choice.selected,.match-tile.selected,.piece.active{border-color:var(--accent-text)}.selected{border-color:var(--accent-text)!important}.choice:hover,.match-tile:hover,.mode-card:hover{border-color:var(--accent-text)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.page-heading p:not(.eyebrow){max-width:580px;font-size:14px;line-height:1.6;margin-top:9px}.page-heading .eyebrow{margin-bottom:10px}.page-heading h1{line-height:1.18}.section-note{font-size:12px}.mode-copy small{opacity:1;font-size:12px;line-height:1.55}.mode-copy strong{line-height:1.3}.mode-card{overflow:hidden}.mode-card:focus-visible .mode-icon{transform:rotate(-6deg) scale(1.04)}.mode-card[disabled]:hover{transform:none;box-shadow:none;border-color:var(--border)}.mode-card[disabled]:hover .mode-icon{transform:none}.mode-card.mode-locked{border-style:dashed}.mode-card.mode-locked:disabled{opacity:1;cursor:default}.mode-card.mode-locked .mode-icon{filter:saturate(.55)}.mode-card.mode-locked:hover,.mode-card.mode-locked:hover .mode-icon{transform:none}.hero-copy{position:relative;z-index:1}.hero p{font-size:14px;line-height:1.6}.hero-label,[data-theme=dark] .hero-label{color:var(--accent-text)}.hero-time,[data-theme=dark] .hero-time{color:var(--muted);font-size:12px}.hero-button{margin-top:20px;min-height:48px;font-size:14px}.stat-card strong,.game-score strong,.results h1{font-variant-numeric:tabular-nums}.stat-card>svg{color:var(--accent-text)}.stat-card>span{font-size:12px;line-height:1.45}.level-return-note{margin:0 0 24px;padding:16px 20px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--green-soft);font-size:14px;line-height:1.65}.xp-track{height:10px}.xp-track i{transition:width .4s ease-out}.word-of-day p{font-size:14px;line-height:1.55}.dashboard-bottom:has(>.word-of-day:only-child){grid-template-columns:minmax(0,1fr)}.dashboard-bottom>.word-of-day:only-child{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:24px;width:100%;padding:22px 26px}.dashboard-bottom>.word-of-day:only-child .section-heading{grid-column:1;grid-row:1 / 3;align-self:center;margin:0}.dashboard-bottom>.word-of-day:only-child .phrase,.dashboard-bottom>.word-of-day:only-child>p{grid-column:2}.phrase{justify-content:space-between;gap:14px}.phrase h3{line-height:1.5}.phrase .audio{flex-shrink:0}.button-row{flex-wrap:wrap;gap:12px}.button-row>button{min-width:0}.panel h2{flex-wrap:wrap;line-height:1.4}.field>span{line-height:1.5}.field>small{display:block;line-height:1.6;margin-top:6px}.toggle-row{gap:18px}.toggle-row strong{line-height:1.45}.toggle-row small{margin-top:6px;line-height:1.6}.toggle-row.disabled{opacity:1;color:var(--muted)}.toggle-row.disabled .switch{opacity:.5}.profile-form{gap:10px}.custom-color{flex-wrap:wrap}.custom-color span:last-child{opacity:1}.palette-list button{width:40px;height:40px;flex-shrink:0}.palette-caption{margin:-4px 0 16px;color:inherit;opacity:1}.advanced-settings>summary,.advanced-group>summary{min-height:44px;line-height:1.5;padding-top:11px;padding-bottom:11px}.advanced-content{line-height:1.65}.library-toolbar{gap:14px}.library-meta{flex-wrap:wrap;gap:12px;font-size:13px}.library-meta>.text-button{margin-left:auto}.library-star-filter.active{color:var(--accent-text);background:var(--green-soft);border-color:var(--accent-text)}.search .search-clear{flex-shrink:0;width:44px;height:44px;padding:10px}.search .search-clear svg{width:17px;height:17px}.empty-content{max-width:540px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.65}.empty-content p{margin-bottom:18px}.empty-content>button{margin:6px}.table-head,.word-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px}.word-actions{justify-content:flex-end}.word-ru .word-note{color:var(--muted);font-size:12px;line-height:1.6;white-space:pre-wrap}.editor-hint{display:block;margin-top:7px;font-size:12px;line-height:1.6}.modal-foot .primary,.modal-foot .secondary{flex-shrink:0}.account-security>summary,.profile-journey>summary{min-height:44px;font-weight:650;line-height:1.6;cursor:pointer}.account-security>summary svg{margin-right:8px;vertical-align:middle}.account-security[open]>summary{margin-bottom:22px}.profile-journey>.unlock-journey{border:0;padding:24px 0 0;margin-bottom:0;box-shadow:none}.profile-form .success-note{margin:8px 0 0}.profile-form .profile-save-actions>button{flex:1;width:auto}.profile-form .draft-note{font-size:12px;line-height:1.6}.profile-leave-actions{margin-top:20px}.profile-leave-actions>button{flex:1;min-height:44px}.settings-autosave,.palette-name{font-size:13px;line-height:1.6}.palette-name{margin:12px 0}.range-label>small{grid-column:1 / -1;color:var(--muted);font-size:12px;line-height:1.6}.word-row{align-items:center;gap:8px 16px}.word-row>div{min-width:0}.word-ru,.word-ko{overflow-wrap:anywhere;line-height:1.55}.word-ru>small{line-height:1.6;margin-top:4px}.word-ru small{color:var(--warning)}.word-ko .audio{flex-shrink:0}.question-meta,.board-top,.game-score,.session-progress{gap:12px;flex-wrap:wrap}.question-meta>span,.session-progress>span{min-width:0}.choice{min-width:0;line-height:1.6}.choice>span:first-child:not(.word-media):not(.formatted-word){flex-shrink:0}.feedback{border-left:3px solid var(--good);animation:feedback-arrive .18s ease-out}.feedback.incorrect{border-left-color:var(--bad)}.feedback p{line-height:1.65;overflow-wrap:anywhere}.feedback-title{font-weight:700}.graded-choices .choice:disabled{opacity:1}.graded-choices .choice>svg{flex-shrink:0;margin-left:auto}.choice.choice-correct:disabled>span:first-child:not(.word-media):not(.formatted-word){color:var(--good);background:var(--good-bg)}.choice.choice-wrong:disabled>span:first-child:not(.word-media):not(.formatted-word){color:var(--bad);background:var(--bad-bg)}.results .result-symbol{animation:reward-arrive .4s cubic-bezier(.2,.8,.2,1)}.game-over{animation:feedback-arrive .25s ease-out}.game-over p{font-size:14px;line-height:1.65}.block-cell.color-0,[data-theme=dark] .block-cell.color-0{background:var(--surface2);box-shadow:inset 0 0 0 1px var(--border)}.block-cell.color-1{background:#58ade6;box-shadow:inset 0 -3px #206da84a}.block-cell.color-2{background:#f09a86;box-shadow:inset 0 -3px #a946424a}.block-cell.color-3{background:#95c366;box-shadow:inset 0 -3px #456e2c4a}.piece{transition:border-color .16s,background .16s,box-shadow .16s}.piece.active{box-shadow:0 0 0 1px var(--accent-text)}.piece:nth-child(1) .shape .filled,.drag-ghost.color-1 .filled{background:#58ade6}.piece:nth-child(2) .shape .filled,.drag-ghost.color-2 .filled{background:#f09a86}.piece:nth-child(3) .shape .filled,.drag-ghost.color-3 .filled{background:#95c366}.gem-cell>span{background:#b28cef}.gem-1>span{background:#58ade6}.gem-2>span{background:#f09a86}.gem-3>span{background:#95c366}.gem-4>span{background:#f3c35e}.gem-cell>span{filter:drop-shadow(0 2px 1px #0002)}.gem-cell.active{border-color:var(--accent-text)}.match-tile.selected{box-shadow:0 0 0 1px var(--accent-text)}.match-tile.was-wrong{border-color:var(--bad);background:var(--bad-bg)}.answer-asteroid{background:#2f6072;color:#fff}.answer-asteroid.asteroid-1{background:#5b4676}.answer-asteroid.asteroid-2{background:#8c4b34}.answer-asteroid.asteroid-3{background:#315f89}.space-counter{color:#ecf4ff}.mode-intro-body .intro-icon{animation:reward-arrive .38s cubic-bezier(.2,.8,.2,1)}.mode-intro-body .intro-icon svg{width:56px;height:56px}.intro-help{border:1px solid var(--border);color:var(--text)}.intro-tools button{gap:8px}.modal-head .icon-button{flex-shrink:0;width:44px;height:44px}.modal-head h2{overflow-wrap:anywhere;line-height:1.35}.mode-settings-modal .settings-section>h3{line-height:1.5}.mode-settings-modal[open]{display:flex;flex-direction:column;overflow:hidden}.mode-settings-modal>.modal-head{flex-shrink:0}.mode-settings-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:8px}.mode-settings-content>.settings-section:first-child{border-top:0;padding-top:0}.mode-settings-modal .settings-actions{flex-shrink:0;border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.mode-settings-modal .field select{width:100%}.mode-intro-body>.intro-empty{color:var(--text);background:var(--surface2);padding:14px 18px;border:1px solid var(--border);border-radius:12px;font-size:14px}.modal::backdrop{background:#08110d80}.arcade-hud{flex-wrap:wrap;gap:14px}.arcade-record{white-space:nowrap}.arcade-clock.urgent,.crystal-moves.urgent{color:var(--bad);background:var(--bad-bg)}.arcade-result-symbol,.blast-level>b,.crystal-overload>svg,.crystal-reward>svg{color:var(--accent-text)}.blast-inline-feedback{line-height:1.55}.blast-inline-feedback>svg{flex-shrink:0}.blast-inline-feedback>b{flex-shrink:0;font-variant-numeric:tabular-nums}.blast-rock-core small{color:#f6fbff}.blast-question-meta .icon-button:hover{color:#fff;background:#ffffff26}.blast-rock:focus-visible,.blast-question-meta .icon-button:focus-visible,.blast-powerup:focus-visible{outline-color:#eef5ff}.blast-powerup{min-width:44px;min-height:44px}.crystal-selected .crystal-motion{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text)}.crystal-question .choice.crystal-answer-correct{border-color:var(--good);background:var(--good-bg);color:var(--text)}.crystal-question .choice.crystal-answer-wrong{border-color:var(--bad);background:var(--bad-bg);color:var(--text)}.crystal-question .choice.crystal-answer-correct>span:first-child:not(.word-media):not(.formatted-word){color:var(--good);background:var(--good-bg)}.crystal-question .choice.crystal-answer-wrong>span:first-child:not(.word-media):not(.formatted-word){color:var(--bad);background:var(--bad-bg)}.unlock-milestones li>div{min-width:0}.unlock-milestones strong{display:block;line-height:1.5;overflow-wrap:anywhere}.unlock-milestones li.earned{background:var(--green-soft)}.unlock-milestones li.locked{border-style:dashed}.unlock-milestones li.locked .unlock-number{background:var(--surface);color:var(--muted)}.unlock-next{align-items:flex-start;line-height:1.6}.unlock-next>svg{flex-shrink:0;margin-top:4px;color:var(--warning)}.unlock-journey progress{height:8px}.unlock-journey>p{font-size:14px}@keyframes feedback-arrive{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes reward-arrive{0%{opacity:0;scale:.84;rotate:-5deg}to{opacity:1;scale:1;rotate:0deg}}@media(max-width:760px){.word-row{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:700px){.page-heading{gap:16px;margin-bottom:24px}.page-heading h1{font-size:clamp(28px,7vw,35px)}.page-heading .button-row{width:100%}.page-heading .button-row button{flex:1}.hero{min-height:0;padding:24px 22px}.hero-art{opacity:.2;pointer-events:none}.hero-copy{max-width:100%}.hero h2,[data-theme=dark] .hero h2{font-size:29px}.mode-card{min-height:86px;padding:17px 18px}.mode-card .mode-icon{margin:0}.mode-copy{flex:1}.mode-copy strong{margin-bottom:4px}.mode-copy small{font-size:12px}.mode-locked .mode-arrow{display:block;position:static;flex-shrink:0}.new-label{max-width:60px;text-align:right;line-height:1.5}.stats-grid{gap:10px}.stat-card{padding:17px}.stat-card strong{font-size:27px}.xp-panel{padding:22px;gap:16px}.xp-panel>div{min-width:0}.library-toolbar>*{min-width:0}input,select,textarea,.answer-input input{font-size:16px}.icon-button{min-width:44px;min-height:44px}.word-row{padding:16px;grid-template-columns:minmax(0,1fr) auto}.word-ko{gap:8px}.word-actions .icon-button{padding:8px}.profile-banner h2{font-size:22px}.profile-badges{font-size:14px}.profile-banner .profile-avatar{width:60px;height:60px}.panel{padding:22px}.panel h2{font-size:22px}.profile-form .primary{width:100%}.toggle-row{gap:14px}.toggle-row strong{font-size:14px}.toggle-row small{font-size:12px}.session-head{column-gap:8px;margin-bottom:22px}.session-head>.back-button{gap:5px}.session-head>span{gap:7px}.session-head>span svg{width:20px}.board-panel{padding:14px}.board-top{flex-wrap:nowrap;gap:8px}.board-top>span:first-child{min-width:0;line-height:1.5}.game-score>span{font-size:12px}.game-message{line-height:1.6}.intro-tools{gap:10px}.intro-tools button{font-size:13px;padding:12px 8px}.mode-settings-modal .modal-head{margin-bottom:18px}.mode-settings-modal .modal-head h2{font-size:23px}.mode-settings-modal .settings-actions{gap:8px;padding-bottom:0}.mode-settings-modal .settings-actions button{min-height:44px;padding:9px 14px}.library-meta>span{width:100%}.library-star-filter{min-height:44px}.word-ko .audio{width:44px;height:44px}.modal-foot>.secondary{flex:1}.modal-foot>.primary{flex:1}.mode-intro-body .intro-icon{width:104px;height:104px}.question-pane{padding:24px 18px}.question-pane h2{font-size:27px}.match-tile{font-size:14px;line-height:1.5}.arcade-hud{gap:10px}.arcade-record{font-size:12px}.arcade-score strong{font-size:32px}.arcade-clock,.crystal-moves{padding:8px 10px}.crystal-reward{flex-wrap:wrap;gap:8px}.crystal-reward>span{flex:1;min-width:100px;line-height:1.5}.unlock-milestones li{padding:13px}.dashboard-bottom>.word-of-day:only-child{display:block;padding:21px 22px}.dashboard-bottom>.word-of-day:only-child .section-heading{margin-bottom:9px}.bottom-nav button{color:var(--muted)}.bottom-nav button.active{color:var(--accent-text)}}@media(hover:none){.mode-card:hover{transform:none;box-shadow:none}.mode-card:hover .mode-icon{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.palette-launch{margin-top:12px}.palette-swatch{display:inline-block;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--green);border:1px solid var(--border)}.theme-picker.light,.theme-picker.dark{color:var(--text);background:var(--surface2)}.account-security>summary,.advanced-settings>summary{display:flex;align-items:center;gap:12px;list-style:none}.account-security>summary::marker,.advanced-settings>summary::marker{content:""}.account-security>summary::-webkit-details-marker,.advanced-settings>summary::-webkit-details-marker{display:none}.account-security>summary svg,.advanced-settings>summary svg{margin:0;flex-shrink:0}.profile-chevron{transition:transform .16s ease}details[open]>summary>.profile-chevron{transform:rotate(90deg)}.profile-save-actions>button,.modal-foot>button{gap:10px}.advanced-content>.advanced-group+.advanced-group{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.update-notice{position:fixed;z-index:120;bottom:max(24px,env(safe-area-inset-bottom));right:24px;width:min(480px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px;padding:20px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 60px #0003;animation:update-enter .25s ease-out}.update-icon{color:var(--green);padding-top:3px}.update-copy{flex:1;min-width:0}.update-copy strong{display:block;font-size:17px}.update-copy p{margin:8px 0 16px;font-size:14px;line-height:1.5;color:var(--muted)}.update-actions{display:flex;gap:10px;flex-wrap:wrap}.update-actions a{display:inline-flex;align-items:center;text-decoration:none;border-radius:12px;padding:12px 16px}.update-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:14px}.update-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:119;background:#0002;cursor:wait}@keyframes update-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.update-notice{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));padding:16px;gap:10px}.update-actions{display:grid;grid-template-columns:1fr}.update-actions button,.update-actions a{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.update-notice{animation:none}}.session-page{max-width:1240px;padding:12px 20px 20px}.session-page .session-head{margin-bottom:10px;padding-bottom:8px}.session-page .session-content,.session-page .test-content,.session-page .learn-path{max-width:900px}.session-page .session-progress{margin:10px 0;gap:12px}.session-page progress{margin-bottom:16px}.session-page .question-pane{padding:22px 26px}.session-page .question-tags{margin-bottom:18px}.session-page .match-classic{max-width:980px}.session-page .blocks-content{max-width:850px}.session-page .blocks-content .block-board{width:100%;max-width:600px;margin-inline:auto}.session-page .blocks-content .pieces{margin-top:16px}.session-page .arcade-crystals{max-width:min(510px,calc((100dvh - 190px) * 2 / 3))}.session-page .arcade-crystals .crystal-panel{max-width:none}.session-page .dictation-content.dictation-sequential{max-width:800px}.session-page .dictation-task{min-height:190px;padding:22px 20px;gap:14px}.session-page .dictation-reference{padding:14px 8px}.spell-content .question-meta{gap:14px;margin-bottom:18px}.mode-intro-body{gap:16px;padding:22px 4px 10px}.mode-intro-body .intro-icon{width:88px;height:88px;margin-bottom:4px}.intro-new{align-self:center;min-height:40px;margin-top:-8px}.test-choice-row{display:flex;min-width:0;align-items:stretch;gap:5px}.test-choice-row>.choice{flex:1;min-width:0}.test-choice-row>.audio{align-self:center;flex-shrink:0}.test-spoken-option{display:flex;align-items:center;justify-content:space-between;gap:12px}.test-answer>.audio{margin-left:auto;flex-shrink:0}.session-blast .blast-question{height:90px;flex:0 0 90px;display:flex;align-items:center;justify-content:center}.session-blast .blast-question h2{line-height:1.2;margin:0}.blast-rock:disabled{opacity:1}.blast-rock-core>svg{position:absolute;right:18px;bottom:14px}.blast-power-status{height:22px;min-height:22px;flex:0 0 22px}.arcade-score>strong{font-variant-numeric:tabular-nums;min-width:70px}.blast-inline-feedback{height:30px;min-height:30px;flex:0 0 30px;padding:4px 8px;margin:0}[data-theme=light] .blocks-content .block-cell.color-0{background:#dddff4;box-shadow:inset 0 0 0 1px #c8cbe8}[data-theme=light] .arcade-crystals .crystal-board{background:#d4cff4}[data-theme=light] .arcade-crystals .crystal-gem{background:radial-gradient(at 32% 20%,#ffffff8c,var(--gem) 45%,color-mix(in srgb,var(--gem) 65%,#160b4c))}@media(min-width:900px){.session-page .blocks-content .board-panel{display:grid;grid-template-columns:130px minmax(0,600px);gap:14px 28px;justify-content:center}.session-page .blocks-content .block-board{grid-column:2;grid-row:1;max-width:min(600px,calc(100dvh - 180px))}.session-page .blocks-content .pieces{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;margin:0;gap:12px}.session-page .blocks-content .piece{flex:0;min-height:120px}.session-page .blocks-content .game-message{grid-column:1/-1;margin:0}}@media(max-width:600px){.session-page{padding:calc(8px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px))}.session-page .session-head{margin-bottom:8px;padding-bottom:7px}.session-page .question-pane{padding:18px 16px;border-radius:16px}.session-page .question-pane h2{margin:12px 0;font-size:27px}.session-page .question-tags{margin-bottom:12px}.session-page .blocks-content .block-board{max-width:min(100%,calc(100dvh - 240px))}.session-page .blocks-content .pieces{margin-top:12px;gap:8px}.session-page .blocks-content .piece{min-height:100px}.session-page .arcade-crystals{max-width:min(100%,calc((100dvh - 185px) * 2 / 3))}.session-page .dictation-task{min-height:160px;padding:20px 16px}.session-page .dictation-sequential .dictation-next{margin-top:14px}.mode-intro-modal .mode-intro-body{min-height:0;justify-content:flex-start;padding:20px 0 10px}.mode-intro-body .intro-icon{width:80px;height:80px}.mode-intro-body h2{font-size:25px}.session-blast .blast-question{height:80px;flex-basis:80px;padding-block:8px}}.modal-head{gap:12px}.modal-head>h2{min-width:0}.palette-list button{width:44px;height:44px}.custom-color input[type=color]{width:44px;height:44px;min-height:44px;cursor:pointer}.mode-advanced-settings>summary,.word-metadata>summary{min-height:44px;padding-block:12px;line-height:20px}.leaderboard-scores dt{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.match-content .match-grid .match-tile{padding:6px}.match-content .match-grid .match-label .word-media{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.match-content .match-grid .match-label .word-image{height:var(--match-image-height, 45px);max-height:var(--match-image-height, 45px);width:auto;margin:0}.session-page .blocks-content .piece .shape{--shape-cell: clamp(16px, 5vw, 23px) !important}@media(min-width:900px){.session-page .blocks-content .piece .shape{--shape-cell: 26px !important}}.session-blast .blast-rock{top:clamp(20px,calc(var(--rock-y) * 1% - var(--rock-height, var(--rock-size)) / 2),calc(100% - var(--rock-height, var(--rock-size)) - 20px))}.session-blast .blast-inline-feedback{height:40px;min-height:40px;flex:0 0 40px}.session-blast .blast-inline-feedback .written-correction{min-width:0;max-height:32px;overflow-y:auto;scrollbar-width:thin;line-height:16px}.session-blast .blast-inline-feedback .written-correction strong{color:inherit;text-decoration-color:currentColor;text-underline-offset:3px}@media(max-width:380px){.palette-list{display:grid;grid-template-columns:repeat(4,44px);gap:12px}.arcade-crystals .arcade-hud{grid-template-columns:minmax(0,1fr) max-content max-content;gap:8px}.arcade-crystals .arcade-score{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.arcade-crystals .arcade-score strong{font-size:20px;font-variant-numeric:tabular-nums}.arcade-crystals .crystal-moves{flex-direction:column;gap:2px;padding:6px 8px}.arcade-crystals .crystal-moves strong{font-size:22px;font-variant-numeric:tabular-nums}.arcade-crystals .arcade-record{gap:4px;font-size:11px;font-variant-numeric:tabular-nums}.arcade-crystals .arcade-record svg{width:14px;flex-shrink:0}}.session-page .session-head{width:100%;max-width:none;gap:12px}.session-head>span{margin-left:auto}.session-head .session-head-actions{margin-left:auto}.question-pane .feedback-inline{padding:12px 14px}.question-pane .feedback-inline>p{margin:0 0 8px;line-height:1.5}.question-pane .feedback-inline .field,.question-pane .feedback-inline .primary{margin-top:10px}.practice-sheet .modal-head{margin-bottom:16px}.modal.practice-sheet .question-pane{margin-block:0;padding-block:12px}.practice-sheet .question-pane h2{margin:12px 0 18px}.crystals-question-reward{margin-inline:auto;flex-direction:row;gap:12px;margin-bottom:4px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.crystals-question-reward small{position:static;margin-left:auto}.crystals-reward-gem{width:38px;height:38px}.crystals-reward-gem b{font-size:20px}.crystals-attempt-history{width:min(100%,720px);margin:8px auto 0;padding:8px 12px;border-left:3px solid var(--bad);border-radius:8px;background:var(--bad-bg);font-size:14px}.crystals-attempt-history p{margin:0 0 4px;color:var(--muted)}.crystals-attempt-history ol{margin:0;padding-left:20px;line-height:1.7}.practice-content input{scroll-margin-block:20px}html[data-app-background] *,html[data-app-background] *:before,html[data-app-background] *:after{animation-play-state:paused!important}@media(max-width:900px){.session-page .question-pane h2{margin:12px 0 16px}.session-page .question-pane h2 .word-image{max-height:116px}.session-page .question-pane .question-tags:empty{display:none}body:has(.app.in-session){overflow:hidden}.app.in-session>.main>.page-content{padding:0}.app.in-session .session-page{height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}.app.in-session .session-page::-webkit-scrollbar{display:none}.app.in-session .session-page .session-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:2;background:var(--bg)}.session-page .question-pane[data-result] h2 .word-media{flex-direction:row;align-items:center;gap:12px;text-align:left}.session-page .question-pane[data-result] h2 .word-image{width:64px;height:64px;flex:0 0 64px;max-height:64px}.session-page .question-pane[data-result] h2{font-size:25px;line-height:1.35;margin:8px 0 12px}.question-pane[data-result] .choice-grid{gap:8px}.question-pane[data-result] .choice{padding-block:11px;min-height:48px}.question-pane[data-result] .feedback{margin-top:12px}html[data-practice-keyboard] .session-page:not(.session-blast){position:fixed;top:var(--practice-visible-top, 0px);left:0;right:0;width:100%;height:var(--practice-visible-height, 100dvh);overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px;scroll-padding-block:16px}html[data-practice-keyboard] .session-page .session-head{margin-bottom:8px;padding-bottom:6px}html[data-practice-keyboard] .session-page .question-pane{padding:12px 14px}html[data-practice-keyboard] .session-page .question-pane h2{font-size:25px;margin:6px 0 10px;line-height:1.35}html[data-practice-keyboard] .session-page .question-pane h2 .word-media{flex-direction:row;gap:12px;text-align:left}html[data-practice-keyboard] .session-page .question-pane h2 .word-image{width:52px;height:52px;flex:0 0 52px;max-height:52px}html[data-practice-keyboard] .session-page .question-tags{margin-bottom:8px}html[data-practice-keyboard] .session-page .session-progress{margin-block:6px}html[data-practice-keyboard] .session-page progress{margin-bottom:8px}html[data-practice-keyboard] .crystals-attempt-history{margin-top:4px}}.progress-words-modal{max-height:90dvh;overflow-y:auto}.progress-word-list{list-style:none;padding:0;margin:0}.progress-word-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--border)}.progress-word-text{flex:1;min-width:160px;display:grid;gap:5px}.progress-word-text strong{font-size:21px}.progress-word-text small{color:var(--muted);line-height:1.5}.progress-word-score{color:var(--muted);font-variant-numeric:tabular-nums}.progress-word-list .word-metadata{flex-basis:100%}.grammar-rule-modal .modal-head{align-items:flex-start}.grammar-rule-modal .modal-head h2{min-width:0;font-size:clamp(22px,5.6vw,28px);line-height:1.45;word-break:keep-all;overflow-wrap:normal;text-wrap:pretty}.grammar-rule{display:grid;gap:12px;margin:16px 0 20px;line-height:1.65;word-break:keep-all;overflow-wrap:normal}.grammar-rule p{margin:0}.grammar-examples{display:grid;gap:14px;list-style:none;padding:18px;margin:0 0 20px}.grammar-examples li{display:grid;gap:4px;line-height:1.5}.grammar-examples [lang=ko]{word-break:keep-all;overflow-wrap:normal}.grammar-examples [lang=ru]{color:var(--muted);font-size:.9em}.grammar-lesson .question-pane h2{margin:20px 0 24px}.grammar-lesson .grammar-task{word-break:keep-all;overflow-wrap:normal;line-height:1.55;font-size:clamp(20px,4.6vw,27px)}.grammar-lesson-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 0}.grammar-lesson-result h2,.grammar-lesson-result p{margin:0;line-height:1.5}.grammar-lesson-result p{max-width:32ch}.grammar-lesson-result .primary{margin-top:12px}.grammar-lesson-result .secondary{margin:0}.grammar-order{display:grid;gap:16px;margin-bottom:20px}.grammar-order-answer{min-height:92px;padding:14px;display:flex;align-items:center;align-content:center;flex-wrap:wrap;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}.grammar-order-bank{display:flex;flex-wrap:wrap;gap:10px}.grammar-order button{padding:10px 14px;min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:18px}.grammar-order-bank button:disabled{visibility:hidden}.learn-progress{padding:8px 0 16px;background:var(--bg)}.learn-progress .session-progress{flex-wrap:nowrap;align-items:center;margin:0 0 8px;font-size:13px}.learn-progress .session-progress>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text)}.learn-progress>progress{display:block;height:6px;margin:0 0 8px}.learn-progress-detail{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:900px){.app.in-session .session-page.session-learn{display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top,0px) 0 0}.app.in-session .session-learn>.session-head{position:relative;top:auto;flex:0 0 auto;margin:0;padding:10px 12px}.session-learn>.learn-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 24px;scroll-padding-block:90px 16px;scrollbar-width:none}.session-learn>.learn-scroll::-webkit-scrollbar{display:none}.session-learn .learn-progress{position:sticky;top:0;z-index:1;padding:14px 0 16px}.session-learn .question-pane,html[data-practice-keyboard] .session-learn .question-pane{padding:18px;border-radius:16px}.session-learn .question-pane h2,.session-learn .question-pane[data-result] h2,html[data-practice-keyboard] .session-learn .question-pane h2{display:flex;align-items:center;min-height:88px;margin:12px 0 24px;font-size:25px;line-height:1.4}.session-learn .question-pane h2 .word-media,.session-learn .question-pane[data-result] h2 .word-media,html[data-practice-keyboard] .session-learn .question-pane h2 .word-media{flex-direction:row;align-items:center;gap:16px;text-align:left}.session-learn .question-pane h2 .word-image,.session-learn .question-pane[data-result] h2 .word-image,html[data-practice-keyboard] .session-learn .question-pane h2 .word-image{width:68px;height:68px;flex:0 0 68px;max-height:68px;object-fit:contain}html[data-practice-keyboard] .session-learn .session-progress{margin:0 0 8px}html[data-practice-keyboard] .session-learn .learn-progress>progress{margin:0 0 8px}.grammar-lesson-result{flex:1}}.diagnostics-page{display:grid;gap:24px;padding-bottom:24px}.diagnostics-page .page-heading{gap:16px;flex-wrap:wrap}.diagnostics-page h1,.diagnostics-page h2{margin:0 0 12px}.diagnostics-page p{margin:0;line-height:1.55}.diagnostic-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.diagnostic-list{display:grid;gap:12px}.diagnostic-card{display:grid;gap:10px;padding:18px;min-width:0;overflow-wrap:anywhere}.diagnostic-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.diagnostic-online{color:var(--success, #5ab58a)}.diagnostic-prompt{white-space:pre-line;word-break:keep-all}.diagnostic-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.diagnostic-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0}.diagnostic-card dd{margin:0;white-space:pre-wrap}.diagnostic-card small{color:var(--muted)}details.diagnostic-card{display:block}details.diagnostic-card>*+*{margin-top:12px}
