:root{--tg-bg-color:#18222d;--tg-text-color:#f5f5f5;--tg-hint-color:#8a96a3;--tg-link-color:#6ab7ff;--tg-button-color:#2ea6ff;--tg-button-text-color:#fff;--tg-secondary-bg-color:#131c26;--tg-header-bg-color:#18222d;--tg-accent-text-color:#6ab7ff;--tg-section-bg-color:#1f2b38;--tg-subtitle-text-color:#8a96a3;--tg-destructive-text-color:#ff5b5b;--color-bg:var(--tg-bg-color);--color-bg-elevated:var(--tg-section-bg-color);--color-bg-secondary:var(--tg-secondary-bg-color);--color-text:var(--tg-text-color);--color-text-muted:var(--tg-hint-color);--color-accent:var(--tg-button-color);--color-accent-text:var(--tg-button-text-color);--color-link:var(--tg-link-color);--color-danger:var(--tg-destructive-text-color);--color-score-good:#34c759;--color-score-mid:#fc3;--color-score-low:#ff5b5b;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-color-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#root{flex-direction:column;min-height:100dvh;display:flex}button{font-family:inherit}h1,h2,h3,p{margin:0}.loading-state{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;flex:1;min-height:60vh;display:flex}.loading-state__spinner{border:3px solid var(--color-bg-elevated);border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite loading-state-spin}.loading-state__message{color:var(--color-text-muted);font-size:15px}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.error-state{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);min-height:60vh;padding:var(--space-5);flex-direction:column;flex:1;display:flex}.error-state__icon{background:color-mix(in srgb, var(--color-danger) 18%, transparent);width:48px;height:48px;color:var(--color-danger);margin-bottom:var(--space-2);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.error-state__title{font-size:18px;font-weight:600}.error-state__description{color:var(--color-text-muted);max-width:320px;font-size:14px;line-height:1.5}.error-state__retry{margin-top:var(--space-3);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);background:var(--color-accent);color:var(--color-accent-text);cursor:pointer;border:none;font-size:15px;font-weight:600}.error-state__retry:active{opacity:.85}.screen{min-height:100%;padding:var(--space-5) var(--space-4) var(--space-7);gap:var(--space-6);flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;display:flex}.greeting{gap:var(--space-1);flex-direction:column;display:flex}.greeting__headline{padding-right:48px;font-size:26px;font-weight:700;line-height:1.25}.greeting__subtext{color:var(--color-text-muted);font-size:14px;line-height:1.45}.streak-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-3);grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;display:grid;position:relative}.streak-card__stat{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.streak-card__value{font-size:20px;font-weight:700}.streak-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.streak-card__divider{background:var(--color-bg-secondary);width:1px;height:32px}.score-chart-wrap{position:relative}.score-chart{cursor:pointer;touch-action:manipulation;width:100%;height:150px;display:block;overflow:visible}.score-chart__area{fill:color-mix(in srgb, var(--color-accent) 18%, transparent);stroke:none}.score-chart__line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.score-chart__dot{fill:var(--color-accent)}.score-chart__dot--selected{fill:var(--color-accent);stroke:var(--color-bg-elevated);stroke-width:1.5px}.score-chart__gridline{stroke:color-mix(in srgb, var(--color-text-muted) 16%, transparent);stroke-width:1px}.score-chart__y-label{fill:var(--color-text-muted);text-anchor:end;dominant-baseline:middle;font-size:8px}.score-chart__x-label{fill:var(--color-text-muted);text-anchor:middle;font-size:8px}.score-chart__tooltip{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-text-muted) 20%, transparent);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);white-space:nowrap;pointer-events:none;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 2px 8px #0003}.mistake-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.mistake-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg-secondary);border:1px solid color-mix(in srgb, var(--color-text-muted) 30%, transparent);font-size:13px;font-weight:600;display:inline-flex}.mistake-chip--grammar{border-color:color-mix(in srgb, var(--color-score-mid) 55%, transparent);color:var(--color-score-mid)}.mistake-chip--pronunciation{border-color:color-mix(in srgb, var(--color-score-low) 55%, transparent);color:var(--color-score-low)}.mistake-chip--vocabulary{border-color:color-mix(in srgb, var(--color-link) 55%, transparent);color:var(--color-link)}.mistake-chip__count{color:var(--color-text-muted);font-weight:500}.recent-feedback-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feedback-card{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-secondary);justify-content:space-between;align-items:center;display:flex}.feedback-card__date{color:var(--color-text);font-size:14px}.feedback-card__score{text-align:center;min-width:32px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:16px;font-weight:700}.feedback-card__score--good{color:var(--color-score-good);background:color-mix(in srgb, var(--color-score-good) 16%, transparent)}.feedback-card__score--mid{color:var(--color-score-mid);background:color-mix(in srgb, var(--color-score-mid) 16%, transparent)}.feedback-card__score--low{color:var(--color-score-low);background:color-mix(in srgb, var(--color-score-low) 16%, transparent)}.feedback-card__status{color:var(--color-text-muted);font-size:13px;font-style:italic}.feedback-card__btn{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.dashboard-section{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.dashboard-section__title{color:var(--color-text);font-size:15px;font-weight:600}.dashboard-section__caption{color:var(--color-text-muted);font-size:13px;line-height:1.4}.dashboard-empty-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);background:var(--color-bg-elevated);border-radius:var(--radius-lg);flex-direction:column;display:flex}.dashboard-empty-state__icon{font-size:32px}.dashboard-empty-state__title{font-size:16px;font-weight:700}.dashboard-empty-state__description{color:var(--color-text-muted);max-width:280px;font-size:13px;line-height:1.5}.inline-error{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-danger);flex-direction:column;display:flex}.inline-error__message{color:var(--color-danger);font-size:.9rem}.inline-error__retry{background:var(--color-accent);color:var(--color-accent-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;border:none;align-self:flex-start;font-weight:600}.dashboard{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.dashboard-skeleton__bar{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-bg-elevated) 25%, var(--color-bg-secondary) 50%, var(--color-bg-elevated) 75%);background-size:200% 100%;height:64px;animation:1.4s ease-in-out infinite dashboard-skeleton-shimmer}@keyframes dashboard-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-history-scroll{max-height:264px;overflow-y:auto}.dashboard-history-loading{margin:var(--space-2) 0 0;padding:var(--space-2);color:var(--color-text-muted);text-align:center;font-size:13px}.primary-action{z-index:30;padding:var(--space-4);background:linear-gradient(to top, var(--color-bg) 65%, transparent);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.primary-action__inner{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;max-width:480px;display:flex}.primary-action__button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-accent);color:var(--color-accent-text);cursor:pointer;border:none;font-size:17px;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex}.primary-action__button:active:not(:disabled){transform:scale(.98)}.primary-action__button:disabled{opacity:.45;cursor:not-allowed}.primary-action__helper{color:var(--color-text-muted);text-align:center;font-size:12px}.home-screen__bottom-spacer{height:96px}.home-screen__settings-btn{top:var(--space-4);right:var(--space-4);z-index:30;border-radius:var(--radius-pill);background:var(--color-bg-elevated);width:36px;height:36px;color:var(--color-text);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex;position:fixed}.fixed-back-bar{z-index:30;padding:var(--space-4) var(--space-4) var(--space-3);background:linear-gradient(to bottom, var(--color-bg) 65%, transparent);pointer-events:none;justify-content:center;display:flex;position:fixed;top:0;left:0;right:0}.fixed-back-bar__inner{pointer-events:none;width:100%;max-width:480px}.fixed-back-bar__btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) 0;pointer-events:auto;background:0 0;border:none;align-items:center;gap:4px;font-size:14px;font-weight:600;display:inline-flex}.choice-card{text-align:left;width:100%;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:600;transition:border-color .15s,transform .1s,opacity .15s;display:block}.choice-card:active{transform:scale(.98)}.choice-card--selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.choice-card:disabled{opacity:.6;cursor:default}.confirm-dialog__backdrop{z-index:50;padding:var(--space-5);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{gap:var(--space-3);width:100%;max-width:340px;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-elevated);flex-direction:column;display:flex}.confirm-dialog__title{color:var(--color-text);margin:0;font-size:16px;font-weight:700;line-height:1.35}.confirm-dialog__body{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.4}.confirm-dialog__actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.confirm-dialog__btn{border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;border:none;flex:1;font-size:14px;font-weight:600}.confirm-dialog__btn--cancel{border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);background:var(--color-bg-secondary);color:var(--color-text)}.confirm-dialog__btn--confirm{background:var(--color-accent);color:var(--color-accent-text)}.confirm-dialog__btn--destructive{background:var(--color-danger);color:#fff}.settings-screen{gap:var(--space-4);flex-direction:column;padding-top:48px;display:flex}.settings-screen__title{color:var(--color-text);margin:0;font-size:20px;font-weight:700}.settings-screen__icon-row{color:var(--color-accent);display:flex}.settings-screen__icon{display:block}.settings-screen__choices{gap:var(--space-2);flex-direction:column;display:flex}.settings-screen__profile-row{padding:var(--space-2) 0;justify-content:space-between;align-items:center;font-size:14px;display:flex}.settings-screen__profile-label{color:var(--color-text-muted)}.settings-screen__profile-value{color:var(--color-text);font-weight:600}.settings-screen__help-text{color:var(--color-text);white-space:pre-line;margin:0;font-size:14px;line-height:1.5}.settings-screen__toggle-row,.settings-screen__time-row{color:var(--color-text);padding:var(--space-1) 0;justify-content:space-between;align-items:center;font-size:14px;display:flex}.settings-screen__toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent)}.settings-screen__time-input{border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text);padding:var(--space-2) var(--space-3);font-size:14px}.settings-screen__save-btn,.settings-screen__clear-btn{border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);cursor:pointer;margin-top:var(--space-1);border:none;align-self:flex-start;font-size:14px;font-weight:600}.settings-screen__save-btn{background:var(--color-accent);color:var(--color-accent-text)}.settings-screen__save-btn:disabled{opacity:.6;cursor:default}.settings-screen__clear-btn{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.settings-screen__clear-btn:disabled{opacity:.6;cursor:default}.settings-screen__notice{color:var(--color-text-muted);margin:0;font-size:13px}.settings-screen__notice--error{color:var(--color-danger)}.onboarding-progress{gap:var(--space-2);display:flex}.onboarding-progress__step{border-radius:var(--radius-pill);background:var(--color-bg-elevated);flex:1;height:4px;transition:background .2s}.onboarding-progress__step--done,.onboarding-progress__step--current{background:var(--color-accent)}.onboarding-progress__step--current{opacity:.6}.onboarding-choice-screen{gap:var(--space-5);flex-direction:column;display:flex}.onboarding-choice-screen__header{gap:var(--space-2);flex-direction:column;display:flex}.onboarding-choice-screen__title{font-size:1.4rem;font-weight:700}.onboarding-choice-screen__subtitle{color:var(--color-text-muted);font-size:.95rem}.onboarding-choice-screen__choices{gap:var(--space-3);flex-direction:column;display:flex}.goal-detail-screen{gap:var(--space-5);flex-direction:column;display:flex}.goal-detail-screen__header{gap:var(--space-2);flex-direction:column;display:flex}.goal-detail-screen__title{font-size:1.4rem;font-weight:700}.goal-detail-screen__subtitle{color:var(--color-text-muted);font-size:.95rem}.goal-detail-screen__textarea{resize:vertical;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);background:var(--color-bg-elevated);width:100%;min-height:120px;color:var(--color-text);padding:var(--space-4);font-family:inherit;font-size:1rem}.goal-detail-screen__textarea:focus{border-color:var(--color-accent);outline:none}.goal-detail-screen__submit{background:var(--color-accent);color:var(--color-accent-text);padding:var(--space-4);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:1rem;font-weight:700}.goal-detail-screen__submit:disabled{opacity:.5;cursor:default}.mode-select{flex-direction:column;gap:16px;padding:48px 4px 0;display:flex}.mode-select__title{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:20px;font-weight:700}.mode-select__grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mode-card{background:var(--tg-secondary-bg-color,var(--surface));cursor:pointer;text-align:left;border:none;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px;transition:opacity .15s;display:flex}.mode-card:disabled{opacity:.5}.mode-card--loading{opacity:.7}.mode-card__icon{color:var(--color-accent)}.mode-card__label{color:var(--tg-text-color,var(--text-primary));font-size:14px;font-weight:600;line-height:1.2}.mode-card__desc{color:var(--tg-hint-color,var(--text-secondary));font-size:12px;line-height:1.3}.recording-waveform{--waveform-bar-color:var(--color-danger);width:100%;max-width:320px;height:56px;display:block}.waveform-player{--waveform-played-color:var(--color-accent);--waveform-unplayed-color:var(--tg-hint-color);align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.waveform-player__canvas{width:100%;max-width:320px;height:44px;display:block}.waveform-player__time{font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin:0;font-size:13px}.waveform-player__controls{justify-content:center;align-items:center;gap:var(--space-4);display:flex}.waveform-player__play-btn{border-radius:var(--radius-pill);background:var(--color-accent);width:56px;height:56px;color:var(--color-accent-text);cursor:pointer;border:none;justify-content:center;align-items:center;line-height:1;display:flex;box-shadow:0 2px 10px #0003}.waveform-player__skip-btn{min-width:40px;height:40px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-bg-secondary);color:var(--color-text);cursor:pointer;border:none;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:600;display:flex}.uploading-indicator{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.uploading-indicator__icon{border-radius:var(--radius-pill);background:var(--color-accent);width:76px;height:76px;color:var(--color-accent-text);opacity:.6;justify-content:center;align-items:center;display:flex}.uploading-indicator__spin{animation:1s linear infinite uploading-indicator-spin}@keyframes uploading-indicator-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.uploading-indicator__hint{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px}.audio-recorder{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);box-sizing:border-box;background:var(--color-bg-elevated);border-radius:var(--radius-lg);flex-direction:column;display:flex}.audio-recorder__mic-btn{border-radius:var(--radius-pill);background:var(--color-accent);width:76px;height:76px;color:var(--color-accent-text);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:32px;line-height:1;display:flex;box-shadow:0 2px 10px #0003}.audio-recorder__mic-btn--pending{opacity:.6;cursor:default}.audio-recorder__mic-btn--done{background:var(--color-score-good)}.audio-recorder__mic-btn--recording{background:var(--color-danger);animation:1.4s ease-in-out infinite audio-recorder-ring}@keyframes audio-recorder-ring{0%,to{box-shadow:0 0 #ff5b5b80}50%{box-shadow:0 0 0 12px #ff5b5b00}}.audio-recorder__pulse-dot{border-radius:var(--radius-pill);background:#fff;width:18px;height:18px;animation:1s ease-in-out infinite audio-recorder-pulse}@keyframes audio-recorder-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.audio-recorder__hint{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px}.audio-recorder__timer{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:0;font-size:34px;font-weight:700}.audio-recorder__timer--valid{color:var(--color-score-good)}.audio-recorder__timer--ending-soon{color:var(--color-score-mid)}.audio-recorder__stop-btn{align-items:center;gap:var(--space-1);background:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);cursor:pointer;border:none;font-size:14px;font-weight:600;display:inline-flex}.audio-recorder__review-actions{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.audio-recorder__stop-btn--primary{background:var(--color-accent);color:var(--color-accent-text)}.audio-recorder__notice{color:var(--color-text-muted);text-align:center;max-width:280px;margin:0;font-size:13px;line-height:1.5}.audio-file-upload{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);box-sizing:border-box;background:var(--color-bg-elevated);border-radius:var(--radius-lg);flex-direction:column;display:flex}.audio-file-upload__input{display:none}.audio-file-upload__choose-btn{align-items:center;gap:var(--space-1);background:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);cursor:pointer;border:none;font-size:14px;font-weight:600;display:inline-flex}.audio-file-upload__review-actions{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.audio-file-upload__choose-btn--primary{background:var(--color-accent);color:var(--color-accent-text)}.audio-file-upload__hint{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px}.audio-file-upload__notice{color:var(--color-text-muted);text-align:center;max-width:280px;margin:0;font-size:13px;line-height:1.5}.analyzing-indicator{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.analyzing-indicator__icon{border-radius:var(--radius-pill);background:var(--color-accent);width:76px;height:76px;color:var(--color-accent-text);justify-content:center;align-items:center;animation:1.6s ease-in-out infinite analyzing-indicator-ring;display:flex}@keyframes analyzing-indicator-ring{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 45%, transparent)}50%{box-shadow:0 0 0 14px color-mix(in srgb, var(--color-accent) 0%, transparent)}}.analyzing-indicator__stage-text{color:var(--color-text);text-align:center;min-height:20px;margin:0;font-size:15px;font-weight:600}.waiting{text-align:center;flex-direction:column;flex:1;align-items:center;gap:16px;padding:64px 8px 24px;display:flex}.waiting__icon{color:var(--tg-button-color,var(--accent));justify-content:center;align-items:center;display:flex}.waiting__choice{gap:12px;width:100%;display:flex}.waiting__choice-btn{background:var(--tg-secondary-bg-color,var(--surface));color:var(--tg-text-color,var(--text-primary));cursor:pointer;border:none;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:24px 12px;font-size:15px;font-weight:600;display:flex}.waiting__choice-btn:active{opacity:.8}.waiting__title{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:22px;font-weight:700}.waiting__topic{background:var(--tg-secondary-bg-color,var(--surface));text-align:left;box-sizing:border-box;border-radius:12px;width:100%;padding:14px 16px}.waiting__topic-label{color:var(--tg-hint-color,var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;font-size:12px}.waiting__topic-text{color:var(--tg-text-color,var(--text-primary));margin:6px 0 0;font-size:15px;line-height:1.4}.waiting__hint{color:var(--tg-hint-color,var(--text-secondary));max-width:300px;margin:0;font-size:14px;line-height:1.5}.waiting__btn{background:var(--tg-button-color,var(--accent));color:var(--tg-button-text-color,#fff);cursor:pointer;border:none;border-radius:12px;padding:14px 32px;font-size:16px;font-weight:600}.waiting__cancel{color:var(--tg-hint-color,var(--text-secondary));cursor:pointer;background:0 0;border:none;margin-top:auto;padding:4px;font-size:14px}.feedback{gap:var(--space-6);padding-bottom:var(--space-6);flex-direction:column;display:flex}.feedback--empty{text-align:center;align-items:center;padding-top:40px}.feedback__back{color:var(--tg-link-color,var(--accent));cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:14px}.feedback__back-btn{background:var(--tg-button-color,var(--accent));color:var(--tg-button-text-color,#fff);cursor:pointer;border:none;border-radius:12px;margin-top:16px;padding:12px 28px;font-size:15px;font-weight:600}.feedback__score-block{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.feedback__score-circle{border:6px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.feedback__score-number{font-size:32px;font-weight:800;line-height:1}.feedback__score-label{color:var(--tg-text-color,var(--text-primary));text-align:center;overflow-wrap:break-word;max-width:320px;margin:0;font-size:14px;line-height:1.4}.feedback__band{color:var(--tg-text-color,var(--text-primary));margin:var(--space-1) 0 0;text-align:center;font-size:14px}.feedback__band-note{color:var(--tg-hint-color,var(--text-secondary));font-size:12px}.feedback__skills{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.feedback__section-title{color:var(--tg-hint-color,var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-1);font-size:14px;font-weight:600}.skill-bar{gap:var(--space-1);flex-direction:column;display:flex}.skill-bar__header{justify-content:space-between;align-items:baseline;display:flex}.skill-bar__label{color:var(--tg-text-color,var(--text-primary));font-size:14px}.skill-bar__score{font-size:14px;font-weight:600}.skill-bar__track{background:var(--tg-secondary-bg-color,var(--surface));border-radius:4px;height:8px;overflow:hidden}.skill-bar__fill{border-radius:4px;height:100%;transition:width .6s}.feedback__mistakes{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.feedback__mistake-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feedback__mistake-row{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--color-text-muted) 20%, transparent);flex-direction:column;display:flex}.feedback__mistake-row:last-child{border-bottom:none;padding-bottom:0}.feedback__mistake-word{font-size:15px;font-weight:700}.feedback__mistake-explanation{color:var(--color-text-muted);font-size:13px;line-height:1.4}.feedback__card{background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.feedback__card--highlight{border-left:3px solid var(--tg-button-color,var(--accent))}.feedback__card-text{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:14px;line-height:1.5}.feedback__rating{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-text-muted) 14%, transparent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.feedback__rating-q{color:var(--tg-text-color,var(--text-primary));text-align:center;margin:0;font-size:15px}.feedback__rating-btns{gap:24px;display:flex}.feedback__rating-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;font-size:36px;transition:transform .1s}.feedback__rating-btn:active{transform:scale(.88)}.feedback__rating-btn:disabled{opacity:.4}.feedback__rating-thanks{color:var(--tg-text-color,var(--text-primary));text-align:center;margin:0;font-size:15px}.feedback__practice-again-btn{border-radius:var(--radius-pill);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-accent);color:var(--color-accent-text);cursor:pointer;border:none;font-size:16px;font-weight:700}.feedback__delete{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.feedback__delete-btn{align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--color-danger) 40%, transparent);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);color:var(--color-danger);cursor:pointer;background:0 0;font-size:14px;font-weight:600;display:flex}.feedback__delete-btn:disabled{opacity:.5;cursor:default}.feedback__delete-error{color:var(--color-danger);text-align:center;margin:0;font-size:13px}.model-answers{flex-direction:column;gap:20px;padding:0 4px;display:flex}.model-answers__back{color:var(--tg-link-color,var(--accent));cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:14px}.model-answers__title{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:20px;font-weight:700}.model-answers__loading{color:var(--tg-hint-color,var(--text-secondary));flex-direction:column;align-items:center;gap:16px;padding:40px 0;font-size:14px;display:flex}.model-answers__spinner{border:3px solid var(--tg-secondary-bg-color,var(--surface));border-top-color:var(--tg-button-color,var(--accent));border-radius:50%;width:36px;height:36px;animation:.8s linear infinite ma-spin;display:block}@keyframes ma-spin{to{transform:rotate(360deg)}}.model-answers__error{color:var(--tg-hint-color,var(--text-secondary));text-align:center;padding:24px 0;font-size:14px}.model-answers__topic{background:var(--tg-secondary-bg-color,var(--surface));border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.model-answers__topic-label{color:var(--tg-hint-color,var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;font-size:12px}.model-answers__topic-text{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:15px;font-weight:600;line-height:1.4}.model-answers__answer{background:var(--tg-secondary-bg-color,var(--surface));border-left:3px solid var(--tg-button-color,var(--accent));border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.model-answers__answer-label{color:var(--tg-hint-color,var(--text-secondary));text-transform:uppercase;letter-spacing:.05em;font-size:12px}.model-answers__answer-text{color:var(--tg-text-color,var(--text-primary));margin:0;font-size:15px;line-height:1.6}.model-answers__fallback-note{color:var(--tg-hint-color,var(--text-secondary));margin:6px 0 0;font-size:12px}
