:root{--font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--z-base: 0;--z-overlay: 10;--z-fixed: 50;--z-toast: 100;--z-modal: 1000}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-body);background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-text-size-adjust:100%;letter-spacing:-.01em}body{min-height:100dvh}a{color:var(--tg-theme-link-color, #1a73e8);text-decoration:none}button,input{font-family:inherit}h1,h2{letter-spacing:-.02em;text-wrap:balance}:where(button,a,input,textarea,[role=button]):focus-visible{outline:2px solid #3edbd3;outline-offset:2px;border-radius:8px}button:focus{outline:none}::-webkit-scrollbar{display:none}.beta-badge{display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,#ffc10733,#ff98004d);color:#ffc107;border:1px solid rgba(255,193,7,.55);border-radius:999px;vertical-align:middle;margin-left:6px;line-height:1}.beta-badge--sm{font-size:9px;padding:2px 6px}.beta-badge--md{font-size:10px;padding:3px 8px}.beta-badge:hover{background:linear-gradient(135deg,#ffc1074d,#ff980066)}.beta-badge-pop{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:220px;background:#141416f5;color:#e6e6ebf2;border:1px solid rgba(255,193,7,.45);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;text-align:center;z-index:var(--z-fixed);white-space:normal;cursor:default;box-shadow:0 6px 20px #0006}.premium-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;cursor:pointer;transition:transform .15s,opacity .15s;margin:12px 0}.premium-banner:active{transform:scale(.98);opacity:.9}.home-banner{background:linear-gradient(135deg,#64ffda1f,#64ffda0d);border:1px solid rgba(100,255,218,.2)}.premium-banner-icon{font-size:28px;flex-shrink:0}.premium-banner-content{flex:1;min-width:0}.premium-banner-title{font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #fff);margin-bottom:2px}.premium-banner-desc{font-size:12.5px;color:var(--tg-theme-hint-color, #8892b0);line-height:1.35}.premium-banner-arrow{font-size:18px;color:#64ffda;flex-shrink:0}.review-banner{background:var(--tg-theme-secondary-bg-color, #16213e);border:1px solid rgba(100,255,218,.15);flex-direction:column;text-align:center;gap:10px}.review-banner .premium-banner-title{font-size:14px}.review-banner .premium-banner-desc{font-size:12px}.settings-banner{background:var(--tg-theme-secondary-bg-color, #16213e);border:1px solid rgba(100,255,218,.15)}.premium-banner-btn{background:linear-gradient(135deg,#64ffda,#4fd1b0);color:#1a1a2e;border:none;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:0 2px 8px #64ffda4d}.premium-banner-btn:active{opacity:.85}.tw-stack{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.tw-greeting-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.tw-greeting{font-size:1.05rem;font-weight:600;color:var(--tg-theme-text-color, #fff)}.tw-streak-chip{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#ff980033,#f4433638);border:1px solid rgba(255,152,0,.4);color:#ffd782f2;white-space:nowrap}.tw-card{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}.tw-card--milestone{background:linear-gradient(160deg,#3edbd31a,#24262ed9);border:1px solid rgba(62,219,211,.2)}.tw-card--exam{background:linear-gradient(160deg,#a855f71a,#24262ed9);border:1px solid rgba(168,85,247,.25)}.tw-upsell{background:linear-gradient(160deg,#3edbd324,#2196f31a);border:1px solid rgba(62,219,211,.45);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:transform 80ms ease,border-color .18s ease;color:#fff;-webkit-text-fill-color:#ffffff}.tw-upsell:hover{border-color:#3edbd3b3}.tw-upsell:active{transform:scale(.99)}.tw-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.tw-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.04em;font-variant:small-caps;color:#ffffffa6}.tw-eyebrow-meta{font-size:.72rem;color:#ffffff8c;font-weight:500}.tw-milestone-headline{display:flex;align-items:baseline;gap:4px;color:var(--tg-theme-text-color, #fff)}.tw-milestone-num{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tw-milestone-pct{font-size:1rem;font-weight:600;color:#ffffffa6;margin-right:8px}.tw-milestone-arrow{color:#fff6;font-size:1.1rem;margin:0 4px}.tw-milestone-target{font-size:1.1rem;font-weight:600;color:#3edbd3}.tw-milestone-bar{position:relative;height:8px;background:#ffffff0f;border-radius:4px;overflow:visible}.tw-milestone-fill{height:100%;background:linear-gradient(90deg,#ff5252,#ffb74d,#66bb6a);border-radius:4px;transition:width .6s ease-out}.tw-milestone-marker{position:absolute;top:-3px;width:2px;height:14px;background:#3edbd3;transform:translate(-50%);border-radius:1px}.tw-milestone-sub{font-size:.78rem;color:#ffffffa6}.tw-btn{text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:transform .1s ease,background .2s ease;font-family:inherit;color:inherit}.tw-btn:active:not(:disabled){transform:scale(.98)}.tw-btn:disabled{opacity:.55;cursor:default}.tw-btn--primary{background:linear-gradient(135deg,#3edbd347,#2196f32e);border-color:#3edbd373;box-shadow:0 8px 24px #3edbd326}.tw-btn--secondary{background:#ffffff0a}.tw-btn--bonus{background:#7be0c80f;border:1px dashed rgba(123,224,200,.4)}.tw-btn--bonus .tw-btn-eyebrow{color:#c9f3e3}.tw-btn-eyebrow{font-size:.72rem;font-weight:600;color:#ffffffb3;letter-spacing:.02em}.tw-btn-title{font-size:1rem;font-weight:600;color:var(--tg-theme-text-color, #fff);line-height:1.25}.tw-btn-meta{font-size:.74rem;color:#ffffff8c;margin-top:2px}.tw-done{text-align:center;padding:14px 8px 10px;border:1px dashed rgba(123,224,200,.35);background:#7be0c80f;border-radius:12px}.tw-done-emoji{font-size:26px;line-height:1;margin-bottom:6px}.tw-done-title{font-size:.95rem;font-weight:700;color:#c9f3e3;letter-spacing:.01em;margin-bottom:2px}.tw-done-sub{font-size:.78rem;color:#ffffff8c;line-height:1.35}.tw-weekrhythm{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.tw-day{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.tw-day-label{font-size:.7rem;color:#ffffff80;font-weight:600;text-transform:uppercase}.tw-dot{width:14px;height:14px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.tw-dot--filled{background:linear-gradient(135deg,#3edbd3,#2196f3);border-color:#3edbd38c;box-shadow:0 0 6px #3edbd359}.tw-day-exam{position:absolute;top:14px;font-size:18px;color:#ffc107;line-height:0}.tw-exam-pill{font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid rgba(168,85,247,.45);background:#a855f726;color:#e6dcfff2;white-space:nowrap}.tw-exam--today,.tw-exam--soon{border-color:#ff98008c;background:#ff98002e;color:#ffd782f5}.tw-exam--overdue{border-color:#f44336a6;background:#f4433633;color:#ffc8c8f5}.tw-exam-sub{font-size:.78rem;color:#ffffffa6;line-height:1.4}.tw-advice{padding:8px 12px;font-style:italic;font-size:.85rem;color:#ffffffb8;text-align:center;line-height:1.4}.tw-skeleton{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.tw-skeleton-line{height:56px;border-radius:12px;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:tw-shimmer 1.4s linear infinite}.tw-skeleton-line--tall{height:120px}@keyframes tw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tw-empty{padding:16px;text-align:center;color:#ffffff8c;font-size:.85rem;border:1px dashed rgba(255,255,255,.1);border-radius:12px}.tw-btn--done{background:#7be0c814;border:1px solid rgba(123,224,200,.25);color:#ffffffb3;cursor:default}.tw-btn--done .tw-btn-eyebrow{color:#c9f3e3}.tw-btn--done .tw-btn-title{color:#ffffffd9}.tw-btn--done:active{transform:none}.placement-banner{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#3edbd324,#2196f312);border:1px solid rgba(62,219,211,.3);border-radius:14px;padding:12px 14px;margin:8px 0 16px;position:relative}.placement-banner__icon{flex-shrink:0;font-size:22px;line-height:1;margin-top:2px}.placement-banner__body{flex:1;min-width:0}.placement-banner__title{font-size:.95rem;font-weight:700;color:var(--tg-theme-text-color, #fff);margin-bottom:4px}.placement-banner__sub{font-size:.78rem;color:#ffffffa6;line-height:1.45}.placement-banner__sub strong{color:#3edbd3;font-weight:700}.placement-banner__close{flex-shrink:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffffff8c;width:26px;height:26px;border-radius:50%;font-size:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0;margin-top:2px}.placement-banner__close:active{background:#ffffff1a}.fc-cheer{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:14px;background:linear-gradient(135deg,#3edbd32e,#2196f324);border:1px solid rgba(62,219,211,.45);color:#fff;-webkit-text-fill-color:#ffffff;font-size:.88rem;animation:fc-cheer-in .38s cubic-bezier(.2,.7,.3,1)}@keyframes fc-cheer-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.fc-cheer-icon{font-size:1.2rem}.fc-cheer-text{flex:1;line-height:1.3}.fc-cheer-text strong{color:#3edbd3;-webkit-text-fill-color:#3edbd3}.fc-cheer-close{background:transparent;border:none;color:#ffffff8c;-webkit-text-fill-color:rgba(255,255,255,.55);font-size:1.3rem;padding:0 4px;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1}.fc-cheer-close:active{opacity:.6}.om-backdrop{position:fixed;inset:0;background:#080a0eb8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:var(--z-modal);animation:om-fade-in .2s ease-out}@keyframes om-fade-in{0%{opacity:0}to{opacity:1}}.om-modal{width:100%;max-width:380px;background:linear-gradient(160deg,#24262efa,#16181cfa);border:1px solid rgba(62,219,211,.3);border-radius:18px;padding:18px 18px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000080;animation:om-slide-up .24s cubic-bezier(.2,.8,.4,1)}@keyframes om-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.om-header{display:flex;align-items:center;justify-content:space-between}.om-dots{display:flex;gap:6px}.om-dot{width:22px;height:4px;border-radius:2px;background:#ffffff1f;transition:background .22s ease}.om-dot--active{background:#3edbd3}.om-dot--done{background:#3edbd38c}.om-skip{background:none;border:none;color:#ffffff80;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:8px}.om-skip:hover{background:#ffffff0f;color:#ffffffbf}.om-prefilled{font-size:.78rem;color:#3edbd3d9;background:#3edbd314;padding:8px 12px;border-radius:8px;text-align:center}.om-step{display:flex;flex-direction:column;gap:12px}.om-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--tg-theme-text-color, #fff);text-align:center;line-height:1.3}.om-options{display:flex;flex-direction:column;gap:8px}.om-option{text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--tg-theme-text-color, #fff);display:flex;flex-direction:column;gap:2px;font-family:inherit;transition:transform 80ms ease,border-color .18s ease,background .18s ease}.om-option:hover:not(:disabled){border-color:#3edbd366;background:#3edbd314}.om-option:active:not(:disabled){transform:scale(.98)}.om-option--selected{border-color:#3edbd3b3;background:#3edbd324}.om-option:disabled{opacity:.55;cursor:default}.om-option-label{font-size:.96rem;font-weight:600}.om-option-meta{font-size:.74rem;color:#ffffff8c}.om-cta-soft{background:linear-gradient(135deg,#a855f72e,#a855f71a);border:1px solid rgba(168,85,247,.4);border-radius:10px;padding:10px 12px;font-size:.85rem;color:#dcc8fff2;text-align:center;font-style:italic}.om-finish{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#0a1116;border:none;border-radius:12px;padding:12px 16px;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .16s ease;font-family:inherit}.om-finish:disabled{opacity:.4;cursor:default}.om-exact-wrap{display:flex;flex-direction:column;gap:10px;margin-top:6px}.om-exact-input{background:#ffffff0a;border:1px solid rgba(62,219,211,.4);border-radius:10px;padding:10px 12px;font-size:.95rem;color:#fff;-webkit-text-fill-color:#ffffff;font-family:inherit;width:100%;box-sizing:border-box}.om-exact-input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.5)}.fp-card{--fp-bg-start: #131829;--fp-bg-end: #1a1330;--fp-line: rgba(255, 255, 255, .07);--fp-text: #e7ebf4;--fp-text-dim: #9aa1b3;--fp-text-muted: rgba(255, 255, 255, .42);--fp-low: #ff7591;--fp-mid: #ffc66d;--fp-high: #7be0c8;position:relative;margin:var(--home-card-gap, 12px) 0;padding:12px 14px;color:var(--fp-text);background:radial-gradient(120% 80% at 0% 0%,rgba(123,224,200,.06),transparent 60%),radial-gradient(140% 100% at 100% 100%,rgba(255,118,145,.05),transparent 55%),linear-gradient(155deg,var(--fp-bg-start) 0%,var(--fp-bg-end) 100%);border:1px solid var(--fp-line);border-radius:18px;box-shadow:inset 0 1px #ffffff0a,0 18px 38px -28px #000000b3;overflow:hidden;isolation:isolate}.fp-card:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18% 30%,rgba(255,255,255,.025) 0 .6px,transparent 1px),radial-gradient(circle at 78% 12%,rgba(255,255,255,.02) 0 .5px,transparent 1px),radial-gradient(circle at 62% 78%,rgba(255,255,255,.018) 0 .7px,transparent 1px);background-size:220px 220px,180px 180px,260px 260px;pointer-events:none;z-index:var(--z-base);opacity:.85}.fp-card>*{position:relative;z-index:var(--z-overlay)}.fp-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.fp-eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fp-text-dim)}.fp-dot{width:7px;height:7px;border-radius:50%;background:currentColor;color:var(--fp-text-muted)}.fp-dot--live{color:var(--fp-high);box-shadow:0 0 8px currentColor;animation:fp-pulse 2.4s ease-in-out infinite}.fp-dot--pulse{color:var(--fp-mid);animation:fp-pulse 1.2s ease-in-out infinite}.fp-dot--idle{color:var(--fp-text-muted)}@keyframes fp-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.fp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;margin-bottom:14px}.fp-gauge-wrap{position:relative;width:100%;max-width:220px;margin:0 auto;aspect-ratio:1 / 1}.fp-gauge{display:block;width:100%;height:100%}.fp-ticks line{stroke:#ffffff2e}.fp-gauge-track{stroke:#ffffff12}.fp-gauge-progress{transition:stroke-dashoffset .7s cubic-bezier(.22,.61,.36,1)}.fp-gauge-glow{opacity:.55;transition:stroke-dashoffset .7s cubic-bezier(.22,.61,.36,1)}.fp-gauge-threshold{stroke:#ffffffd9;stroke-width:1.8}.fp-gauge-threshold-label{font-size:8.5px;font-weight:600;fill:#ffffff8c;letter-spacing:.04em;font-variant-numeric:tabular-nums}.fp-gauge-readout{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transform:translateY(8%)}.fp-readout-num{display:flex;align-items:baseline;gap:2px;line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.fp-num{font-size:44px;font-weight:700;color:var(--fp-text);text-shadow:0 0 18px rgba(123,224,200,.18)}.fp-num-suffix{font-size:18px;font-weight:500;color:var(--fp-text-dim);margin-left:1px}.fp-readout-sub{margin-top:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fp-text-dim)}.fp-gauge-wrap:has(.fp-gauge--low) .fp-num{color:#ffd4dc}.fp-gauge-wrap:has(.fp-gauge--mid) .fp-num{color:#ffe6b8}.fp-gauge-wrap:has(.fp-gauge--high) .fp-num{color:#c9f3e3}.fp-meta-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.fp-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:.01em;border-radius:999px;border:1px solid var(--fp-line);background:#ffffff06;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fp-chip-in .45s ease-out both}.fp-chip--readiness{animation-delay:.05s}.fp-chip--trend{animation-delay:.12s}@keyframes fp-chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.readiness-ready{color:#b6f0d4;background:#7be0c81a;border-color:#7be0c852}.readiness-improving{color:#ffe5b4;background:#ffc66d1a;border-color:#ffc66d52}.readiness-stalled{color:#ffc5d0;background:#ff75911a;border-color:#ff75914d}.trend-up{color:#b6f0d4;background:#7be0c814;border-color:#7be0c840}.trend-down{color:#ffc5d0;background:#ff759114;border-color:#ff759140}.trend-neutral{color:var(--fp-text-dim)}.fp-range{display:flex;flex-direction:column;gap:2px;margin-top:2px;font-variant-numeric:tabular-nums}.fp-range-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fp-text-muted)}.fp-range-val{font-size:13px;font-weight:600;color:var(--fp-text)}.fp-range-sep{color:var(--fp-text-muted);margin:0 4px}.fp-divider{height:1px;margin:14px -18px;background:linear-gradient(90deg,transparent,var(--fp-line) 18%,var(--fp-line) 82%,transparent)}.fp-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 4px;padding-top:2px}.fp-skill{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}.fp-skill-ring-wrap{position:relative;width:56px;height:56px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.4))}.fp-skill-ring{width:100%;height:100%}.fp-skill-track{stroke:#ffffff12}.fp-skill-progress{transition:stroke-dashoffset .7s cubic-bezier(.22,.61,.36,1)}.fp-skill--low .fp-skill-progress{stroke:var(--fp-low)}.fp-skill--mid .fp-skill-progress{stroke:var(--fp-mid)}.fp-skill--high .fp-skill-progress{stroke:var(--fp-high)}.fp-skill-emoji{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.fp-skill-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fp-text);letter-spacing:-.01em}.fp-skill--low .fp-skill-value{color:var(--fp-low)}.fp-skill--mid .fp-skill-value{color:var(--fp-mid)}.fp-skill--high .fp-skill-value{color:var(--fp-high)}.fp-skill-label{font-size:10px;color:var(--fp-text-dim);letter-spacing:.02em}.fp-cal{display:flex;flex-direction:column;gap:6px}.fp-cal-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fp-cal-title{font-size:11.5px;color:var(--fp-text-dim);letter-spacing:.01em}.fp-cal-count{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fp-text)}.fp-cal-bar{position:relative;height:4px;width:100%;background:#ffffff0f;border-radius:2px;overflow:hidden}.fp-cal-fill{height:100%;background:linear-gradient(90deg,var(--fp-mid),var(--fp-high));border-radius:2px;transition:width .7s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 8px #7be0c859}.fp-cal-cta{margin-top:10px;appearance:none;border:1px solid rgba(123,224,200,.4);background:#7be0c814;color:var(--fp-high);font-family:inherit;font-size:13px;font-weight:600;padding:10px 14px;border-radius:10px;cursor:pointer;width:100%;transition:background-color .12s ease}.fp-cal-cta:hover{background:#7be0c824}.fp-cal-cta:active{transform:scale(.99)}.fp-cal-cta[disabled]{opacity:.45;cursor:not-allowed;border-color:#ffffff1f;color:var(--fp-text-dim);background:#ffffff08}.fp-foot{margin-top:14px;font-size:10px;letter-spacing:.04em;color:var(--fp-text-muted);font-variant-numeric:tabular-nums;text-align:right}.fp-empty-msg{margin:0;font-size:13px;color:var(--fp-text-dim)}.fp-gauge-placeholder{width:100%;max-width:220px;aspect-ratio:2 / 1.4;margin:8px auto;border-radius:50% 50% 0 0/100% 100% 0 0;background:radial-gradient(circle at 50% 100%,transparent 58%,rgba(255,255,255,.05) 60%,transparent 75%);animation:fp-shimmer 1.5s ease-in-out infinite}@keyframes fp-shimmer{0%,to{opacity:.45}50%{opacity:.9}}@media(max-width:460px){.fp-hero{grid-template-columns:1fr;gap:4px}.fp-meta-col{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.fp-range{flex-direction:row;align-items:baseline;gap:6px;margin-top:0}.fp-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fp-num{font-size:52px}.fp-num-suffix{font-size:20px}.fp-gauge-wrap{max-width:240px}}@media(min-width:720px){.fp-skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}@media(prefers-reduced-motion:reduce){.fp-gauge-progress,.fp-gauge-glow,.fp-skill-progress,.fp-cal-fill{transition:none}.fp-chip,.fp-dot--live,.fp-dot--pulse,.fp-gauge-placeholder{animation:none}}.fp-chip-hint{font-size:11px;color:var(--tg-theme-hint-color, #888);font-style:italic;margin-top:-4px;margin-bottom:4px;text-align:center}.fp-hero-compact{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:nowrap}.fp-hero-compact .fp-chip{font-size:11px;padding:5px 10px;white-space:normal;text-align:right;line-height:1.25;max-width:180px}.fp-num-block{display:flex;align-items:baseline;gap:4px}.fp-num-block .fp-num{font-size:36px;font-weight:700;line-height:1}.fp-num-block .fp-num-suffix{font-size:16px;color:var(--fp-text-muted);margin-right:8px}.fp-num-label{font-size:11px;color:var(--fp-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.fp-meta-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.fp-hgauge{margin:10px 0 4px}.fp-hgauge-track{position:relative;height:8px;background:linear-gradient(to right,#ff6b8e38,#ffb84e38 53%,#50dca038);border-radius:6px;overflow:visible}.fp-hgauge-range{position:absolute;top:0;bottom:0;background:#ffffff1f;border-radius:4px}.fp-hgauge-marker{position:absolute;top:-3px;width:4px;height:14px;margin-left:-2px;background:var(--fp-text, #fff);border-radius:2px;box-shadow:0 0 6px #ffffff80}.fp-hgauge-threshold{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#ffffff8c;border-radius:1px}.fp-hgauge-scale{display:flex;justify-content:space-between;font-size:9px;color:var(--fp-text-muted);margin-top:2px;padding:0 1px}.fp-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:6px 0 8px}.fp-trend{padding:2px 8px;border-radius:8px;background:#ffffff0f;color:var(--fp-text-muted)}.fp-trend.trend-up{color:#5eecaa;background:#5eecaa1f}.fp-trend.trend-down{color:#ff8aa1;background:#ff8aa11f}.fp-range-inline{color:var(--fp-text-muted);font-variant-numeric:tabular-nums}.fp-skills-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.fp-skill{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:8px;background:#ffffff0a}.fp-skill-emoji{font-size:16px}.fp-skill-label{font-size:10px;color:var(--fp-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.fp-skill-val{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.fp-skill-pct{font-size:9px;margin-left:1px;opacity:.65}.fp-skill-bar{width:100%;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.fp-skill-fill{height:100%;border-radius:2px;transition:width .6s ease}.fp-skill--red .fp-skill-fill{background:#ff6b8e}.fp-skill--red .fp-skill-val{color:#ffb8c5}.fp-skill--amber .fp-skill-fill{background:#ffb84e}.fp-skill--amber .fp-skill-val{color:#ffd99e}.fp-skill--green .fp-skill-fill{background:#5eecaa}.fp-skill--green .fp-skill-val{color:#b8f3d4}.fp-cal-block{margin-top:12px;padding:10px 12px;background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.fp-cal-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:8px}.fp-cal-title{font-size:12px;color:var(--fp-text);font-weight:500}.fp-cal-accuracy{color:#ffd99e;font-weight:600;margin-left:4px}.fp-cal-count{font-size:10px;color:var(--fp-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.fp-cal-bar{height:4px;background:#ffffff14;border-radius:3px;overflow:hidden;margin-bottom:8px}.fp-cal-fill{height:100%;background:linear-gradient(to right,#ffb84e,#5eecaa);border-radius:3px;transition:width .6s ease}.fp-cal-foot{font-size:10px;color:var(--fp-text-muted);margin-bottom:8px;line-height:1.4}.fp-cal-cta{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(94,236,170,.25);background:#5eecaa14;color:var(--fp-text);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.fp-cal-cta:hover:not(:disabled){background:#5eecaa26}.fp-cal-cta:disabled{opacity:.55;cursor:not-allowed}.vc-card{--vc-bg-start: #131829;--vc-bg-end: #1a1330;--vc-line: rgba(255, 255, 255, .07);--vc-text: #e7ebf4;--vc-text-dim: #9aa1b3;--vc-text-muted: rgba(255, 255, 255, .42);--vc-low: #ff7591;--vc-mid: #ffc66d;--vc-high: #7be0c8;position:relative;margin:var(--home-card-gap, 12px) 0;padding:12px 14px;color:var(--vc-text);background:radial-gradient(140% 100% at 100% 0%,rgba(123,224,200,.05),transparent 55%),linear-gradient(155deg,var(--vc-bg-start) 0%,var(--vc-bg-end) 100%);border:1px solid var(--vc-line);border-radius:16px;box-shadow:inset 0 1px #ffffff08,0 12px 24px -20px #0000008c;overflow:hidden}.vc-eyebrow-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.vc-eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--vc-text-dim)}.vc-eyebrow-meta{font-size:10px;color:var(--vc-text-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums}.vc-hero{display:flex;align-items:baseline;gap:4px;margin-bottom:6px;line-height:1}.vc-hero-num{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--vc-text)}.vc-card--low .vc-hero-num{color:#ffd4dc}.vc-card--mid .vc-hero-num{color:#ffe6b8}.vc-card--high .vc-hero-num{color:#c9f3e3}.vc-hero-sep{font-size:18px;color:var(--vc-text-muted);margin:0 2px}.vc-hero-target{font-size:18px;font-weight:500;color:var(--vc-text-dim);font-variant-numeric:tabular-nums}.vc-hero-label{font-size:11px;color:var(--vc-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-left:6px}.vc-bar{position:relative;height:6px;background:linear-gradient(to right,#ff6b8e2e,#ffb84e2e,#50dca02e);border-radius:4px;overflow:hidden;margin-bottom:8px}.vc-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.22,.61,.36,1);background:linear-gradient(to right,var(--vc-low),var(--vc-mid),var(--vc-high));box-shadow:0 0 8px #7be0c840}.vc-subrow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.vc-cell{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#ffffff09;border-radius:8px;min-width:0}.vc-cell-label{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--vc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vc-cell-val{font-size:14px;font-weight:700;color:var(--vc-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.vc-cell-sub{font-size:10px;font-weight:500;color:var(--vc-text-muted)}.vc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.vc-insight{font-size:11px;font-style:italic;color:var(--vc-text-dim);line-height:1.3}.vc-card--low .vc-insight{color:#ffc5d0}.vc-card--mid .vc-insight{color:#ffe6b8}.vc-card--high .vc-insight{color:#b6f0d4}.vc-debt{font-size:10px;padding:2px 7px;border-radius:8px;background:#ffffff0d;color:var(--vc-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid rgba(255,255,255,.06)}.vc-skeleton{height:86px;border-radius:10px;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:vc-shimmer 1.4s ease-in-out infinite;margin-top:6px}@keyframes vc-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.vc-empty-msg{margin:6px 0 0;font-size:12px;color:var(--vc-text-dim)}@media(prefers-reduced-motion:reduce){.vc-bar-fill{transition:none}.vc-skeleton{animation:none}}.vc-card,.vc-card *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.home{padding:16px 16px 80px}.home-header{text-align:center;margin-bottom:20px}.home-header h1{font-size:24px;margin:0;color:var(--tg-theme-text-color, #000)}.home-subtitle{color:var(--tg-theme-hint-color, #999);font-size:14px;margin:4px 0 0}.stats-row{display:flex;gap:8px;margin-bottom:16px}.stat-card{flex:1;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px;padding:12px 8px;text-align:center;display:flex;flex-direction:column}.stat-num{font-size:24px;font-weight:700;color:var(--tg-theme-text-color, #000)}.stat-label{font-size:11px;color:var(--tg-theme-hint-color, #999);margin-top:2px}.progress-section{margin-bottom:16px}.progress-bar-track{width:100%;height:8px;border-radius:4px;background:#333}.progress-legend{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.legend-item{font-size:11px;color:var(--tg-theme-hint-color, #999);display:flex;align-items:center;gap:4px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.mastered{background:#4caf50}.dot.review{background:#2196f3}.dot.learning{background:#ff9800}.dot.new-cards{background:#666}.progress-pct{text-align:right;font-size:12px;color:var(--tg-theme-hint-color, #999);margin-top:2px}.empty-state{text-align:center;padding:32px 16px;color:var(--tg-theme-hint-color, #999)}.empty-icon{font-size:48px;margin-bottom:12px}.empty-state p{margin:8px 0;font-size:15px;color:var(--tg-theme-text-color, #000)}.empty-hint{font-size:13px!important;color:var(--tg-theme-hint-color, #999)!important}.lessons-section{margin-top:20px}.lessons-section h2{font-size:16px;margin:0 0 10px;color:var(--tg-theme-text-color, #000)}.lesson-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:10px;margin-bottom:8px}.lesson-info{display:flex;flex-direction:column;gap:2px}.lesson-num{font-size:11px;color:var(--tg-theme-hint-color, #999);text-transform:uppercase;font-weight:600}.lesson-title{font-size:14px;color:var(--tg-theme-text-color, #000);font-weight:500}.lesson-count{font-size:11px;color:var(--tg-theme-hint-color, #999)}.btn{display:block;width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.btn:active{opacity:.7}.btn-primary{background:var(--tg-theme-button-color, #1a73e8);color:var(--tg-theme-button-text-color, #fff)}.btn-secondary{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000)}.btn-small{width:auto;padding:8px 14px;font-size:13px;border-radius:8px;background:var(--tg-theme-button-color, #1a73e8);color:var(--tg-theme-button-text-color, #fff)}.btn-large{font-size:18px;padding:16px;border-radius:12px}.tip-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:12px;margin-top:12px;margin-bottom:4px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s}.tip-card:active{opacity:.7}.tip-icon{font-size:24px;flex-shrink:0}.tip-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tip-title{font-size:14px;font-weight:600;color:var(--tg-theme-text-color, #000)}.tip-desc{font-size:12px;color:var(--tg-theme-hint-color, #999);line-height:1.3}.tip-arrow{font-size:20px;color:var(--tg-theme-hint-color, #999);flex-shrink:0}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:var(--z-toast);animation:toastIn .3s ease;box-shadow:0 4px 12px #0003}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.api-warning{background:#fff3e0;color:#e65100;font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:12px;text-align:center}.lesson-loaded{font-size:13px;color:var(--tg-theme-hint-color, #999);white-space:nowrap}.lesson-request-btn{margin-top:8px}.lesson-request-btn.sent{opacity:.6}.home-skel{padding:16px;display:flex;flex-direction:column;gap:14px}.home-skel-line{height:36px;border-radius:12px;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:home-skel-shimmer 1.4s ease-in-out infinite}.home-skel-line--lg{height:80px}@keyframes home-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.placement-card{position:relative;width:100%;margin:0 0 12px;border-radius:14px;border:1px solid rgba(62,219,211,.4);background:linear-gradient(135deg,#3edbd31a,#ffd7820f);overflow:hidden}.placement-card__close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;background:transparent;color:#ffffff80;font-size:15px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent}.placement-card__close:active{opacity:.6}.placement-card__body{display:flex;align-items:center;gap:12px;width:100%;padding:14px 40px 14px 14px;background:none;border:none;text-align:left;cursor:pointer;color:#e7ebf4;font-family:inherit;-webkit-tap-highlight-color:transparent}.placement-card__body:active{opacity:.8}.placement-card__icon{font-size:24px;flex-shrink:0}.placement-card__text{display:flex;flex-direction:column;gap:2px;flex:1}.placement-card__title{font-size:15px;font-weight:700}.placement-card__sub{font-size:12.5px;color:#fff9}.placement-card__chev{font-size:18px;color:#3edbd3;flex-shrink:0}.resume-exam-banner{display:block;width:100%;margin:0 0 12px;padding:12px 14px;text-align:left;cursor:pointer;border-radius:14px;border:1px solid rgba(123,224,200,.4);background:#7be0c814;color:#e7ebf4;-webkit-tap-highlight-color:transparent}.resume-exam-banner:active{opacity:.7}.resume-exam-row{display:flex;align-items:center;gap:12px}.resume-exam-icon{font-size:22px;line-height:1}.resume-exam-body{flex:1;min-width:0}.resume-exam-title{font-size:.95rem;font-weight:700;color:#c9f3e3;margin-bottom:2px}.resume-exam-meta{font-size:.76rem;color:#ffffff8c}.resume-exam-chev{font-size:1.1rem;color:#7be0c8b3}.progress-page{padding:16px 16px 80px}.progress-page h1{font-size:20px;margin:0 0 16px;color:var(--tg-theme-text-color, #000)}.progress-page h2{font-size:15px;margin:0 0 10px;color:var(--tg-theme-text-color, #000)}.donut-section{margin:var(--home-card-gap, 12px) 0}.donut-section h2{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--home-card-dim, #9aa1b3);margin:0 0 8px 2px;line-height:1}.donut-container{position:relative;display:flex;align-items:center;gap:16px;padding:12px 14px;color:var(--home-card-text, #e7ebf4);background:radial-gradient(140% 100% at 100% 0%,rgba(123,224,200,.05),transparent 55%),linear-gradient(155deg,var(--home-card-bg-s, #131829) 0%,var(--home-card-bg-e, #1a1330) 100%);border:1px solid var(--home-card-line, rgba(255, 255, 255, .07));border-radius:16px;box-shadow:inset 0 1px #ffffff08,0 12px 24px -20px #0000008c;overflow:hidden}.donut-svg{width:100px;height:100px;flex-shrink:0;transform:rotate(-90deg)}.donut-segment{transition:stroke-dasharray .5s ease}.donut-number{font-size:6px;font-weight:700;fill:var(--tg-theme-text-color, #000);transform:rotate(90deg);transform-origin:18px 18px}.donut-label{font-size:2.5px;fill:var(--tg-theme-hint-color, #999);transform:rotate(90deg);transform-origin:18px 18px}.donut-legend{display:flex;flex-direction:column;gap:6px}.donut-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tg-theme-text-color, #333)}.donut-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.donut-value{margin-left:auto;font-weight:600;color:var(--tg-theme-text-color, #000)}:root{--home-card-gap: 12px;--home-card-bg-s: #131829;--home-card-bg-e: #1a1330;--home-card-line: rgba(255, 255, 255, .07);--home-card-text: #e7ebf4;--home-card-dim: #9aa1b3;--home-card-muted: rgba(255, 255, 255, .42)}.stats-section,.calendar-section{position:relative;margin:var(--home-card-gap) 0;padding:12px 14px;color:var(--home-card-text);background:radial-gradient(140% 100% at 100% 0%,rgba(123,224,200,.05),transparent 55%),linear-gradient(155deg,var(--home-card-bg-s) 0%,var(--home-card-bg-e) 100%);border:1px solid var(--home-card-line);border-radius:16px;box-shadow:inset 0 1px #ffffff08,0 12px 24px -20px #0000008c;overflow:hidden}.stats-section h2,.calendar-section h2{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--home-card-dim);margin:0 0 10px;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stat-item{background:#ffffff06;border:1px solid var(--home-card-line);border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.stat-icon{font-size:13px;line-height:1;opacity:.7}.stat-val{font-size:17px;font-weight:700;color:var(--home-card-text);line-height:1.1;font-variant-numeric:tabular-nums}.stat-lbl{font-size:9.5px;letter-spacing:.04em;color:var(--home-card-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.calendar-hint{display:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekday{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--home-card-muted);padding-bottom:2px;letter-spacing:.04em}.calendar-weekday.weekend{color:#ff7591b3}.calendar-day{height:26px;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:5px;background:#ffffff09;color:var(--home-card-muted);font-variant-numeric:tabular-nums}.calendar-day.weekend{opacity:.7}.calendar-day.empty{background:transparent;border:none}.calendar-day.active{background:#7be0c82e;border:1px solid rgba(123,224,200,.45);color:#c9f3e3;font-weight:600}.calendar-day.active.weekend{background:#7be0c824}.reset-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--tg-theme-secondary-bg-color, #333);text-align:center}.reset-btn{background:transparent;color:#e53935;border:1px solid #e53935;border-radius:12px;padding:12px 24px;font-size:14px;cursor:pointer;width:100%}.reset-btn:active{background:#e5393520}.graph-page{padding:16px;max-width:800px;margin:0 auto}.graph-back{background:none;border:1px solid #444;color:inherit;padding:4px 12px;margin-bottom:12px;border-radius:6px;cursor:pointer}.graph-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0;padding:12px;background:#ffffff0d;border-radius:8px;font-size:.85em}.graph-search{width:100%;padding:10px 12px;font-size:16px;margin:12px 0;border-radius:6px;border:1px solid #444;background:#0003;color:inherit;box-sizing:border-box}.graph-list{list-style:none;padding:0}.graph-list li{padding:8px 12px;margin:4px 0;background:#ffffff0a;border-radius:6px;cursor:pointer}.graph-list li:hover{background:#ffffff14}.pos{color:#888;font-size:.85em}.en{color:#aaa}.link{color:#5cf;cursor:pointer;text-decoration:underline dotted}.graph-categories{margin-top:16px}.graph-category{margin-bottom:24px}.graph-category h3{font-size:.95em;color:#aaa;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.05em}.graph-readiness{margin:12px 0;padding:14px;background:radial-gradient(at top left,rgba(94,236,170,.06),transparent 60%),linear-gradient(135deg,#1a1f2e,#1f1a2e);border-radius:14px;border:1px solid rgba(255,255,255,.06)}.graph-readiness h3{margin:0 0 6px;font-size:1.1em}.readiness-score{color:#5eecaa;font-weight:700}.readiness-meta{color:var(--tg-theme-hint-color, #888);font-size:.85em;margin:0 0 12px}.graph-readiness h4{margin:0 0 8px;font-size:11px;color:var(--tg-theme-hint-color, #888);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.graph-practice-cta{margin-top:12px;background:linear-gradient(135deg,#5eecaa2e,#5ec8ec2e);color:var(--tg-theme-text-color, #fff);border:1px solid rgba(94,236,170,.3);padding:10px 16px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;width:100%;transition:background .15s,transform .05s}.graph-practice-cta:hover{background:linear-gradient(135deg,#5eecaa47,#5ec8ec47)}.graph-practice-cta:active{transform:scale(.985)}.weak-spots-title{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--tg-theme-hint-color, #888);text-transform:uppercase;letter-spacing:.08em}.weak-spots-list{display:flex;flex-direction:column;gap:6px}.weak-spot{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff08;text-align:left;width:100%}.weak-spot--red{border-left-color:#ff6b8e}.weak-spot--amber{border-left-color:#ffb84e}.weak-spot--green{border-left-color:#5eecaa}.weak-spot-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}.weak-spot-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.weak-spot-label{font-size:14px;font-weight:600;color:var(--tg-theme-text-color, #fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.weak-spot-bar{width:100%;height:4px;background:#ffffff14;border-radius:3px;overflow:hidden}.weak-spot-fill{height:100%;border-radius:3px;transition:width .5s ease}.weak-spot--red .weak-spot-fill{background:#ff6b8e}.weak-spot--amber .weak-spot-fill{background:#ffb84e}.weak-spot--green .weak-spot-fill{background:#5eecaa}.weak-spot-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tg-theme-hint-color, #888)}.weak-spot-pct{font-weight:600;font-variant-numeric:tabular-nums}.weak-spot--red .weak-spot-pct{color:#ffb8c5}.weak-spot--amber .weak-spot-pct{color:#ffd99e}.weak-spot--green .weak-spot-pct{color:#b8f3d4}.weak-spot-sep{opacity:.45}.weak-spot-cat{margin-left:auto;text-transform:uppercase;font-size:9px;letter-spacing:.05em;opacity:.7}.weak-spot-arrow{font-size:22px;color:var(--tg-theme-hint-color, #666);flex-shrink:0;line-height:1}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:var(--z-modal)}.confetti-piece{position:absolute;top:-20px;opacity:0;animation:confetti-fall ease-out forwards}.confetti-circle{border-radius:50%}.confetti-strip{border-radius:2px}@keyframes confetti-fall{0%{opacity:1;top:-5%;transform:translate(0) rotate(0) scale(1)}25%{opacity:1}to{opacity:0;top:105%;transform:translate(calc((var(--r, 1) - .5) * 200px)) rotate(720deg) scale(.4)}}.confetti-piece:nth-child(odd){--r: .2}.confetti-piece:nth-child(2n){--r: .8}.confetti-piece:nth-child(3n){--r: .4}.confetti-piece:nth-child(3n+1){--r: .6}.confetti-piece:nth-child(5n){--r: .1}.confetti-piece:nth-child(5n+2){--r: .9}.confetti-piece:nth-child(7n){--r: .3}.confetti-piece:nth-child(7n+3){--r: .7}.card-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#ffffff1f;font-size:11px;line-height:1.4;letter-spacing:.02em;color:#ffffffc7}.card-type-badge-icon{font-size:12px}.card-type-badge-label{font-weight:500}.card-type-badge[data-type=listening_mc],.card-type-badge[data-type=reading_mc],.card-type-badge[data-type=phrase_template]{background:#60a5fa2e;color:#93c5fd}.review-page{padding:16px 16px 80px;min-height:calc(100dvh - 96px);display:flex;flex-direction:column}.review-header{margin-bottom:16px;padding-top:8px;position:relative}.review-tip{font-size:12px;color:var(--tg-theme-link-color, #1a73e8);margin-top:8px;padding:8px 12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center}.review-tip:active{opacity:.7}.flashcard{background:var(--tg-theme-secondary-bg-color, #fff);border-radius:16px;padding:24px 20px;min-height:200px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:box-shadow .2s;flex:1;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}.flashcard:not(.revealed):active{box-shadow:0 1px 4px #0000001f}.flashcard-front{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.flashcard-lesson{font-size:11px;color:var(--tg-theme-hint-color, #999);text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:16px}.flashcard-text{font-size:36px;font-weight:700;color:var(--tg-theme-text-color, #000);line-height:1.3}.flashcard-hint{font-size:13px;color:var(--tg-theme-hint-color, #aaa);margin-top:20px}.flashcard-divider{width:40px;height:2px;background:var(--tg-theme-hint-color, #ddd);opacity:.3;margin:16px auto;border-radius:1px}.flashcard-back{animation:fadeIn .2s ease}.back-text{font-size:16px!important;font-weight:400!important;color:var(--tg-theme-text-color, #333);line-height:1.6!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rating-buttons{display:flex;gap:8px;margin-top:16px;animation:fadeIn .2s ease}.rate-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border:none;border-radius:12px;cursor:pointer;transition:transform .1s,opacity .2s;-webkit-tap-highlight-color:transparent}.rate-btn:active{transform:scale(.95);opacity:.8}.rate-btn.again{background:#ffebee}.rate-btn.hard{background:#fff3e0}.rate-btn.good{background:#e8f5e9}.rate-btn.easy{background:#e3f2fd}.rate-emoji{font-size:24px}.rate-label{font-size:11px;font-weight:600;color:#333}.rate-interval{font-size:9px;color:#666;margin-top:2px}.review-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:safe center;text-align:center;padding:32px 20px;gap:4px;overflow-y:auto;animation:doneSlideUp .5s ease}@keyframes doneSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.done-icon{font-size:72px;margin-bottom:12px;animation:donePulse .6s ease}@keyframes donePulse{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.review-done h2{font-size:28px;margin:0 0 4px;color:var(--tg-theme-text-color, #000);font-weight:700}.done-stat-main{font-size:15px;color:var(--tg-theme-hint-color, #999);margin:0 0 20px}.done-stats{display:flex;gap:18px;margin-bottom:16px;flex-wrap:wrap;justify-content:center}.done-nudge{display:inline-block;margin:0 0 18px;padding:6px 12px;border-radius:999px;font-size:.78rem;color:#c9f3e3;background:#7be0c814;border:1px solid rgba(123,224,200,.3)}.done-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.done-stat-num{font-size:24px;font-weight:700;color:var(--tg-theme-text-color, #000)}.done-stat-label{font-size:12px;color:var(--tg-theme-hint-color, #999)}.done-remaining{background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;padding:16px 20px;margin-bottom:20px;font-size:14px;color:var(--tg-theme-hint-color, #888);display:flex;flex-direction:column;align-items:center}.review-done .btn{width:100%;max-width:280px}.review-done .btn+.btn{margin-top:8px}.audio-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:none;background:var(--tg-theme-secondary-bg-color, #f0f0f0);font-size:22px;cursor:pointer;margin-top:12px;transition:transform .15s,opacity .15s;-webkit-tap-highlight-color:transparent}.audio-btn:active{transform:scale(.9)}.audio-btn.playing{opacity:.6;animation:pulse-audio 1s infinite}.audio-btn:disabled{cursor:default}@keyframes pulse-audio{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.rating-buttons.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-buttons .rate-btn{min-height:72px}.progress-bar-container{width:100%}.progress-split{display:flex;align-items:center;gap:0;margin-top:20px;position:relative}.progress-section{min-width:0}.progress-bar-track{position:relative;height:8px;background:var(--tg-theme-secondary-bg-color, #2c2c2e);border-radius:4px;overflow:hidden}.progress-section-daily .progress-bar-track,.progress-section-bonus .progress-bar-track{border-radius:4px}.progress-bar-fill{height:100%;border-radius:inherit;background:var(--tg-theme-button-color, #64ffda);transition:width .4s ease}.progress-bar-fill.gold-zone{background:linear-gradient(90deg,gold,orange);animation:gold-shimmer 1.5s ease infinite}@keyframes gold-shimmer{0%,to{opacity:1}50%{opacity:.7;filter:brightness(1.3)}}.progress-flag-divider{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;z-index:var(--z-overlay);font-size:14px;line-height:1;margin-top:-16px}.progress-labels{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:13px}.progress-count{color:var(--tg-theme-hint-color, #8e8e93);font-weight:500}.progress-count.gold-text{color:gold;font-weight:700;text-shadow:0 0 8px rgba(255,215,0,.4)}.progress-bonus{color:gold;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;animation:bonus-pulse 1s ease infinite}@keyframes bonus-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.flying-stars{position:fixed;top:50%;left:50%;pointer-events:none;z-index:var(--z-toast)}.flying-star{position:absolute;font-size:24px;animation:star-fly 1s ease-out forwards}.star-0{animation-delay:0s}.star-1{animation-delay:.15s}.star-2{animation-delay:.3s}@keyframes star-fly{0%{opacity:1;transform:translate(0) scale(.5)}50%{opacity:1;transform:translate(var(--dx, -40px),var(--dy, -80px)) scale(1.2)}to{opacity:0;transform:translate(var(--dx2, -60px),var(--dy2, -120px)) scale(.3)}}.star-0{--dx: -50px;--dy: -90px;--dx2: -70px;--dy2: -140px}.star-1{--dx: 10px;--dy: -100px;--dx2: 20px;--dy2: -150px}.star-2{--dx: 50px;--dy: -80px;--dx2: 70px;--dy2: -130px}.daily-goal-done .done-icon{font-size:64px;animation:trophy-bounce .6s ease-out}@keyframes trophy-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.daily-goal-buttons{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px;width:100%}.daily-goal-buttons .btn{width:100%}.daily-goal-buttons .btn-primary{font-size:18px;padding:16px}.card-action-buttons{display:flex;gap:10px;justify-content:center;margin-top:12px}.card-action-buttons .audio-btn{margin-top:0}.card-action-buttons .audio-btn.active{background:#ffffff1a;border:1px solid rgba(255,255,255,.22)}.explanation-block table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.82rem}.explanation-block th,.explanation-block td{padding:6px 8px;border:1px solid rgba(255,255,255,.15);text-align:left}.explanation-block th{background:#ffffff14;font-weight:600}.explanation-block h1,.explanation-block h2,.explanation-block h3,.explanation-block h4{font-size:.9rem;font-weight:600;margin:8px 0 4px}.explanation-block p{margin:4px 0}.explanation-block ul,.explanation-block ol{margin:4px 0;padding-left:20px}.explanation-block li{margin:2px 0}.explanation-block li p{margin:0;display:inline}.explanation-block li>p{margin:0!important;display:inline}.explanation-block li{margin:2px 0!important}.card-input-area{display:flex;flex-direction:column;gap:10px;margin-top:16px;animation:fadeIn .2s ease}.card-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid #64ffda;border-radius:12px;background:#0000004d;color:#fff;outline:none;box-sizing:border-box;transition:border-color .2s}.card-input::placeholder{color:#ffffff59}.card-input:focus{border-color:#a5ffea}.card-submit-btn{align-self:stretch;min-height:48px;font-size:16px;font-weight:600}.card-prompt{font-size:14px;color:var(--tg-theme-hint-color, #aaa);margin-top:12px;text-align:center}.fill-blank-text{font-size:24px!important;line-height:1.5!important}.blank-slot{display:inline-block;min-width:60px;border-bottom:3px solid #64ffda;color:#64ffda;font-weight:700;text-align:center;margin:0 4px;padding:0 8px}.choice-buttons{display:flex;flex-direction:column;gap:8px;margin-top:16px;animation:fadeIn .2s ease}.choice-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid rgba(255,255,255,.15);border-radius:12px;background:var(--tg-theme-secondary-bg-color, rgba(0, 0, 0, .2));color:var(--tg-theme-text-color, #fff);font-size:16px;cursor:pointer;transition:border-color .2s,background .2s,transform .1s;-webkit-tap-highlight-color:transparent;text-align:left}.choice-btn:active:not(:disabled){transform:scale(.97)}.choice-btn.correct{border-color:#4caf50;background:#4caf5026}.choice-btn.wrong{border-color:#f44336;background:#f4433626}.choice-btn:disabled{cursor:default}.choice-label{font-weight:700;color:var(--tg-theme-hint-color, #999);min-width:20px}.choice-text{flex:1}.choice-question{font-size:20px!important;text-align:left}.dialogue-lines{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;margin-bottom:8px}.dialogue-line{font-size:18px;line-height:1.5;color:var(--tg-theme-text-color, #fff);padding:8px 12px;background:#ffffff0d;border-radius:10px}.card-type-badge-wrap{display:flex;justify-content:center;margin-bottom:8px}.listening-card .listening-play-btn{font-size:18px;padding:12px 24px;margin:12px 0;border-radius:12px;border:2px solid rgba(96,165,250,.6);background:#60a5fa1f;color:#fff;cursor:pointer}.listening-card .listening-play-btn:disabled{opacity:.4;cursor:not-allowed}.listening-card .listening-transcript pre{white-space:pre-wrap;font-family:inherit;margin:8px 0;font-size:14px;opacity:.85}.reading-card .reading-passage{background:#ffffff0f;border-radius:8px;padding:12px;margin:8px 0;font-size:16px;line-height:1.5;white-space:pre-wrap}.reading-card .reading-explanation{margin-top:12px;padding:8px 12px;background:#22c55e1f;border-left:3px solid #22c55e;border-radius:4px}.review-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--tg-theme-hint-color, #888)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--tg-theme-link-color, #5288c1);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gc-joy-hud{position:relative;height:0;pointer-events:none}.gc-mascot{pointer-events:none;position:relative}.gc-mascot img{width:100%;height:100%;object-fit:contain}.gc-mascot-corner{position:absolute;top:-44px;right:-4px;z-index:var(--z-overlay)}.gc-mascot-pop{animation:gc-mascot-pop .32s ease-out}@keyframes gc-mascot-pop{0%{transform:scale(.7);opacity:.5}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.gc-streak{position:absolute;top:-8px;left:-4px;z-index:var(--z-overlay);display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;font-weight:700;font-size:14px;box-shadow:0 4px 12px #ef444459;pointer-events:none}.gc-streak-bump{animation:gc-streak-bump .36s ease-out}@keyframes gc-streak-bump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.flashcard.has-flip{perspective:1200px;background:transparent;box-shadow:none;padding:0}.flashcard.has-flip .flashcard-inner{position:relative;width:100%;display:grid;grid-template-areas:"stack";transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.flashcard.has-flip.revealed .flashcard-inner{transform:rotateY(180deg)}.flashcard.has-flip .flashcard-face{grid-area:stack;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:24px 20px;border-radius:16px;background:var(--tg-theme-secondary-bg-color, #1f2937);box-shadow:0 8px 24px #00000059;text-align:center;min-height:240px}.flashcard.has-flip .flashcard-back{transform:rotateY(180deg);animation:none}.flashcard.has-flip .flashcard-back-prompt{font-size:.95rem;color:#fff9;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);line-height:1.35}.flashcard.has-flip .flashcard-back-answer{flex:1}.explanation-block{max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.explanation-block>*{max-width:65ch;margin-left:auto;margin-right:auto}.explanation-block::-webkit-scrollbar{width:4px}.explanation-block::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:2px}.flashcard-glow{animation:gc-glow .7s ease-out}@keyframes gc-glow{0%{box-shadow:0 0 #6366f100}40%{box-shadow:0 0 24px #6366f18c}to{box-shadow:0 0 #6366f100}}@media(max-width:400px){.gc-mascot-corner{top:2px;right:2px}.gc-streak{top:6px;left:2px;font-size:13px;padding:5px 8px}}.btn-spinner{display:inline-block;width:14px;height:14px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:btn-spinner-rot .7s linear infinite}@keyframes btn-spinner-rot{to{transform:rotate(360deg)}}.listen-play-btn.loading,.listening-play-btn:disabled{opacity:.7;cursor:wait}.lessons-page{padding:0 16px 80px;overflow-x:hidden;max-width:100vw}.lessons-header{margin-top:12px;margin-bottom:16px}.lessons-header h2{font-size:22px;margin:0 0 4px}.lessons-subtitle{font-size:14px;color:var(--tg-theme-hint-color, #8e8e93);margin:0}.path-badge-wrap{margin-top:10px}.path-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#64ffda1f;border:1px solid rgba(100,255,218,.25);color:#64ffda;font-size:12px;font-weight:600}.path-recommendation-card{background:#64ffda14;border:1px solid rgba(100,255,218,.18);border-radius:12px;padding:12px 14px;margin-bottom:12px}.path-recommendation-title{font-size:14px;font-weight:700;color:var(--tg-theme-text-color, #fff);margin-bottom:4px}.path-recommendation-text{font-size:13px;line-height:1.4;color:var(--tg-theme-hint-color, #8e8e93)}.lessons-loading,.lessons-error{text-align:center;padding:60px 20px;color:var(--tg-theme-hint-color, #8e8e93);font-size:16px}.modules-list{overflow:hidden}.module-card{background:var(--tg-theme-secondary-bg-color, #1c1c1e);border-radius:12px;margin-bottom:8px;overflow:hidden;max-width:100%}.module-card.current{border-left:3px solid var(--tg-theme-button-color, #64ffda)}.module-card.completed{opacity:.7}.module-header{display:flex;align-items:center;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.module-header:active{opacity:.7}.module-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.module-level{font-size:11px;font-weight:600;color:var(--tg-theme-button-color, #64ffda);text-transform:uppercase;letter-spacing:1px}.module-title{font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #fff);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.module-progress{font-size:12px;color:var(--tg-theme-hint-color, #8e8e93)}.module-tag,.lesson-tag{display:inline-flex;align-items:center;margin-left:8px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.module-tag.optional,.lesson-tag.optional{background:#ffffff14;color:var(--tg-theme-hint-color, #8e8e93)}.module-chevron{font-size:22px;color:var(--tg-theme-hint-color, #8e8e93);transition:transform .2s;margin-left:8px}.module-chevron.expanded{transform:rotate(90deg)}.module-lessons{border-top:1px solid var(--tg-theme-bg-color, #000)}.lesson-row{display:flex;align-items:center;padding:12px 16px;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid rgba(255,255,255,.05);overflow:hidden}.lesson-row:last-child{border-bottom:none}.lesson-row:active{background:#ffffff0d}.lesson-row.current{background:#64ffda14}.lesson-row.completed{opacity:.6}.lesson-status{font-size:18px;min-width:28px;text-align:center}.lesson-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.lesson-num{font-size:12px;color:var(--tg-theme-hint-color, #8e8e93);display:inline-flex;align-items:center;flex-wrap:wrap}.lesson-topic{font-size:14px;color:var(--tg-theme-text-color, #fff);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lesson-row.locked{opacity:.5;cursor:default}.lesson-slides-btn{background:#64ffda1f;border:1px solid rgba(100,255,218,.25);color:#64ffda;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;cursor:pointer;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent}.lesson-slides-btn:active{background:#64ffda40}.lesson-jump-btn{background:linear-gradient(135deg,#3edbd333,#2196f333);border:1px solid rgba(62,219,211,.4);color:#bdf5ee;font-size:12px;font-weight:700;padding:4px 10px;border-radius:12px;cursor:pointer;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent}.lesson-jump-btn:active{background:#3edbd359}.lesson-jump-btn:disabled{opacity:.5;cursor:default}.card-list{padding:16px 16px 80px}.card-list h1{font-size:20px;margin:0 0 12px;color:var(--tg-theme-text-color, #000)}.search-bar{margin-bottom:10px}.search-input{width:100%;padding:10px 14px;border:none;border-radius:10px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000);font-size:15px;outline:none;box-sizing:border-box}.search-input::placeholder{color:var(--tg-theme-hint-color, #999)}.filter-tabs{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.type-filter-tabs{margin-bottom:16px}.filter-tab{padding:6px 12px;border:none;border-radius:16px;font-size:12px;font-weight:600;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-hint-color, #999);cursor:pointer;white-space:nowrap;transition:all .2s;-webkit-tap-highlight-color:transparent}.filter-tab.active{background:var(--tg-theme-button-color, #1a73e8);color:var(--tg-theme-button-text-color, #fff)}.lesson-group{margin-bottom:16px}.lesson-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lesson-group-title{font-size:13px;color:var(--tg-theme-hint-color, #999);text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin:0}.lesson-review-btn{padding:4px 10px;border:none;border-radius:12px;font-size:11px;font-weight:600;background:var(--tg-theme-button-color, #1a73e8);color:var(--tg-theme-button-text-color, #fff);cursor:pointer;-webkit-tap-highlight-color:transparent}.card-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--tg-theme-secondary-bg-color, #f8f8f8);border-radius:10px;margin-bottom:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s}.card-item.flipped{background:var(--tg-theme-button-color, #1a73e8)}.card-item.flipped .card-back-full,.card-item.flipped .card-interval{color:var(--tg-theme-button-text-color, #fff)}.card-item-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.card-front{font-size:16px;font-weight:600;color:var(--tg-theme-text-color, #000)}.card-back{font-size:12px;color:var(--tg-theme-hint-color, #999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-back-full{font-size:15px;font-weight:500;color:var(--tg-theme-button-text-color, #fff);white-space:pre-line}.card-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:8px}.card-type-badge{font-size:14px;line-height:1}.badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.badge-new{background:#e0e0e0;color:#666}.badge-learning{background:#fff3e0;color:#e65100}.badge-review{background:#e3f2fd;color:#1565c0}.badge-mastered{background:#e8f5e9;color:#2e7d32}.card-interval{font-size:10px;color:var(--tg-theme-hint-color, #999)}.empty-cards{text-align:center;padding:40px 16px;color:var(--tg-theme-hint-color, #999)}.empty-cards p{margin:4px 0}.card-list-footer{text-align:center;font-size:12px;color:var(--tg-theme-hint-color, #999);margin-top:16px}.word-order-assembly{min-height:48px;border:1.5px dashed rgba(100,255,218,.3);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;background:#64ffda0a}.word-order-placeholder{color:#ffffff4d;font-size:14px;align-self:center}.word-order-pool{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.word-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:20px;padding:6px 14px;font-size:15px;cursor:pointer;transition:background .15s}.word-chip:active{background:#ffffff2e}.word-chip.selected{background:#64ffda26;border-color:#64ffda66;color:#64ffda}.word-order-result{text-align:center;font-size:15px;padding:10px;border-radius:10px;margin:8px 0}.word-order-result.correct{background:#64ffda1f;color:#64ffda}.word-order-result.wrong{background:#ff50501f;color:#ff6b6b}.listen-play-btn{display:block;margin:12px auto;background:#64ffda1f;border:1.5px solid rgba(100,255,218,.4);color:#64ffda;border-radius:24px;padding:10px 28px;font-size:16px;cursor:pointer;transition:background .15s}.listen-play-btn:active{background:#64ffda40}.level-section{position:relative;margin:var(--home-card-gap, 12px) 0;padding:12px 14px;color:var(--home-card-text, #e7ebf4);background:radial-gradient(140% 100% at 100% 0%,rgba(123,224,200,.05),transparent 55%),linear-gradient(155deg,var(--home-card-bg-s, #131829) 0%,var(--home-card-bg-e, #1a1330) 100%);border:1px solid var(--home-card-line, rgba(255, 255, 255, .07));border-radius:16px;box-shadow:inset 0 1px #ffffff08,0 12px 24px -20px #0000008c;overflow:hidden}.level-section .level-info{color:var(--home-card-muted, rgba(255, 255, 255, .42))}.level-labels{display:flex;justify-content:space-between;margin-bottom:8px}.level-label{font-size:11px;color:var(--tg-theme-hint-color, #999);font-weight:600}.level-label.current{color:var(--tg-theme-button-color, #1a73e8)}.level-label.done{color:#4caf50}.level-bar-segmented{display:flex;gap:3px;margin-bottom:8px}.level-segment{min-width:0}.level-segment-track{height:6px;border-radius:3px;background:var(--tg-theme-bg-color, #e0e0e0);overflow:hidden}.level-segment-fill{height:100%;border-radius:3px;transition:width .5s ease}.level-segment-fill.active{background:var(--tg-theme-button-color, #1a73e8)}.level-segment-fill.completed{background:#4caf50}.level-info{font-size:12px;color:var(--tg-theme-hint-color, #999);text-align:center}.level-section,.level-section *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.catalog-page{display:flex;flex-direction:column;height:100%;overflow-x:hidden;max-width:100vw;padding:12px 14px 80px}.lesson-hero-section{margin-bottom:18px}.lesson-hero-eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c;margin:0 2px 8px}.lesson-hero{display:block;width:100%;text-align:left;padding:16px 18px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:radial-gradient(140% 100% at 100% 0%,rgba(123,224,200,.08),transparent 55%),linear-gradient(155deg,#131829,#1a1330);color:#e7ebf4;box-shadow:inset 0 1px #ffffff0a,0 12px 24px -20px #0000008c;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,box-shadow .2s ease}.lesson-hero:active{transform:scale(.99)}.lesson-hero-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.lesson-hero-num{font-size:.78rem;font-weight:700;color:#c9f3e3;letter-spacing:.04em}.lesson-hero-module{font-size:.72rem;color:#ffffff73;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-hero-title{font-size:1.1rem;font-weight:700;line-height:1.25;margin-bottom:14px;color:#fff}.lesson-hero-cta{display:inline-block;padding:8px 14px;border-radius:10px;background:#7be0c82e;border:1px solid rgba(123,224,200,.4);color:#c9f3e3;font-size:.88rem;font-weight:600}.lesson-hero--loading .lesson-hero-skel,.lesson-hero--empty{min-height:80px;opacity:.6}.lesson-hero--empty p{margin:0;font-size:.85rem}.lesson-browse{display:flex;flex-direction:column;gap:8px}.browse-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:#ffffff06;color:#e7ebf4;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.browse-toggle:active{opacity:.7}.browse-toggle.open{border-color:#7be0c840}.browse-toggle-meta{margin-left:auto;font-size:.78rem;font-weight:500;color:#ffffff6b}.browse-toggle-chev{font-size:.78rem;color:#ffffff6b;width:14px;text-align:center}.browse-panel{margin:4px 0 8px;padding:4px 0;border-radius:12px;background:#ffffff04}.settings-page{padding:16px;max-width:480px;margin:0 auto}.settings-page h1{font-size:1.4rem;letter-spacing:-.02em;color:var(--tg-theme-text-color, #fff);margin-bottom:20px}.settings-section{background:var(--tg-theme-secondary-bg-color, #16213e);border-radius:12px;padding:16px;margin-bottom:12px}.settings-section-title{font-size:.85rem;color:var(--tg-theme-hint-color, #8892b0);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.settings-row-label{color:var(--tg-theme-text-color, #ccd6f6);font-size:.95rem}.settings-select{background:var(--tg-theme-bg-color, #1a1a2e);color:var(--tg-theme-text-color, #fff);border:1px solid var(--tg-theme-hint-color, #2a2a4a);border-radius:8px;padding:8px 12px;font-size:.9rem;outline:none;min-width:140px}.settings-select:focus{border-color:var(--tg-theme-button-color, #64ffda)}.settings-toggle{position:relative;width:48px;height:26px;background:var(--tg-theme-hint-color, #2a2a4a);border-radius:13px;border:none;cursor:pointer;transition:background .2s;padding:0}.settings-toggle.active{background:var(--tg-theme-button-color, #64ffda)}.settings-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.settings-toggle.active:after{transform:translate(22px)}.settings-save-indicator{text-align:center;color:var(--tg-theme-button-color, #64ffda);font-size:.85rem;height:24px;line-height:24px;opacity:0;transition:opacity .3s}.settings-save-indicator.visible{opacity:1}.frequency-options{display:flex;flex-direction:column;gap:8px;width:100%}.frequency-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--tg-theme-bg-color, #1a1a2e);border:1px solid var(--tg-theme-hint-color, #2a2a4a);border-radius:8px;cursor:pointer;color:var(--tg-theme-text-color, #ccd6f6);font-size:.9rem;transition:border-color .2s}.frequency-option.selected{border-color:var(--tg-theme-button-color, #64ffda);color:var(--tg-theme-text-color, #fff)}.frequency-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--tg-theme-hint-color, #2a2a4a);display:flex;align-items:center;justify-content:center;flex-shrink:0}.frequency-option.selected .frequency-radio{border-color:var(--tg-theme-button-color, #64ffda)}.frequency-radio-inner{width:10px;height:10px;border-radius:50%;background:transparent}.frequency-option.selected .frequency-radio-inner{background:var(--tg-theme-button-color, #64ffda)}.settings-hint{color:var(--tg-theme-hint-color, #8892b0);font-size:.8rem;margin:8px 0 0}.tutorial{padding:16px 16px 80px;min-height:calc(100dvh - 96px);display:flex;flex-direction:column;align-items:center}.tutorial-dots{display:flex;gap:6px;margin-bottom:24px;margin-top:8px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--tg-theme-secondary-bg-color, #ddd);transition:all .2s}.tutorial-dot.active{background:var(--tg-theme-button-color, #1a73e8);width:20px;border-radius:4px}.tutorial-slide{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}.tutorial-emoji{font-size:56px;margin-bottom:16px}.tutorial-slide h2{font-size:22px;margin:0 0 10px;color:var(--tg-theme-text-color, #000)}.tutorial-text{font-size:15px;line-height:1.5;color:var(--tg-theme-text-color, #333);margin:0 0 16px}.tutorial-visual{background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.8;color:var(--tg-theme-text-color, #333);font-family:monospace;text-align:left;width:100%;box-sizing:border-box}.tutorial-actions{display:flex;gap:8px;width:100%;margin-top:20px}.tutorial-btn{flex:1}.tutorial-skip{background:none;border:none;color:var(--tg-theme-hint-color, #999);font-size:14px;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.slide-lesson{position:fixed;inset:0;background:#1a1a2e;display:flex;flex-direction:column;z-index:var(--z-modal)}.slide-content-area{flex:1;overflow:hidden;position:relative}.slide-inner{width:1080px;height:1920px;position:absolute;top:0;left:0;transform-origin:top left}.slide-inner.responsive{width:100%;height:100%;position:relative;overflow-y:auto;padding-top:max(56px,calc(var(--app-safe-area-top, 0px) + 12px));padding-bottom:60px}.slide-body{width:100%;height:100%}.greek-hl,.greek-word{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;background:#64ffda26;border:1.5px solid rgba(100,255,218,.5);border-radius:6px;padding:0 6px;margin:0 2px;overflow-wrap:anywhere;word-break:normal;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.greek-hl:active,.greek-word:active{background:#64ffda4d}.greek-hl.active,.greek-word.active{background:#64ffda66;border-color:#64ffda;animation:slide-greek-pulse 1.1s ease-in-out infinite}@keyframes slide-greek-pulse{0%,to{box-shadow:0 0 6px #64ffda59;background:#64ffda52}50%{box-shadow:0 0 18px #64ffdabf;background:#64ffda8c}}.slide-overlay-top{position:fixed;top:0;left:0;right:0;z-index:var(--z-modal);display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(var(--app-safe-area-top, env(safe-area-inset-top, 0px)) + 10px);background:linear-gradient(to bottom,rgba(0,0,0,.65) 0%,transparent 100%)}.slide-pause-btn{background:none;border:none;color:#fff;font-size:18px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent}.slide-speed-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;height:26px;min-width:40px;padding:0 8px;border-radius:13px;cursor:pointer;flex-shrink:0;margin-right:6px;-webkit-tap-highlight-color:transparent;transition:background .15s}.slide-speed-btn:active{background:#ffffff2e}.slide-progress-bar{flex:1;display:flex;gap:3px;align-items:center;height:3px}.slide-progress-segment{flex:1;height:3px;background:#ffffff40;border-radius:2px;overflow:hidden}.slide-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width .3s linear}.slide-time{color:#fffc;font-size:13px;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:32px;text-align:right}.slide-close-overlay-btn{background:none;border:none;color:#fff;font-size:20px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent}.slide-overlay-bottom{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 16px 24px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}.slide-nav-btn{background:#64ffda26;border:1px solid rgba(100,255,218,.3);color:#64ffda;font-size:22px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.slide-nav-btn:disabled{opacity:.3;cursor:default}.slide-nav-btn:active:not(:disabled){background:#64ffda4d}.slide-nav-dots{display:flex;gap:6px}.slide-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:background .2s}.slide-dot.active{background:#64ffda}.slide-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#8892b0;font-size:16px}.slide-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8892b0;font-size:16px;gap:16px}.slide-error button{background:#64ffda26;border:1px solid rgba(100,255,218,.3);color:#64ffda;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:14px}.slide-waiting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:14px;color:#ccd6f6}.slide-waiting-mascot{margin-bottom:4px}.slide-waiting-headline{margin:0;font-size:22px;font-weight:600;color:#ccd6f6}.slide-waiting-body{margin:0;max-width:320px;font-size:14px;line-height:1.5;color:#8892b0}.slide-waiting-status{margin-top:8px;font-size:13px;color:#64ffda;font-weight:500}.slide-waiting-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:#64ffda1f;border:1px solid rgba(100,255,218,.3);color:#64ffda;font-size:12px}.slide-waiting-actions{margin-top:16px;display:flex;gap:12px}.slide-waiting-btn{background:transparent;border:1px solid rgba(204,214,246,.25);color:#ccd6f6;padding:10px 22px;border-radius:10px;cursor:pointer;font-size:14px}.slide-waiting-btn.primary{background:#64ffda26;border-color:#64ffda66;color:#64ffda}.slide-reread-banner{position:absolute;top:0;left:0;right:0;z-index:var(--z-overlay);background:#64ffda1f;border-bottom:1px solid rgba(100,255,218,.25);color:#ccd6f6;font-size:12px;text-align:center;padding:6px 12px;pointer-events:none}.wa-root{display:flex;flex-direction:column;gap:12px;padding:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;margin:8px 0}.wa-eyebrow{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#64ffdad9;font-weight:600}.wa-prompt{font-size:1.05rem;line-height:1.35;color:#ffffffeb;text-align:center;padding:4px 0 8px}.wa-answer{min-height:56px;border:1.5px dashed rgba(100,255,218,.32);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;background:#64ffda0a;transition:border-color .2s,background .2s}.wa-answer--correct{border-color:#64ffb28c;background:#64ffb21a;animation:wa-pulse-good .45s ease-out}.wa-answer--almost{border-color:#ffd7648c;background:#ffd7641a}.wa-answer--wrong{border-color:#ff646499;background:#ff64641a;animation:wa-shake .35s ease-out}@keyframes wa-pulse-good{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes wa-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.wa-placeholder{color:#ffffff52;font-size:14px;align-self:center;margin:0 auto}.wa-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.wa-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:22px;padding:10px 16px;font-size:16px;line-height:1.1;min-height:44px;cursor:pointer;transition:background .15s,transform .1s,border-color .15s;font-family:inherit;font-weight:500}.wa-chip:active:not(:disabled){transform:scale(.96);background:#ffffff2e}.wa-chip:disabled{opacity:.7;cursor:default}.wa-chip--placed{background:#64ffda2e;border-color:#64ffda73;color:#b6fff0}.wa-actions{display:flex;gap:10px;margin-top:4px}.wa-btn{flex:1;border-radius:14px;border:none;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;min-height:44px;transition:opacity .15s,transform .1s;font-family:inherit}.wa-btn:disabled{opacity:.4;cursor:default}.wa-btn:not(:disabled):active{transform:scale(.97)}.wa-btn--secondary{background:#ffffff14;color:#ffffffd9;border:1px solid rgba(255,255,255,.15);flex:0 1 auto;min-width:120px}.wa-btn--primary{background:linear-gradient(135deg,#64ffda,#4bd6b8);color:#062421}.wa-verdict{text-align:center;font-size:15px;padding:12px 14px;border-radius:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:6px}.wa-verdict--correct{background:#64ffb21f;color:#74ffb0}.wa-verdict--almost{background:#ffd7641f;color:#ffd864}.wa-verdict--wrong{background:#ff64641f;color:#ff7b7b}.wa-verdict--locked{background:#ffffff0d;color:#ffffff8c;font-weight:500;font-style:italic}.wa-correct{margin-top:2px;font-size:16px;font-weight:700;color:#fff;letter-spacing:.01em}.pte-root{display:flex;flex-direction:column;width:100%;max-width:560px;gap:12px;text-align:left}.pte-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6}.pte-prompt{font-size:1.25em;font-weight:600;padding:12px 14px;background:#ffffff0a;border-radius:8px;white-space:pre-wrap}.pte-input{width:100%;min-height:80px;padding:10px 12px;font-size:1.05em;font-family:inherit;background:#ffffff0f;color:inherit;border:1px solid rgba(255,255,255,.15);border-radius:8px;resize:vertical;box-sizing:border-box}.pte-input:focus{outline:none;border-color:#5cf}.pte-input:disabled{opacity:.7}.pte-submit{align-self:flex-start;background:#5cf;color:#000;border:none;padding:10px 22px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer}.pte-submit:disabled{opacity:.5;cursor:not-allowed}.pte-error{color:#f55;padding:8px 12px;background:#ff505014;border-radius:6px}.pte-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;font-size:1.15em;font-weight:700}.pte-banner-icon{font-size:1.4em}.pte-banner-correct{background:#3cb45a2e;color:#6fdc8c}.pte-banner-minor{background:#e6aa282e;color:#f0c365}.pte-banner-wrong{background:#dc46462e;color:#ff7e7e}.pte-banner-garbled{background:#a0a0a02e;color:#ccc}.pte-reasoning{font-style:italic;color:#bbb;padding:0 4px;font-size:.95em}.pte-violations{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.pte-violation{background:#ffffff0a;border-left:3px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:6px}.pte-violation-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.9em}.pte-violation-type{font-weight:600;color:#f0c365}.pte-violation-node{background:#5cccff1a;color:#5cf;border:1px solid rgba(92,204,255,.35);padding:2px 8px;border-radius:4px;font-family:ui-monospace,monospace;font-size:.85em;cursor:pointer}.pte-violation-node:hover{background:#5cccff38}.pte-violation-conf{font-size:.8em;color:#888;margin-left:auto}.pte-conf-high{color:#6fdc8c}.pte-conf-medium{color:#f0c365}.pte-conf-low{color:#999}.pte-violation-evidence{margin-top:4px;color:#ccc;font-size:.92em}.pte-expected{background:#ffffff08;border-radius:6px;padding:6px 10px}.pte-expected summary{cursor:pointer;color:#5cf;font-size:.95em;padding:4px 0}.pte-expected-text{margin-top:6px;padding:8px 4px;white-space:pre-wrap;color:#ddd}.pte-meta{text-align:right;color:#666;font-size:.75em}.pte-rate-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.pte-rate{padding:12px;border-radius:8px;border:none;cursor:pointer;font-size:.95em;font-weight:600;color:#fff}.pte-rate-again{background:#d33}.pte-rate-good{background:#393}.pte-choices{display:flex;flex-direction:column;gap:8px}.pte-choice{text-align:left;padding:12px 14px;background:#ffffff0f;color:inherit;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:1em;font-family:inherit;cursor:pointer}.pte-choice:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.pte-choice:disabled{cursor:default}.pte-choice.correct{background:#3cb45a33;border-color:#3cb45a8c;color:#6fdc8c}.pte-choice.wrong{background:#dc46462e;border-color:#dc464680;color:#ff7e7e}.gp-page{padding:16px;max-width:600px;margin:0 auto;position:relative;min-height:80vh;display:flex;flex-direction:column}.gp-close{position:absolute;top:8px;right:8px;background:#ffffff0d;border:none;color:inherit;font-size:20px;padding:6px 12px;border-radius:6px;cursor:pointer}.gp-header{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px;margin-bottom:16px}.gp-session{color:#888;font-size:.85em}.gp-target{margin-top:4px}.gp-target-label{font-weight:700}.gp-target-score{color:#5cf;margin-left:8px}.gp-target-meta{color:#888;font-size:.85em;margin-left:8px}.gp-card-area{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center}.gp-card-front{font-size:1.4em;margin-bottom:24px;white-space:pre-wrap}.gp-card-back{font-size:1em;color:#ccc;margin:16px 0;white-space:pre-wrap;background:#ffffff08;padding:16px;border-radius:8px}.gp-reveal{background:#5cf;color:#000;border:none;padding:12px 28px;border-radius:8px;font-size:1em;cursor:pointer}.gp-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-top:24px}.gp-rate{padding:12px;border-radius:8px;border:none;cursor:pointer;font-size:.95em;font-weight:600}.gp-rate-1{background:#d33;color:#fff}.gp-rate-2{background:#d80;color:#fff}.gp-rate-3{background:#393;color:#fff}.gp-rate-4{background:#07c;color:#fff}.gp-footer{margin-top:16px;text-align:center;color:#666;font-size:.8em}.gp-error{color:#f55;text-align:center;padding:24px}.gp-loading{text-align:center;padding:40px;color:#888}.ex-page{position:fixed;inset:0;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 0% 0%,rgba(123,224,200,.06),transparent 60%),radial-gradient(80% 60% at 100% 100%,rgba(255,145,180,.05),transparent 60%),linear-gradient(180deg,#131829,#1a1330);color:#e7ebf4;z-index:var(--z-modal);overflow:hidden;padding-top:var(--app-safe-area-top, 0)}.ex-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.ex-resume-toast{position:absolute;top:calc(var(--app-safe-area-top, 0px) + 10px);left:50%;transform:translate(-50%);background:#7be0c82e;border:1px solid rgba(123,224,200,.4);color:#d6f5ea;padding:8px 14px;border-radius:999px;font-size:.85em;z-index:var(--z-toast);animation:ex-resume-fade 4s ease forwards;pointer-events:none}@keyframes ex-resume-fade{0%{opacity:0;transform:translate(-50%,-8px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-8px)}}.ex-section-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9aa1b3;font-weight:600}.ex-section-label .ex-section-progress{margin-left:8px;color:#e7ebf4;font-variant-numeric:tabular-nums}.ex-timer{font-size:13px;font-variant-numeric:tabular-nums;color:#9aa1b3;padding:3px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#0000002e}.ex-timer.ex-timer--soft-overdue{color:#ffc66d;border-color:#ffc66d4d}.ex-progress-bar{position:relative;height:4px;background:#ffffff0f;overflow:hidden}.ex-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7be0c8,#ffc66d);transition:width .25s ease-out}.ex-body{flex:1;overflow-y:auto;padding:22px 18px 8px;display:flex;flex-direction:column;gap:14px}.ex-intro{max-width:560px;margin:30px auto;padding:24px 22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,#ffffff08,#ffffff03);display:flex;flex-direction:column;gap:14px}.ex-intro-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#9aa1b3;font-weight:600}.ex-intro-title{font-size:22px;font-weight:700;line-height:1.2;margin:0}.ex-intro-blurb{font-size:14px;line-height:1.55;color:#b8c0d0;margin:0}.ex-intro-warning{margin:8px 0 0;padding:12px 14px;border:1px solid rgba(255,198,109,.25);background:#ffc66d0f;border-radius:10px;color:#ffd687;font-size:13px;line-height:1.55}.ex-intro-rules{list-style:none;padding:0;margin:4px 0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.ex-intro-rules li{padding-left:22px;position:relative;color:#c5cbdb}.ex-intro-rules li:before{content:"·";position:absolute;left:8px;top:-1px;color:#7be0c8;font-weight:700}.ex-intro-cta-row{display:flex;gap:10px;margin-top:8px}.ex-btn-primary,.ex-btn-secondary,.ex-btn-decline{appearance:none;border:none;font-family:inherit;font-size:15px;font-weight:600;padding:13px 18px;border-radius:12px;cursor:pointer;transition:transform 80ms ease,background-color .12s ease}.ex-btn-primary{background:linear-gradient(135deg,#7be0c8,#5dd39e);color:#0a1018;flex:1}.ex-btn-primary:active{transform:scale(.98)}.ex-btn-secondary{background:#ffffff0d;color:#c5cbdb;border:1px solid rgba(255,255,255,.08)}.ex-btn-decline{background:#ffffff0a;color:#9aa1b3;border:1px solid rgba(255,255,255,.08);font-weight:500}.ex-btn-decline:hover{color:#c5cbdb}.ex-btn-primary[disabled],.ex-btn-decline[disabled]{opacity:.5;cursor:not-allowed}.ex-transition{margin:60px auto;max-width:420px;padding:30px 22px;text-align:center;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;border-radius:18px}.ex-transition-done{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:#7be0c8}.ex-transition-next{font-size:22px;font-weight:700}.ex-transition-hint{font-size:13px;color:#b8c0d0;margin-bottom:14px}.ex-question-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 16px 16px;display:flex;flex-direction:column;gap:12px}.ex-passage{padding:12px 14px;background:#ffffff08;border-left:3px solid rgba(123,224,200,.4);border-radius:8px;font-size:14.5px;line-height:1.55;color:#d8dcea;font-style:italic}.ex-transcript-inline{padding:12px 14px;background:#7be0c80f;border-left:3px solid rgba(123,224,200,.6);border-radius:8px;font-size:14.5px;line-height:1.6;color:#e7ebf4;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ex-prompt{font-size:16px;line-height:1.45;color:#e7ebf4;font-weight:500;white-space:pre-wrap}.ex-audio-row{display:flex;align-items:center;gap:10px}.ex-audio-btn{appearance:none;border:1px solid rgba(123,224,200,.3);background:#7be0c814;color:#7be0c8;font-size:14px;font-weight:600;padding:10px 16px;border-radius:12px;cursor:pointer}.ex-audio-btn[disabled]{opacity:.5;cursor:not-allowed}.ex-audio-hint{font-size:12px;color:#9aa1b3}.ex-options{display:flex;flex-direction:column;gap:8px;margin-top:4px}.ex-option{appearance:none;text-align:left;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#e7ebf4;font-family:inherit;font-size:15px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.ex-option:hover{background:#ffffff0f}.ex-option.selected{border-color:#7be0c899;background:#7be0c814}.ex-freeform-input{width:100%;font-family:inherit;font-size:15px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e7ebf4;resize:vertical;min-height:60px}.ex-freeform-input:focus{outline:none;border-color:#7be0c880}.ex-essay{display:flex;flex-direction:column;gap:10px}.ex-essay-prompt-ru{font-size:14px;line-height:1.45;color:#c8d1e1}.ex-essay-prompt-el{font-size:13px;color:#8a96aa;font-style:italic}.ex-essay-input{width:100%;font-family:inherit;font-size:15px;line-height:1.5;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e7ebf4;resize:vertical;min-height:200px}.ex-essay-input:focus{outline:none;border-color:#7be0c880}.ex-essay-counter{font-size:13px;font-variant-numeric:tabular-nums;color:#8a96aa}.ex-essay-counter--in-range{color:#7be0c8}.ex-essay-counter--under{color:#d97b6a}.ex-essay-counter--over{color:#d9b46a}.ex-essay-weight{opacity:.7}.ex-footer{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,rgba(10,16,24,.95) 30%);padding:16px 18px 22px;display:flex;gap:10px;border-top:1px solid rgba(255,255,255,.05)}.ex-summary{max-width:560px;margin:30px auto;display:flex;flex-direction:column;gap:18px}.ex-summary-hero{padding:26px 22px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:10px}.ex-summary-number{font-size:64px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.ex-summary-number.passed{color:#7be0c8}.ex-summary-number.failed{color:#ffc66d}.ex-summary-verdict{font-size:17px;font-weight:600}.ex-summary-verdict.passed{color:#7be0c8}.ex-summary-verdict.failed{color:#ffc66d}.ex-summary-meta{font-size:12px;color:#9aa1b3}.ex-summary-skills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ex-summary-skill{padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;display:flex;flex-direction:column;gap:4px}.ex-summary-skill-label{font-size:12px;color:#9aa1b3;text-transform:uppercase;letter-spacing:.1em}.ex-summary-skill-val{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.ex-summary-skill-bar{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.ex-summary-skill-fill{height:100%;background:#7be0c8;border-radius:2px}.ex-summary-skill-fill.red{background:#ff7591}.ex-summary-skill-fill.amber{background:#ffc66d}.ex-summary-skill-fill.green{background:#7be0c8}.ex-summary-weak{padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff05;display:flex;flex-direction:column;gap:8px}.ex-summary-weak-title{font-size:13px;font-weight:600;color:#c5cbdb;text-transform:uppercase;letter-spacing:.1em}.ex-summary-weak-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.04)}.ex-summary-weak-row:first-child{border-top:none}.ex-summary-weak-skill{font-size:14px;font-weight:600}.ex-summary-weak-score{font-size:13px;color:#9aa1b3;font-variant-numeric:tabular-nums}.ex-summary-by-comp{gap:4px}.ex-summary-comp-row{display:grid;grid-template-columns:1fr auto 80px auto;align-items:center;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.04)}.ex-summary-comp-row:first-of-type{border-top:none}.ex-summary-comp-label{font-size:13.5px;color:#e6e9f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-summary-comp-count{font-size:12px;color:#9aa1b3;font-variant-numeric:tabular-nums}.ex-summary-comp-bar{height:5px;background:#ffffff0f;border-radius:3px;overflow:hidden}.ex-summary-comp-fill{height:100%;border-radius:3px;transition:width .24s ease}.ex-summary-comp-fill.red{background:#ff6b6b}.ex-summary-comp-fill.amber{background:#ffc857}.ex-summary-comp-fill.green{background:#7be0c8}.ex-summary-comp-pct{font-size:12px;color:#c5cbdb;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.ex-loading{display:flex;align-items:center;justify-content:center;flex:1;color:#9aa1b3;font-size:14px}.ex-error{margin:30px auto;max-width:480px;padding:16px;border-radius:12px;background:#ff75911a;border:1px solid rgba(255,117,145,.3);color:#ff7591;font-size:14px}.ex-tf{display:flex;flex-direction:column;gap:10px;margin-top:12px}.ex-tf-row{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.ex-tf-text{font-size:15px;line-height:1.4;color:#e7ecf2}.ex-tf-buttons{display:flex;gap:8px}.ex-tf-btn{flex:1;padding:8px 12px;border-radius:8px;background:#ffffff0f;color:#c5cbdb;border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.ex-tf-btn:hover{background:#ffffff1a}.ex-tf-btn.selected.true{background:#7be0c833;color:#7be0c8;border-color:#7be0c8}.ex-tf-btn.selected.false{background:#ff759133;color:#ff7591;border-color:#ff7591}.ex-fillblank{display:flex;flex-direction:column;gap:12px;margin-top:12px}.ex-fillblank-row{display:flex;flex-direction:column;gap:4px}.ex-fillblank-label{font-size:13px;color:#c5cbdb;font-weight:500}.ex-fillblank-input{padding:11px 12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e7ecf2;font-size:16px;line-height:1.3;outline:none;width:100%;pointer-events:auto;-webkit-user-select:text;user-select:text;-webkit-appearance:none;appearance:none}.ex-fillblank-input::placeholder{color:#ffffff40}.ex-fillblank-input:focus{border-color:#7be0c8;background:#ffffff14}.ex-photo-match{margin:12px 0}.ex-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ex-photo-cell{position:relative;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);cursor:pointer;-webkit-tap-highlight-color:transparent}.ex-photo-cell.has-number{border-color:#7be0c880}.ex-photo-cell img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ex-photo-chip{position:absolute;bottom:6px;right:6px;min-width:28px;height:28px;padding:0 8px;border-radius:14px;border:none;background:#14192dd9;color:#c9f3e3;font-size:14px;font-weight:700;line-height:28px;text-align:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ex-photo-cell.has-number .ex-photo-chip{background:#7be0c8d9;color:#0c1326}.ex-photo-hint{margin-top:10px;font-size:12px;color:#ffffff8c;line-height:1.4}.ex-picture-describe{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px 0 4px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#7be0c80f,#7be0c805);border:1px solid rgba(123,224,200,.18)}.ex-picture-prompt{font-size:15px;font-weight:600;color:#c9f3e3;text-align:center;line-height:1.4}.ex-picture-image-wrap{width:100%;max-width:280px;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.ex-picture-image{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ex-picture-rubric{margin:4px 0 0;padding:0 0 0 18px;font-size:13.5px;line-height:1.5;color:#d8dcea;align-self:stretch}.ex-picture-rubric li{margin-bottom:2px}.trainer-hub{padding:16px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.trainer-hub__title{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}.trainer-hub__sub{font-size:.86rem;color:#ffffff8c;margin:0 0 20px;line-height:1.4}.trainer-card{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px;margin-bottom:12px;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .2s ease}.trainer-card--disabled{opacity:.55}.trainer-card--locked{cursor:default;background:linear-gradient(160deg,#ffffff0a,#1c1e24d9);border-color:#ffffff24}.trainer-card__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trainer-card__icon{font-size:1.4rem;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.trainer-card__name{font-size:1.05rem;font-weight:600;flex:1;color:var(--tg-theme-text-color, #fff)}.trainer-card__badge{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#ffffff0f;color:#ffffffa6}.trainer-card__badge--gold{background:linear-gradient(135deg,#ffd78233,#ff98002e);border:1px solid rgba(255,152,0,.4);color:#ffd782f2}.trainer-card__badge--soft{background:#3edbd31a;border:1px solid rgba(62,219,211,.25);color:#c9f3e3}.trainer-card__score{font-size:.74rem;color:#ffffff8c}.trainer-card__desc{font-size:.85rem;color:#fff9;margin:8px 0 0;line-height:1.4}.trainer-card__hint{font-size:.78rem;color:#ffd782cc;margin:8px 0 0}.trainer-card__diffs{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.trainer-diff{flex:1;min-width:95px;padding:12px 8px;font-size:.88rem;font-weight:600;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--tg-theme-text-color, #fff);cursor:pointer;position:relative;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease,border-color .15s ease}.trainer-diff:active:not(:disabled){transform:scale(.97)}.trainer-diff:disabled{opacity:.55;cursor:not-allowed}.trainer-diff--easy{border-color:#6fcf9773;background:#6fcf9714}.trainer-diff--medium{border-color:#f2c94c73;background:#f2c94c14}.trainer-diff--hard{border-color:#eb575773;background:#eb575714}.trainer-diff__soon{display:block;font-size:.65rem;font-weight:500;color:#ffffff73;margin-top:3px;letter-spacing:.03em;text-transform:uppercase}.trainer-history{margin-top:28px}.trainer-history__title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 10px;padding:0 4px}.trainer-history__list{list-style:none;padding:0;margin:0}.trainer-history__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-bottom:8px;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,border-color .15s ease}.trainer-history__row--clickable{cursor:pointer}.trainer-history__row--clickable:active{transform:scale(.99);border-color:#3edbd340}.trainer-history__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.trainer-history__title-line{font-size:.92rem;font-weight:600;color:var(--tg-theme-text-color, #fff);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.trainer-history__subtitle{font-size:.74rem;color:#ffffff8c;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-history__date{font-size:.7rem;color:#fff6;margin-top:2px}.trainer-history__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.trainer-history__score{font-weight:700;color:#3edbd3;font-variant-numeric:tabular-nums;font-size:1.05rem}.trainer-history__score-max{font-weight:500;color:#ffffff73;font-size:.72rem;margin-left:1px}.trainer-history__chevron{font-size:1.2rem;color:#ffffff4d;margin-left:2px}.trial-demo-link{display:block;width:100%;padding:10px 14px;margin:0 0 16px;background:#ffd7820f;border:1px dashed rgba(255,215,130,.35);border-radius:12px;color:#ffd782e6;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;text-align:center}.trial-demo-link:active{background:#ffd7821a}.trial-quota{display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#3edbd31a,#2196f30d);border:1px solid rgba(62,219,211,.22);border-radius:12px;padding:10px 14px;margin:12px 0 18px;font-size:.84rem;line-height:1.4}.trial-quota--exhausted{background:linear-gradient(135deg,#ff98001a,#eb57570d);border-color:#ff98004d}.trial-quota__icon{font-size:18px;flex-shrink:0;margin-top:1px}.trial-quota__body{flex:1;min-width:0}.trial-quota__label{color:#ffffffd9;font-weight:600}.trial-quota__countdown{color:#ffd782d9;font-size:.76rem;margin-top:2px}.trial-quota__upsell{color:#ffffff8c;font-size:.74rem;margin-top:4px}.trainer-history__sentinel{height:40px;display:flex;align-items:center;justify-content:center;font-size:.78rem;color:#ffffff73;margin-top:4px}.tsd{padding:16px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.tsd__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.tsd__back{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:18px;width:36px;height:36px;border-radius:18px;cursor:pointer;-webkit-tap-highlight-color:transparent}.tsd__head-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.tsd__head-mode{font-size:.78rem;color:#ffffffa6;letter-spacing:.02em}.tsd__head-date{font-size:.74rem;color:#ffffff73}.tsd__score{font-size:1.4rem;font-weight:700;color:#3edbd3;font-variant-numeric:tabular-nums}.tsd__score span{font-size:.74rem;font-weight:500;color:#ffffff80;margin-left:2px}.tsd__topic{margin-bottom:18px;padding:14px;background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px}.tsd__topic-title{font-size:1.1rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}.tsd__topic-desc{font-size:.86rem;color:#ffffffa6;margin:0;line-height:1.4}.tsd__section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;margin:0 0 10px;padding:0 2px}.tsd__body{margin-bottom:18px}.tsd__essay{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px;margin-bottom:10px}.tsd__essay-text{font-size:.95rem;line-height:1.5;margin:0 0 10px;white-space:pre-wrap}.tsd__essay-score{font-size:.78rem;color:#3edbd3d9;font-weight:600}.tsd__dialog{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.tsd-turn{display:flex;flex-direction:column;gap:4px}.tsd-turn--user{align-items:flex-end}.tsd-turn--bot{align-items:flex-start}.tsd-turn__role{font-size:.72rem;color:#ffffff73;padding:0 4px}.tsd-turn__bubble{max-width:86%;padding:10px 12px;border-radius:12px;background:#24262ed9;border:1px solid rgba(255,255,255,.06)}.tsd-turn--user .tsd-turn__bubble{background:linear-gradient(135deg,#3edbd329,#2196f31a);border-color:#3edbd34d}.tsd-turn__el{font-size:.95rem;margin:0 0 4px;color:#fff;line-height:1.4}.tsd-turn__ru{font-size:.82rem;margin:0;color:#ffffff9e;line-height:1.35}.tsd-turn__hint{font-size:.78rem;margin:6px 0 0;color:#ffd782cc}.tsd-turn__audio{width:100%;height:32px;margin-top:8px}.tsd-turn__score{font-size:.74rem;color:#3edbd3cc;margin-top:6px;font-weight:600}.tsd-turn__violations{list-style:none;margin:8px 0 0;padding:8px;background:#eb57571a;border:1px solid rgba(235,87,87,.25);border-radius:8px;font-size:.78rem;color:#ffc8c8e6}.tsd-turn__violations li{margin:0 0 4px}.tsd-turn__violations li:last-child{margin-bottom:0}.tsd-turn__violation-type{font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em;margin-right:2px}.tsd__feedback{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px;margin-bottom:12px}.tsd__feedback-text{font-size:.88rem;line-height:1.5;margin:0 0 10px;color:#ffffffd9}.tsd__feedback-subtitle{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;margin:10px 0 6px}.tsd__rubric{list-style:none;padding:0;margin:0 0 10px}.tsd__rubric-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem}.tsd__rubric-row:last-child{border-bottom:none}.tsd__rubric-score{font-weight:700;color:#3edbd3;font-variant-numeric:tabular-nums}.tsd__bullet-list{margin:0;padding-left:20px;font-size:.85rem;color:#ffffffd1}.tsd__bullet-list li{margin-bottom:4px}.tsd__bullet-list li:last-child{margin-bottom:0}.tsd__bullet-list em{font-style:italic;color:#7be0c8f2}.tsd__empty{font-size:.86rem;color:#ffffff73;text-align:center;padding:24px 16px}.tsd--loading,.tsd--error{text-align:center;padding:80px 20px}.tsd__spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 18px;animation:tsd-spin .8s linear infinite}@keyframes tsd-spin{to{transform:rotate(360deg)}}.tsd__hint{font-size:.85rem;color:#ffffff8c}.tsd__btn{padding:12px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffd9;font-size:.92rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;margin-top:18px}.tsd__add{margin:18px 0 8px}.tsd__add-btn{width:100%;padding:14px 18px;border-radius:12px;border:1px solid transparent;background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 18px #3edbd32e;transition:transform .1s ease,opacity .2s ease}.tsd__add-btn:active:not(:disabled){transform:scale(.98)}.tsd__add-btn:disabled{cursor:not-allowed;opacity:.75}.tsd__add-btn--done{background:#3edbd31a;border-color:#3edbd34d;color:#c9f3e3;box-shadow:none}.tsd__add-hint{margin:8px 4px 0;font-size:.78rem;color:#ffffff8c;line-height:1.4}.tsd__add-error{margin:8px 4px 0;font-size:.8rem;color:#eb5757f2}.placement{padding:calc(var(--app-safe-area-top, 0px) + 14px) 14px 96px;min-height:100dvh;max-width:560px;margin:0 auto;background:#0f1217;color:#fff;font-family:inherit}.placement__head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.placement__skip{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffa6;font-size:.78rem;padding:7px 12px;border-radius:999px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.placement__progress{flex:1;display:flex;align-items:center;gap:10px}.placement__progress-track{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.placement__progress-fill{height:100%;background:linear-gradient(90deg,#3edbd3,#2196f3);transition:width .2s ease}.placement__progress-text{font-size:.78rem;color:#ffffff8c;font-variant-numeric:tabular-nums;flex-shrink:0}.placement__qbody{margin-bottom:32px}.placement__context{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 18px;font-size:1.05rem;line-height:1.45;margin:0 0 16px;white-space:pre-wrap}.placement__prompt{font-size:.92rem;color:#ffffffd9;margin:0 0 18px;line-height:1.45}.placement__options{display:flex;flex-direction:column;gap:10px}.placement__option{text-align:left;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);color:#fff;-webkit-text-fill-color:#ffffff;font-size:1rem;font-family:inherit;line-height:1.35;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,border-color .15s ease,background .2s ease}.placement__option:active:not(:disabled){transform:scale(.98)}.placement__option:disabled{cursor:default}.placement__option--correct{background:linear-gradient(135deg,#6fcf974d,#3edbd326);border-color:#6fcf978c}.placement__option--wrong{background:linear-gradient(135deg,#eb57574d,#eb57571a);border-color:#eb57578c}.placement--result{text-align:center;padding-top:calc(var(--app-safe-area-top, 0px) + 12px);padding-left:12px;padding-right:12px}.placement__brand{display:inline-flex;align-items:baseline;gap:8px;margin:0 auto 10px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#3edbd31f,#ffd7821a);border:1px solid rgba(62,219,211,.3);box-shadow:0 4px 18px #3edbd31a}.placement__brand-name{font-size:14px;font-weight:700;letter-spacing:.2px;background:linear-gradient(90deg,#3edbd3,#ffd782);-webkit-background-clip:text;background-clip:text;color:transparent}.placement__brand-handle{font-size:11px;font-weight:600;color:#ffffff8c;letter-spacing:.3px}.placement__hero{position:relative;width:96px;height:96px;margin:0 auto 4px}.placement__hero-mascot{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 32px rgba(62,219,211,.3)) drop-shadow(0 0 40px rgba(255,215,130,.22));animation:placement-float 4s ease-in-out infinite}.placement__spark{position:absolute;font-size:16px;pointer-events:none;filter:drop-shadow(0 0 10px rgba(255,255,200,.7));animation:placement-twinkle 2.4s ease-in-out infinite}.placement__spark--1{top:0;left:-12px;animation-delay:0s}.placement__spark--2{top:14px;right:-10px;animation-delay:.8s;font-size:13px}.placement__spark--3{bottom:4px;left:-4px;animation-delay:1.6s;font-size:12px}@keyframes placement-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes placement-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.placement__badge{width:132px;height:132px;margin:2px auto 10px;border-radius:50%;background:conic-gradient(from 220deg,#3edbd3,#2196f3,#7b61ff,#3edbd3);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 6px #3edbd31a,0 24px 60px #3edbd34d;position:relative}.placement__badge:before{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1e2530,#11141b 60%,#0a0d12)}.placement__badge-level{position:relative;font-size:2.3rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff;background:linear-gradient(135deg,#6ff5ed,#4fa9ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}.placement__badge-caption{position:relative;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff9;line-height:1.2}.placement__result-sub{font-size:.86rem;color:#ffffffa6;margin:0 0 14px}.placement__breakdown{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px 18px;margin:0 auto 14px;max-width:360px;text-align:left}.placement__bar-row{margin-bottom:12px}.placement__bar-row:last-child{margin-bottom:0}.placement__bar-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;color:#fffc;margin-bottom:4px}.placement__bar-pct{font-weight:700;color:#3edbd3;font-variant-numeric:tabular-nums;font-size:.86rem}.placement__bar-track{height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden}.placement__bar-fill{height:100%;background:linear-gradient(90deg,#3edbd3,#2196f3);border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1)}.placement__lesson-card{background:linear-gradient(135deg,#3edbd31f,#2196f312);border:1px solid rgba(62,219,211,.28);border-radius:14px;padding:14px 18px;margin:0 auto 12px;max-width:360px;text-align:left}.placement__lesson-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.placement__lesson-label{font-size:.82rem;color:#ffffffa6}.placement__lesson-num{font-size:1.4rem;font-weight:800;color:#3edbd3;letter-spacing:-.01em}.placement__lesson-hint{margin:0;font-size:.76rem;color:#ffffff80;line-height:1.45}.placement__cefr{max-width:360px;margin:0 auto 12px;text-align:left;padding:0 4px}.placement__cefr-track{height:6px;background:#ffffff0f;border-radius:3px;position:relative;margin-bottom:8px}.placement__cefr-fill{height:100%;background:linear-gradient(90deg,#3edbd3,#2196f3,#7b61ff);border-radius:3px;transition:width .7s cubic-bezier(.16,1,.3,1)}.placement__cefr-dot{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #3edbd3;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #3edbd333,0 4px 14px #3edbd366;transition:left .7s cubic-bezier(.16,1,.3,1)}.placement__cefr-ticks{display:flex;justify-content:space-between;font-size:.66rem;color:#ffffff6b;font-weight:600;letter-spacing:.02em}.placement__cefr-tick--active{color:#3edbd3}.placement__cefr-caption{font-size:.78rem;color:#fff9;margin:10px 0 0;text-align:center}.placement__cefr-caption strong{color:#3edbd3;font-weight:700}.placement__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:360px;margin:0 auto 12px}.placement__stat{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 16px;text-align:left}.placement__stat-num{font-size:1.5rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#6ff5ed,#4fa9ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;line-height:1.1}.placement__stat-label{font-size:.74rem;color:#fff9;margin-top:4px;line-height:1.35}.placement__stat-bar{height:4px;background:#ffffff0f;border-radius:2px;margin:10px 0 6px;overflow:hidden}.placement__stat-bar-fill{height:100%;background:linear-gradient(90deg,#3edbd3,#2196f3);border-radius:2px}.placement__stat-foot{font-size:.68rem;color:#ffffff73}.placement__section-title{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;margin:0 0 12px}.placement__bar-meta{font-size:.68rem;color:#fff6;margin-top:3px;text-align:right}.placement__breakdown-summary{font-size:.78rem;color:#ffffffa6;margin:12px 0 0;line-height:1.5}.placement__breakdown-summary strong{color:#fff;font-weight:600}.placement__chart{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px 16px 16px;max-width:360px;margin:0 auto 12px;text-align:left}.placement__chart-svg{display:block;width:100%;height:90px;margin-bottom:6px}.placement__chart-caption{font-size:.7rem;color:#ffffff73;margin:0;line-height:1.4}.placement__cta-row{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:4px}.placement__btn--share{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#ffffffd9;width:100%;max-width:320px;font-weight:600}.placement__btn--share:active:not(:disabled){background:#ffffff14}.placement__btn{padding:14px 22px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .2s ease}.placement__btn:active:not(:disabled){transform:scale(.98)}.placement__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700;box-shadow:0 6px 18px #3edbd32e;width:100%;max-width:320px}.placement__btn--ghost{background:#ffffff0a;border-color:#ffffff1a;color:#ffffffd9}.placement--intro{text-align:center;padding-top:calc(var(--app-safe-area-top, 0px) + 14px);padding-left:16px;padding-right:16px;padding-bottom:24px}.placement__intro-hero{width:132px;height:132px;margin:10px auto 6px;filter:drop-shadow(0 12px 32px rgba(62,219,211,.28))}.placement__intro-mascot{width:100%;height:100%;object-fit:contain;animation:placement-float 4s ease-in-out infinite}.placement__intro-title{font-size:24px;font-weight:800;margin:6px 0;background:linear-gradient(90deg,#3edbd3,#ffd782);-webkit-background-clip:text;background-clip:text;color:transparent}.placement__intro-sub{font-size:14.5px;line-height:1.5;color:#ffffffc7;margin:0 auto 18px;max-width:340px}.placement__intro-note{font-size:12.5px;line-height:1.45;color:var(--tg-theme-hint-color, rgba(255, 255, 255, .5));margin:-10px auto 18px;max-width:340px}.placement__intro-list{list-style:none;padding:0;margin:0 auto 22px;text-align:left;max-width:340px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.45;color:#ffffffd1}.placement__intro-list li{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 12px}.placement__intro-list strong{color:#fff}.placement--intro .placement__btn{margin:8px auto 0}.placement--loading,.placement--error{text-align:center;padding-top:80px}.placement__spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 12px;animation:placement-spin .8s linear infinite}@keyframes placement-spin{to{transform:rotate(360deg)}}.placement--error h1{font-size:1.2rem;margin:0 0 10px}.placement--error p{color:#ffffff8c;margin:0 0 24px}.onb{min-height:100dvh;display:flex;flex-direction:column;align-items:stretch;padding:calc(var(--app-safe-area-top, 0px) + 16px) 18px calc(var(--app-safe-area-bottom, 0px) + 18px);color:#fff;text-align:center;font-family:inherit;background:radial-gradient(circle at 20% 0%,rgba(62,219,211,.1),transparent 50%),radial-gradient(circle at 80% 100%,rgba(255,215,130,.08),transparent 50%),#0f1217}.onb__skip{position:absolute;top:calc(var(--app-safe-area-top, 0px) + 16px);right:18px;background:none;border:none;color:#ffffff8c;font:600 13px inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:6px 8px}.onb__skip:active{opacity:.7}.onb__brand{display:inline-flex;align-items:baseline;gap:8px;align-self:center;padding:5px 12px;border-radius:999px;background:linear-gradient(135deg,#3edbd31f,#ffd7821a);border:1px solid rgba(62,219,211,.3);margin-bottom:12px}.onb__brand-name{font-size:12.5px;font-weight:700;letter-spacing:.2px;background:linear-gradient(90deg,#3edbd3,#ffd782);-webkit-background-clip:text;background-clip:text;color:transparent}.onb__brand-handle{font-size:10px;font-weight:600;color:#ffffff8c}.onb__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px}.onb__emoji{font-size:44px;line-height:1;margin-bottom:4px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.3))}.onb__mascot{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 12px 32px rgba(62,219,211,.28));animation:onb-float 4s ease-in-out infinite,onb-fade .45s ease-out;margin:4px 0 14px}.onb__title{font-size:24px;font-weight:800;margin:4px 0 8px;background:linear-gradient(90deg,#3edbd3,#ffd782);-webkit-background-clip:text;background-clip:text;color:transparent;animation:onb-fade .4s ease-out}.onb__body{font-size:15px;line-height:1.5;color:#fffc;margin:0 auto;max-width:360px;animation:onb-fade .5s ease-out}@keyframes onb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes onb-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onb__hello{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:10px 20px;font:600 15px inherit;color:#3edbd3;background:#3edbd314;border:1.5px solid rgba(62,219,211,.35);border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease,transform .1s ease;animation:onb-fade .5s ease-out}.onb__hello:active{background:#3edbd32e;transform:scale(.97)}.onb__hello-gloss{color:#ffffffa6;font-weight:400}.onb__dots{display:flex;gap:8px;justify-content:center;margin:18px 0 16px}.onb__dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:#ffffff38;cursor:pointer;transition:background .2s ease,width .2s ease;-webkit-tap-highlight-color:transparent}.onb__dot--active{width:22px;border-radius:4px;background:linear-gradient(90deg,#3edbd3,#2196f3)}.onb__cta{display:block;width:100%;max-width:360px;margin:0 auto;padding:14px 22px;font:700 16px inherit;color:#001b1a;border:none;border-radius:14px;background:linear-gradient(135deg,#3edbd3,#2196f3);box-shadow:0 8px 24px #3edbd340;cursor:pointer;transition:transform .1s ease;-webkit-tap-highlight-color:transparent}.onb__cta:active{transform:scale(.98)}.demo{padding:calc(var(--app-safe-area-top, 0px) + 12px) 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.demo__head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.demo__back{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffa6;width:32px;height:32px;border-radius:16px;cursor:pointer;font-size:18px;-webkit-tap-highlight-color:transparent}.demo__progress{flex:1;display:flex;flex-direction:column;gap:4px}.demo__progress-text{font-size:.72rem;color:#ffffff8c}.demo__progress-track{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.demo__progress-fill{height:100%;background:linear-gradient(90deg,#3edbd3,#2196f3);transition:width .2s ease}.demo__badge{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:#3edbd31a;color:#3edbd3;border:1px solid rgba(62,219,211,.25)}.demo__prompt{font-size:.78rem;color:#ffffff8c;margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.demo__ru{font-size:1.15rem;font-weight:600;margin:0 0 16px;color:var(--tg-theme-text-color, #fff);line-height:1.35}.demo__answer{min-height:56px;border:1px dashed rgba(255,255,255,.18);border-radius:12px;background:#ffffff05;padding:10px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;transition:border-color .15s ease,background .2s ease}.demo__answer--correct{background:#6fcf971a;border-color:#6fcf978c;border-style:solid}.demo__answer--wrong{background:#eb57571a;border-color:#eb57578c;border-style:solid}.demo__placeholder{color:#ffffff59;font-size:.82rem;padding:0 6px}.demo__pool{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.demo__chip{padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);color:#fff;-webkit-text-fill-color:#ffffff;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.demo__chip:active:not(:disabled){transform:scale(.95)}.demo__chip:disabled{opacity:.4;cursor:not-allowed}.demo__chip--picked{background:linear-gradient(135deg,#3edbd359,#2196f340);border-color:#3edbd38c}.demo__chip--used{display:none}.demo__expected{font-size:.84rem;color:#ffd782f2;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:10px;padding:10px 12px;margin-bottom:12px}.demo__expected strong{color:#fff}.demo__btn{width:100%;padding:14px 18px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;margin-bottom:10px;transition:transform .1s ease,opacity .2s ease}.demo__btn:active:not(:disabled){transform:scale(.98)}.demo__btn:disabled{opacity:.5;cursor:not-allowed}.demo__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;box-shadow:0 6px 18px #3edbd32e}.demo__btn--ghost{background:#ffffff0a;border-color:#ffffff1a;color:#ffffffb3}.demo--done{text-align:center;padding-top:calc(var(--app-safe-area-top, 0px) + 32px)}.demo__hero{width:120px;height:120px;margin:0 auto 12px}.demo__hero img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 32px rgba(62,219,211,.3))}.demo__title{font-size:1.4rem;font-weight:800;margin:0 0 6px}.demo__score{font-size:.92rem;color:#ffffffa6;margin:0 0 20px}.demo__hint{font-size:.86rem;color:#ffffffb3;line-height:1.5;margin:0 16px 24px}.showcase{position:fixed;inset:0;display:flex;background:#0a0d12;z-index:var(--z-modal);font-family:inherit;color:#fff}.showcase__sidebar{width:220px;flex-shrink:0;background:#0e1117f2;border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;padding:14px 10px 24px;transition:width .2s ease,padding .2s ease}.showcase__sidebar--collapsed{width:0;padding:0;overflow:hidden}.showcase__sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:0 6px 10px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:10px;font-size:.86rem;color:#ffffffd9}.showcase__close{background:none;border:none;color:#ffffff8c;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px}.showcase__close:hover{background:#ffffff0f}.showcase__group{margin-bottom:18px}.showcase__group-title{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin:0 6px 8px;font-weight:700}.showcase__item{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;color:#ffffffbf;font-size:.8rem;padding:8px 10px;border-radius:8px;cursor:pointer;margin-bottom:4px;line-height:1.35;font-family:inherit}.showcase__item:hover{background:#ffffff0d}.showcase__item--active{background:linear-gradient(135deg,#3edbd32e,#2196f31a);border-color:#3edbd34d;color:#fff}.showcase__toggle{position:absolute;top:50%;background:#24262ee6;border:1px solid rgba(255,255,255,.1);color:#ffffffbf;width:24px;height:64px;border-radius:0 8px 8px 0;cursor:pointer;transform:translateY(-50%);z-index:1;font-size:16px}.showcase__viewport{flex:1;overflow-y:auto;background:radial-gradient(circle at 50% -10%,rgba(62,219,211,.04),transparent 60%),#0d1117;-webkit-overflow-scrolling:touch}.showcase__viewport-inner{max-width:420px;margin:0 auto;min-height:100%;position:relative}.sentence-explainer{margin-top:10px}.sentence-explainer__toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:#fff;-webkit-text-fill-color:#ffffff;padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.sentence-explainer__toggle:active:not(:disabled){transform:scale(.97)}.sentence-explainer__toggle:disabled{opacity:.7;cursor:wait}.sentence-explainer__body{margin-top:10px;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:.84rem;line-height:1.45;color:#ffffffe0;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 4px 14px #0000002e}.sentence-explainer__body>*{max-width:65ch;margin-left:auto;margin-right:auto}.sentence-explainer__body p{margin:0 0 6px}.sentence-explainer__body strong{color:#fff}.sentence-explainer__body em{font-style:italic;opacity:.92}.sentence-explainer__body ul,.sentence-explainer__body ol{margin:4px 0 6px;padding-left:20px}.sentence-explainer__body li{margin-bottom:2px}.sentence-explainer__body h1,.sentence-explainer__body h2,.sentence-explainer__body h3,.sentence-explainer__body h4{font-size:.88rem;font-weight:700;margin:6px 0 2px;color:#fff}.sentence-explainer__error{margin-top:10px;padding:8px 12px;border-radius:8px;background:#eb57571a;border:1px solid rgba(235,87,87,.3);color:#ffc8c8f2;font-size:.82rem}.wse{padding:16px 16px 96px;max-width:640px;margin:0 auto;color:var(--tg-theme-text-color, #fff)}.wse--loading,.wse--error{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:80px;text-align:center}.wse__spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:#3edbd3;border-radius:50%;animation:wse-spin .8s linear infinite}@keyframes wse-spin{to{transform:rotate(360deg)}}.wse__topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.wse__exit{background:none;border:none;color:var(--tg-theme-hint-color, #8e8e93);font-size:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}.wse__progress{display:flex;gap:6px;flex:1}.wse__dot{width:100%;height:4px;border-radius:2px;background:#ffffff1f}.wse__dot--done{background:#3edbd3}.wse__dot--current{background:#3edbd380}.wse__topic{font-size:20px;font-weight:700;margin:0 0 6px}.wse__scenario{font-size:14px;color:var(--tg-theme-hint-color, #8e8e93);margin:0 0 20px;line-height:1.4}.wse__stage-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--tg-theme-hint-color, #8e8e93);margin:0 0 8px}.wse__idea{font-size:15px;font-weight:600;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#3edbd314;border:1px solid rgba(62,219,211,.18)}.wse__sentence{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;line-height:2}.wse__word{font-size:17px}.wse__slot{font-size:16px;font-weight:700;min-width:64px;padding:6px 12px;border-radius:10px;border:1.5px dashed rgba(62,219,211,.5);background:#3edbd30f;color:#bdf5ee;cursor:pointer;-webkit-tap-highlight-color:transparent}.wse__slot--filled{border-style:solid;background:linear-gradient(135deg,#3edbd333,#2196f333)}.wse__slot--active{border-color:#3edbd3;box-shadow:0 0 0 2px #3edbd34d}.wse__slot--empty-ph{color:#ffffff59;font-weight:400}.wse__options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.wse__opt{font-size:16px;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.wse__opt:active{background:#ffffff1a}.wse__feedback{padding:14px;border-radius:12px;margin-bottom:16px}.wse__feedback--ok{background:#6fcf971f;border:1px solid rgba(111,207,151,.3)}.wse__feedback--bad{background:#eb57571a;border:1px solid rgba(235,87,87,.28)}.wse__expected{font-size:14px;margin-top:6px}.wse__actions{display:flex;flex-direction:column;gap:10px}.wse__btn{width:100%;padding:14px;border-radius:12px;font-size:16px;font-weight:700;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.wse__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#04212b}.wse__btn--primary:disabled{opacity:.5;cursor:default}.wse__btn--ghost{background:#ffffff0f;color:var(--tg-theme-hint-color, #8e8e93)}.wse__hint{font-size:13px;color:var(--tg-theme-hint-color, #8e8e93)}.weasy{padding:12px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.weasy__topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.weasy__exit{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:15px;width:32px;height:32px;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.weasy__exit:active{transform:scale(.92)}.weasy__progress{display:flex;gap:6px;flex:1}.weasy__dot{height:6px;flex:1;border-radius:3px;background:#ffffff14;transition:background .2s ease}.weasy__dot--done{background:linear-gradient(90deg,#3edbd3,#2196f3)}.weasy__dot--current{background:#3edbd380}.weasy__topic{font-size:1.25rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;color:var(--tg-theme-text-color, #fff);line-height:1.25}.weasy__scenario{font-size:.86rem;color:#fff9;margin:0 0 20px;line-height:1.45}.weasy__stage{margin-top:12px}.weasy__stage-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 10px}.weasy__ideas{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.weasy__idea{text-align:left;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);color:var(--tg-theme-text-color, #fff);font-size:.95rem;font-family:inherit;line-height:1.35;cursor:pointer;transition:transform .1s ease,border-color .15s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.weasy__idea:active{transform:scale(.98)}.weasy__idea--picked{background:linear-gradient(135deg,#3edbd329,#2196f31a);border-color:#3edbd373;box-shadow:0 0 0 1px #3edbd333 inset}.weasy__chosen-idea{background:#3edbd324;border:1px solid rgba(62,219,211,.35);padding:12px 14px;border-radius:10px;font-size:.95rem;font-weight:500;color:#fff;margin:0 0 14px;line-height:1.35}.weasy__answer{min-height:56px;border:1px dashed rgba(255,255,255,.18);border-radius:12px;background:#ffffff05;padding:10px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.weasy__answer-placeholder{color:#ffffff59;font-size:.82rem;padding:0 6px}.weasy__pool{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.weasy__chip{padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);color:#fff;-webkit-text-fill-color:#ffffff;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.weasy__chip:active{transform:scale(.95)}.weasy__chip--chosen{background:linear-gradient(135deg,#3edbd359,#2196f340);border-color:#3edbd38c;color:#fff;-webkit-text-fill-color:#ffffff}.weasy__idea{-webkit-text-fill-color:var(--tg-theme-text-color, #fff)}.weasy__feedback{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:.88rem;line-height:1.4}.weasy__feedback p{margin:0 0 4px}.weasy__feedback--ok{background:#7be0c81a;border:1px solid rgba(123,224,200,.3);color:#c9f3e3}.weasy__feedback--bad{background:#ff98001a;border:1px solid rgba(255,152,0,.3);color:#ffd782f2}.weasy__expected{font-size:.8rem;margin-top:6px!important;opacity:.85}.weasy__explain{margin-top:10px}.weasy__explain-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:#fff;-webkit-text-fill-color:#ffffff;padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.weasy__explain-toggle:active:not(:disabled){transform:scale(.97)}.weasy__explain-toggle:disabled{opacity:.7;cursor:wait}.weasy__explain-body{margin-top:10px;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:.84rem;line-height:1.45;color:#ffffffe0;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.weasy__explain-body p{margin:0 0 6px}.weasy__explain-body strong{color:#fff}.weasy__explain-body em{font-style:italic;opacity:.92}.weasy__explain-body ul,.weasy__explain-body ol{margin:4px 0 6px;padding-left:20px}.weasy__explain-body li{margin-bottom:2px}.weasy__explain-body h1,.weasy__explain-body h2,.weasy__explain-body h3,.weasy__explain-body h4{font-size:.88rem;font-weight:700;margin:6px 0 2px;color:#fff}.weasy__explain-error{margin-top:10px;padding:8px 12px;border-radius:8px;background:#eb57571a;border:1px solid rgba(235,87,87,.3);color:#ffc8c8f2;font-size:.82rem}.weasy__actions{display:flex;gap:10px;margin-top:8px}.weasy__btn{flex:1;padding:14px 18px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .2s ease}.weasy__btn:active:not(:disabled){transform:scale(.98)}.weasy__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700;box-shadow:0 8px 24px #3edbd326}.weasy__btn--primary:disabled{background:#3edbd333;color:#ffffff73;cursor:not-allowed}.weasy__btn--ghost{background:#ffffff0a;border-color:#ffffff1a;color:#ffffffb3}.weasy--loading{text-align:center;padding:100px 20px}.weasy__spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 18px;animation:weasy-spin .8s linear infinite}@keyframes weasy-spin{to{transform:rotate(360deg)}}.weasy__hint{font-size:.85rem;color:#ffffff8c}.weasy--error{text-align:center;padding:80px 20px}.weasy--error .weasy__btn{margin-top:18px;max-width:200px}.wmed{padding:12px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.wmed__topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.wmed__exit{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:15px;width:32px;height:32px;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.wmed__exit:active{transform:scale(.92)}.wmed__progress{flex:1;text-align:right}.wmed__progress-text{font-size:.78rem;color:#ffffff8c;letter-spacing:.02em}.wmed__topic{font-size:1.25rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;color:var(--tg-theme-text-color, #fff);line-height:1.25}.wmed__scenario{font-size:.86rem;color:#fff9;margin:0 0 20px;line-height:1.45}.wmed__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 12px}.wmed__slots{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.wmed__slot{padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);transition:border-color .2s ease,background .2s ease}.wmed__slot--saved{border-color:#3edbd373;background:linear-gradient(160deg,#243c3aa6,#1c2a2cbf)}.wmed__slot-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.wmed__slot-num{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;background:#3edbd32e;border:1px solid rgba(62,219,211,.35);color:#c9f3e3;border-radius:12px;font-size:.75rem;font-weight:700}.wmed__slot-hint{flex:1;color:#fff;-webkit-text-fill-color:#ffffff;font-size:.92rem;line-height:1.35}.wmed__slot-tick{color:#3edbd3;font-size:1.05rem;font-weight:700}.wmed__slot-input{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#00000038;color:#fff;-webkit-text-fill-color:#ffffff;font-family:inherit;font-size:.95rem;line-height:1.4;resize:vertical;outline:none;transition:border-color .15s ease}.wmed__slot-input:focus{border-color:#3edbd38c}.wmed__slot-input::placeholder{color:#ffffff4d}.wmed__slot-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:10px}.wmed__slot-count{font-size:.74rem;color:#ffffff73}.wmed__slot-err{margin:8px 0 0;color:#ff9800f2;font-size:.82rem}.wmed__btn{padding:12px 18px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .2s ease}.wmed__btn:active:not(:disabled){transform:scale(.98)}.wmed__btn--small{padding:8px 14px;font-size:.85rem;background:#ffffff0f;border-color:#ffffff1a;color:#ffffffd9}.wmed__btn--small:disabled{opacity:.45;cursor:not-allowed}.wmed__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700;width:100%}.wmed__btn--primary:disabled{background:#3edbd333;color:#ffffff73;cursor:not-allowed}.wmed__btn--finish{margin-top:6px;padding:14px 18px}.wmed--loading,.wmed--error{text-align:center;padding:100px 20px}.wmed__spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 18px;animation:wmed-spin .8s linear infinite}@keyframes wmed-spin{to{transform:rotate(360deg)}}.wmed__hint{font-size:.85rem;color:#ffffff8c}.wmed__hint--center{text-align:center;margin-top:8px}.wmed--error .wmed__btn{margin-top:18px;max-width:200px}.whard{padding:12px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit}.whard__topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.whard__exit{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:15px;width:32px;height:32px;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.whard__exit:active{transform:scale(.92)}.whard__progress{flex:1;text-align:right}.whard__wc{font-size:.82rem;color:#ffffff8c;padding:5px 10px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.whard__wc--ok{color:#c9f3e3;background:#3edbd324;border-color:#3edbd366}.whard__topic{font-size:1.25rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;color:var(--tg-theme-text-color, #fff);line-height:1.25}.whard__scenario{font-size:.86rem;color:#fff9;margin:0 0 20px;line-height:1.45}.whard__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 12px}.whard__textarea{width:100%;box-sizing:border-box;min-height:240px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#24262ed9,#1c1e24d9);color:#fff;-webkit-text-fill-color:#ffffff;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;outline:none;margin-bottom:14px;transition:border-color .15s ease}.whard__textarea:focus{border-color:#3edbd38c}.whard__textarea::placeholder{color:#ffffff4d}.whard__err{margin:0 0 12px;color:#ff9800f2;font-size:.85rem}.whard__btn{padding:14px 18px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;width:100%;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .2s ease}.whard__btn:active:not(:disabled){transform:scale(.98)}.whard__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700}.whard__btn--primary:disabled{background:#3edbd333;color:#ffffff73;cursor:not-allowed}.whard--loading,.whard--error{text-align:center;padding:100px 20px}.whard__spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 18px;animation:whard-spin .8s linear infinite}@keyframes whard-spin{to{transform:rotate(360deg)}}.whard__hint{font-size:.85rem;color:#ffffff8c}.whard__hint--center{text-align:center;margin-top:8px}.whard--error .whard__btn{margin-top:18px;max-width:200px}.spk__chips{display:flex;flex-wrap:wrap;gap:6px}.spk__chip{padding:3px 9px;border-radius:10px;font-size:.92rem;font-weight:600;border:1px solid transparent;-webkit-text-fill-color:#ffffff}.spk__chip--ok{background:#3edbd32e;border-color:#3edbd373;color:#c9f3e3;-webkit-text-fill-color:#c9f3e3}.spk__chip--wrong{background:#ff60602e;border-color:#ff606073;color:#ffc8c8;-webkit-text-fill-color:#ffc8c8;text-decoration:line-through}.spk__chips-hint{margin:6px 4px 0;font-size:12px;line-height:1.4;color:#ffffff9e}.spk__chip-reasons{margin:8px 4px 0;padding:0;list-style:none;font-size:12.5px;line-height:1.45}.spk__chip-reasons li{display:flex;flex-wrap:wrap;gap:4px;padding:3px 0}.spk__chip-reason-token{color:#ffb4c0;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.spk__chip-reason-text{color:#ffffffc7}.spk__chip--has-reason{cursor:help}.spk__chip--missing{background:#ff980026;border-color:#ff980066;color:#ffd28a;-webkit-text-fill-color:#ffd28a;opacity:.75}.spk__score-pill{display:inline-block;margin-top:6px;padding:2px 9px;border-radius:10px;background:#00000040;font-size:.72rem;color:#ffffffa6}.spk__callout{padding:14px 16px;border-radius:14px;border:1px solid rgba(62,219,211,.35);background:#3edbd31a;font-size:1.05rem;font-weight:600;color:#fff;-webkit-text-fill-color:#ffffff;line-height:1.4}.spk__callout-ru{margin-top:6px;padding:0 4px;font-size:.85rem;font-weight:400;color:#ffffffa6;line-height:1.35;font-style:italic}.spk__callout-row{display:flex;align-items:stretch;gap:8px}.spk__callout-row .spk__callout{flex:1}.spk__callout-play{flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(62,219,211,.35);background:#3edbd31a;color:#3edbd3;-webkit-text-fill-color:#3edbd3;font-size:1.1rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .15s ease}.spk__callout-play:active:not(:disabled){transform:scale(.92)}.spk__callout-play:disabled{opacity:.6;cursor:wait}.spk__callout-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spk-spin .7s linear infinite}.spk__rec-btn--finish{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700;border-color:transparent}.spk__bubble{animation:spk-bubble-in .32s cubic-bezier(.2,.7,.3,1)}@keyframes spk-bubble-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spk__chip{animation:spk-chip-pop .25s cubic-bezier(.2,.7,.3,1) both}.spk__chip:nth-child(1){animation-delay:0ms}.spk__chip:nth-child(2){animation-delay:40ms}.spk__chip:nth-child(3){animation-delay:80ms}.spk__chip:nth-child(4){animation-delay:.12s}.spk__chip:nth-child(5){animation-delay:.16s}.spk__chip:nth-child(6){animation-delay:.2s}.spk__chip:nth-child(7){animation-delay:.24s}.spk__chip:nth-child(8){animation-delay:.28s}@keyframes spk-chip-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.spk__score-pill{animation:spk-score-pop .42s cubic-bezier(.2,.7,.3,1) .35s both}@keyframes spk-score-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.spk__btn--ghost{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:600;width:100%;margin-top:10px}.spk__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 8px}.spk__current{margin-bottom:16px}.spk__hint-pill{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,200,86,.3);background:#ffc85614}.spk__hint-emoji{font-size:1.1rem;line-height:1.3;flex-shrink:0}.spk__hint-text{font-size:.92rem;color:#ffde96f2;-webkit-text-fill-color:rgba(255,222,150,.95);line-height:1.4}.spk{padding:12px 14px calc(24px + var(--app-safe-area-bottom, 0px));max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);font-family:inherit;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column}.spk__topbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.spk__exit{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;font-size:15px;width:32px;height:32px;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.spk__exit:active{transform:scale(.92)}.spk__progress{flex:1;text-align:right}.spk__progress-text{font-size:.78rem;color:#ffffff8c;letter-spacing:.02em}.spk__topic{font-size:1.2rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;color:#fff;-webkit-text-fill-color:#ffffff;line-height:1.25}.spk__scenario{font-size:.86rem;color:#fff9;margin:0 0 18px;line-height:1.45}.spk__dialogue{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.spk__bubble{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);max-width:88%}.spk__bubble--bot{align-self:flex-start;background:linear-gradient(160deg,#24262ed9,#1c1e24d9)}.spk__bubble--user{align-self:flex-end;background:linear-gradient(160deg,#243c3aa6,#1c2a2cbf);border-color:#3edbd34d}.spk__bubble-row{display:flex;align-items:center;gap:8px}.spk__bubble-text{flex:1;font-size:1rem;font-weight:600;color:#fff;-webkit-text-fill-color:#ffffff;line-height:1.35}.spk__bubble-user-text{font-weight:600}.spk__bubble-ru{margin-top:4px;font-size:.8rem;color:#ffffff8c}.spk__play-btn{background:#3edbd32e;border:1px solid rgba(62,219,211,.35);color:#c9f3e3;width:28px;height:28px;border-radius:14px;font-size:.75rem;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.spk__play-btn:active{transform:scale(.92)}.spk__feedback{margin-top:6px;font-size:.82rem;color:#ffffffa6;line-height:1.4;font-style:italic}.spk__score-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.spk__score-pill{display:inline-block;padding:2px 9px;border-radius:10px;background:#00000040;font-size:.72rem;color:#ffffffa6}.spk__recorder{margin-top:14px;display:flex;justify-content:center;padding:4px 0 12px}.spk__rec-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:36px;border:none;background:linear-gradient(135deg,#ff5266,#f34);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .2s ease;box-shadow:0 6px 18px #ff3c504d;font-family:inherit}.spk__rec-btn:active{transform:scale(.96)}.spk__rec-btn--active{background:linear-gradient(135deg,#f34,#c23);animation:spk-pulse-shadow 1.4s ease-in-out infinite}.spk__rec-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#fff}.spk__rec-pulse{display:inline-block;width:12px;height:12px;border-radius:50%;background:#fff;animation:spk-pulse 1s ease-in-out infinite}@keyframes spk-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes spk-pulse-shadow{0%,to{box-shadow:0 6px 18px #ff3c504d}50%{box-shadow:0 6px 28px #ff3c508c}}.spk__processing{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:28px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffd9;font-size:.92rem}.spk__finish-link{margin:14px auto 6px;display:block;background:transparent;border:none;color:#ffffff80;font-size:.82rem;text-decoration:underline;cursor:pointer;font-family:inherit;padding:6px 12px}.spk__finish-link:disabled{opacity:.3;cursor:not-allowed}.spk__btn{padding:12px 18px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.spk__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700;width:100%}.spk--loading,.spk--error{text-align:center;padding:100px 20px}.spk__spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:#3edbd3;border-radius:50%;margin:0 auto 18px;animation:spk-spin .8s linear infinite}.spk__spinner--small{width:18px;height:18px;border-width:2px;margin:0}@keyframes spk-spin{to{transform:rotate(360deg)}}.spk__hint{font-size:.85rem;color:#ffffff8c}.spk--error .spk__btn{margin-top:18px;max-width:200px;margin-left:auto;margin-right:auto}.tresult{padding:20px 14px 96px;max-width:560px;margin:0 auto;color:var(--tg-theme-text-color, #fff);text-align:center;font-family:inherit}.tresult__halo-wrap{position:relative;width:180px;height:180px;margin:8px auto 14px}.tresult__halo{width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center}.tresult__halo-inner{width:148px;height:148px;border-radius:50%;background:linear-gradient(160deg,#24262ef2,#1c1e24f2);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;justify-content:center}.tresult__score{font-size:2.6rem;font-weight:700;letter-spacing:-.02em;color:var(--tg-theme-text-color, #fff);font-variant-numeric:tabular-nums}.tresult__score-max{font-size:.8rem;color:#ffffff8c;margin-top:-4px}.tresult__mascot{position:absolute;bottom:-10px;right:-12px;width:72px;height:72px}.tresult__label{font-size:1.25rem;font-weight:600;margin:6px 0 20px;color:var(--tg-theme-text-color, #fff)}.tresult__warn{background:#ff98001a;border:1px solid rgba(255,152,0,.3);color:#ffd782f2;padding:10px 14px;border-radius:10px;font-size:.82rem;margin:0 0 14px;text-align:left}.tresult__section{text-align:left;margin:18px 0;padding:14px 14px 12px;background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.06);border-radius:12px}.tresult__section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin:0 0 8px}.tresult__list{margin:0;padding-left:20px;font-size:.88rem;line-height:1.5}.tresult__list--good li{color:#c9f3e3}.tresult__list--bad li{color:#ffd782f2}.tresult__errors-toggle{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);font-size:.85rem;color:#ffffffbf;padding:8px 14px;border-radius:10px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;margin-top:10px}.tresult__errors{list-style:none;padding:0;margin:10px 0 0}.tresult__errors li{padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;margin-bottom:6px;font-size:.82rem;text-align:left}.tresult__err-bad{color:#ff9800d9;text-decoration:line-through}.tresult__err-good{color:#c9f3e3;margin-top:4px;display:block}.tresult__err-type{font-size:.68rem;color:#ffffff73;margin-top:6px;letter-spacing:.04em;text-transform:uppercase}.tresult__cards{background:linear-gradient(135deg,#3edbd31a,#2196f30f);border:1px solid rgba(62,219,211,.25);padding:14px;border-radius:12px;margin-top:18px;text-align:left}.tresult__cards-list{list-style:none;padding:0;margin:0 0 12px}.tresult__card-item{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.tresult__card-item:last-child{border-bottom:none}.tresult__card-front{font-size:.8rem;color:#fff9}.tresult__card-back{font-size:.95rem;font-weight:600;color:var(--tg-theme-text-color, #fff)}.tresult__hint{font-size:.82rem;color:#ffffff8c;font-style:italic}.tresult__btn{width:100%;padding:14px;border-radius:12px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:10px;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.tresult__btn:active:not(:disabled){transform:scale(.98)}.tresult__btn--primary{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#001b1a;font-weight:700}.tresult__btn--ghost{background:#ffffff0a;border-color:#ffffff1a;color:#ffffffbf}.ppup-root{display:flex;flex-direction:column;gap:16px;padding:20px 16px 32px;max-width:480px;margin:0 auto;color:#fff;-webkit-text-fill-color:#ffffff;position:relative}.ppup-close{position:absolute;top:12px;right:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffbf;font-size:16px;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ppup-hero{text-align:center;padding:16px 0 4px}.ppup-hero-emoji{font-size:2.4rem;line-height:1}.ppup-hero-title{margin:8px 0 4px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.ppup-hero-sub{margin:0;font-size:.92rem;color:#ffffffa6;line-height:1.4}.ppup-card{background:linear-gradient(160deg,#24262ed9,#1c1e24d9);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ppup-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6}.ppup-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ppup-feature{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.35}.ppup-feature-icon{font-size:1.15rem;flex:0 0 auto}.ppup-feature-text{flex:1}.ppup-diff{width:100%;border-collapse:collapse;font-size:.85rem}.ppup-diff th,.ppup-diff td{padding:8px 4px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.ppup-diff thead th{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c}.ppup-diff tbody tr:last-child td{border-bottom:none}.ppup-diff-label{color:#ffffffd9;font-weight:500}.ppup-diff-prem{color:#ffffff8c}.ppup-diff-plus{color:#3edbd3;font-weight:600}.ppup-cta{background:linear-gradient(135deg,#3edbd3,#2196f3);color:#0a1116;-webkit-text-fill-color:#0a1116;border:none;border-radius:14px;padding:16px 18px;font-size:1.05rem;font-weight:700;cursor:pointer;font-family:inherit;transition:transform 80ms ease,opacity .16s ease;margin-top:4px}.ppup-cta:active:not(:disabled){transform:scale(.98)}.ppup-cta:disabled{opacity:.55;cursor:default}.ppup-refund{text-align:center;font-size:.82rem;color:#3edbd3d9;background:#3edbd314;padding:8px 12px;border-radius:8px}.app{min-height:100dvh;display:flex;flex-direction:column;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);overflow-x:hidden;max-width:100vw;padding-top:calc(var(--app-safe-area-top, 0px) + 4px)}.page-content{flex:1;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:72px}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;background:var(--tg-theme-bg-color, #ffffff);border-top:1px solid var(--tg-theme-secondary-bg-color, #e0e0e0);padding:6px 0 0;padding-bottom:max(2px,env(safe-area-inset-bottom));z-index:var(--z-fixed)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s}.tab-item:active{opacity:.6}.tab-icon{font-size:20px;line-height:1}.tab-label{font-size:10px;font-weight:600;color:var(--tg-theme-hint-color, #999)}.tab-item.active .tab-label{color:var(--tg-theme-button-color, #1a73e8)}.build-tag{width:100%;text-align:center;font-size:9px;color:var(--tg-theme-hint-color, #888);padding:0 0 2px;opacity:.4;line-height:1}
