._progress_1nid1_1{display:grid;gap:10px;min-width:0;width:100%}._heading_1nid1_2{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:13px;color:var(--muted)}._heading_1nid1_2 strong{color:var(--text);font-variant-numeric:tabular-nums}._track_1nid1_4{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--panel-2);border:1px solid var(--border)}._track_1nid1_4>span{display:block;flex-shrink:0;height:100%}._started_1nid1_6{background:#76a9fa}._mastered_1nid1_7{background:#b18af7}._legend_1nid1_8{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:13px}._legend_1nid1_8>span{display:inline-flex;align-items:center;gap:7px}._legend_1nid1_8 i{width:9px;height:9px;border-radius:3px}._legend_1nid1_8 b{color:var(--text);font-variant-numeric:tabular-nums}._summary_alr70_1{display:grid;gap:6px;padding:8px 14px;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel) 58%);box-shadow:inset 0 1px #ffffff09,var(--shadow-card)}._metrics_alr70_12{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}._metric_alr70_12{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:4px;border:0;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer}._metric_alr70_12:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){._metric_alr70_12:hover{background:color-mix(in srgb,var(--accent-soft) 46%,transparent)}}._metricActive_alr70_44{background:color-mix(in srgb,var(--accent-soft) 72%,transparent)}._metric_alr70_12 svg{color:var(--accent)}._metric_alr70_12[data-metric=coins] svg{color:#f0bd4f}._metric_alr70_12[data-metric=checkInStreak] svg{color:var(--streak-fire)}._metric_alr70_12 strong{font-size:18px;font-variant-numeric:tabular-nums;font-weight:720;letter-spacing:-.025em;line-height:1}._detail_alr70_68{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--panel-2) 82%,transparent)}._detailRow_alr70_74,._detailHeading_alr70_75,._detailLabel_alr70_76,._status_alr70_77{display:flex;align-items:center}._detailRow_alr70_74{justify-content:space-between;gap:14px}._detailHeading_alr70_75{gap:8px}._detailLabel_alr70_76,._status_alr70_77{gap:5px}._detailLabel_alr70_76{color:var(--muted)}._status_alr70_77{color:var(--streak-fire);font-size:12px;white-space:nowrap}._xpProgress_alr70_106{display:grid;gap:7px;width:100%}._xpMeta_alr70_112,._xpLabels_alr70_113{display:flex;align-items:baseline;justify-content:space-between;gap:12px}._xpMeta_alr70_112{align-items:center}._xpMetaItem_alr70_124{display:inline-flex;align-items:center;gap:5px}._xpMetaItem_alr70_124 svg{flex:none;color:var(--accent)}._xpTrack_alr70_135{height:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 4%,var(--panel-3))}._xpFill_alr70_143{display:block;width:100%;height:100%;transform-origin:left center;border-radius:inherit;background:color-mix(in srgb,var(--accent) 88%,#6f9fe8)}._xpLabels_alr70_113{color:var(--muted);font-size:12px}@media(max-width:520px){._summary_alr70_1{padding-inline:10px}._detailRow_alr70_74{align-items:flex-start;flex-direction:column;gap:6px}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@font-face{font-family:Google Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/google-sans-latin-500-normal-C94wcUG3.woff2) format("woff2"),url(/assets/google-sans-latin-500-normal-D5I8YECE.woff) format("woff")}@font-face{font-family:Righteous;src:url(/fonts/Righteous-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;--bg: #0c0e12;--panel: #14171c;--panel-2: #1a1e24;--panel-3: #20252d;--border: #282d35;--border-strong: #3a424e;--text: #f4f5f7;--muted: #9299a5;--accent: #76a9fa;--accent-press: #5d94e9;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--streak-fire: #ff8a5b;--checkin-checked-surface: color-mix(in srgb, var(--accent) 42%, var(--panel-2));--checkin-today-stroke: 2px;--ok: #55c86a;--bad: #ff6b63;--mid: #e4ad45;--ok-surface: #15241a;--bad-surface: #271719;--mid-surface: #282112;--radius: 12px;--radius-small: 9px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--duration-press: .14s;--duration-control: .18s;--duration-modal: .22s;--shadow-card: 0 1px 2px rgba(0, 0, 0, .12);--shadow-float: 0 18px 48px rgba(0, 0, 0, .4)}*{box-sizing:border-box}*{scrollbar-width:auto}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:color-mix(in srgb,var(--muted) 30%,transparent) transparent}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--muted) 30%,transparent);border-radius:999px;border:0;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}*::-webkit-scrollbar-corner{background:transparent}html,body{height:100%;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none}#root{width:100%;height:100dvh;overflow-x:clip;overflow-y:auto;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none}.cloze-hint,.answer-input.exercise-answer-input{color:var(--accent)}.cloze-result{display:inline;font-weight:600;overflow-wrap:anywhere}.cloze-incorrect{color:var(--bad);margin-inline-end:.4em;text-decoration-thickness:2px}.cloze-correct{color:var(--ok)}input,textarea,[contenteditable=true],[contenteditable=plaintext-only]{-webkit-user-select:text;user-select:text}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;text-rendering:optimizeLegibility}main{min-width:0}button,input,textarea,select{font:inherit;touch-action:manipulation}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 75%,white);outline-offset:3px}.app{max-width:800px;margin:0 auto;padding:calc(30px + env(safe-area-inset-top)) 24px 96px}.header{margin-bottom:18px}.header h1{margin:0;color:#4f68c8;font-family:Righteous,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;font-weight:400;line-height:1.2;letter-spacing:-.035em}.app-tabs{position:fixed;z-index:30;bottom:0;left:50%;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:min(calc(100% - 24px),420px);min-height:62px;padding:6px 6px max(6px,env(safe-area-inset-bottom));transform:translate(-50%);border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 0 0;background:color-mix(in srgb,var(--bg) 94%,transparent);box-shadow:0 14px 36px #00000047;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.app-tabs button{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;padding:7px 8px 6px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:580;cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.app-tabs button.active{color:var(--accent);background:var(--accent-soft)}.app-tabs button.active svg{color:var(--accent)}.pwa-install-prompt{position:fixed;z-index:45;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));left:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(calc(100% - 24px),520px);margin-inline:auto;padding:12px;border:1px solid var(--border-strong);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25)}.pwa-install-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.pwa-install-copy{display:grid;gap:2px;min-width:0;font-size:12px;line-height:1.4}.pwa-install-copy strong{color:var(--text);font-size:14px}.pwa-install-copy>span{color:var(--muted)}.pwa-install-action{grid-column:2;justify-self:start;min-height:34px;padding:6px 12px;font-size:13px}.pwa-install-dismiss{align-self:start;width:32px;height:32px;border-radius:9px;color:var(--muted)}.practice-focus{min-height:100dvh;padding:calc(clamp(16px,4vh,36px) + env(safe-area-inset-top)) 18px clamp(24px,5vh,48px);background:var(--bg)}.activity-focus{width:100%;overflow-x:clip;overscroll-behavior:none}.activity-fill-viewport{height:100dvh}.activity-fill-viewport .practice-focus-inner{display:flex;flex-direction:column;height:100%}.activity-fill-viewport .practice-focus-actions{flex:none}.practice-focus-inner{width:min(100%,800px);margin:0 auto}.practice-focus-actions{display:flex;justify-content:flex-start;min-height:32px;margin-bottom:8px}.practice-back{display:inline-flex;align-items:center;min-height:36px;padding:4px 8px;margin-left:-8px;border-radius:9px;color:var(--muted);transition:color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.activity-back-label{display:inline}.account-page{display:grid;gap:14px;width:100%}.card.account-actions{display:grid;gap:0;padding:0;overflow:hidden}.account-actions>.btn.ghost,.account-action-item>.btn.ghost{width:100%;min-height:60px;justify-content:flex-start;text-align:left;padding:16px;gap:12px;border:0;border-radius:0;background:transparent;font-size:16px;font-weight:550}.account-actions>.btn.account-feedback{color:var(--text)}.account-actions>.btn+.btn,.account-actions>.account-action-item+.btn{border-top:1px solid var(--border)}.account-feedback>svg:first-child,.account-reminder>svg:first-child{color:var(--accent)}.account-action-notice{margin:0;padding:0 16px 16px 48px}.account-actions>.btn.account-signout{color:var(--bad);background:transparent}.logout-confirm-dialog{width:min(420px,100%)}.logout-confirm-dialog .modal-actions>.btn{min-height:44px}.btn.danger{background:var(--bad);color:#07101f}@media(hover:hover)and (pointer:fine){.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 85%,white)}}.general-feedback-modal p{margin:0}.modal.general-feedback-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.general-feedback-categories{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}.general-feedback-form{display:grid;gap:12px}.general-feedback-categories legend{padding:0;margin-bottom:8px}.general-feedback-categories label{position:relative;cursor:pointer;flex:1 1 auto}.general-feedback-categories .btn{min-height:44px;width:100%;padding:10px 8px;gap:8px;font-size:15px;line-height:20px}.general-feedback-category-icon{display:grid;place-items:center;flex:none;width:20px;height:20px}.general-feedback-category-icon svg{display:block}.general-feedback-category-label{line-height:20px}.general-feedback-categories input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.general-feedback-categories input:checked+.btn{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.general-feedback-categories input:focus-visible+.btn{outline:2px solid var(--accent);outline-offset:3px}.general-feedback-categories input:disabled+.btn{opacity:.5;cursor:not-allowed}.general-feedback-text{resize:vertical;min-height:120px}.general-feedback-count{text-align:right}.general-feedback-success{margin:0;text-align:center;color:var(--accent)}.general-feedback-modal .modal-actions>.btn{min-height:44px}.account-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;width:100%;padding:14px 16px;border-color:color-mix(in srgb,var(--border-strong) 68%,var(--border));background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft))}.account-profile-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.account-profile-copy{display:grid;min-width:0;line-height:1.25}.account-profile-copy strong{overflow:hidden;margin-top:2px;font-size:14px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.account-language-levels{padding:16px}.account-section-heading{display:flex;align-items:center;gap:8px;padding:0 2px 13px;color:var(--muted)}.account-section-heading h2{margin:0;color:var(--text);font-size:14px;font-weight:650}.account-language-list{display:grid;gap:8px}.account-language-row{display:grid;gap:11px;min-height:70px;padding:13px 14px 12px;border-radius:12px;background:color-mix(in srgb,var(--panel-2) 78%,transparent)}.account-language-row.current{background:color-mix(in srgb,var(--accent) 7%,var(--panel-2))}.account-language-row-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-language-identity,.account-language-result{display:flex;align-items:center}.account-language-identity{min-width:0;gap:11px}.account-language-identity>span:last-child{display:grid;gap:1px;min-width:0;line-height:1.25}.account-language-name{display:flex;align-items:center;gap:7px;min-width:0}.account-language-identity strong{overflow:hidden;font-size:14px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.account-language-result{flex:none}.account-language-result>strong{min-width:44px;color:var(--accent);font-size:20px;font-weight:700;letter-spacing:-.025em;text-align:right}.account-current-language{flex:none;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:650;line-height:1.5}.account-progress-loading{display:grid;gap:10px;min-height:96px;padding:18px;align-content:center}.account-progress-loading .skeleton-block:first-child{width:42%}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center;padding:32px}.section-title{font-size:13px;letter-spacing:.015em;text-transform:none;margin:0 0 12px;color:var(--muted);font-weight:620}.page-title{margin:0;color:var(--text);font-size:clamp(20px,4vw,24px);font-weight:680;letter-spacing:-.025em;line-height:1.25}.level-picker-panel,.level-summary-panel{width:min(100%,680px);margin-inline:auto}.level-picker-panel.stack{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.level-picker-panel>.choices{min-height:0;overflow-y:auto;overscroll-behavior:contain}.level-choice-content{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.level-choice-label{font-weight:650}.level-choice-name{color:var(--muted);font-size:14px}.level-picker-actions{display:grid;flex:none;grid-template-columns:1fr;width:100%;padding-top:20px}.level-picker-panel>.level-picker-actions{margin-top:auto}.level-picker-actions .btn{width:100%}.login-panel{width:min(100%,480px);margin-inline:auto;display:grid;gap:16px;padding:clamp(20px,5vw,28px)}.login-intro,.login-status{margin:0;text-align:center}.login-intro{color:var(--muted);font-size:15px}.login-email-label{margin-bottom:-8px;color:var(--text);font-size:14px;font-weight:600}.login-panel>.answer-input{min-height:56px;padding-inline:16px}.login-status{color:var(--muted);font-size:14px}.login-status.error{color:var(--bad)}.login-sent-message{display:grid;gap:3px;padding:2px 8px;text-align:center}.login-sent-message strong{color:var(--text);font-size:15px;font-weight:650}.login-sent-message span{color:var(--muted);font-size:14px}.login-otp{width:100%}.login-otp-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,1.6vw,9px);width:100%}.login-otp-slot{position:relative;display:grid;place-items:center;min-width:0;height:clamp(48px,12vw,56px);border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);font-size:clamp(20px,6vw,25px);font-weight:620;font-variant-numeric:tabular-nums;line-height:1;transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease,box-shadow var(--duration-control) ease}.login-otp-slot.active{border-color:color-mix(in srgb,var(--accent) 76%,var(--border));background:var(--panel-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.login-otp-caret{width:1px;height:1.15em;background:var(--text)}.login-actions{display:grid;gap:10px}.login-spam-hint{margin:2px 0 -2px;color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.login-actions>*,.login-primary{width:100%;min-height:48px}.login-actions>.link{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px}.btn.login-primary{background:color-mix(in srgb,var(--accent) 78%,#2055b4);color:#fff;font-weight:720}.google-login-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:100%;height:40px;margin:0 auto;padding:0 11px;border:1px solid #8e918f;border-radius:20px;background:#131314;color:#e3e3e3;font-family:Google Sans,Roboto,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.25px;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-control) ease,border-color var(--duration-control) ease,box-shadow var(--duration-control) ease,opacity var(--duration-control) ease}.google-login-button-icon{display:grid;flex:0 0 20px;place-items:center;width:20px;height:20px}.google-login-button-icon svg{display:block}.google-login-button:hover:not(:disabled){background:#1f1f1f;border-color:#a8aaa8;box-shadow:0 1px 2px #0000004d}.google-login-button:active:not(:disabled){background:#292a2a}.google-login-button:focus-visible{outline:2px solid #a8c7fa;outline-offset:2px}.google-login-button:disabled{cursor:wait;opacity:.65}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--border)}.auth-redirect-error{display:grid;gap:4px;overflow-wrap:anywhere}.auth-redirect-error strong{color:inherit}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-card)}.card.subtle{background:transparent;border-style:dashed}.question-skeleton{display:grid;gap:16px;min-height:360px}.loading-status{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:14px}.loading-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:loading-pulse 1.35s linear infinite}.skeleton-progress{display:flex;align-items:center;gap:10px}.skeleton-progress-track{flex:1;height:6px;border-radius:999px}.skeleton-progress-count{width:34px;height:13px}.skeleton-question{display:grid;gap:12px}.skeleton-meta{display:flex;align-items:center;justify-content:space-between;min-height:24px}.skeleton-block{display:block;overflow:hidden;border-radius:6px;background:var(--panel-2);animation:skeleton-pulse 1.4s var(--ease-in-out) infinite}.skeleton-meta-label{width:88px;height:13px}.skeleton-meta-tag{width:64px;height:28px;border-radius:8px}.skeleton-title{width:min(88%,570px);height:22px;margin-top:2px}.skeleton-title-short{width:min(58%,380px);margin-top:-4px}.skeleton-choices{display:grid;gap:10px;margin-top:4px}.skeleton-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.skeleton-choice-key{flex:none;width:20px;height:20px;color:transparent}.skeleton-choice-text{max-width:430px;height:14px}.skeleton-section-title{width:88px;height:13px}.skeleton-level-row{display:flex;align-items:center;gap:16px}.skeleton-level-pill{flex:none;width:62px;height:48px;border-radius:10px}.skeleton-level-copy,.skeleton-language-copy{display:grid;flex:1;gap:8px}.skeleton-level-copy .skeleton-block{width:min(180px,100%);height:14px}.skeleton-copy-short{width:min(120px,70%)!important}.skeleton-chat-copy{width:min(460px,88%);height:13px}.language-picker-skeleton{display:grid;gap:14px}.skeleton-picker-title{width:min(240px,55%);height:24px}.skeleton-picker-description{width:min(390px,82%);height:14px}.skeleton-language-list{display:grid;gap:10px;margin-top:4px}.skeleton-language-row{display:flex;align-items:center;gap:13px;min-height:66px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.skeleton-language-flag{flex:none;width:30px;height:30px;border-radius:50%}.skeleton-language-copy .skeleton-block{width:min(180px,55%);height:14px}.skeleton-language-meta{width:70px;height:13px}@keyframes skeleton-pulse{50%{opacity:.52}}@keyframes loading-pulse{50%{opacity:.45;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){.skeleton-block,.loading-pulse{animation:none}}.learning-card{display:grid;gap:18px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:var(--radius);background:var(--panel-2)}.learning-card-content{min-height:150px;display:grid;place-content:center;justify-items:center}.knowledge-point-display{display:grid}.knowledge-point-display.learning{width:min(560px,100%);justify-items:stretch;gap:6px;text-align:left}.knowledge-point-display.learning .knowledge-point-value{margin:0;line-height:1.25}.knowledge-point-display.learning.vocab .knowledge-point-value{font-size:clamp(24px,4vw,32px)}.knowledge-point-display.learning.grammar .knowledge-point-value{font-size:clamp(20px,3vw,26px)}.knowledge-point-readings{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:13px}.knowledge-point-readings>span,.knowledge-point-items>li{border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--panel-3) 72%,transparent)}.knowledge-point-readings>span{padding:2px 7px}.knowledge-point-items{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 0;padding:0;list-style:none}.knowledge-point-items>li{padding:5px 9px;color:var(--text);font-size:15px;line-height:1.35}.knowledge-point-explanation{text-align:left;line-height:1.7}.question-explanation,.knowledge-point-examples{width:100%;margin-top:14px;padding-top:16px;border-top:1px solid var(--border);text-align:left}.question-explanation h3,.knowledge-point-examples h3{margin:0 0 10px;color:var(--muted);font-size:13px;font-weight:500}.question-explanation>div{color:var(--text);font-size:16px;line-height:1.6}.knowledge-point-examples ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.knowledge-point-examples li{padding-left:14px;border-left:2px solid color-mix(in srgb,var(--accent) 52%,var(--border));color:var(--text);line-height:1.55}.learning-card>.btn{justify-self:center}.learning-card>.shortcut-button{min-width:0;justify-content:center}.stack>*+*{margin-top:16px}.stack{display:block}.learning-language-trigger{display:inline-flex;align-items:center;gap:8px;min-height:40px;max-width:100%;flex-wrap:wrap;padding:5px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font:inherit;font-size:16px;font-weight:400;cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,border-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.learning-language-chevron{margin-left:2px;width:14px;height:14px;color:var(--muted)}.learning-language-trigger:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,transparent);outline:2px solid color-mix(in srgb,var(--accent) 75%,white);box-shadow:none}.learning-language-action{color:var(--muted);font-weight:400}.learning-language-value{font-weight:650}.header-language-trigger{min-height:32px;flex-wrap:nowrap;gap:6px;padding:3px 6px;border-radius:9px;font-size:13px}.header-language-trigger .lang-flag{width:18px;height:18px}.header-language-divider,.header-locale-value{color:var(--muted)}.language-picker-panel{max-width:760px;padding:clamp(20px,4vw,28px);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.language-setup-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.language-setup-heading .page-title{margin-bottom:8px}.language-setup-heading .section-title{margin-bottom:3px}.language-setup-back{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:inherit;font-size:18px;cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.language-setup-back:focus-visible{background:var(--panel-2);color:var(--text)}.language-setup-expression{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:14px}.language-setup-expression strong{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:650}.language-setup-expression .lang-flag{width:18px;height:18px}.language-setup-placeholder{min-width:20px;color:var(--accent);font-weight:700}.language-list{overflow:hidden;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.language-list-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:72px;padding:14px 16px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.language-list-item:last-child{border-bottom:0}.language-list-item:focus-visible{background:var(--panel-2)}.language-list-item.selected{background:var(--accent-soft)}.language-list-item>.lang-flag{width:26px;height:26px}.language-list-copy{display:grid;min-width:0;gap:3px}.language-list-title{display:flex;align-items:baseline;gap:8px;font-size:16px;font-weight:650}.language-list-title>span{color:var(--muted);font-size:13px;font-weight:500}.language-list-description{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.language-list-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--muted);font-size:12px;white-space:nowrap}.language-list-meta>svg:not(.language-list-check){width:16px;height:16px}.language-list-meta .language-list-check{display:grid;place-items:center;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--accent);color:#08101e;font-size:12px;font-weight:800;text-align:center}.language-picker-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.lang-flag{width:22px;height:22px;flex:none;border-radius:50%;box-shadow:0 0 0 1px var(--border)}.lang-flag-globe{width:22px;height:22px;color:var(--muted);box-shadow:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;background:var(--accent);color:#07101f;border:1px solid transparent;border-radius:var(--radius-small);padding:10px 18px;font-size:15px;font-weight:640;cursor:pointer;box-shadow:none;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,border-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.btn:active:not(:disabled):not(:focus-visible){transform:scale(.97);box-shadow:none}.btn:disabled{background:var(--panel-2);color:var(--muted);cursor:not-allowed;box-shadow:none}.btn>svg{flex:none}.btn.ghost{background:color-mix(in srgb,var(--panel-2) 55%,transparent);border:1px solid var(--border);color:var(--text);box-shadow:none}.btn.ghost:disabled{background:var(--panel-2);border-color:var(--border);color:var(--muted)}.shortcut-button{justify-content:flex-start}.study-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);font:inherit;font-size:13px;line-height:1;font-weight:600;cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,border-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.study-button:active:not(:disabled):not(:focus-visible){transform:scale(.97)}.study-button:disabled{opacity:.55;cursor:not-allowed}.study-button .kbd.shortcut{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;box-sizing:border-box;padding:0;border-bottom-width:1px;line-height:1}.study-button>svg{display:block;width:18px;height:18px}.study-button>span{display:inline-flex;align-items:center;height:18px;line-height:18px}.study-button svg,.feedback-flag svg,.feedback-vote svg{flex:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:14px;transition:color var(--duration-control) ease,opacity var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.link.danger{color:var(--bad)}.link:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.account-logout:disabled,.header-language-trigger:disabled,.app-tabs button:disabled{color:inherit;opacity:1;cursor:default}.header-actions{display:flex;align-items:center;gap:10px}.account{display:inline-flex;align-items:center;height:36px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--panel);font-size:13px}.account-email{max-width:180px;overflow:hidden;padding:0 11px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.account-logout{align-self:stretch;padding:0 11px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--bad);font:inherit;cursor:pointer;transition:opacity var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.header-actions{align-items:flex-end;flex-direction:column;gap:8px}.account{max-width:min(240px,calc(100vw - 36px))}}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.level-row{display:flex;align-items:center;gap:16px}.level-pill{min-width:64px;padding:0;color:var(--accent);font-size:27px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.level-pill.big{font-size:34px;padding:0}.level-experience{display:grid;gap:7px}.level-experience-meta,.level-experience-labels{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.level-experience-meta{color:var(--muted);font-size:13px}.level-experience-meta strong{color:var(--text);font-variant-numeric:tabular-nums}.level-experience-track{height:10px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.level-experience-fill{display:block;width:100%;height:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;transition:transform .26s var(--ease-out)}.level-experience-labels{color:var(--muted);font-size:12px;font-weight:600}@starting-style{.level-experience-fill{transform:scaleX(0)!important}}.dashboard-grid{display:grid;gap:16px}.dashboard-grid.stack>*+*{margin-top:0}.dashboard-summary-card{display:grid;gap:14px;padding:18px}.dashboard-week-calendar{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:4px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent)}.recent-week-picker{--rdp-day-height: 36px;--rdp-day-width: auto;width:100%;max-width:100%;min-width:0;margin:0}.recent-week-picker .rdp-months,.recent-week-picker .rdp-month,.recent-week-picker .rdp-month_grid{width:100%;max-width:100%}.recent-week-picker .rdp-month_grid{table-layout:fixed;border-collapse:separate;border-spacing:4px 0}.recent-week-picker .rdp-month_caption,.recent-week-picker .rdp-nav,.recent-week-picker .rdp-weeks tr[hidden]{display:none}.recent-week-picker .rdp-day{position:relative;width:calc(100% / 7);height:36px;border-radius:8px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.35;text-align:center;white-space:pre-line}.recent-week-picker .rdp-day_button{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:center;white-space:inherit;cursor:default;pointer-events:none}.recent-week-picker .rdp-disabled{opacity:.28}.recent-week-picker .checkin-day-checked{background:var(--checkin-checked-surface);color:var(--text)}.recent-week-picker .checkin-day-today{box-shadow:inset 0 0 0 var(--checkin-today-stroke) var(--accent);color:var(--text)}.recent-week-picker .checkin-day-today:not(.checkin-day-checked){color:var(--muted)}.recent-week-picker .checkin-day-selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 78%,white)}.dashboard-calendar-toggle{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--duration-control) ease,color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.dashboard-calendar-toggle:active{transform:scale(.95)}.dashboard-calendar-toggle svg{transition:transform var(--duration-control) var(--ease-out)}.dashboard-calendar-toggle[aria-expanded=true]{color:var(--accent)}.dashboard-calendar-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media(hover:hover)and (pointer:fine){.dashboard-calendar-toggle:hover{background:color-mix(in srgb,var(--accent-soft) 42%,transparent);color:var(--text)}}.dashboard-start-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}.dashboard-start-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:104px;padding:16px 18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:14px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.dashboard-start-practice{border-color:color-mix(in srgb,var(--accent) 78%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#17345d),color-mix(in srgb,var(--accent) 66%,#4b52c6));color:#fff}.dashboard-start-chat{background:color-mix(in srgb,var(--panel-2) 78%,transparent)}.dashboard-start-action:active:not(:disabled){transform:scale(.985)}.dashboard-start-action:disabled{cursor:not-allowed;opacity:.52}.dashboard-action-content{display:flex;align-items:center;min-width:0;gap:12px}.dashboard-action-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:11px;background:var(--panel-2);color:var(--accent)}.dashboard-action-copy{display:grid;min-width:0;gap:4px}.dashboard-action-label{font-size:16px;font-weight:680}.dashboard-action-label,.dashboard-action-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-action-description{color:var(--muted);font-size:13px;line-height:1.45}.dashboard-start-practice .dashboard-action-icon{background:#ffffff24;color:#fff}.dashboard-start-practice .dashboard-action-description,.dashboard-start-practice .dashboard-action-chevron{color:#ffffffc2}.dashboard-start-chat .dashboard-action-icon{background:var(--accent-soft)}.dashboard-action-chevron{flex:none;color:var(--muted);transition:transform var(--duration-control) ease}.dashboard-learning-panel{display:grid;gap:10px;padding:18px 18px 14px;border-color:color-mix(in srgb,var(--border-strong) 72%,var(--border));background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft))}.dashboard-learning-overview{display:grid;grid-template-columns:1fr;align-items:center;gap:12px}.dashboard-learning-level{display:grid;align-content:center;gap:8px;min-width:0}.dashboard-learning-level .level-pill{min-width:58px;font-size:25px;white-space:nowrap}.dashboard-learning-level-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0}.dashboard-learning-label{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.dashboard-learning-label svg{flex:none;color:var(--accent)}.dashboard-learning-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-grid.dashboard-learning-stats{grid-template-columns:repeat(4,1fr);margin:0;padding:8px 0 0;border-top:1px solid color-mix(in srgb,var(--border) 82%,transparent);align-self:center}.dashboard-learning-stats .stat{border:0}.dashboard-learning-stats .stat-value{font-size:18px}.dashboard-learning-stats .stat-label{font-size:11px;white-space:nowrap}.dashboard-retest{flex:none}.dashboard-retest span{white-space:nowrap}@media(hover:hover)and (pointer:fine){.dashboard-start-practice:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 84%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 94%,#17345d),color-mix(in srgb,var(--accent) 72%,#4b52c6))}.dashboard-start-chat:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent-soft) 28%,var(--panel))}.dashboard-start-action:hover:not(:disabled) .dashboard-action-chevron{transform:translate(2px)}}.calendar-expanded{display:grid;gap:14px;padding:12px;border:1px solid color-mix(in srgb,var(--border-strong) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 54%,transparent);opacity:1;transform:translateY(0);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}@starting-style{.calendar-expanded{opacity:0;transform:translateY(-4px)}}.checkin-day-picker{--rdp-accent-color: var(--accent);--rdp-day-height: 40px;--rdp-day-width: 40px;--rdp-day_button-height: 36px;--rdp-day_button-width: 36px;--rdp-nav_button-height: 32px;--rdp-nav_button-width: 32px;--rdp-nav-height: 38px;width:min(100%,390px);margin:0 auto;color:var(--muted);font-size:13px}.checkin-day-picker .rdp-months,.checkin-day-picker .rdp-month,.checkin-day-picker .rdp-month_grid{width:100%;max-width:100%}.checkin-day-picker .rdp-month_caption{justify-content:center;color:var(--text);font-size:14px}.checkin-day-picker .rdp-nav{color:var(--muted)}.checkin-day-picker .rdp-weekday{padding:6px 0;color:var(--muted);font-size:11px;font-weight:500}.checkin-day-picker .rdp-day{width:calc(100% / 7);padding:0;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;vertical-align:middle}.checkin-day-picker .rdp-day_button{position:relative;display:grid;place-items:center;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);margin:0 auto;padding:0;border:1px solid transparent;border-radius:9px;color:inherit;line-height:1;text-align:center;cursor:pointer}.checkin-day-picker .rdp-disabled{opacity:.28}.checkin-day-picker .checkin-day-today .rdp-day_button{border-width:var(--checkin-today-stroke);border-color:var(--accent);color:var(--text)}.checkin-day-picker .checkin-day-checked .rdp-day_button{background:var(--checkin-checked-surface);color:var(--text)}.checkin-day-picker .checkin-day-today:not(.checkin-day-checked) .rdp-day_button{color:var(--muted)}.checkin-day-picker .checkin-day-selected .rdp-day_button{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 78%,white)}.checkin-day-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:9px 11px;border-radius:10px;background:color-mix(in srgb,var(--panel-2) 72%,transparent)}.checkin-day-detail-date{min-width:0;font-size:13px;font-weight:650}.checkin-day-detail-status{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;white-space:nowrap}.checkin-day-detail-status.checked{color:var(--accent)}.checkin-day-detail-description{grid-column:1 / -1}.checkin-calendar-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;min-height:18px;color:var(--muted);font-size:11px}.checkin-calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.checkin-calendar-legend i{display:block;width:8px;height:8px;border-radius:3px;background:color-mix(in srgb,var(--muted) 46%,transparent)}.checkin-calendar-legend i.checked{background:var(--checkin-checked-surface)}.checkin-calendar-legend i.today{border:var(--checkin-today-stroke) solid var(--accent);background:transparent}.skeleton-dashboard-metric{cursor:default}.skeleton-dashboard-metric .skeleton-block:nth-child(1){width:24px;height:24px;border-radius:8px}.skeleton-dashboard-metric .skeleton-block:nth-child(2){width:36px;height:20px}.skeleton-dashboard-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.skeleton-dashboard-week .skeleton-block{height:34px;border-radius:8px}.skeleton-start-action{grid-template-columns:auto minmax(0,1fr);cursor:default}.skeleton-dashboard-learning{min-height:92px;justify-content:center}@media(prefers-reduced-motion:reduce){.dashboard-calendar-toggle,.dashboard-calendar-toggle svg,.calendar-expanded{transition-duration:0ms}.calendar-expanded{transform:none}}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:18px 0 0;padding-top:18px;border-top:1px solid var(--border)}.stat{padding:2px 10px;border-left:1px solid var(--border);text-align:center}.stat:first-child{border-left:0}.stat-value{font-size:21px;font-variant-numeric:tabular-nums;font-weight:680}.stat-label{margin-top:2px;font-size:12px;color:var(--muted)}.tag{display:inline-flex;align-items:center;height:32px;padding:0 10px;border-radius:9px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1}.tag.new{color:var(--ok);border-color:var(--ok)}.practice-meta-row{padding-block:6px 12px}.practice-meta-actions{gap:6px}.practice-content-hidden{display:none}.question-reward-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--muted);font-size:12px}.question-reward-row>span{display:inline-flex;align-items:center;gap:4px}.question-reward-row svg{color:var(--accent)}.question-reward-row .question-streak-active{color:#f0bd4f;font-weight:650}.question-panel{display:grid;gap:16px;min-width:0}.group-progress{display:flex;align-items:center;gap:10px}.group-progress-track{flex:1;height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden}.group-progress-fill{display:block;width:100%;height:100%;border-radius:999px;background:var(--accent);transform-origin:left center;transition:transform .24s var(--ease-in-out)}.kbd{display:inline-block;min-width:1.5em;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--panel-2);color:var(--text);font-size:.82em;line-height:1.5;text-align:center}.question{display:flex;align-items:flex-start;gap:6px;font-size:clamp(19px,3vw,22px);font-weight:400;margin:6px 0 8px;line-height:1.55;letter-spacing:-.012em;word-break:break-word}.question.question-cloze{flex-direction:column;align-items:stretch}.question-text{flex:1;min-width:0}.question-text .speak-btn{margin:0 .08em 0 .16em;vertical-align:-.18em}.speak-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:3px;border:none;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;vertical-align:middle}.speak-btn:hover:not(:disabled),.speak-btn.playing{color:var(--accent)}.speak-btn.loading{opacity:.55;cursor:progress}.speak-btn.error{opacity:.45}.speak-btn.error:hover:not(:disabled){opacity:1;color:var(--muted)}.answer-line{display:block;font-size:20px;line-height:1.6;color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-point-spoken{display:flex;align-items:flex-start;gap:6px;min-width:0}.choice-row{position:relative;display:flex;align-items:center;gap:0;padding:0}.choice-select{display:flex;flex:1;align-items:center;align-self:stretch;gap:12px;min-width:0;padding:12px 8px 12px 14px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.choice-select-overlay{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%}.choice-shortcut,.choice-text{position:relative;z-index:2;pointer-events:none}.choice-shortcut{margin-left:14px}.choice-text{padding:12px 14px 12px 12px}.choice-text .speak-btn{position:relative;z-index:3;pointer-events:auto;margin-left:5px}.tile-row{position:relative;display:inline-flex;align-items:center;gap:2px}.tile-select-overlay{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:transparent;cursor:pointer}.tile-shortcut,.tile-text{position:relative;z-index:2;pointer-events:none}.tile-text .speak-btn{position:relative;z-index:3;pointer-events:auto;margin-left:4px}.msg-bubble .speak-btn{margin-left:5px;padding:0 1px;vertical-align:text-bottom;color:inherit;opacity:.6}.msg-bubble .speak-btn:hover:not(:disabled),.msg-bubble .speak-btn.playing{color:inherit;opacity:1}.term-tag{padding:.08em .34em;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:.38em;background:color-mix(in srgb,var(--accent) 10%,var(--panel-2));color:var(--text);font-family:inherit;font-size:.92em;font-weight:650;white-space:break-spaces}.choices{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:12px;text-align:left;min-height:50px;background:color-mix(in srgb,var(--panel-2) 76%,transparent);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-small);padding:12px 14px;font-size:16px;cursor:pointer;transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.choice.choice-row{padding:0}.choice-text{flex:1}.kbd.shortcut{color:var(--muted)}.arrange-backspace{flex:none;margin-left:2px;color:var(--muted)}.choice-select:active:not(:disabled):not(:focus-visible){transform:scale(.985)}.choice.picked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel-2))}.choice.right{border-color:var(--ok);background:var(--ok-surface)}.choice.wrong{border-color:var(--bad);background:var(--bad-surface)}.choice.disabled,.choice-select:disabled{cursor:default}.choice.dunno{justify-content:center;color:var(--muted)}.arrange{display:grid;gap:14px}.arrange-answer{position:relative;display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:52px;padding:10px;border-radius:var(--radius-small);border:1px dashed var(--border);background:var(--bg)}.arrange-bank{display:flex;flex-wrap:wrap;gap:8px}.tile{display:inline-flex;align-items:center;gap:9px;background:var(--panel-2);border:1px solid var(--border);border-bottom-width:3px;color:var(--text);border-radius:var(--radius-small);padding:9px 14px;font-size:16px;cursor:pointer;transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.tile:active:not(.disabled):not(:disabled):not(:focus-visible){transform:scale(.97)}.tile.placed{background:var(--accent-soft);border-color:var(--accent)}.tile.placed.right{border-color:var(--ok);background:var(--ok-surface)}.tile.placed.wrong{border-color:var(--bad);background:var(--bad-surface)}.tile.disabled,.tile-select-overlay:disabled,.tile:disabled{cursor:default}.kbd.on-btn{background:#0b0d122e;border-color:#0b0d1240;color:inherit;margin-left:2px}.answer-input{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:12px;font-size:16px;font-family:inherit;resize:vertical;transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease}.answer-input:focus{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:var(--panel-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);outline:none}.feedback{border-radius:var(--radius-small);padding:14px;display:grid;gap:10px;border:1px solid var(--border)}.feedback.ok{border-color:var(--ok);background:var(--ok-surface)}.feedback.bad{border-color:var(--bad);background:var(--bad-surface)}.feedback.mid{border-color:var(--mid);background:var(--mid-surface)}.knowledge-point-display.compact{display:grid;gap:3px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--panel-2) 72%,transparent)}.knowledge-point-heading{color:var(--muted);font-size:12px}.knowledge-point-display.compact .knowledge-point-value{color:var(--text);font-size:15px}.question-feedback{display:flex;justify-content:flex-end}.question-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.question-submit-actions{gap:8px}.question-navigation{display:flex;justify-content:flex-end;gap:10px}.question-feedback-votes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feedback-flag{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--duration-control) ease,border-color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.feedback-flag.saved{color:var(--accent);border-color:var(--accent)}.feedback-vote{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;transition:color var(--duration-control) ease,border-color var(--duration-control) ease,background-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.feedback-vote.selected{border-color:var(--accent)}.feedback-vote.selected{background:color-mix(in srgb,var(--accent) 12%,var(--panel-2))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#04060ab8;opacity:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity var(--duration-modal) var(--ease-out)}.modal-viewport{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;display:grid;place-items:center;overflow-y:auto;overscroll-behavior:contain;padding:18px}.modal{width:min(480px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;border:1px solid var(--border-strong);border-radius:14px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:var(--shadow-float);opacity:1;transform:scale(1);transform-origin:center;transition:opacity var(--duration-modal) var(--ease-out),transform var(--duration-modal) var(--ease-out)}.modal h2{margin:0;font-size:18px}.practice-exit-dialog{width:min(420px,100%)}.practice-exit-dialog p{margin:10px 0 20px}.modal-actions{justify-content:flex-end;margin-top:20px}.question-feedback-text{min-height:64px;font-size:16px}.question-feedback-submit{width:auto;padding:7px 12px}.placement-progress{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.placement-progress-bar{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center;transition:transform .24s var(--ease-in-out)}.placement-checkpoint{width:min(440px,100%);padding:28px;text-align:center}.placement-checkpoint-level{display:flex;justify-content:center;margin:24px 0}.placement-checkpoint-level strong{font-size:64px;line-height:1.1;letter-spacing:-.04em;font-weight:600;color:var(--accent)}.placement-checkpoint-confidence{margin-top:22px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.placement-checkpoint-confidence .row{flex-wrap:wrap;gap:8px}.placement-checkpoint .placement-checkpoint-note{margin:14px 0 0;text-align:center}.placement-checkpoint-actions{margin-top:22px;display:grid;gap:10px}.placement-checkpoint-actions .btn{width:100%;min-height:44px;justify-content:center}.error{color:var(--bad)}.card.warn{border-color:var(--mid);background:var(--mid-surface)}.card.success{border-color:var(--ok);background:var(--ok-surface)}code{background:var(--panel-2);padding:1px 6px;border-radius:6px;font-size:13px}.chat{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;flex:1}.chat-layout{max-width:none;display:grid;grid-template-rows:auto minmax(0,1fr);height:100dvh;padding-bottom:30px}.chat-layout main{display:flex;min-height:0;flex-direction:column}.chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--border-strong) 66%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,var(--accent-soft));box-shadow:inset 0 1px #ffffff08,var(--shadow-card)}.chat-header-main,.chat-header-actions{display:flex;align-items:center}.chat-header-main{min-width:0;gap:9px}.chat-header-actions{flex:none;gap:6px}.chat-difficulty{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:3px 5px 3px 9px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 82%,transparent);color:var(--muted);font-size:12px;white-space:nowrap}.chat-difficulty>svg{flex:none;color:var(--accent)}.chat-heading{min-width:0}.chat-header h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:680;letter-spacing:-.02em;line-height:1.25}.chat-heading .small{overflow:hidden;margin-top:2px;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.chat-title-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.chat-back,.chat-action{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:36px;border:1px solid transparent;border-radius:var(--radius-small);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--duration-control) ease,background-color var(--duration-control) ease,border-color var(--duration-control) ease,transform var(--duration-press) var(--ease-out)}.chat-back{width:36px;padding:0;border-color:var(--border);background:color-mix(in srgb,var(--panel-2) 82%,transparent)}.chat-action{width:36px;height:36px;padding:0;border-color:transparent;background:transparent}.chat-action:disabled{cursor:default;opacity:.45}.chat-level{min-width:58px;height:28px;padding:0 22px 0 7px;border:0;border-radius:7px;background-color:color-mix(in srgb,var(--panel-3) 82%,transparent);color:var(--text);font-size:12px;font-weight:650;cursor:pointer}.chat-surface{min-height:0;overflow:hidden}.chat-scroll{height:100%;min-height:0;overflow-y:auto;padding:20px 0}.chat-scroll-content{display:flex;flex-direction:column;gap:10px;min-width:0}.chat-scroll{overflow-anchor:none}.msg{display:flex;flex-direction:column}.msg.user{align-items:flex-end}.msg.assistant{align-items:stretch}.msg-bubble{white-space:pre-wrap;word-break:break-word}.msg.user .msg-bubble{max-width:78%;padding:10px 14px;border-radius:16px 16px 5px;background:var(--accent-press);color:#fff}.msg.assistant .msg-bubble{padding:10px 0;font-size:15px;line-height:1.55}.msg-correction{max-width:92%;margin-top:6px;padding:8px 12px;border-radius:0 8px 8px 0;background:var(--panel-2);border-left:3px solid var(--border);font-size:13px}.diff-line{display:flex;gap:6px;line-height:1.6}.diff-line+.diff-line{margin-top:2px}.diff-text{white-space:pre-wrap;word-break:break-word}.diff-sign{flex:none;width:12px;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600}.diff-removed .diff-sign{color:var(--bad)}.diff-added .diff-sign{color:var(--ok)}.diff-del{background:color-mix(in srgb,var(--bad) 22%,transparent);color:var(--bad);border-radius:3px}.diff-ins{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ok);border-radius:3px}.diff-note{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.msg-translation-line{margin-top:4px;line-height:1.6}.msg-translation-text{white-space:pre-wrap;word-break:break-word}.msg-correction .speak-btn{margin-left:4px;padding:0 1px;vertical-align:text-bottom}.chat-hint{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:10px 12px;display:grid;gap:8px;max-height:40vh;overflow-y:auto;animation:chat-hint-in .25s ease-out}@keyframes chat-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-hint-actions{display:inline-flex;align-items:center;gap:12px;flex:none}.chat-hint-error{display:flex;align-items:center;gap:10px;color:var(--bad);font-size:13px}.chat-hint-suggestions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-hint-chip{display:inline-flex;align-items:center;gap:2px}.chat-hint-chip .btn{text-align:left}.chat-level{background:var(--panel-2);color:inherit;border:1px solid var(--border);border-radius:6px;padding:2px 6px;font:inherit}.chat-skeleton{display:flex;flex-direction:column;gap:10px}.chat-skeleton .msg-bubble{background:var(--panel-2);opacity:.45;animation:skeleton-pulse 1.4s var(--ease-in-out) infinite}.chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.chat-starters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chat-composer-notice{padding:0 4px 2px;color:var(--muted);font-size:12px;line-height:1.5}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;padding:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease,box-shadow var(--duration-control) ease}.chat-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:var(--panel-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.chat-composer .answer-input{min-height:64px;padding:9px 11px;border:0;border-radius:8px;background:transparent;box-shadow:none;resize:none}.chat-composer .answer-input:focus{border:0;background:transparent;box-shadow:none}.chat-composer-actions{display:flex;align-items:stretch}.chat-composer-actions .btn{min-width:72px;border-radius:8px}.record-btn,.hint-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;align-self:center;padding:8px;margin-right:2px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.record-btn:hover:not(:disabled),.hint-btn:hover:not(:disabled){color:var(--accent)}.record-btn:disabled,.hint-btn:disabled{opacity:.45;cursor:default}.record-btn[data-state=recording]{color:var(--bad);animation:record-pulse 1.4s ease-in-out infinite}.record-btn[data-state=processing],.record-btn[data-state=transcribing]{cursor:progress}.record-btn[data-state=error]{color:var(--bad);opacity:.55}.record-btn[data-state=error]:hover:not(:disabled){opacity:1}.record-group{display:inline-flex;align-items:center;gap:2px;min-width:0}.record-btn[data-state=playing]{color:var(--accent)}.record-error-text{color:var(--bad);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-spinner{animation:record-spin .9s linear infinite}@keyframes record-pulse{50%{opacity:.4}}@keyframes record-spin{to{transform:rotate(360deg)}}.btn.small{min-height:32px;padding:5px 11px;font-size:13px}@starting-style{.modal-backdrop{opacity:0}.modal{opacity:0;transform:scale(.96) translateY(6px)}}.modal-backdrop[data-starting-style],.modal-backdrop[data-ending-style]{opacity:0}.modal[data-starting-style],.modal[data-ending-style]{opacity:0;transform:scale(.96) translateY(6px)}.app-tabs button:active:not(:focus-visible),.chat-back:active:not(:focus-visible),.chat-action:active:not(:disabled):not(:focus-visible),.learning-language-trigger:active:not(:focus-visible),.language-setup-back:active:not(:focus-visible),.language-list-item:active:not(:focus-visible),.feedback-flag:active:not(:focus-visible),.feedback-vote:active:not(:focus-visible),.account-logout:active:not(:focus-visible),.link:active:not(:disabled):not(:focus-visible){transform:scale(.97)}@media(hover:hover)and (pointer:fine){.app-tabs button:hover{color:var(--text);background:color-mix(in srgb,var(--panel-3) 72%,transparent)}.chat-back:hover,.chat-action:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.learning-language-trigger:hover{border-color:var(--border);background:var(--panel-2)}.language-setup-back:hover,.language-list-item:hover{background:var(--panel-2);color:var(--text)}.btn:hover:not(:disabled){background:var(--accent-press);box-shadow:none}.btn.ghost:hover:not(:disabled){border-color:var(--border-strong);background:var(--panel-3);box-shadow:none}.study-button:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.link:hover:not(:disabled),.account-logout:hover{opacity:.78}.choice:not(.disabled):hover,.tile:hover:not(.disabled):not(:disabled){border-color:color-mix(in srgb,var(--accent) 75%,var(--border));background:var(--panel-3)}.feedback-flag:hover,.feedback-vote:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:var(--accent-soft)}}@media(hover:none)and (pointer:coarse){.kbd{display:none}}@media(prefers-reduced-transparency:reduce){.app-tabs,.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.app-tabs{background:var(--panel)}}@media(prefers-contrast:more){:root{--border: #46505e;--border-strong: #687586;--muted: #b6bdc8}.app-tabs{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.modal,.practice-back,.app-tabs button,.chat-back,.chat-action,.learning-language-trigger,.language-setup-back,.language-list-item,.btn,.study-button,.link,.choice,.tile,.feedback-flag,.feedback-vote{transform:none!important}.chat-hint{animation:none}.modal{transition:opacity .16s ease}.group-progress-fill,.placement-progress-bar,.level-experience-fill{transition:none}}@media(max-width:680px){.dashboard-start-grid{grid-template-columns:1fr}}@media(max-width:560px)and (display-mode:standalone){html,body{height:100vh}#root:has(>.app-tabs){display:flex;height:100vh;flex-direction:column;overflow:hidden}#root:has(>.app-tabs)>.app{flex:1 1 auto;width:100%;min-height:0;padding-bottom:18px;overflow-y:auto}#root:has(>.app-tabs)>.app-tabs{position:static;flex:0 0 auto;transform:none}}@media(max-width:560px){.app{padding:calc(18px + env(safe-area-inset-top)) 14px 100px}.app.chat-layout{padding-bottom:max(14px,env(safe-area-inset-bottom))}.header{margin-bottom:16px}.header-language-trigger{max-width:210px}.header-locale-value,.header-language-divider{display:none}.app-tabs{bottom:0;width:100%;padding:6px 14px max(6px,env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:0;box-shadow:none}.card,.language-picker-panel{padding:16px}.practice-focus{padding:calc(10px + env(safe-area-inset-top)) 14px 24px}input,textarea,select{font-size:16px}.practice-focus-actions{min-height:44px;margin-bottom:8px}.practice-back{justify-content:center;width:44px;min-height:44px;margin-left:0;padding:0}.activity-back-label{display:none}.practice-focus-inner>.card{padding:6px 4px;border:0;border-radius:0;background:transparent;box-shadow:none}.question-panel.answered{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.question-navigation{position:fixed;z-index:40;right:0;bottom:0;left:0;justify-content:center;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);box-shadow:0 -12px 28px #00000052}.question-next-action{width:min(100%,772px);min-height:48px;justify-content:center;box-shadow:0 10px 24px #00000059}.question-navigation.has-secondary>.btn{flex:1;width:auto;min-width:0;min-height:48px;justify-content:center}.question-next-action:active:not(:disabled):not(:focus-visible){transform:scale(.98)}.language-list-meta>span:first-child{display:none}.language-list-description{white-space:normal}.dashboard-grid{gap:14px}.recent-week-picker .rdp-month_grid{border-spacing:2px 0}.recent-week-picker .rdp-day{height:34px;font-size:10px}.dashboard-start-grid{gap:9px}.dashboard-start-action{min-height:82px;padding:13px 14px}.dashboard-start-practice{min-height:92px}.dashboard-action-label{font-size:15px}.dashboard-action-description{font-size:12px}.dashboard-summary-card{gap:12px;padding:16px}.checkin-day-picker{--rdp-day-height: 36px;--rdp-day-width: 36px;--rdp-day_button-height: 32px;--rdp-day_button-width: 32px}.stats-grid{grid-template-columns:repeat(5,1fr)}.dashboard-learning-stats{grid-template-columns:repeat(4,1fr)}.stat{padding-inline:4px}.chat-header{align-items:center;gap:8px;padding:8px}.chat-header-main{align-items:center;gap:7px}.chat-heading .small,.chat-difficulty-label{display:none}.chat-scroll{padding:14px 0}.dashboard-learning-level-row{gap:10px}.dashboard-learning-level .level-pill{min-width:54px;font-size:23px}.dashboard-learning-stats .stat-value{font-size:16px}.dashboard-learning-stats .stat-label{font-size:10px}.kbd{display:none}}@media(max-width:360px){.chat-title-icon{display:none}}.preserve-whitespace{white-space:pre-wrap}.question-explanation-action{display:flex;justify-content:flex-start;margin-top:4px}.question-ai-button{display:inline-flex;align-items:center;max-width:100%;min-height:44px;padding:0;gap:6px;text-align:left}.question-ai-button>svg{flex:none}.chat-sheet-viewport{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;display:flex;align-items:flex-end;justify-content:center}.chat-sheet{width:100%;height:min(860px,92dvh);display:flex;flex-direction:column;padding:10px 20px max(16px,env(safe-area-inset-bottom));border:1px solid var(--border-strong);border-bottom:0;border-radius:22px 22px 0 0;background:var(--bg);box-shadow:var(--shadow-float);transform:translateY(0);opacity:1;transition:transform .24s cubic-bezier(.32,.72,0,1),opacity .16s ease-out}.chat-sheet[data-starting-style],.chat-sheet[data-ending-style]{transform:translateY(100%);opacity:0}.chat-sheet .chat{width:100%}.chat-sheet-fullscreen{height:100dvh;border:0;border-radius:0;padding-top:max(16px,env(safe-area-inset-top))}.chat-sheet-fullscreen .chat-sheet-handle{display:none}.chat-sheet-handle{width:32px;height:4px;flex:none;margin:0 auto 12px;border-radius:4px;background:var(--border-strong)}.chat-question-card{grid-column:1 / -1;display:flex;align-items:center;gap:10px;width:min(520px,calc(100% - 12px));margin:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.chat-question-card:focus-visible,.chat-question-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-question-preview{display:grid;gap:10px;min-width:0;width:100%}.chat-question-meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;line-height:1.4}.chat-question-meta>svg:first-child{color:var(--accent);flex:none}.chat-question-meta .chat-question-chevron{margin-left:auto}.chat-question-preview>strong{font-size:15px;font-weight:500;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chat-question-preview small{color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-question-options-preview{color:var(--muted);font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-question-options-preview .kbd{font-size:10px;padding:0 4px}.chat-question-options-preview>span:not(.tile){display:inline;margin-right:14px}.chat-question-options-preview .tile{font-size:inherit;padding:3px 8px;margin:0 6px 4px 0;vertical-align:middle}.chat-question-detail-backdrop{z-index:1200}.chat-question-detail-viewport{z-index:1201}.chat-question-detail{width:min(640px,100%)}.chat-question-detail .question-review{margin-top:20px}.chat-question-message{width:min(520px,100%);margin:0 0 8px auto;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow-wrap:anywhere}.chat-question-summary{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;cursor:pointer}.chat-question-message[data-expanded]{width:min(640px,100%)}.chat-question-summary[aria-expanded=true] .chat-question-preview>strong,.chat-question-summary[aria-expanded=true] .chat-question-options-preview{display:none}.chat-question-message-details{padding:0 16px 16px}.chat-question-chevron{flex:none}.chat-question-summary[aria-expanded=true] .chat-question-chevron{transform:rotate(90deg)}.chat-history-positioner{z-index:1100}.chat-history-popup{width:min(360px,calc(100vw - 24px));padding:14px 8px 8px;border:1px solid var(--border-strong);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-float)}.chat-history-popup h2{margin:0 10px 10px;font-size:14px}.chat-history-list{max-height:min(480px,60dvh);overflow-y:auto;overscroll-behavior:contain}.chat-history-item{display:flex;width:100%;align-items:center;gap:10px;padding:12px 10px;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.chat-history-item>svg{flex:none;color:var(--muted)}.chat-history-item>span{display:grid;gap:5px;min-width:0;flex:1}.chat-history-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.chat-history-item small{color:var(--muted);font-size:11px}.chat-history-item[aria-current=true]{background:var(--accent-soft)}@media(hover:hover)and (pointer:fine){.chat-question-card:hover,.chat-question-summary:hover,.chat-history-item:hover{background:var(--panel-3)}}@media(max-width:600px){.chat-sheet{padding-inline:12px;border-inline:0}}@media(prefers-reduced-motion:reduce){.chat-sheet{transition:opacity .1s ease-out;transform:none!important}}.question-panel.question-review{padding-bottom:0}.tile.reorderable{touch-action:none;-webkit-user-select:none;user-select:none}.arrange .tile{transition:border-color var(--duration-control) ease,background-color var(--duration-control) ease}.tile.reorderable:active:not(:disabled):not(:focus-visible){transform:none}.tile.reorderable .tile-select-overlay{cursor:grab}.tile.dragging{z-index:4;transition:none;box-shadow:0 4px 16px #0002}.tile.dragging,.tile.dragging .tile-select-overlay{cursor:grabbing}.tile.reorderable .tile-select-overlay:focus-visible{outline:2px solid var(--accent)}.arrange-correct-answer{display:grid;gap:8px}.correct-answer-tiles{list-style:none;margin:0;border-style:solid;border-color:var(--ok)}.correct-answer-tiles .tile{font-size:20px;line-height:1.5;cursor:default;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.correct-answer-tiles .tile:active{transform:none}
