*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg:#FAFBFD;--card:#FFFFFF;--border:#E8ECF2;--text:#1A1D26;--text2:#5A6070;--text3:#697286;--red:#E94560;--red-light:#FEF0F3;--red-dark:#C23152;--green:#22B573;--green-light:#EAFAF2;--green-dark:#178F58;--orange:#F59E0B;--orange-light:#FFFBEB;--purple:#8B5CF6;--purple-light:#F3EFFE;--blue:#3B6BF5;--blue-light:#EBF0FF;--game-primary:#D9365A;--game-primary-hover:#BC2448;--game-primary-on:#FFFFFF;--game-progress:#D4506B;--game-control-bg:#F1F3F6;--game-control-border:#DDE2E9;--game-control-text:#5A6070;--game-mode-bg:#F1F3F6;--game-mode-border:#DDE2E9;--game-mode-text:#5A6070;--game-time-bg:#F5F6F8;--game-time-border:#D5DAE3;--game-time-text:#5A6070;--game-streak-text:#5A6070;--frozen:#4C9AD6;--frozen-light:#E8F6FF;--frozen-fill:#D9F1FF;--frozen-on:#145E91;--gold:#C9951B;--gold-light:#FBF4DF;--gold-dark:#785000;--gold-soft:#E5B93B;--slate:#6B7280;--slate-dark:#4B5563;--radius:14px;--radius-sm:10px;--shadow:0 2px 8px rgba(26,29,38,.06),0 0 1px rgba(26,29,38,.08);--shadow-lg:0 8px 30px rgba(26,29,38,.1),0 0 1px rgba(26,29,38,.08);--shadow-gold:0 4px 14px rgba(201,149,27,.22),0 0 1px rgba(26,29,38,.08);--font:"Roboto",sans-serif;--font-jp:"Roboto",sans-serif;--transition:.2s cubic-bezier(.4,0,.2,1)}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font);color:var(--text);background:var(--bg);min-height:100vh;min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}input{font-family:var(--font-jp);border:none;outline:none;background:none}.app{max-width:480px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));min-height:100vh;min-height:100dvh;position:relative}.screen{display:none;animation:fadeIn .3s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;position:sticky;top:0;background:var(--bg);z-index:50}.header-back{display:flex;align-items:center;gap:4px;color:var(--text2);transition:var(--transition);font-size:13px;font-weight:500;padding:6px 10px 6px 2px;border-radius:8px}.header-back:hover{color:var(--red);background:var(--red-light)}.header-back svg{width:20px;height:20px;flex-shrink:0}.header-title{font-size:15px;font-weight:600;color:var(--text2);text-align:center;flex:1}.header-streak{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--orange);background:var(--orange-light);padding:6px 12px;border-radius:20px}.header-account-actions{display:flex;align-items:center;gap:6px}.theme-toggle{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--text2);transition:var(--transition)}.theme-toggle:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}.theme-icon{width:19px;height:19px;display:none}.theme-toggle[data-theme=light] .theme-icon-moon,.theme-toggle[data-theme=dark] .theme-icon-sun{display:block}.account-button{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;transition:var(--transition)}.account-button:hover{border-color:var(--red);background:var(--red-light)}.account-button.signed-in{border-color:var(--green);background:var(--green-light)}.home-hero{text-align:center;padding:20px 0 16px}.home-hero h1{font-size:24px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.home-hero .sub{color:var(--text2);font-size:13px}.overall-progress{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.overall-progress-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.overall-progress-header .pct{font-size:28px;font-weight:700;color:var(--green)}.overall-progress-header .detail{font-size:13px;color:var(--text3)}.overall-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:10px}.overall-bar-fill{height:100%;background:var(--green);border-radius:4px;transition:.5s ease}.overall-stats{display:flex;gap:12px;font-size:12px;color:var(--text2);flex-wrap:wrap}.overall-stats span{display:flex;align-items:center;gap:4px}.overall-eta{font-size:12px;color:var(--text3);margin-top:8px}.streak-card{background:linear-gradient(135deg,#e94560,#c23152);color:#fff;border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0}.streak-card-main-row{display:flex;align-items:center;gap:16px;width:100%}.streak-card.has-reward{background:linear-gradient(135deg,#e94560,#c23152)}.streak-card.rare-reward{background:linear-gradient(135deg,#c9951b,#e5b93b,#9d7215);background-size:200% 200%;animation:shimmer 4s ease infinite}.streak-card.streak-frozen{background:linear-gradient(135deg,var(--slate),var(--slate-dark))}.streak-card.streak-frozen:before{display:none}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.streak-card:before{content:"";position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:#ffffff1f;border-radius:50%}.streak-card-main{flex:1;min-width:0;position:relative;z-index:1}.streak-num-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.streak-card .streak-num{font-size:36px;font-weight:700;line-height:1}.streak-card .streak-unit{font-size:13px;opacity:.9}.streak-card .streak-msg{font-size:13px;margin-top:4px;opacity:.95}.streak-card .next-reward{font-size:11px;margin-top:6px;opacity:.85}.streak-badge{width:58px;height:58px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;position:relative;z-index:1;border:2px solid rgba(255,255,255,.3)}.streak-card.rare-reward .streak-badge{background:#ffffff40;border-color:#ffffff80;box-shadow:0 0 20px #ffffff40}.save-streak-btn{background:#ffffff40;color:#fff;padding:11px 16px;border-radius:10px;font-weight:600;font-size:14px;margin-top:14px;display:block;width:100%;cursor:pointer;transition:var(--transition);position:relative;z-index:1;border:1.5px solid rgba(255,255,255,.35)}.save-streak-btn:hover{background:#ffffff59}.save-streak-btn:active{transform:scale(.98)}.lost-streak-card{background:var(--card);border-left:4px solid var(--orange);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}.lost-streak-icon{font-size:28px;flex-shrink:0}.lost-streak-text{flex:1;min-width:0}.lost-streak-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}.lost-streak-sub{font-size:12px;color:var(--text2);line-height:1.4}.rewards-section{background:var(--card);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow)}.rewards-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rewards-title{font-size:13px;font-weight:600;color:var(--text2)}.rewards-count{font-size:11px;color:var(--text3)}.rewards-grid{display:flex;gap:8px;flex-wrap:wrap}.reward-cell{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;transition:var(--transition);position:relative;cursor:pointer;background:var(--gold-light);color:var(--gold-dark)}.reward-cell.rare{background:linear-gradient(135deg,var(--gold-light),#FFE9A8);box-shadow:0 2px 8px #c9951b40}.reward-cell.epic{background:linear-gradient(135deg,#ffe9a8,#f7c94a);box-shadow:0 2px 10px #c9951b59}.reward-cell:hover .reward-tooltip{opacity:1;transform:translate(-50%,-6px)}.reward-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition);z-index:100}.reward-next-hint{font-size:11px;color:var(--text3);margin-top:10px;text-align:center}.review-banner{background:var(--card);color:var(--text);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;box-shadow:var(--shadow);position:relative;overflow:hidden;border:1px solid var(--border)}.review-banner:after{display:none}.review-banner-text{font-size:14px;position:relative;z-index:1;margin-bottom:0;color:var(--text)}.review-banner-text strong{display:block;font-size:15px;margin-bottom:2px;color:var(--text)}.review-banner-text .sub-line{font-size:12px;color:var(--text3);display:block;opacity:1}.review-banner-single{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-banner-btn{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;white-space:nowrap;position:relative;z-index:1;border:none;transition:var(--transition);cursor:pointer;box-shadow:0 2px 6px #c9951b40}.review-banner-btn:hover{filter:brightness(1.05);box-shadow:0 3px 10px #c9951b59}.heatmap{background:var(--card);border-radius:var(--radius);padding:14px 18px 16px;margin-bottom:16px;box-shadow:var(--shadow);position:relative}.heatmap-cell.selected{box-shadow:0 0 0 2px var(--text) inset}.heatmap-tip{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-top:12px;display:flex;align-items:center;gap:14px;font-size:13px;animation:tipFadeIn .15s ease}.heatmap-tip.empty{color:var(--text3);justify-content:flex-start;font-size:13px}.heatmap-tip .tip-big{font-size:22px;font-weight:700;color:var(--green);line-height:1;min-width:32px;text-align:center}.heatmap-tip .tip-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.heatmap-tip .tip-label{font-size:12px;color:var(--text2);text-transform:capitalize}.heatmap-tip .tip-time{font-size:11px;color:var(--text3)}@keyframes tipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.heatmap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.heatmap-title{font-size:13px;font-weight:600;color:var(--text2)}.heatmap-sub{font-size:11px;color:var(--text3)}.heatmap-grid{display:grid;grid-template-columns:auto repeat(8,1fr);gap:3px;align-items:center}.heatmap-row-label{font-size:10px;color:var(--text3);text-align:right;padding-right:4px;line-height:1;height:14px;display:flex;align-items:center;justify-content:flex-end}.heatmap-cell{width:100%;aspect-ratio:1;border-radius:3px;background:var(--border);transition:var(--transition);max-width:18px;position:relative;cursor:pointer}.heatmap-cell:hover{transform:scale(1.15);z-index:2;box-shadow:0 0 0 1px var(--text)}.heatmap-cell.l1{background:#d8f4e5}.heatmap-cell.l2{background:#9fe5c0}.heatmap-cell.l3{background:#5ccc95}.heatmap-cell.l4{background:#22b573}.heatmap-cell.l5{background:#0e7a4a}.heatmap-cell.today{box-shadow:0 0 0 1.5px var(--text) inset}.heatmap-cell.future{opacity:.3;cursor:default}.heatmap-cell.future:hover{transform:none;box-shadow:none}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:10px;color:var(--text3);margin-top:8px}.heatmap-legend .cells{display:flex;gap:2px}.heatmap-legend .cell{width:10px;height:10px;border-radius:2px}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px;animation:fadeIn .2s ease}.popup-box{background:#fff;border-radius:16px;padding:24px;max-width:300px;width:100%;text-align:center;animation:popIn .25s ease}.popup-date{font-size:13px;color:var(--text3);margin-bottom:12px;text-transform:capitalize}.popup-big{font-size:44px;font-weight:700;color:var(--green);line-height:1;margin:8px 0 4px}.popup-label{font-size:13px;color:var(--text2);margin-bottom:14px}.popup-time{font-size:12px;color:var(--text3);margin-bottom:16px}.popup-empty{font-size:14px;color:var(--text3);margin:16px 0}.popup-close{background:var(--border);color:var(--text);padding:9px 24px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:var(--transition);width:100%}.popup-close:hover{background:var(--text3);color:#fff}.topics-section-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;margin-top:4px}.topics-section-title{font-size:13px;font-weight:600;color:var(--text2)}.topics-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.topic-card{background:var(--card);border-radius:var(--radius-sm);padding:14px 16px;cursor:pointer;transition:var(--transition);border:1.5px solid transparent;box-shadow:var(--shadow)}.topic-card:hover{border-color:var(--red);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.topic-card.completed{border-color:var(--green)}.topic-card.has-due{border-left:3px solid var(--green)}.topic-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.topic-num{font-size:11px;font-weight:600;color:var(--red);background:var(--red-light);padding:2px 8px;border-radius:5px}.topic-card.completed .topic-num{color:var(--green);background:var(--green-light)}.topic-status{font-size:16px}.topic-name{font-size:14px;font-weight:600;margin-bottom:4px}.topic-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text3);flex-wrap:wrap}.topic-due-pill{color:var(--green-dark);font-weight:600;background:var(--green-light);padding:2px 8px;border-radius:10px}.topic-bar-row{display:flex;align-items:center;gap:6px;margin-top:6px}.topic-bar-track{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.topic-bar-fill{height:100%;border-radius:2px;transition:.4s ease;background:var(--green)}.topic-bar-count{font-size:10px;color:var(--text3);flex-shrink:0}.topic-detail-head{text-align:center;padding:8px 0 20px}.topic-detail-head h2{font-size:22px;font-weight:700;margin-bottom:4px}.topic-detail-head p{color:var(--text2);font-size:14px}.step-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.step-card{width:100%;background:var(--card);color:var(--text);text-align:left;border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px 16px;cursor:pointer;transition:var(--transition);border:1.5px solid transparent;position:relative}.step-card:hover{border-color:var(--red);box-shadow:var(--shadow-lg)}.step-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}.step-card.done,.step-card.review-step:hover{border-color:var(--green)}.step-icon{grid-column:1;grid-row:1;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.step-icon.learn{background:var(--red-light);color:var(--red)}.step-icon.review{background:var(--green-light);color:var(--green-dark)}.step-info{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}.step-info h3{font-size:15px;font-weight:600;margin-bottom:2px}.step-info p{font-size:12px;color:var(--text3)}.step-num{font-size:11px;color:var(--text3);margin-bottom:2px}.step-badge{grid-column:2;justify-self:start;max-width:100%;overflow-wrap:anywhere;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px}.step-badge.rec{color:var(--red);background:var(--red-light)}.step-badge.done{color:var(--green);background:var(--green-light)}.step-badge.progress{color:var(--orange);background:var(--orange-light)}.step-badge.priority{color:var(--green-dark);background:var(--green-light)}.wordlist{margin-bottom:24px}.wordlist-toggle{width:100%;background:var(--card);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:var(--transition);border:1.5px solid var(--border);font-size:14px;font-weight:600;color:var(--text)}.wordlist-toggle:hover{border-color:var(--red)}.wordlist-toggle .arrow{transition:transform .3s;font-size:12px;color:var(--text3)}.wordlist-toggle.open .arrow{transform:rotate(180deg)}.wordlist-panel{display:none;margin-top:8px}.wordlist-panel.open{display:block}.wordlist-sorts{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.sort-btn{font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;background:var(--border);color:var(--text2);transition:var(--transition)}.sort-btn.active{background:var(--red);color:#fff}.wordlist-item{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:3px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition)}.wordlist-item:active{transform:scale(.98)}.wordlist-item.buried-item{opacity:.45;background:var(--bg)}.wordlist-jp{font-family:var(--font-jp);font-size:15px;font-weight:600;min-width:70px}.wordlist-reading{font-family:var(--font-jp);font-size:11px;color:var(--text3);min-width:55px}.wordlist-ru{font-size:12px;color:var(--text2);flex:1}.wordlist-diff{width:32px;text-align:right;flex-shrink:0}.wordlist-status{flex:0 0 auto;min-width:50px;padding:4px 7px;border:1px solid transparent;border-radius:999px;font-size:9px;font-weight:850;line-height:1;text-align:center;white-space:nowrap}.wordlist-status.status-new{border-color:var(--border);background:var(--bg);color:var(--text3)}.wordlist-status.status-learning,.wordlist-status.status-review{background:var(--orange-light);color:var(--orange)}.wordlist-status.status-practised{background:var(--blue-light);color:var(--blue)}.wordlist-status.status-learned{background:var(--green-light);color:var(--green-dark)}.wordlist-status.status-strong{background:var(--purple-light);color:var(--purple)}.diff-bar{display:inline-block;height:4px;border-radius:2px;vertical-align:middle}.diff-bar.d0{width:24px;background:var(--border)}.diff-bar.d1{width:24px;background:var(--green)}.diff-bar.d2{width:18px;background:var(--green);opacity:.7}.diff-bar.d3{width:12px;background:var(--orange)}.diff-bar.d4{width:6px;background:var(--red)}.diff-bar.d5{width:4px;background:var(--red);opacity:.6}.wordlist-leech{font-size:10px;color:var(--red);margin-left:4px}.wordlist-buried-tag{font-size:10px;color:var(--text3);margin-left:4px;background:var(--border);padding:1px 6px;border-radius:4px}.wordlist-unbury{font-size:11px;color:var(--blue);margin-left:auto;padding:4px 10px;border-radius:6px;background:var(--blue-light);font-weight:600;flex-shrink:0;cursor:pointer}.wordlist-unbury:hover{background:var(--blue);color:#fff}.welcome-back{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);text-align:center;border-left:4px solid var(--green)}.welcome-back .wb-emoji{font-size:32px;margin-bottom:8px}.welcome-back .wb-title{font-size:16px;font-weight:700;margin-bottom:4px}.welcome-back .wb-msg{font-size:13px;color:var(--text2);line-height:1.5}.quiz-progress{display:flex;align-items:center;gap:10px;margin-bottom:16px}.quiz-progress-bar{--progress-color:var(--game-progress);--progress-segments:5;flex:1;height:8px;display:grid;grid-template-columns:repeat(var(--progress-segments),minmax(0,1fr));gap:5px;background:transparent;overflow:visible}.quiz-progress-fill{display:none;height:100%;background:var(--red);border-radius:4px;transition:.4s ease}.quiz-progress-fill.gold{background:var(--green)}.quiz-progress-text{display:none;font-size:13px;font-weight:600;color:var(--text2);white-space:nowrap}.quiz-progress-segment{--segment-fill:0%;position:relative;height:8px;border-radius:999px;overflow:hidden;background:var(--border);background:color-mix(in srgb,var(--border) 82%,transparent);box-shadow:inset 0 0 0 1px #80808014;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text3) 8%,transparent)}.quiz-progress-segment:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--segment-fill);border-radius:inherit;background-color:var(--progress-color);background-image:linear-gradient(105deg,#ffffff14,#0000000f);box-shadow:0 0 7px color-mix(in srgb,var(--progress-color) 22%,transparent);transition:width .42s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,filter .25s ease}.quiz-progress-segment.current:before{animation:progressSegmentGlow 1.25s ease-in-out infinite alternate}@keyframes progressSegmentGlow{0%{filter:saturate(.9) brightness(.96)}to{filter:saturate(1.15) brightness(1.13)}}.quiz-streak-display{text-align:center;font-size:13px;font-weight:650;color:var(--game-streak-text);margin-bottom:8px;min-height:20px}.card-container{position:relative;margin-bottom:16px}.question-card{background:var(--card);border-radius:var(--radius);padding:28px 20px;box-shadow:var(--shadow);text-align:center;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.question-card.listen-card{padding:22px 16px;min-height:auto;text-align:left}.question-prompt{font-size:22px;font-weight:700;margin-bottom:4px;line-height:1.3;font-family:var(--font-jp)}.question-prompt-sub{font-size:14px;color:var(--text3);margin-top:4px}.question-type-label{font-size:11px;font-weight:600;color:var(--text3);background:var(--border);padding:3px 10px;border-radius:20px;margin-bottom:12px;display:inline-block}.question-type-label.mode-label{border:1px solid var(--game-mode-border);background:var(--game-mode-bg);color:var(--game-mode-text)}.question-type-label.gold{color:var(--gold-dark);background:var(--gold-light)}.question-type-label.green{color:var(--green-dark);background:var(--green-light)}.question-hint{font-size:18px;color:var(--text3);margin-top:8px;font-family:var(--font-jp)}.question-answer-reveal{margin-top:12px}.question-answer-reveal.is-correct{position:relative;width:100%;padding-inline:44px}.question-answer-reveal.is-correct:after{content:"\2713";position:absolute;right:0;top:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%) scale(1);border:2px solid var(--green);border:2px solid color-mix(in srgb,var(--green) 65%,transparent);border-radius:50%;background:var(--green-light);color:var(--green-dark);font-size:17px;font-weight:900;box-shadow:0 5px 14px #22b5732e;box-shadow:0 5px 14px color-mix(in srgb,var(--green) 18%,transparent);animation:answerCheckIn .32s cubic-bezier(.2,.9,.35,1.25)}@keyframes answerCheckIn{0%{opacity:0;transform:translateY(-50%) scale(.6)}to{opacity:1;transform:translateY(-50%) scale(1)}}.question-answer-reveal .japanese{font-size:20px;font-weight:700;font-family:var(--font-jp)}.question-answer-reveal .reading{font-size:14px;color:var(--text3);margin-top:2px;font-family:var(--font-jp)}.question-answer-reveal .transcript{font-size:13px;color:var(--text3);margin-top:2px}.question-answer-reveal .typed-answer{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;margin-bottom:4px;font-family:var(--font-jp);display:inline-block;vertical-align:bottom}.audio-play-btn{width:72px;height:72px;border:1.5px solid var(--game-control-border);border-radius:50%;background:var(--game-control-bg);color:var(--game-control-text);display:flex;align-items:center;justify-content:center;margin:8px auto;box-shadow:0 4px 14px color-mix(in srgb,var(--text) 8%,transparent);transition:var(--transition);cursor:pointer}.audio-play-btn:hover{border-color:var(--game-progress);color:var(--game-progress);transform:scale(1.035)}.audio-play-btn:active{transform:scale(.95)}.audio-play-icon{display:block;width:30px;height:30px}.replay-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid var(--game-control-border);border-radius:50%;background:var(--game-control-bg);color:var(--game-control-text);display:flex;align-items:center;justify-content:center;transition:var(--transition);opacity:0;pointer-events:none}.replay-btn.visible{opacity:1;pointer-events:auto}.replay-btn:hover{border-color:var(--game-progress);color:var(--game-progress)}.replay-btn svg{width:18px;height:18px}.bury-btn{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;background:var(--border);color:var(--text3);display:flex;align-items:center;justify-content:center;transition:var(--transition);cursor:pointer;font-size:16px;z-index:10}.bury-btn:hover{background:var(--red-light);color:var(--red)}.bury-btn:active{transform:scale(.9)}.bury-confirm{position:absolute;inset:0;background:#fffffff7;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:20;animation:fadeIn .2s ease}.bury-confirm p{font-size:14px;font-weight:600;color:var(--text);text-align:center;padding:0 12px}.bury-confirm-sub{font-size:12px;color:var(--text3);margin-top:-6px;text-align:center;padding:0 12px}.bury-confirm-actions{display:flex;gap:8px}.bury-confirm-actions button{padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;transition:var(--transition)}.bury-yes{background:var(--red);color:#fff}.bury-yes:hover{background:var(--red-dark)}.bury-no{background:var(--border);color:var(--text2)}.bury-no:hover{background:var(--text3);color:#fff}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.option-btn{min-width:0;min-height:50px;background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:10px 12px;font-size:16px;font-weight:750;line-height:1.2;text-align:center;overflow-wrap:anywhere;transition:background .08s linear,border-color .08s linear,color .08s linear,transform .06s ease;transform:translateZ(0);font-family:var(--font-jp)}.option-btn{color:var(--text)}.option-btn.ru-opt{font-family:var(--font)}.option-btn:hover{border-color:var(--red);background:var(--red-light)}.option-btn:not(.disabled):active{border-color:var(--red);background:var(--red-light);transform:scale(.975)}.option-btn.correct{border-color:var(--green);background:var(--green-light);color:var(--green)}.option-btn.wrong{border-color:var(--red);background:var(--red-light);color:var(--red);animation:shake .4s ease}.option-btn.disabled{pointer-events:none;opacity:.6}.option-btn.correct.disabled,.option-btn.wrong.disabled{opacity:1}.type-input-area{margin-bottom:10px}.type-input-shell{position:relative}.type-input{width:100%;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-sm);padding:13px 58px 13px 16px;font-size:18px;font-family:var(--font-jp);transition:var(--transition);text-align:center;color:var(--text);caret-color:transparent;cursor:default;-webkit-user-select:none;user-select:none}.type-input.system-input{caret-color:var(--text);cursor:text;-webkit-user-select:text;user-select:text}.type-input::placeholder{color:var(--text3);opacity:1}.type-input:focus{border-color:var(--red);box-shadow:0 0 0 3px #e945601f}.type-input.correct{border-color:var(--green);background:var(--green-light)}.type-input.wrong{border-color:var(--red);animation:shake .4s ease}.russian-keyboard-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-width:42px;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text2);font-size:12px;font-weight:800;cursor:pointer;z-index:2}.russian-keyboard-toggle:hover,.russian-keyboard-toggle.active{border-color:var(--red);background:var(--red-light);color:var(--red)}.desktop-keyboard-tip{display:none}.type-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:9px;padding-bottom:env(safe-area-inset-bottom,8px)}.type-actions button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:48px;padding:10px 8px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:1.2;text-align:center;transition:var(--transition)}.btn-check{background:var(--red);color:#fff}.btn-check:hover{background:var(--red-dark)}.btn-check:disabled{cursor:default;opacity:.45;filter:grayscale(.25)}.answer-link{border:0;background:transparent;color:var(--text3);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.type-actions .answer-link{min-height:48px;border:1px solid var(--border);background:var(--card);text-decoration:none;white-space:nowrap}.answer-link:hover{color:var(--red)}#type-area{position:sticky;bottom:0;background:var(--bg);padding:8px 0 0;z-index:40}#type-area.custom-keyboard-open{position:relative;bottom:auto}.production-status{min-height:18px;margin:-2px 0 7px;text-align:center;color:var(--text3);font-size:12px}.production-status.listening{color:var(--red);font-weight:700}.production-status.voice-message{width:min(100%,620px);margin:0 auto 10px;line-height:1.45}.production-status.voice-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;width:min(100%,620px);min-height:54px;margin:0 auto 10px;padding:9px 12px;border:1px solid var(--border);border-radius:11px;background:var(--card);box-shadow:var(--shadow);text-align:left}.production-status.voice-result.correct{border-color:#22b5738c;background:var(--green-light)}.production-status.voice-result.incorrect{border-color:#e945607a;background:var(--red-light)}.voice-result-main{min-width:0;display:flex;align-items:baseline;gap:9px}.voice-heard-label{color:var(--text3);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.voice-transcript{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-family:var(--font-jp);font-size:18px;white-space:nowrap}.voice-verdict{justify-self:end;font-size:11px;font-weight:850;white-space:nowrap}.voice-verdict.correct{color:var(--green-dark)}.voice-verdict.incorrect{color:var(--red)}.voice-known-word{grid-column:1/-1;padding-top:7px;border-top:1px solid var(--border);border-top:1px solid color-mix(in srgb,var(--red) 22%,transparent);color:var(--text2);font-size:11px;line-height:1.35}.production-status.voice-retry-message{min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--red);border:1px solid color-mix(in srgb,var(--red) 48%,var(--border));border-radius:11px;background:var(--red-light);color:var(--red);font-weight:800}.production-status.voice-success-message{min-height:24px;margin:0 auto 7px;color:var(--green-dark);font-weight:850}.production-status.voice-success-cleared{display:none}.production-alternative{margin-bottom:10px}.voice-choice-fallback{width:min(100%,620px);margin:0 auto;display:grid;gap:9px}.voice-choice-prompt{text-align:center;color:var(--text2);font-size:15px;font-weight:700;line-height:1.25}.voice-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.voice-choice-option{min-height:50px;padding:10px 12px;border:1.5px solid var(--border);border-radius:11px;background:var(--card);color:var(--text);font-family:var(--font-jp);font-size:16px;font-weight:750;font-variation-settings:"wght" 750;line-height:1.2;text-align:center;transition:var(--transition)}.voice-choice-option:hover{border-color:var(--red);background:var(--red-light)}.voice-choice-option.correct{border-color:var(--green);background:var(--green-light);color:var(--green-dark)}.voice-choice-option:disabled{cursor:default;opacity:.58}.voice-choice-option.correct:disabled{opacity:1}.chunk-answer{min-height:52px;padding:12px;border:2px dashed var(--border);border-radius:10px;background:var(--card);color:var(--text);font-family:var(--font-jp);font-size:17px;text-align:center;margin-bottom:10px}.chunk-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.chunk-btn,.quiet-action{border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);padding:9px 12px;font-weight:650;cursor:pointer}.chunk-btn:hover,.quiet-action:hover{border-color:var(--red);background:var(--red-light)}.chunk-btn:disabled{opacity:.35}.chunk-reset{display:block;margin:8px auto 0;border:0;background:transparent;color:var(--text3);font-size:12px;cursor:pointer}.quiet-panel{text-align:center;padding:10px 4px}.quiet-copy{color:var(--text2);font-size:14px;margin-bottom:10px}.quiet-reveal{background:var(--red);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:750;cursor:pointer}.voice-primary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #e9456033}.voice-primary:hover{filter:brightness(1.05)}.voice-equalizer{height:20px;display:inline-flex;align-items:center;justify-content:center;gap:2px}.voice-equalizer i{display:block;width:3px;height:4px;border-radius:4px;background:currentColor;transition:height .07s linear}.voice-equalizer.speech-detected i{animation:voiceMeterSpeech .32s ease-in-out infinite alternate}.voice-equalizer.speech-detected i:nth-child(2){animation-delay:-.14s}.voice-equalizer.speech-detected i:nth-child(3){animation-delay:-.27s}.voice-equalizer.speech-detected i:nth-child(4){animation-delay:-.08s}.voice-equalizer.speech-detected i:nth-child(5){animation-delay:-.21s}.voice-check-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:voiceCheckSpin .68s linear infinite}.voice-choice-loading{min-height:52px;display:flex;align-items:center;justify-content:center}.voice-choice-loading .voice-check-spinner{width:20px;height:20px;border-color:var(--border);border-color:color-mix(in srgb,var(--text3) 38%,transparent);border-top-color:var(--red)}@keyframes voiceMeterSpeech{0%{height:4px}to{height:18px}}@keyframes voiceCheckSpin{to{transform:rotate(360deg)}}.voice-control-stack{width:min(100%,620px);margin:0 auto}.voice-action-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,1.35fr) minmax(120px,1fr);gap:9px;align-items:stretch}.voice-action-row .voice-primary{width:auto;min-height:48px;border-radius:10px;font-size:14px;box-shadow:0 3px 10px #e945602e}.voice-control{min-height:48px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text2);font-size:13px;font-weight:750;transition:var(--transition)}.voice-control:hover{border-color:var(--red);background:var(--red-light);color:var(--red)}.voice-control:disabled{cursor:default;opacity:.58;border-color:var(--border);background:var(--bg);color:var(--text3)}.voice-dont-know{color:var(--text3)}.production-link.voice-cannot-speak{min-height:40px;margin-top:8px;padding:8px 12px;font-size:14px}.voice-recognition-options{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:7px}.voice-recognition-options .production-link{display:inline-flex;margin:0}.pronunciation-check{width:min(100%,620px);margin:0 auto}.production-link{display:block;margin:9px auto 0;border:0;background:transparent;color:var(--text3);font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.production-link:hover{color:var(--red)}.mode-fallback-panel{display:grid;gap:8px}.mode-fallback-panel .quiet-copy{margin-bottom:2px}.recognition-fallbacks{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.pronunciation-actions{display:grid}.post-error-help{display:flex;align-items:center;justify-content:center;gap:14px}.post-error-help .production-link{margin:0}.quiet-answer{font-family:var(--font-jp);font-size:21px;font-weight:750;color:var(--text);margin:4px 0 12px}.quiet-actions{display:flex;justify-content:center;gap:8px}.quiet-action.yes{background:var(--green);border-color:var(--green);color:#fff}.quiet-action.no{background:var(--red-light);border-color:var(--red);color:var(--red)}.russian-keyboard{display:flex;flex-direction:column;gap:6px;width:calc(100% + 16px);margin:0 -8px 10px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.keyboard-layout{flex-direction:column;gap:5px;width:100%}.keyboard-layout-mobile{display:flex}.keyboard-layout-desktop{display:none}.keyboard-row{display:flex;gap:5px;justify-content:center}.keyboard-key{position:relative;flex:1;min-width:0;min-height:49px;padding:8px 2px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);box-shadow:0 2px 4px #0000001a;font-family:var(--font-jp);font-size:18px;font-weight:700;line-height:1;transition:background .12s ease,border-color .12s ease,transform .08s ease}.keyboard-key:hover{border-color:var(--red);background:var(--red-light)}.keyboard-key:active{transform:translateY(1px) scale(.97);background:var(--red);color:#fff}.keyboard-actions .keyboard-key{font-family:var(--font);font-size:13px}.keyboard-actions .keyboard-hint,.keyboard-actions .keyboard-give-up{flex:1 1 0}.keyboard-actions .keyboard-backspace{flex:1 1 58px;font-size:20px}.keyboard-actions .keyboard-check{flex:1.2 1 0;border-color:var(--red);background:var(--red);color:#fff;font-family:var(--font);font-size:14px;font-weight:850}.keyboard-actions .keyboard-check:hover{border-color:var(--red-dark);background:var(--red-dark)}.keyboard-actions .keyboard-check:disabled{border-color:var(--border);background:var(--border);color:var(--text3);box-shadow:none}.keyboard-space{font-family:var(--font);font-size:12px;font-weight:800}.keyboard-key.active{border-color:var(--red);background:var(--red-light);color:var(--red)}.keyboard-voice-return{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;background:transparent;color:var(--text2);font-family:var(--font);font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:3px;scroll-margin-bottom:max(8px,env(safe-area-inset-bottom,0px));cursor:pointer}.keyboard-voice-return svg{width:16px;height:16px;color:var(--red)}.keyboard-voice-return:hover,.keyboard-voice-return:focus-visible{background:var(--red-light);color:var(--red);outline:0}#type-area.typing-only .production-status,#type-area.typing-only .production-alternative{display:none!important}@media(max-width:759px){.russian-keyboard{width:calc(100vw - 8px);max-width:100vw;margin:0 calc(50% - 50vw + 4px) 0;padding:8px 5px calc(8px + env(safe-area-inset-bottom,0px));border:1px solid color-mix(in srgb,var(--red) 24%,var(--border));border-bottom:0;border-radius:16px 16px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--red-light) 72%,var(--card)),color-mix(in srgb,var(--purple-light) 48%,var(--card)));box-shadow:0 -10px 28px #452b401f;gap:4px}.keyboard-layout-mobile{gap:7px}.keyboard-layout-mobile .keyboard-row{gap:4px;padding:0}.keyboard-layout-mobile .keyboard-letter-row-1{width:100%}.keyboard-layout-mobile .keyboard-letter-row-2{width:96%;margin-left:4%}.keyboard-layout-mobile .keyboard-letter-row-3{width:91%;margin-left:9%}.keyboard-layout-mobile .keyboard-key{height:50px;min-height:50px;padding:3px 1px;border:1px solid color-mix(in srgb,var(--red) 16%,var(--border));border-radius:9px;background:var(--card);color:var(--text);box-shadow:0 2px color-mix(in srgb,var(--text) 10%,transparent),0 4px 9px #281d2e14;font-family:var(--font-jp);font-size:21px;font-weight:700;line-height:1}.keyboard-layout-mobile .keyboard-key:active{transform:translateY(1px);border-color:var(--red);background:var(--red-light);color:var(--red)}.keyboard-layout-mobile .keyboard-service{border-color:color-mix(in srgb,var(--purple) 24%,var(--border));background:var(--purple-light);font-family:var(--font);font-size:15px;font-weight:800;color:var(--purple)}.keyboard-layout-mobile .keyboard-letter-row-3 .keyboard-service{flex:1.35 1 0}.keyboard-layout-mobile .keyboard-letter-row-3 .keyboard-key:not(.keyboard-service){flex:1 1 0}.keyboard-layout-mobile .keyboard-backspace{font-size:21px}.keyboard-layout-mobile .keyboard-key.has-alternate:after{content:attr(data-alternate);position:absolute;top:4px;right:4px;color:var(--text3);font-size:9px;font-weight:800;line-height:1}.keyboard-layout-mobile .keyboard-actions .keyboard-key{height:47px;min-height:47px}.keyboard-layout-mobile .keyboard-actions .keyboard-hint,.keyboard-layout-mobile .keyboard-actions .keyboard-give-up{flex:1 1 0;border-color:color-mix(in srgb,var(--purple) 22%,var(--border));background:var(--card);color:var(--text2);font-size:12px}.keyboard-layout-mobile .keyboard-actions .keyboard-action-space{flex:1.75 1 0;border-color:color-mix(in srgb,var(--red) 22%,var(--border));background:var(--card);color:var(--text2);font-size:12px;box-shadow:0 2px color-mix(in srgb,var(--text) 13%,transparent),0 4px 9px #281d2e14}.keyboard-layout-mobile .keyboard-actions .keyboard-action-space:active{border-color:var(--red);background:var(--red-light);color:var(--red)}.keyboard-layout-mobile .keyboard-actions .keyboard-check{flex:1.15 1 0;border:1px solid var(--red);background:var(--red);color:#fff;font-family:var(--font);font-size:13px;font-weight:850}.keyboard-layout-mobile .keyboard-actions .keyboard-check:active{background:var(--red-dark);color:#fff}.keyboard-layout-mobile .keyboard-actions .keyboard-check:disabled{border-color:color-mix(in srgb,var(--red) 18%,var(--border));background:color-mix(in srgb,var(--red-light) 70%,var(--card));color:var(--text3);box-shadow:none}.keyboard-voice-return{min-height:40px;font-size:14px}}@media(min-width:760px){.app:has(#game-screen.active){max-width:820px;padding-left:28px;padding-right:28px}#game-screen .question-card{min-height:160px;padding:32px 28px}#game-screen .question-prompt{font-family:var(--font);font-size:26px;line-height:1.25}#game-screen .question-answer-reveal .japanese{font-family:var(--font);font-size:24px}#game-screen #options-grid{width:min(100%,560px);margin-left:auto;margin-right:auto;margin-bottom:14px}#game-screen #options-grid .option-btn{min-height:56px;padding:14px 24px;font-family:var(--font);font-size:18px;font-weight:700;line-height:1.3;text-align:center}#game-screen .question-card.match-card{padding:26px 24px}#game-screen .match-board{width:min(100%,640px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#game-screen .match-choice{min-height:62px;padding:10px 14px;font-family:var(--font);text-align:center}#game-screen #type-area{width:100%;max-width:760px;margin:0 auto}#game-screen .type-input{min-height:54px;font-size:20px}#game-screen .type-actions{width:min(100%,600px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;gap:10px}#game-screen .type-actions button{width:100%;min-height:48px;font-size:15px;font-weight:750}#game-screen .type-actions .answer-link{padding:10px 16px}#game-screen .voice-control-stack{padding:2px 0}#game-screen #btn-continue{width:min(100%,520px);margin-left:auto;margin-right:auto}.keyboard-layout-mobile{display:none}.russian-keyboard{width:min(100%,720px);margin:0 auto 12px;padding:12px 14px 10px;border:1px solid color-mix(in srgb,var(--red) 20%,var(--border));border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--red-light) 52%,var(--card)),var(--card));box-shadow:0 10px 28px #271f3117}.keyboard-layout-desktop{display:flex}.keyboard-layout-desktop{--desktop-key-size:clamp(37px,4.55vw,41px);width:min(100%,681px);margin:0 auto;gap:8px}.keyboard-layout-desktop .keyboard-desktop-row{width:100%;gap:6px;justify-content:center}.keyboard-layout-desktop .keyboard-desktop-row .keyboard-key{flex:0 0 var(--desktop-key-size);width:var(--desktop-key-size);min-height:46px;padding:7px 2px;border-radius:8px;font-size:18px}.keyboard-layout-desktop .keyboard-service{font-family:var(--font);color:var(--text2)}.keyboard-layout-desktop .keyboard-service:disabled{opacity:1}.keyboard-layout-desktop .keyboard-desktop-row .keyboard-backspace{flex-basis:70px;width:70px;font-size:19px}.keyboard-layout-desktop .keyboard-desktop-row .keyboard-space{flex-basis:126px;width:126px;font-size:12px}.keyboard-layout-desktop .keyboard-actions{width:min(100%,620px);margin:3px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.keyboard-layout-desktop .keyboard-actions .keyboard-key{width:100%;min-height:48px;padding:9px 12px;border-radius:9px;font-family:var(--font);font-size:15px;font-weight:800}.keyboard-layout-desktop .keyboard-actions .keyboard-hint,.keyboard-layout-desktop .keyboard-actions .keyboard-check,.keyboard-layout-desktop .keyboard-actions .keyboard-give-up{font-size:15px}.desktop-keyboard-tip{position:relative;width:max-content;max-width:100%;margin:8px 4px 0 auto;display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--purple) 38%,var(--border));border-radius:10px;background:var(--card);color:var(--text2);box-shadow:var(--shadow);font-size:12px;font-weight:700;line-height:1.3}.desktop-keyboard-tip strong{color:var(--text);font-weight:900}.desktop-keyboard-tip:after{content:"";position:absolute;right:17px;top:-5px;width:8px;height:8px;border-left:1px solid color-mix(in srgb,var(--purple) 38%,var(--border));border-top:1px solid color-mix(in srgb,var(--purple) 38%,var(--border));background:var(--card);transform:rotate(45deg)}.russian-keyboard-toggle.keyboard-tip-active{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent);color:var(--text)}#game-screen .game-header .report-issue-button{margin-left:18px;margin-right:14px}}@media(max-width:520px){.production-status.voice-result{grid-template-columns:1fr auto;gap:3px 8px;padding:9px 10px}.voice-result-main{gap:6px}.voice-known-word{padding-top:6px;font-size:10px}.voice-action-row{grid-template-columns:1fr 1fr;grid-template-areas:"say say" "hint unknown";gap:8px}.voice-say{grid-area:say}.voice-hint{grid-area:hint}.voice-dont-know{grid-area:unknown}.voice-recognition-options{flex-direction:column;gap:5px;margin-top:9px}}.intro-context-label{margin-bottom:3px;font-size:12px;letter-spacing:.035em}.intro-slide{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 8px 14px;border:0;background:transparent;color:var(--text);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.visual-image-frame{display:block;aspect-ratio:2/3;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--bg);box-shadow:var(--shadow);transform:translateZ(0)}.intro-image-frame{width:min(62vw,240px)}.intro-slide-image,.production-cue-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.045);transition:transform .18s ease}.intro-slide-copy{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.intro-slide-meaning{font-size:16px;color:var(--text2);line-height:1.3}.intro-slide-russian{font-family:var(--font-jp);font-size:25px;line-height:1.2}.intro-slide-reading{font-family:var(--font-jp);font-size:13px;color:var(--text3)}.intro-slide-speaker{width:auto;min-width:148px;min-height:48px;padding:0 18px;border:1px solid rgba(233,69,96,.24);border-radius:999px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:14px;font-weight:850;box-shadow:0 6px 18px #e9456038;transition:var(--transition)}.intro-slide:hover .intro-slide-speaker{transform:scale(1.05)}.intro-slide.heard .intro-slide-speaker{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 6px 18px #22b57333}.intro-slide:active .visual-image-frame{transform:scale(.99)}.listen-progress{margin-top:14px;font-size:12px;color:var(--text3);text-align:center;font-weight:500}.dialogue-role-header{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-bottom:12px;color:var(--text2);font-size:12px}.dialogue-role{border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text2);padding:7px 11px;font-weight:700;cursor:pointer}.dialogue-role.active{border-color:var(--red);background:var(--red-light);color:var(--red)}.dialogue-list{display:flex;flex-direction:column;gap:8px}.dialogue-line{width:88%;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);padding:10px 36px 10px 12px;text-align:left;position:relative;cursor:pointer}.dialogue-line.speaker-B{align-self:flex-end}.dialogue-line.your-turn{border-color:var(--green);background:var(--green-light)}.dialogue-speaker,.dialogue-russian,.dialogue-meaning{display:block}.dialogue-speaker{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--green-dark);margin-bottom:3px}.dialogue-russian{font-family:var(--font-jp);font-size:16px;font-weight:700}.dialogue-meaning{font-size:12px;color:var(--text3);margin-top:2px}.dialogue-audio{position:absolute;right:11px;top:50%;transform:translateY(-50%)}.dialogue-note{text-align:center;font-size:12px;line-height:1.4;color:var(--text3);margin-top:11px}.question-card.match-card{padding:22px 14px;min-height:auto;text-align:left}.match-board{--match-choice-font-size:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;-webkit-text-size-adjust:none;text-size-adjust:none}.match-column{display:flex;flex-direction:column;gap:8px;min-width:0}.match-choice{display:flex;align-items:center;width:100%;min-height:64px;padding:10px 14px;overflow:hidden;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);font-family:var(--font);font-size:var(--match-choice-font-size);font-weight:700;line-height:1.17;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto;transition:var(--transition);-webkit-user-select:none;user-select:none}.match-choice.match-russian{font-family:var(--font)}.match-choice-copy{display:block;width:100%;min-width:0;font-size:inherit!important;white-space:inherit;text-wrap:balance}.match-choice.match-russian .match-choice-copy{overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual}.match-choice:hover{border-color:var(--red);background:var(--red-light)}.match-choice.selected{border-color:var(--red);background:var(--red-light);box-shadow:0 0 0 2px #e9456026}.match-choice.matched{border-color:var(--match-pair-border,var(--green));background:var(--match-pair-bg,var(--green-light));color:var(--match-pair-text,var(--green-dark));opacity:1;pointer-events:none}.match-choice.matched[data-match-tone="0"]{--match-pair-border:hsl(155 28% 70%);--match-pair-bg:hsl(155 28% 95%);--match-pair-text:hsl(155 35% 30%)}.match-choice.matched[data-match-tone="1"]{--match-pair-border:hsl(175 28% 70%);--match-pair-bg:hsl(175 28% 95%);--match-pair-text:hsl(175 35% 30%)}.match-choice.matched[data-match-tone="2"]{--match-pair-border:hsl(195 28% 70%);--match-pair-bg:hsl(195 28% 95%);--match-pair-text:hsl(195 35% 30%)}.match-choice.matched[data-match-tone="3"]{--match-pair-border:hsl(215 28% 70%);--match-pair-bg:hsl(215 28% 95%);--match-pair-text:hsl(215 35% 30%)}.match-choice.matched[data-match-tone="4"]{--match-pair-border:hsl(235 28% 70%);--match-pair-bg:hsl(235 28% 95%);--match-pair-text:hsl(235 35% 30%)}.match-choice.wrong{border-color:var(--red);background:var(--red-light);color:var(--red);animation:shake .4s ease}.match-progress{margin-top:14px;font-size:12px;color:var(--text3);text-align:center;font-weight:600}.question-card.production-image-card{padding-top:20px;padding-bottom:20px}.question-prompt.production-cue-prompt{width:100%;margin:0}.production-cue{display:flex;flex-direction:column;align-items:center;gap:13px;width:100%}.production-image-frame{width:min(58vw,230px)}.production-cue-meaning{max-width:100%;font-family:var(--font);font-size:23px;line-height:1.25;color:var(--text)}.rp-screen{text-align:center;padding:24px 0 32px;position:relative}.rp-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:28px}.rp-stat{background:var(--card);border-radius:var(--radius-sm);padding:14px 6px;box-shadow:var(--shadow)}.rp-stat .num{font-size:24px;font-weight:700}.rp-stat .lbl{font-size:11px;color:var(--text3);margin-top:2px}.rp-stat.correct .num{color:var(--green)}.rp-stat.typo .num{color:var(--orange)}.rp-stat.wrong .num{color:var(--red)}.rp-progress-block{margin:8px 0 28px}.rp-pct{font-size:42px;font-weight:800;color:var(--green);line-height:1;letter-spacing:-1px}.rp-pct-label{font-size:13px;color:var(--text3);margin-top:4px;font-weight:500}.rp-blocks-label{font-size:14px;color:var(--text2);margin-top:18px;font-weight:600}.rp-constellation{margin:18px auto 10px;max-width:340px;width:100%}.rp-constellation svg{width:100%;height:auto;display:block}.rp-node-done-bg{fill:var(--green-light);stroke:var(--green);stroke-width:2.5}.rp-node-check{fill:var(--green-dark);font-size:14px;font-weight:800;text-anchor:middle;dominant-baseline:central;font-family:var(--font)}.rp-node-next-bg{fill:#fff;stroke:var(--green);stroke-width:3}.rp-node-next-fill{fill:var(--green);opacity:.85}.rp-node-next-pulse{fill:none;stroke:var(--green);stroke-width:2;opacity:.35;animation:rpPulse 2.4s ease-in-out infinite}@keyframes rpPulse{0%,to{opacity:.35;stroke-width:2}50%{opacity:.08;stroke-width:6}}.rp-node-future-bg{fill:#fff;stroke:var(--border);stroke-width:2;stroke-dasharray:3 3}.rp-node-num{text-anchor:middle;dominant-baseline:central;font-family:var(--font);font-weight:700}.rp-node-num.next{fill:var(--green-dark);font-size:13px;font-weight:800}.rp-node-num.future{fill:var(--text3);font-size:11px}.rp-link{stroke:var(--border);stroke-width:2;stroke-linecap:round;fill:none}.rp-link.done{stroke:var(--green);opacity:.55}.rp-link.partial{stroke:var(--green);opacity:.35;stroke-dasharray:4 4}.rp-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.rp-done-emoji{font-size:56px;margin-bottom:2px;line-height:1}.rp-done-title{font-size:22px;font-weight:800;color:var(--text);margin-bottom:4px}.rp-done-sub{font-size:14px;color:var(--text2);margin-bottom:18px}.rp-mini-progress{display:flex;flex-direction:column;align-items:center;gap:8px;margin:24px auto;max-width:280px}.rp-mini-circle{width:120px;height:120px;border-radius:50%;background:var(--green-light);border:4px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:var(--green-dark)}.rp-mini-label{font-size:13px;color:var(--text2);text-align:center}.batch-screen{text-align:center;padding:40px 0;position:relative}.session-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--text2);font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.session-close:hover{border-color:var(--red);color:var(--red);background:var(--red-light)}.batch-emoji{font-size:56px;margin-bottom:16px}.batch-title{font-size:22px;font-weight:700;margin-bottom:8px}.batch-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:14px auto 4px;max-width:430px}.batch-rewards-label{width:100%;color:var(--text3);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.batch-reward{display:inline-flex;flex:0 1 104px;min-width:88px;min-height:86px;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding:5px 4px;border:0;background:transparent;color:var(--text2);font-size:11px;font-weight:750;text-align:center}.batch-reward-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:16px;background:var(--card);font-size:25px;line-height:1;box-shadow:var(--shadow)}.batch-reward-text{max-width:104px;line-height:1.2}.batch-reward.green{color:var(--green-dark)}.batch-reward.green .batch-reward-icon{border-color:#22b57361;background:var(--green-light)}.batch-reward.gold{color:var(--gold-dark)}.batch-reward.gold .batch-reward-icon{border-color:#f59e0b6b;background:var(--gold-light)}.batch-reward.purple{color:#7c3aed}.batch-reward.purple .batch-reward-icon{border-color:#8b5cf657;background:#8b5cf61a}.batch-reward.orange{color:#b66a00}.batch-reward.orange .batch-reward-icon{border-color:#f59e0b66;background:#f59e0b1a}.batch-stats{display:flex;justify-content:center;gap:20px;margin:20px 0}.batch-stat{text-align:center}.batch-stat .num{font-size:24px;font-weight:700}.batch-stat .label{font-size:12px;color:var(--text3)}.batch-stat.correct .num{color:var(--green)}.batch-stat.wrong .num{color:var(--red)}.batch-stat.typo .num{color:var(--orange)}.batch-remaining{font-size:14px;color:var(--text2);margin:16px 0 24px}.batch-actions{display:flex;flex-direction:column;gap:10px}.btn-primary{background:var(--red);color:#fff;padding:15px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;text-align:center;transition:var(--transition);width:100%}.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}#game-screen .btn-primary{background:var(--game-primary);color:var(--game-primary-on);box-shadow:0 6px 18px color-mix(in srgb,var(--game-primary) 20%,transparent)}#game-screen .btn-primary:hover{background:var(--game-primary-hover)}.btn-primary.gold{background:var(--green)}.btn-primary.gold:hover{background:var(--green-dark)}.btn-secondary{background:var(--card);color:var(--text2);padding:15px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:var(--transition);width:100%;border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--red);color:var(--red)}.btn-green{background:var(--green);color:#fff;padding:15px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:var(--transition);width:100%}.btn-green:hover{filter:brightness(1.1)}.results{text-align:center;padding:30px 0;position:relative}.results-rank{font-size:72px;margin-bottom:4px}.results-rank-label{font-size:28px;font-weight:700;margin-bottom:4px}.results-rank-msg{font-size:15px;color:var(--text2);margin-bottom:24px}.results-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px}.results-item{background:var(--card);border-radius:var(--radius-sm);padding:16px 8px;box-shadow:var(--shadow)}.results-item .val{font-size:22px;font-weight:700}.results-item .lbl{font-size:11px;color:var(--text3);margin-top:2px}.results-item.green .val{color:var(--green)}.results-item.orange .val{color:var(--orange)}.results-item.red .val{color:var(--red)}.results-streak-box{background:linear-gradient(135deg,#e94560,#c23152);color:#fff;border-radius:var(--radius);padding:16px;margin-bottom:24px}.results-streak-box.gold{background:linear-gradient(135deg,#c9951b,#9d7215)}.results-streak-box.saved{background:linear-gradient(135deg,var(--green),var(--green-dark))}.results-streak-box .num{font-size:28px;font-weight:700}.results-streak-box .lbl{font-size:13px;opacity:.9}.results-next{background:var(--card);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow);margin-bottom:24px;font-size:14px;color:var(--text2)}.results-next strong{color:var(--text)}.results-actions{display:flex;flex-direction:column;gap:10px}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:10px;top:-10px;animation:confettiFall 2.5s ease-in forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-100px);background:var(--card);border-radius:var(--radius-sm);padding:12px 20px;box-shadow:var(--shadow-lg);font-size:14px;font-weight:600;z-index:200;transition:.4s cubic-bezier(.4,0,.2,1);opacity:0;white-space:nowrap}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.correct{border-left:4px solid var(--green);color:var(--green)}.toast.gold{border-left:4px solid var(--gold);color:var(--gold-dark)}.milestone-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:500;opacity:0;pointer-events:none;transition:.3s ease}.milestone-overlay.show{opacity:1;pointer-events:auto}.milestone-box{background:#fff;border-radius:20px;padding:40px;text-align:center;max-width:320px;animation:popIn .4s ease}.milestone-box .emoji{font-size:56px}.milestone-box .title{font-size:22px;font-weight:700;margin:12px 0 4px}.milestone-box .sub{font-size:14px;color:var(--text2)}.milestone-box.reward{background:linear-gradient(180deg,#fbf4df,#fff 60%)}@keyframes sdbFlyIn{0%{transform:translate(-50%) translateY(-160%) scale(.6) rotate(-3deg);opacity:0}55%{transform:translate(-50%) translateY(14px) scale(1.06) rotate(1deg);opacity:1}72%{transform:translate(-50%) translateY(-4px) scale(.98) rotate(-.5deg)}88%{transform:translate(-50%) translateY(4px) scale(1.01) rotate(0)}to{transform:translate(-50%) translateY(0) scale(1) rotate(0);opacity:1}}@keyframes sdbFlyOut{0%{transform:translate(-50%) translateY(0) scale(1);opacity:1}to{transform:translate(-50%) translateY(-160%) scale(.7);opacity:0}}@keyframes sdbGlow{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.18)}}@keyframes sdbEmojiBounce{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.35) rotate(-12deg)}60%{transform:scale(1.1) rotate(10deg)}}.streak-day-banner{position:fixed;top:18px;left:50%;transform:translate(-50%) translateY(-160%);display:flex;align-items:center;gap:14px;padding:14px 22px 14px 20px;background:linear-gradient(135deg,#fff6e0,#ffe7b8 55%,#ffd27a);border:1.5px solid #F0B95C;border-radius:18px;box-shadow:0 14px 36px -10px #e88c1e73,0 2px 6px #0000000f;z-index:600;opacity:0;pointer-events:none;min-width:240px;max-width:90vw;overflow:hidden;isolation:isolate}.streak-day-banner.show{animation:sdbFlyIn .55s cubic-bezier(.34,1.56,.64,1) forwards,sdbFlyOut .45s cubic-bezier(.4,0,.6,1) forwards 5.05s}.streak-day-banner .sdb-glow{position:absolute;left:14px;top:50%;width:46px;height:46px;transform:translateY(-50%);background:radial-gradient(circle,#ffb43ce6,#ffb43c00 70%);border-radius:50%;z-index:-1;animation:sdbGlow 1.4s ease-in-out infinite}.streak-day-banner .sdb-emoji{width:38px;height:38px;display:grid;place-items:center;line-height:1;filter:drop-shadow(0 2px 4px rgba(232,140,30,.5));animation:sdbEmojiBounce .7s ease-out .25s both}.streak-day-banner .sdb-text{display:flex;flex-direction:column;gap:2px}.streak-day-banner .sdb-title{font-size:15px;font-weight:700;color:#5c3a0e;letter-spacing:-.01em}.streak-day-banner .sdb-sub{font-size:12px;font-weight:500;color:#7a5418;opacity:.85}.streak-day-banner.recovery{background:linear-gradient(135deg,#e7f7ff,#fff3c9 54%,#ffd580);border-color:#7db9d8;box-shadow:0 16px 42px -10px #4a97bf85,0 2px 7px #00000012}.streak-day-banner.recovery .sdb-title{color:#234d62;font-size:16px}.streak-day-banner.recovery .sdb-sub{display:block;color:#426879;font-weight:650;opacity:1}@media(max-width:400px){.streak-day-banner{min-width:200px;padding:12px 18px 12px 16px;gap:11px;top:12px}.streak-day-banner .sdb-emoji{width:34px;height:34px}.streak-day-banner .sdb-title{font-size:14px}.streak-day-banner .sdb-sub{font-size:11.5px}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@media(max-width:400px){.app{padding:0 max(16px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.question-prompt{font-size:20px}}.home-hero{padding:14px 0 12px}.home-hero h1{font-size:20px}.home-hero .sub{font-size:12px}.top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.top-actions.single{grid-template-columns:1fr}.top-btn{display:flex;align-items:center;gap:10px;padding:14px 12px;border-radius:14px;cursor:pointer;transition:var(--transition);text-align:left;min-height:64px;border:none}.top-btn:active{transform:translateY(0)}.top-btn:hover{transform:translateY(-1px)}.top-btn.review{background:linear-gradient(135deg,#e94560,#c23152);color:#fff;box-shadow:0 4px 14px #e9456047}.top-btn.review:hover{box-shadow:0 6px 18px #e9456059}.top-btn.learn{background:var(--card);color:var(--text);border:1.5px solid var(--border);box-shadow:var(--shadow)}.top-btn.learn:hover{border-color:var(--red);box-shadow:var(--shadow-lg)}.top-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.top-btn-icon{font-size:22px;flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center}.top-btn-icon svg{width:22px;height:22px;display:block}.top-btn.review .top-btn-icon svg{color:#fff}.top-btn.learn .top-btn-icon svg{color:var(--red)}.top-btn-main{display:flex;flex-direction:column;min-width:0;flex:1}.top-btn-title{font-weight:700;font-size:14px;line-height:1.2}.top-btn-sub{font-size:11px;opacity:.88;margin-top:2px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-btn.review .top-btn-sub{opacity:.92}.top-actions.plan-actions{grid-template-columns:1fr}.access-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:13px;padding:11px 12px;background:var(--card);color:var(--text)}.access-banner span{min-width:0}.access-banner strong,.access-banner small{display:block}.access-banner strong{font-size:12px;line-height:1.25}.access-banner small{font-size:10px;line-height:1.3;color:var(--text3);margin-top:2px}.access-banner button{flex-shrink:0;border:1px solid var(--red);border-radius:9px;padding:8px 10px;background:var(--red-light);color:var(--red);font-size:11px;font-weight:800;cursor:pointer}.access-banner button:hover{background:var(--red);color:#fff}.access-banner button:disabled{opacity:.65;cursor:wait}.access-banner.trial-ready button,.access-banner.trial-guest button{min-height:44px;padding:10px 14px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;box-shadow:0 6px 15px color-mix(in srgb,var(--red) 22%,transparent)}.access-banner.trial-guest{border-color:color-mix(in srgb,var(--red) 34%,var(--border));background:linear-gradient(115deg,color-mix(in srgb,var(--red-light) 58%,var(--card)),var(--card) 72%)}.access-banner.trial-guest strong{font-size:13px;font-weight:850}.access-banner.trial-active{border-color:var(--green);background:var(--green-light)}.access-banner.trial-active button{border-color:var(--green);background:var(--card);color:var(--green-dark)}.access-banner.access-ended{border-color:var(--gold);background:var(--gold-light)}.access-banner.access-ended button{border-color:var(--gold);background:var(--card);color:var(--gold-dark)}.today-plan-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow);overflow:hidden}.today-plan-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-dark);margin-bottom:6px}.today-plan-head{display:block;margin-bottom:10px}.today-plan-minutes{font-size:19px;color:var(--text);white-space:nowrap}.today-plan-minutes strong{font-size:26px}.today-plan-progress{font-size:11px;line-height:1.35;color:var(--text3);text-align:left;margin-top:3px}.today-plan-items{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.today-plan-items strong{color:var(--text)}.today-plan-topic{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:-3px 0 12px;color:var(--text2);font-size:12px;line-height:1.35}.today-plan-topic strong{color:var(--text)}.today-plan-topic button{flex-shrink:0;border:0;background:transparent;color:var(--red);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.today-plan-start{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:12px;padding:13px 16px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;font-size:14px;font-weight:750;box-shadow:0 4px 14px #e945603d;cursor:pointer}.today-plan-start svg{width:16px;height:16px}.today-plan-start:hover{filter:brightness(1.05)}.plan-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.plan-target{min-width:0;padding:10px 4px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text2);font-size:11px;font-weight:750;line-height:1.15;cursor:pointer}.plan-target span{display:block;overflow:hidden;text-overflow:ellipsis}.plan-target strong{display:block;font-size:13px;color:var(--text);margin-top:2px}.plan-target:hover{border-color:var(--red);color:var(--red)}.plan-target.active{border-color:var(--red);background:var(--red-light);color:var(--red)}.plan-make-usual{width:100%;margin-top:7px;border:none;background:transparent;color:var(--red);font-size:11px;font-weight:650;cursor:pointer;padding:5px}.weekly-plan{border-top:1px solid var(--border);margin-top:13px;padding-top:12px}.weekly-plan-title{font-size:11px;font-weight:750;color:var(--text);margin-bottom:7px}.weekly-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.weekly-plan-grid span{font-size:9px;color:var(--text3);line-height:1.25}.weekly-plan-grid strong{display:block;color:var(--text2);font-size:11px}.weekly-forecast{font-size:10px;color:var(--green-dark);margin-top:8px}.weekly-forecast.muted{color:var(--text3)}.study-time-sheet-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#05080f9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:12px 12px 0}.study-time-sheet{width:min(100%,480px);border:1px solid var(--border);border-bottom:0;border-radius:22px 22px 0 0;background:var(--card);color:var(--text);box-shadow:0 -18px 45px #00000047;padding:8px 18px calc(18px + env(safe-area-inset-bottom));animation:sheetUp .22s ease-out}.study-time-handle{width:42px;height:4px;margin:1px auto 12px;border-radius:999px;background:var(--border)}.study-time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.study-time-head h2{margin:0;font-size:19px;line-height:1.2}.study-time-head p{margin:4px 0 0;color:var(--text3);font-size:12px}.study-time-close{width:34px;height:34px;border:0;border-radius:50%;background:var(--bg);color:var(--text2);font-size:23px;line-height:1;cursor:pointer}.study-time-wheel-wrap{position:relative;width:180px;height:128px;margin:2px auto 0}.study-time-wheel-wrap:after{content:"";position:absolute;left:0;right:0;top:42px;height:44px;border-top:1px solid var(--red);border-bottom:1px solid var(--red);background:var(--red-light);pointer-events:none}.study-time-wheel{height:128px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;padding:42px 0}.study-time-wheel::-webkit-scrollbar{display:none}.study-time-option{display:block;width:100%;height:44px;scroll-snap-align:center;border:0;background:transparent;color:var(--text3);font-size:17px;font-weight:650;cursor:pointer;position:relative;z-index:1;transition:color .12s ease,font-size .12s ease}.study-time-option.selected{color:var(--text);font-size:22px;font-weight:850}.study-time-selected{text-align:center;margin-top:-4px;color:var(--text2);font-size:13px}.study-time-selected strong{font-size:20px;color:var(--red)}.study-time-usual{display:flex;align-items:center;justify-content:center;gap:7px;margin:9px 0 2px;color:var(--text2);font-size:12px;cursor:pointer}.study-time-usual input{width:16px;height:16px;accent-color:var(--red)}.study-time-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.study-time-actions button{min-height:38px;padding:6px;border-radius:11px;font-size:13px;font-weight:750;cursor:pointer}.study-time-today{border:1px solid var(--border);background:var(--bg);color:var(--text)}.study-time-default{border:0;background:var(--red);color:#fff}@keyframes sheetUp{0%{transform:translateY(35px);opacity:.25}to{transform:translateY(0);opacity:1}}.streak-activity{background:var(--card);border-radius:14px;padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow);transition:var(--transition);border:1.5px solid transparent;cursor:pointer}.streak-activity:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);border-color:var(--orange-light)}.sa-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.sa-streak{display:flex;align-items:baseline;gap:6px;min-width:0}.sa-streak .e{font-size:20px;line-height:1}.sa-streak .n{font-size:24px;font-weight:700;color:var(--orange);line-height:1}.sa-streak .l{font-size:12px;color:var(--text2);white-space:nowrap}.sa-best{text-align:right;flex-shrink:0}.sa-best .l{font-size:10px;color:var(--text3);display:block;text-transform:lowercase;letter-spacing:.3px}.sa-best .n{font-size:14px;font-weight:600;color:var(--text2)}.sa-grid{display:grid;grid-template-columns:auto repeat(8,1fr);gap:3px;align-items:center;margin-bottom:10px}.sa-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text3)}.sa-expand-hint{color:var(--red);font-weight:600;font-size:12px}.stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}.stats-row.stats-2col{grid-template-columns:1fr 1fr}.stat-tile{background:var(--card);border-radius:12px;padding:10px 6px;text-align:center;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border:1.5px solid transparent;position:relative;overflow:hidden}.stat-tile:hover{border-color:var(--red);transform:translateY(-1px)}.stat-tile .stat-emoji{font-size:16px;line-height:1}.stat-tile .stat-num{font-size:18px;font-weight:700;margin-top:2px;line-height:1.1}.stat-tile .stat-lbl{font-size:10px;color:var(--text3);margin-top:2px;text-transform:lowercase}.stat-tile.streak .stat-num{color:var(--orange)}.stat-tile.progress .stat-num{color:var(--green)}.stat-tile.words .stat-num{color:var(--text)}.stat-tile.rewards .stat-num{color:var(--gold-dark)}.stat-tile.rewards .stat-rewards-row{display:flex;gap:2px;justify-content:center;margin-top:4px;flex-wrap:wrap;max-height:18px;overflow:hidden}.stat-tile.rewards .stat-rewards-row .r{font-size:13px;line-height:1}.stat-tile .stat-mini-bar{height:3px;background:var(--border);border-radius:2px;margin:6px 4px 0;overflow:hidden}.stat-tile .stat-mini-bar-fill{height:100%;background:var(--green);border-radius:2px;transition:.4s}.stat-expanded{display:none}body.modal-open{overflow:hidden;position:fixed;width:100%;top:0;left:0;right:0}.account-overlay{position:fixed;inset:0;background:#00000094;z-index:800;display:flex;align-items:center;justify-content:center;padding:18px}.account-overlay[hidden]{display:none}.account-panel{width:min(100%,430px);max-height:min(92vh,720px);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 24px 80px #00000052;position:relative}.account-panel h2{font-size:21px;margin:0 32px 18px 0;color:var(--text)}.account-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:var(--bg);color:var(--text2);font-size:24px;cursor:pointer}.account-copy{font-size:14px;line-height:1.5;color:var(--text2);margin-bottom:14px}.account-trial-copy{max-width:350px;color:var(--text);font-size:14.5px;line-height:1.55}.account-login-secondary{margin:10px 0 0;color:var(--text3);font-size:11px;line-height:1.35;text-align:center}.account-section-title{font-size:13px;font-weight:850;color:var(--text);margin:16px 0 5px}.account-trial{display:grid;gap:7px;padding:13px;border:1px solid var(--green);border-radius:12px;background:var(--green-light);margin:4px 0 15px}.account-trial strong{font-size:14px;color:var(--text)}.account-trial span{font-size:12px;line-height:1.4;color:var(--text2)}.account-trial small{font-size:10px;color:var(--text3);text-align:center}.account-trial-active{padding:11px 12px;border-radius:10px;background:var(--green-light);color:var(--text2)}.account-activation-offer{display:grid;gap:7px;padding:16px;margin:2px 0 14px;border:1px solid color-mix(in srgb,var(--green) 55%,var(--border));border-radius:12px;background:linear-gradient(145deg,var(--green-light),var(--card))}.account-activation-offer.book-owner{border-color:color-mix(in srgb,var(--gold) 62%,var(--border));background:linear-gradient(145deg,var(--gold-light),var(--card))}.account-activation-offer strong{font-size:16px;line-height:1.35;color:var(--text)}.account-activation-offer span{font-size:13px;font-weight:700;color:var(--green-dark)}.account-activation-offer small{font-size:11px;line-height:1.4;color:var(--text3)}.account-public-plans{display:grid;gap:8px;margin:12px 0}.account-public-plans>div{display:grid;gap:2px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.account-public-plans strong{font-size:14px;color:var(--text)}.account-public-plans span{font-size:11px;line-height:1.4;color:var(--text3)}.account-learning-value{display:grid;gap:9px;padding:13px;margin:0 0 12px;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.account-learning-value>strong{font-size:13px;color:var(--text)}.account-learning-value>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.account-learning-value span{display:grid;gap:2px;font-size:10px;line-height:1.25;color:var(--text3)}.account-learning-value b{font-size:16px;color:var(--text)}.account-field{display:block;margin:10px 0}.account-field span{display:block;font-size:12px;font-weight:700;color:var(--text2);margin-bottom:5px}.account-field input{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:16px}.account-primary,.account-secondary{width:100%;border:0;border-radius:10px;padding:12px 14px;font-weight:750;cursor:pointer;margin-top:8px}.account-primary{background:var(--red);color:#fff}.account-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text2)}.account-message{min-height:18px;margin-top:9px;font-size:12px;color:var(--text3)}.account-message.error{color:var(--red)}.account-message.ok{color:var(--green)}.account-user{padding:12px;border-radius:11px;background:var(--bg);margin-bottom:12px}.account-email{font-weight:750;color:var(--text);word-break:break-word}.account-entitlement{font-size:12px;color:var(--text2);margin-top:4px}.account-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.account-plan{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--bg);color:var(--text);cursor:pointer;text-align:left}.account-plan:disabled{opacity:.72;cursor:not-allowed}.account-plan strong,.account-plan span{display:block}.account-plan span{font-size:12px;color:var(--text3);margin-top:3px}.account-plan.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red);background:var(--red-light)}.account-plan.best:before{content:"BEST VALUE";display:block;font-size:9px;font-weight:800;color:var(--green);margin-bottom:5px}.paypal-subscribe-container{min-height:46px;margin-top:10px}.sync-line{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text2);padding:10px 0;border-top:1px solid var(--border)}.demo-note{padding:10px 12px;border-radius:10px;background:var(--gold-light);color:var(--gold-dark);font-size:12px;line-height:1.4;margin:10px 0}.account-books-link{display:block;padding:11px 12px;border:1px solid var(--border);border-radius:10px;color:var(--text2);font-size:11px;line-height:1.45;text-decoration:none;background:var(--bg)}.account-books-link:hover,.account-books-link:focus-visible{border-color:var(--red);color:var(--red);outline:none}.stat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:600;animation:fadeIn .2s ease;overscroll-behavior:contain}.stat-modal{background:var(--card);border-radius:20px 20px 0 0;padding:14px 20px 24px;max-width:480px;width:100%;max-height:82vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.stat-modal-handle{width:48px;height:5px;background:var(--border);border-radius:3px;margin:0 auto 14px}.stat-modal h2{font-size:18px;font-weight:700;margin-bottom:4px;color:var(--text)}.stat-modal .sub-h{font-size:12px;color:var(--text3);margin-bottom:14px}.stat-modal-section{margin-bottom:18px}.stat-modal-section:last-of-type{margin-bottom:10px}.stat-modal-section-title{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.stat-modal .row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text2)}.stat-modal .row:last-child{border-bottom:none}.stat-modal .row .v{color:var(--text);font-weight:600;text-align:right}.stat-modal .row .v.green{color:var(--green-dark)}.stat-modal .row .v.orange{color:var(--orange)}.stat-modal .row .v.red{color:var(--red)}.stat-modal .row .lbl-emoji{margin-right:8px}.stat-modal-rewards{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0}.stat-modal-rewards .reward-cell{width:36px;height:36px;font-size:18px;border-radius:8px}.stat-modal-close{background:var(--bg);color:var(--text2);border:1px solid var(--border);padding:11px;border-radius:10px;font-size:14px;font-weight:600;width:100%;margin-top:8px;cursor:pointer;transition:var(--transition)}.stat-modal-close:hover{background:var(--border)}.stat-tile .stat-sub-detail{font-size:10px;color:var(--text3);margin-top:4px}.level-switcher{position:relative;z-index:70;flex:0 0 auto}.level-switcher summary{list-style:none}.level-switcher summary::-webkit-details-marker{display:none}.level-switcher-trigger{height:40px;min-width:102px;padding:0 11px;display:grid;grid-template-columns:auto auto 15px;align-items:center;justify-content:center;column-gap:6px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text2);box-shadow:var(--shadow);cursor:pointer;line-height:1;transition:var(--transition);-webkit-user-select:none;user-select:none}.level-switcher-trigger:hover{border-color:color-mix(in srgb,var(--red) 42%,var(--border));background:var(--red-light);color:var(--red-dark)}.level-switcher-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 24%,transparent);outline-offset:2px}.level-switcher-label,.level-switcher-current{display:inline-flex;align-items:center;height:18px;font-size:12px;line-height:18px}.level-switcher-label{font-weight:750;color:var(--text2)}.level-switcher-current{font-weight:800;letter-spacing:.01em;color:var(--red)}.level-switcher-chevron{display:block;width:15px;height:15px;align-self:center;transform:translateY(.25px);transform-origin:center;transition:transform .18s ease}.level-switcher[open] .level-switcher-trigger{border-color:var(--red);background:var(--red-light);color:var(--red-dark);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)}.level-switcher[open] .level-switcher-chevron{transform:translateY(.25px) rotate(180deg)}.level-switcher-popover{position:absolute;top:calc(100% + 9px);left:0;width:min(308px,calc(100vw - 40px));padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:0 18px 50px #1a1d262b,0 2px 8px #1a1d2614;animation:levelSwitcherIn .16s ease both;overflow:hidden}@keyframes levelSwitcherIn{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.level-switcher-menu-copy{padding:7px 9px 10px}.level-switcher-menu-copy strong{display:block;font-size:14px;font-weight:800;color:var(--text)}.level-switcher-menu-copy span{display:block;margin-top:1px;font-size:10px;line-height:1.4;color:var(--text3)}.level-switcher-options{display:grid;gap:4px}.level-switcher-option{min-height:57px;padding:7px 9px;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid transparent;border-radius:12px;color:var(--text);text-decoration:none;transition:var(--transition)}.level-switcher-option:hover,.level-switcher-option:focus-visible{border-color:var(--border);background:var(--bg);outline:none}.level-switcher-option:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}.level-switcher-option.current{border-color:color-mix(in srgb,var(--red) 24%,var(--border));background:var(--red-light)}.level-switcher-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--bg);border:1px solid var(--border);font-size:13px;font-weight:850;letter-spacing:.03em;color:var(--text2)}.level-switcher-option.current .level-switcher-badge{border-color:transparent;background:var(--red);color:#fff;box-shadow:0 5px 13px #e9456033}.level-switcher-option-copy{min-width:0}.level-switcher-option-copy strong{display:block;font-size:12px;font-weight:750;line-height:1.25;color:var(--text)}.level-switcher-option-copy small{display:block;margin-top:2px;font-size:10px;line-height:1.3;color:var(--text3)}.level-switcher-check{width:17px;height:17px;color:var(--red);opacity:0}.level-switcher-option.current .level-switcher-check{opacity:1}@media(max-width:360px){.level-switcher-trigger{min-width:96px;padding-inline:9px}.level-switcher-popover{width:calc(100vw - 32px)}}.sync-form{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}.sync-input{width:100%;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;outline:none;transition:var(--transition)}.sync-input:focus{border-color:var(--red)}.sync-btn{background:var(--red);color:#fff;border:none;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);width:100%}.sync-btn:hover{background:var(--red-dark)}.sync-btn:disabled{opacity:.5;cursor:default}.sync-btn.outline{background:none;color:var(--text2);border:1px solid var(--border)}.sync-btn.outline:hover{background:var(--border);color:var(--text)}.sync-status{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--green-light);border-radius:10px;font-size:13px;color:var(--green-dark);margin-bottom:10px}.sync-status .sync-email{font-weight:600;color:var(--text);font-size:13px;word-break:break-all}.sync-status .sync-meta{font-size:11px;color:var(--text3);margin-top:2px}.sync-hint{font-size:12px;color:var(--text3);padding:8px 0;line-height:1.4}.sync-msg{font-size:13px;padding:10px 12px;border-radius:8px;margin-top:6px}.sync-msg.ok{background:var(--green-light);color:var(--green-dark)}.sync-msg.err{background:var(--red-light);color:var(--red-dark)}.topics-cubes{display:grid;gap:8px;margin-bottom:14px}.topics-cubes.small{grid-template-columns:repeat(5,1fr);gap:6px}.topics-cubes.medium{grid-template-columns:repeat(3,1fr);gap:8px}.topic-cube{background:var(--card);border-radius:12px;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow);border:1.5px solid transparent;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.topic-cube:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);border-color:var(--red)}.topic-cube:active{transform:scale(.96)}.topics-cubes.small .topic-cube{aspect-ratio:1;padding:4px;background:linear-gradient(180deg,#eafaf2,#d6f4e2);border:1.5px solid transparent;gap:1px}.topics-cubes.small .topic-cube:hover{border-color:var(--green-dark);transform:translateY(-1px)}.topics-cubes.small .topic-cube .cube-num{font-size:15px;font-weight:700;color:var(--green-dark);line-height:1}.topics-cubes.small .topic-cube .cube-name{font-size:9px;font-weight:600;color:var(--green-dark);line-height:1.1;padding:0 2px;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.82}.topics-cubes.medium .topic-cube{padding:10px 8px;min-height:84px;justify-content:flex-start;align-items:flex-start;text-align:left;gap:5px}.topics-cubes.medium .topic-cube .cube-num{font-size:11px;font-weight:700;color:var(--red);background:var(--red-light);padding:2px 8px;border-radius:5px}.topics-cubes.medium .topic-cube .cube-name{font-size:12px;font-weight:600;line-height:1.22;color:var(--text);width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.topics-cubes.medium .topic-cube .cube-count{font-size:10px;color:var(--text3);margin-top:auto}.topics-active-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.current-topic-row{border-color:var(--red);background:linear-gradient(135deg,var(--card),var(--red-light))}.topics-browse-all{margin:12px 0 6px}.learning-directions{border:1px solid var(--border);border-radius:15px;background:var(--card);padding:14px;margin:0 0 12px}.learning-directions-title{font-size:16px;font-weight:800;color:var(--text);margin-bottom:3px}.learning-directions-sub{font-size:12px;line-height:1.35;color:var(--text3);margin-bottom:11px}.learning-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.learning-direction{display:flex;align-items:center;gap:8px;min-height:54px;padding:9px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.learning-direction:hover{border-color:var(--red);background:var(--red-light)}.learning-direction-icon{font-size:20px}.learning-direction strong,.learning-direction small{display:block}.learning-direction strong{font-size:12px;line-height:1.2}.learning-direction small{margin-top:2px;color:var(--text3);font-size:10px}.learning-order-btn{width:100%;margin-top:8px;padding:9px;border:0;background:transparent;color:var(--text2);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.topic-catalog-preview{margin-top:10px;border-top:1px solid var(--border);padding-top:9px}.topic-catalog-preview summary{color:var(--text2);font-size:12px;font-weight:750;cursor:pointer;padding:4px}.topic-catalog-levels{display:grid;gap:12px;margin-top:10px}.topic-catalog-level h3{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px}.topic-catalog-list{display:grid;gap:4px}.topic-catalog-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto 20px;align-items:center;gap:7px;width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.topic-catalog-item:hover{border-color:var(--red);background:var(--red-light)}.topic-catalog-item.locked{color:var(--text2)}.topic-catalog-number{font-size:10px;font-weight:800;color:var(--red)}.topic-catalog-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-catalog-item small{font-size:9px;color:var(--text3)}.topic-catalog-lock{font-size:10px;text-align:right}.topic-row{background:var(--card);border-radius:12px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border-left:3px solid var(--orange)}.topic-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.topic-row:active{transform:scale(.99)}.topic-row .row-num{font-size:11px;font-weight:700;color:var(--orange);background:var(--orange-light);padding:3px 8px;border-radius:5px;min-width:28px;text-align:center}.topic-row .row-mid{min-width:0}.topic-row .row-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-row .row-bar{width:100%;max-width:120px;height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:5px}.topic-row .row-bar-fill{height:100%;background:var(--orange);border-radius:2px;transition:.4s}.topic-row .row-progress{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.topic-row .row-count{font-size:12px;font-weight:600;color:var(--text2);white-space:nowrap}.topic-row .row-due{font-size:10px;color:var(--green-dark);background:var(--green-light);padding:1px 6px;border-radius:8px;font-weight:600}.show-more-btn{display:block;width:100%;background:none;border:1px dashed var(--border);color:var(--text2);padding:9px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;margin-top:-4px;margin-bottom:14px;transition:var(--transition)}.show-more-btn:hover{border-color:var(--text3);color:var(--text);background:var(--bg)}.show-more-btn:active{transform:scale(.99)}.topics-section-title{display:inline-flex;align-items:center;gap:6px}.topics-section-title svg{width:14px;height:14px;flex-shrink:0}.topics-section-title .icon-check{color:var(--green)}.topics-section-title .icon-hourglass{color:var(--orange)}.topics-section-title .icon-sparkles{color:var(--red)}@media(max-width:380px){.topics-cubes.small{grid-template-columns:repeat(4,1fr)}.topics-cubes.medium{grid-template-columns:repeat(2,1fr)}.learning-direction-grid{grid-template-columns:1fr}}@media(max-width:520px){.game-header .header-title{display:none}.game-header .header-back{min-width:0;overflow:hidden}.game-header .header-back span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-header .report-issue-button{margin-left:auto}.game-header .game-study-clock{margin-left:8px}}.heatmap-collapsed .heatmap-content{display:none}.heatmap-header-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0}.heatmap-header-btn .arrow{font-size:11px;color:var(--text3);transition:transform .3s;margin-left:8px}.heatmap-collapsed .heatmap-header-btn .arrow{transform:rotate(-90deg)}.rewards-section .rewards-grid{gap:6px}.rewards-section .reward-cell{width:38px;height:38px;font-size:18px;border-radius:8px}@media(max-width:400px){.top-btn{padding:12px 10px;min-height:60px}.top-btn-icon{font-size:20px}.top-btn-title{font-size:13px}.stat-tile .stat-num{font-size:16px}}:root[data-theme=dark]{color-scheme:dark;--bg:#141519;--card:#1D1F24;--border:#353943;--text:#F4F6FA;--text2:#C6CBD6;--text3:#929BAC;--red-light:#3A2028;--green-light:#18372B;--orange-light:#382C14;--purple-light:#2C2540;--blue-light:#202A45;--gold-light:#3A321B;--green-dark:#55D49A;--gold-dark:#F0C75E;--game-primary:#D9365A;--game-primary-hover:#C42B4D;--game-primary-on:#FFFFFF;--game-progress:#E0647D;--game-control-bg:#272A31;--game-control-border:#3A3F49;--game-control-text:#C6CBD6;--game-mode-bg:#272A31;--game-mode-border:#3A3F49;--game-mode-text:#C6CBD6;--game-time-bg:#22252B;--game-time-border:#3A3F49;--game-time-text:#C6CBD6;--game-streak-text:#B7BFCC;--frozen:#89D2FF;--frozen-light:#173449;--frozen-fill:#204964;--frozen-on:#E8F8FF;--shadow:0 2px 10px rgba(0,0,0,.28),0 0 1px rgba(255,255,255,.04);--shadow-lg:0 10px 32px rgba(0,0,0,.38),0 0 1px rgba(255,255,255,.05);--shadow-gold:0 4px 16px rgba(201,149,27,.2),0 0 1px rgba(255,255,255,.04)}:root[data-theme=dark] .bury-confirm{background:#1d1f24fa}:root[data-theme=dark] .popup-box,:root[data-theme=dark] .milestone-box{background:var(--card)}:root[data-theme=dark] .milestone-box.reward{background:linear-gradient(180deg,#372F19,var(--card) 60%)}:root[data-theme=dark] .topics-cubes.small .topic-cube{background:linear-gradient(180deg,#18372b,#142e25)}:root[data-theme=dark] .rp-node-next-bg,:root[data-theme=dark] .rp-node-future-bg{fill:var(--card)}:root[data-theme=dark] .question-type-label.green{color:#71e0ac}:root[data-theme=dark] .question-type-label.gold{color:#f0c75e}:root[data-theme=dark] .match-choice.matched[data-match-tone="0"]{--match-pair-border:hsl(155 28% 42%);--match-pair-bg:hsl(155 28% 18%);--match-pair-text:hsl(155 35% 82%)}:root[data-theme=dark] .match-choice.matched[data-match-tone="1"]{--match-pair-border:hsl(175 28% 42%);--match-pair-bg:hsl(175 28% 18%);--match-pair-text:hsl(175 35% 82%)}:root[data-theme=dark] .match-choice.matched[data-match-tone="2"]{--match-pair-border:hsl(195 28% 42%);--match-pair-bg:hsl(195 28% 18%);--match-pair-text:hsl(195 35% 82%)}:root[data-theme=dark] .match-choice.matched[data-match-tone="3"]{--match-pair-border:hsl(215 28% 42%);--match-pair-bg:hsl(215 28% 18%);--match-pair-text:hsl(215 35% 82%)}:root[data-theme=dark] .match-choice.matched[data-match-tone="4"]{--match-pair-border:hsl(235 28% 42%);--match-pair-bg:hsl(235 28% 18%);--match-pair-text:hsl(235 35% 82%)}:root[data-theme=dark] .batch-reward.purple{color:#c4b5fd}:root[data-theme=dark] .batch-reward.orange{color:#f6c453}:root[data-theme=dark] .keyboard-key{box-shadow:0 1px 3px #00000052}:root[data-theme=dark] .russian-keyboard{background:linear-gradient(180deg,color-mix(in srgb,var(--red-light) 68%,var(--card)),color-mix(in srgb,var(--purple-light) 52%,var(--card)));box-shadow:0 -10px 30px #0000005c}:root[data-theme=dark] .keyboard-layout-mobile .keyboard-key{background:var(--card);color:var(--text);box-shadow:0 2px #0000006b,0 4px 9px #0000003d}:root[data-theme=dark] .keyboard-layout-mobile .keyboard-service{background:var(--purple-light);color:#d8ccff}:root[data-theme=dark] .keyboard-layout-mobile .keyboard-key.has-alternate:after{color:#b8bbc1}:root[data-theme=dark] .keyboard-layout-mobile .keyboard-actions .keyboard-check{background:var(--red);color:#fff}:root[data-theme=dark] .keyboard-layout-mobile .keyboard-actions .keyboard-check:disabled{background:var(--red-light);color:var(--text3)}:root[data-theme=dark] .daily-mission-row.goal-recovery{--goal-soft:#173A4D;background:linear-gradient(112deg,#173A4D,var(--card) 72%,color-mix(in srgb,var(--recovery-surface,#EAF7FF) 18%,#2A3038))}:root[data-theme=dark] .chunk-btn:hover,:root[data-theme=dark] .quiet-action:hover{border-color:var(--border);background:var(--card);color:var(--text)}:root[data-theme=dark] .account-button:hover{border-color:var(--border);background:var(--card)}:root[data-theme=dark] .access-banner button:hover{background:var(--red-light);color:var(--red)}:root[data-theme=dark] .topic-catalog-item:hover{border-color:var(--border);background:var(--bg)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .option-btn:not(.disabled):not(.correct):not(.wrong):hover,:root[data-theme=dark] .voice-choice-option:not(:disabled):not(.correct):hover,:root[data-theme=dark] .match-choice:not(.selected):not(.matched):not(.wrong):hover{border-color:#9b4b5c;background:#2a242a;color:var(--text)}}@media(hover:none){.option-btn:not(.correct):not(.wrong):hover,.match-choice:not(.selected):not(.matched):not(.wrong):hover{border-color:var(--border);background:var(--card)}.option-btn:not(.disabled):active{border-color:var(--red);background:var(--red-light);transform:scale(.975)}.intro-slide:hover .intro-slide-speaker{transform:none}.keyboard-key:hover{border-color:var(--border);background:var(--card)}.session-close:hover{border-color:var(--border);background:var(--card);color:var(--text2)}}.primary-shell{display:none}.primary-nav-visible .primary-shell{display:block}.primary-shell .header{position:relative;gap:10px;padding-bottom:10px}.header-spacer{width:40px;height:40px;flex:0 0 40px}.app-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:sticky;top:0;z-index:45;width:100%;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--card);background:color-mix(in srgb,var(--card) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);margin-bottom:2px}.app-nav-item{height:42px;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text3);font-size:11px;font-weight:700;border-radius:8px;position:relative;padding:0 6px}.app-nav-item svg{width:17px;height:17px;display:block;flex:0 0 17px}.app-nav-item.active{color:var(--red);background:var(--red-light)}.app-nav-item small{display:none;max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:800;color:var(--green-dark)}.app-nav-item.has-access-copy small{display:block}.app-nav-item.has-access-copy>span:last-of-type{display:none}.nav-icon-wrap{position:relative;display:block}.nav-status-dot{display:none;position:absolute;right:-3px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:var(--text3);border:2px solid var(--card)}.nav-status-dot.ok{display:block;background:var(--green)}.nav-status-dot.warning{display:block;background:var(--orange)}.today-plan-card{border-radius:16px;padding:16px}.today-plan-kicker{letter-spacing:.1em;margin-bottom:7px}.today-plan-head{margin-bottom:10px}.today-plan-minutes{font-size:19px;white-space:normal;color:var(--text)}.today-plan-minutes strong{font-size:26px;color:var(--text)}.today-plan-items{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 13px;color:var(--text2);font-size:11px}.today-plan-items span{font-size:11px;color:var(--text2);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 8px}.today-plan-start{border-radius:12px;min-height:44px;background:linear-gradient(135deg,var(--red),var(--red-dark));box-shadow:0 4px 14px #e945603d}.topic-cube.locked{cursor:pointer;text-align:left;opacity:.82}.topic-cube.locked .cube-count{color:var(--gold-dark)}.stat-tile.rewards .stat-num small{font-size:9px;font-weight:700;color:var(--text3)}.home-time-rewards{margin:13px 2px 15px;padding:0 1px 11px;border-bottom:1px solid var(--border)}.home-time-rewards .time-reward-progress{margin-top:0;padding-top:0;border-top:0}.time-reward-progress{margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.time-reward-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.time-reward-head strong{font-size:10px;color:var(--text)}.time-reward-head span{font-size:9px;color:var(--text3);text-align:right}.time-reward-track{height:4px;margin:8px 0 5px;border-radius:2px;background:var(--border);overflow:hidden}.time-reward-track i{display:block;height:100%;background:var(--gold);border-radius:inherit;transition:width .3s ease}.time-reward-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.time-reward-milestones span{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;color:var(--text3);font-size:8px;font-weight:750;opacity:.65}.time-reward-milestones span b{font-size:10px;font-weight:800}.time-reward-milestones span.earned{color:var(--gold-dark);opacity:1}.time-rewards-modal .row{opacity:.62}.time-rewards-modal .row.earned{opacity:1;background:var(--green-light)}.time-reward-note{font-size:10px;line-height:1.4;color:var(--text3);padding-top:9px}.time-reward-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:10px auto;width:min(100%,430px)}.time-reward-strip:empty{display:none}.progress-empty{min-height:52vh;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px;color:var(--text2)}.progress-empty strong{font-size:16px;color:var(--text);max-width:320px}.progress-empty span{font-size:12px;line-height:1.5;margin-top:6px;max-width:320px}.progress-weekly{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:0 14px 13px;margin-bottom:12px}.progress-weekly .weekly-plan{border-top:0;margin-top:0;padding-top:13px}.progress-weekly .weekly-plan-title{font-size:13px}.progress-weekly .weekly-plan-grid span{font-size:10px}.progress-weekly .weekly-plan-grid strong{font-size:12px}.progress-weekly .weekly-forecast{font-size:11px}.progress-scope-title{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text3);margin:20px 2px 7px}.progress-scope-title:first-child{margin-top:18px}#progress-screen .stat-tile,#progress-screen .streak-activity{border-radius:8px}.topic-browser-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:#05080f9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.topic-browser-panel{width:min(100%,480px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 24px 72px #05080f4d;padding:18px 18px 20px}.topic-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.topic-browser-head h2{font-size:20px;line-height:1.2}.topic-browser-head p{font-size:11px;color:var(--text3);margin-top:3px}.topic-browser-step{display:block;margin-bottom:5px;color:var(--red);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.topic-browser-close{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--bg);color:var(--text2);font-size:23px}.topic-browser-content .learning-directions{border:0;border-radius:0;padding:0;margin:0;background:transparent}.onboarding-level-chooser{display:grid;gap:8px}.onboarding-level-option{width:100%;min-height:68px;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer;transition:var(--transition)}.onboarding-level-option:hover,.onboarding-level-option:focus-visible{border-color:color-mix(in srgb,var(--red) 48%,var(--border));background:var(--red-light);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)}.onboarding-level-option:disabled{opacity:.65;cursor:wait}.onboarding-level-badge{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--red);font-size:14px;font-weight:900;letter-spacing:.03em;box-shadow:0 3px 10px #1a1d260f}.onboarding-level-copy{min-width:0}.onboarding-level-copy strong,.onboarding-level-copy small{display:block}.onboarding-level-copy strong{font-size:13px;font-weight:850;line-height:1.25}.onboarding-level-copy small{margin-top:3px;color:var(--text3);font-size:10px;line-height:1.35}.onboarding-level-arrow{width:18px;height:18px;color:var(--text3);transition:transform .18s ease,color .18s ease}.onboarding-level-option:hover .onboarding-level-arrow,.onboarding-level-option:focus-visible .onboarding-level-arrow{color:var(--red);transform:translate(2px)}.account-overlay{z-index:1000}.account-panel{border-radius:8px}.account-user{padding:0 0 13px;border-radius:0;background:transparent;border-bottom:1px solid var(--border);margin-bottom:0}.account-summary-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid var(--border)}.account-row-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold-light);color:var(--gold-dark);font-size:12px;font-weight:850}.account-row-icon.sync{background:var(--blue-light);color:var(--blue)}.account-install-row{grid-template-columns:44px minmax(0,1fr) auto;min-height:72px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.account-install-row .account-row-icon.install-app-icon{position:static;align-self:center;width:42px;height:42px;min-height:42px;max-height:42px;padding:0;overflow:hidden;border-radius:11px;background:#f47a2b;box-shadow:0 5px 14px #9d39162e}.account-install-row .account-row-icon.install-app-icon img{display:block;width:100%;height:100%;object-fit:cover}.account-install-row .account-row-copy strong{font-size:14px}.account-install-row .account-row-copy small{margin-top:2px;font-size:11px;line-height:1.3}.account-install-row .account-row-action.account-install-action{min-height:36px;padding:0 11px;border:1px solid var(--border);background:var(--card);color:var(--red);box-shadow:none;cursor:pointer}.account-install-row .account-row-action.account-install-action:disabled{opacity:.68;cursor:wait}.account-install-row.is-priority{border-color:color-mix(in srgb,var(--red) 28%,var(--border));background:linear-gradient(135deg,var(--red-light),var(--card) 72%)}.account-install-row.is-priority .account-row-action.account-install-action{border:0;background:var(--red);color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--red) 22%,transparent)}.account-install-row.is-installed{border-color:color-mix(in srgb,var(--green) 34%,var(--border));background:linear-gradient(135deg,var(--green-light),var(--card) 72%)}.account-install-status{padding:6px 8px;border-radius:999px;background:var(--green-light);color:var(--green-dark);font-size:10px;font-weight:850}.account-install-help{margin:-7px 0 12px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text2)}.account-install-help[hidden]{display:none}.account-install-help strong{display:block;margin-bottom:5px;color:var(--text);font-size:12px}.account-install-help p{margin:0;font-size:11px;line-height:1.45}.account-install-help ol{margin:0;padding-left:19px;font-size:11px;line-height:1.55}.account-row-icon.guest{background:var(--green-light);color:var(--green-dark);font-size:18px}.account-row-copy{min-width:0}.account-row-copy strong,.account-row-copy small{display:block}.account-row-copy strong{font-size:13px;color:var(--text)}.account-row-copy small{font-size:11px;line-height:1.35;color:var(--text3);overflow-wrap:anywhere}.account-row-action{padding:7px 8px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--red);font-size:11px;font-weight:800;white-space:nowrap}.account-plan-row.is-priority .account-plan-action{min-height:40px;padding:0 13px;border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--red) 22%,transparent)}.account-trial-compact{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.account-trial-compact strong,.account-trial-compact small{display:block}.account-trial-compact strong{font-size:12px;color:var(--text)}.account-trial-compact small{font-size:10px;color:var(--text3)}.account-book-owner-note{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--border)}.account-book-owner-note strong{font-size:12px;color:var(--text)}.account-book-owner-note span{font-size:10px;line-height:1.4;color:var(--text3)}.account-signout{width:100%;padding:13px 0;margin-top:5px;color:var(--text3);font-size:12px;font-weight:700;text-align:left}.account-back{padding:0 0 12px;color:var(--red);font-size:12px;font-weight:750}.account-billing-detail{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);margin-bottom:14px}.account-billing-provider{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--blue)}.account-billing-detail strong{font-size:17px;color:var(--text)}.account-billing-detail>span:not(.account-billing-provider){font-size:13px;color:var(--text2)}.account-billing-detail small{font-size:11px;line-height:1.4;color:var(--text3)}.account-cancel-renewal{width:100%;margin-top:10px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--red);font-size:12px;font-weight:750}.account-plan-switch{display:grid;gap:5px;margin:14px 0 4px;padding:13px;border:1px solid var(--green);border-radius:11px;background:linear-gradient(145deg,var(--green-light),var(--card))}.account-plan-switch>strong{font-size:14px;color:var(--text)}.account-plan-switch>span{font-size:12px;color:var(--text2)}.account-plan-switch>small{font-size:10px;line-height:1.4;color:var(--text3)}.account-plan-switch>button{min-height:42px;margin-top:5px;border:0;border-radius:8px;background:var(--green);color:#fff;font-size:12px;font-weight:850;cursor:pointer}.account-plan-switch>button:disabled{opacity:.65;cursor:wait}.account-plan,.account-primary,.account-secondary{border-radius:8px}@media(max-width:520px){#game-screen .question-card.listen-card{padding:14px 10px}.intro-slide{gap:8px;padding:0 4px 8px}.visual-image-frame{border-radius:15px}.intro-image-frame{width:min(56vw,205px)}.intro-slide-russian{font-size:23px}.intro-slide-speaker{min-width:146px;min-height:46px;padding:0 16px}.production-image-frame{width:min(56vw,205px)}.production-cue-meaning{font-size:21px}.account-overlay{align-items:flex-end;padding:0}.account-panel{width:100%;max-height:88vh;max-height:88dvh;border-radius:8px 8px 0 0;border-bottom:0;padding:20px 18px calc(18px + env(safe-area-inset-bottom))}.account-overlay.guest-trial-positioned{align-items:flex-start}.account-overlay.guest-trial-positioned .account-panel{position:fixed;top:var(--account-trial-top);left:0;right:0;margin:0 auto;max-height:var(--account-trial-max-height,88dvh);border-bottom:1px solid var(--border);border-radius:8px;overscroll-behavior:contain}.account-overlay.guest-trial-code-step .account-panel{scroll-padding-block:8px 18px}.app-nav-item{font-size:10px;gap:4px}}.time-tone-steady,.time-tone-0,.time-tone-1,.time-tone-2,.time-tone-3,.time-tone-4,.time-tone-5{--time-accent:var(--game-time-text);--time-soft:var(--game-time-bg);--time-border:var(--game-time-border)}.top-actions.single{grid-template-columns:1fr;gap:9px}.start-learning-btn{width:100%;min-height:66px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:10px 15px;border-radius:16px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;box-shadow:0 8px 22px #e9456040;font-size:16px;text-align:left;transition:var(--transition)}.start-learning-btn.review{background:linear-gradient(135deg,#6d5de8,#5143bd);box-shadow:0 8px 22px #5646c740}.start-learning-btn.recovery{min-height:78px;padding:11px 13px;background:linear-gradient(135deg,#173f58,#102d40);box-shadow:0 9px 24px #1c537547}.start-learning-btn.time{background:linear-gradient(135deg,var(--orange),var(--red));box-shadow:0 8px 22px color-mix(in srgb,var(--orange) 30%,transparent)}.start-learning-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.start-learning-btn:active,.start-learning-btn.is-launching{transform:translateY(1px) scale(.975);filter:brightness(.92);transition-duration:.06s}.start-learning-btn.is-launching{pointer-events:none;cursor:wait}.start-learning-btn.is-launching .start-learning-icon svg{animation:startLearningSpin .85s linear infinite}@keyframes startLearningSpin{to{transform:rotate(360deg)}}.start-learning-btn strong{font-weight:800}.start-learning-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:0 0 38px;border-radius:12px;background:#ffffff29}.start-learning-icon svg{width:19px;height:19px}.start-learning-copy{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;line-height:1.2}.start-learning-copy strong{font-size:16px}.start-learning-copy small{margin-top:4px;font-size:11px;font-weight:650;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-learning-btn.recovery .start-learning-icon{width:34px;height:50px;flex-basis:34px;border-radius:0;background:transparent;color:#a9e1ff}.start-learning-btn.recovery .start-learning-icon svg{width:28px;height:28px;filter:drop-shadow(0 3px 8px rgba(123,207,250,.34));animation:streakRecoverySnow 3.4s ease-in-out infinite}.start-learning-btn.recovery .start-learning-copy{align-self:center}.start-learning-btn.recovery .start-learning-copy small{margin-top:4px;font-size:10.5px;font-style:italic;font-weight:600;opacity:.76}@keyframes streakRecoverySnow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(8deg)}}.home-review-remaining{flex:0 0 auto;min-width:62px;display:grid;justify-items:end;gap:3px;padding:7px 9px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:#ffffff1f;text-align:right;font-variant-numeric:tabular-nums}.home-review-remaining b{font-size:12px;line-height:1;font-weight:900;white-space:nowrap}.home-review-remaining small{font-size:9.5px;line-height:1;font-weight:700;opacity:.84;white-space:nowrap}.home-caught-up{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--green);border:1px solid color-mix(in srgb,var(--green) 55%,var(--border));border-radius:16px;background:linear-gradient(145deg,var(--green-light),var(--card));text-align:center}.home-caught-up strong{font-size:14px;color:var(--green)}.home-caught-up small{margin-top:3px;font-size:10px;color:var(--text3)}.home-time-rewards{margin:0 0 16px;padding:0;border:0}.home-wins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:12px 10px 11px;border:1px solid var(--border);border:1px solid color-mix(in srgb,var(--time-accent) 62%,var(--border));border-radius:16px;background:linear-gradient(145deg,var(--time-soft),var(--card));box-shadow:var(--shadow)}.home-wins.metrics-1{grid-template-columns:minmax(0,1fr)}.home-wins.metrics-2{grid-template-columns:repeat(2,minmax(0,1fr))}.home-wins-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 5px 9px;margin-bottom:7px;border-bottom:1px solid var(--border);border-bottom:1px solid color-mix(in srgb,var(--time-accent) 18%,var(--border))}.home-wins-heading span{font-size:12px;font-weight:850;color:var(--text)}.home-wins-heading small{font-size:10px;font-weight:700;color:var(--time-accent)}.home-win{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 6px}.home-win+.home-win{border-left:1px solid var(--border);border-left:1px solid color-mix(in srgb,var(--time-accent) 23%,var(--border))}.home-win strong{max-width:100%;font-size:18px;line-height:1.2;color:var(--time-accent);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-win.time strong{font-size:14px}.home-win span{margin-top:3px;font-size:9px;font-weight:750;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;text-align:center}.home-wins.empty{display:flex;align-items:center;gap:12px;padding:13px 15px;border-color:var(--green);background:linear-gradient(145deg,var(--green-light),var(--card))}.home-wins.empty .home-wins-celebration{font-size:28px}.home-wins.empty>span:last-child{display:flex;flex-direction:column}.home-wins.empty strong{font-size:13px;color:var(--text)}.home-wins.empty small{margin-top:3px;font-size:10px;color:var(--text3)}.home-study-time{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--time-accent);border-radius:14px;background:var(--time-soft);transition:background .35s ease,border-color .35s ease}.home-study-time>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px}.home-study-time>div+div{border-left:1px solid var(--border);border-left:1px solid color-mix(in srgb,var(--time-accent) 28%,transparent)}.home-study-time span{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text3)}.home-study-time strong{font-size:21px;line-height:1.2;color:var(--time-accent);font-variant-numeric:tabular-nums}.home-study-time small{grid-column:1/-1;text-align:center;font-size:10px;font-weight:750;color:var(--time-accent);padding:1px 0 2px}.home-topics-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:3px 2px 10px}.home-topics-heading>span{display:flex;flex-direction:column;min-width:0}.home-topics-heading strong{font-size:15px;color:var(--text)}.home-topics-heading small{margin-top:2px;font-size:10px;color:var(--text3)}.home-topics-heading button{flex:0 0 auto;border:0;background:transparent;color:var(--red);font-size:10px;font-weight:800;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.home-topic-grid{position:relative;flex-direction:column;gap:8px;margin:0 0 18px;padding:3px 0}.home-topic-path-row{position:relative;display:flex;align-items:stretch;gap:7px;height:auto}.home-topic-card{position:relative;z-index:1;min-width:0;width:calc((100% - 28px)/5);height:auto;aspect-ratio:1/1;flex:0 0 calc((100% - 28px)/5);display:flex;align-items:center;justify-content:center;padding:16px 8px 8px;border:1px solid transparent;border-radius:14px;background:var(--card);box-shadow:var(--shadow);color:var(--text);text-align:center;cursor:pointer;transition:var(--transition)}.home-topic-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.home-topic-card:active{transform:scale(.98)}.home-topic-card.loading{pointer-events:none;cursor:wait;opacity:.72;transform:none}.home-topic-card.loading:after{content:"";position:absolute;right:8px;bottom:8px;width:9px;height:9px;border:2px solid var(--border);border:2px solid color-mix(in srgb,var(--red) 24%,transparent);border-top-color:var(--red);border-radius:50%;animation:voiceCheckSpin .7s linear infinite}.home-topic-card.selected{background:linear-gradient(145deg,var(--red-light),var(--card));box-shadow:0 6px 20px #e9456021}.home-topic-card.completed{background:linear-gradient(145deg,var(--green-light),var(--card))}.home-topic-card.locked{opacity:1;background:var(--card)}.home-topic-number{position:absolute;z-index:3;top:9px;left:10px;color:var(--text3);font-size:9px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.home-topic-card.selected .home-topic-number{color:var(--red)}.home-topic-card.completed .home-topic-number{color:var(--green-dark)}.home-topic-icon{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--text2);transition:color .25s ease,transform .25s ease}.home-topic-svg{display:block;width:100%;height:100%}.home-topic-card:hover .home-topic-icon{transform:scale(1.06)}.home-topic-card.selected .home-topic-icon{color:var(--red)}.home-topic-card.completed .home-topic-icon{color:var(--green-dark)}.home-topic-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.home-topic-perimeter{position:absolute;z-index:1;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);overflow:visible;pointer-events:none}.home-topic-perimeter rect{fill:none;vector-effect:non-scaling-stroke}.home-topic-perimeter .topic-progress-track{stroke:var(--border);stroke:color-mix(in srgb,var(--text3) 28%,var(--border));stroke-width:3.25}.home-topic-perimeter .topic-progress-value{stroke:var(--red);stroke-width:3.25;stroke-linecap:butt;transition:stroke-dasharray .45s ease,stroke .3s ease;filter:drop-shadow(0 0 2px rgba(233,69,96,.24));filter:drop-shadow(0 0 2px color-mix(in srgb,var(--red) 24%,transparent))}.home-topic-perimeter .topic-progress-value.empty{opacity:0}.home-topic-perimeter.is-empty .topic-progress-value{display:none}.home-topic-card.completed .topic-progress-value{stroke:var(--green);stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(34,181,115,.24));filter:drop-shadow(0 0 2px color-mix(in srgb,var(--green) 24%,transparent))}.home-topic-card.selected .topic-progress-track{stroke:var(--border);stroke:color-mix(in srgb,var(--text3) 20%,var(--border))}@media(max-width:520px){.home-topic-grid{gap:6px}.home-topic-path-row{gap:5px}.home-topic-card{width:calc((100% - 20px)/5);flex-basis:calc((100% - 20px)/5);padding:14px 6px 6px;border-radius:13px}.home-topic-number{top:8px;left:9px;font-size:8.5px}.home-topic-icon{width:25px;height:25px}.home-topic-perimeter{inset:3px;width:calc(100% - 6px);height:calc(100% - 6px)}.home-wins{padding-left:7px;padding-right:7px}.home-win strong{font-size:16px}.home-win.time strong{font-size:12px}}.game-study-clock{flex:0 0 72px;min-width:72px;display:flex;flex-direction:column;align-items:center;padding:5px 7px;border:1px solid var(--time-border,var(--time-accent));border-radius:10px;background:var(--time-soft);line-height:1.05;transition:background .2s ease,border-color .2s ease}.game-study-clock span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text3)}.game-study-clock strong{font-size:13px;color:var(--time-accent);font-variant-numeric:tabular-nums}.game-study-clock.streak-count-clock{--time-accent:var(--game-time-text);--time-soft:var(--game-time-bg);--time-border:var(--game-time-border)}.game-study-clock.streak-count-clock strong{font-size:15px;color:var(--game-time-text)}.report-issue-button{flex:0 0 38px;width:38px;height:38px;margin-left:8px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text2);box-shadow:0 3px 10px #0f172a0f;cursor:pointer;transition:transform .15s ease,color .15s ease,border-color .15s ease}.report-issue-button:hover{color:var(--red);border-color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--border));transform:translateY(-1px)}.report-issue-button svg{width:21px;height:21px}.report-overlay{position:fixed;inset:0;z-index:950;display:flex;align-items:flex-end;justify-content:center;padding:18px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#090c1694;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain}.report-overlay[hidden]{display:none}.report-panel{position:relative;width:min(100%,480px);max-height:min(88vh,720px);max-height:min(88dvh,720px);overflow:auto;padding:23px 21px 20px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 24px 70px #00000047;animation:reportPanelIn .22s cubic-bezier(.2,.85,.3,1)}.report-close{position:absolute;right:13px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--bg2);color:var(--text2);font-size:24px;line-height:1;cursor:pointer}.report-kicker{display:block;margin-bottom:3px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.report-panel h2{margin:0 42px 14px 0;color:var(--text);font-size:23px;line-height:1.15}.report-word{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 10px;margin-bottom:17px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--bg2)}.report-word small{grid-row:1/3;color:var(--text3);font-size:10px;font-weight:800}.report-word strong{color:var(--text);font-family:var(--font-jp);font-size:17px}.report-word span{color:var(--text2);font-size:11px}.report-message>span{display:block;margin-bottom:8px;color:var(--text2);font-size:11px;font-weight:800}.report-message textarea{width:100%;min-height:104px;resize:vertical;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;line-height:1.45;outline:0}.report-message textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7b5cbf24;box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 14%,transparent)}.report-status{min-height:18px;margin:8px 1px 3px;color:var(--text2);font-size:11px;font-weight:650}.report-actions{display:flex;justify-content:flex-end;gap:9px}.report-actions button{min-height:42px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-weight:800;cursor:pointer}.report-actions #report-submit{border-color:var(--purple);background:var(--purple);color:#fff}.report-actions #report-submit:disabled{opacity:.55;cursor:wait}@keyframes reportPanelIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}.batch-screen,.rp-screen{max-width:430px;margin:0 auto;padding:28px 0 34px}.batch-emoji,.rp-done-emoji{font-size:44px;margin:0 0 5px;line-height:1}.batch-title,.rp-done-title{font-size:23px;font-weight:800;margin-bottom:12px}.round-study-time{width:min(100%,280px);margin:0 auto 12px;padding:13px 18px;border:1px solid var(--time-accent);border-radius:16px;background:var(--time-soft);display:grid;justify-items:center;transition:background .35s ease,border-color .35s ease}.round-study-time span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--text3)}.round-study-time strong{font-size:38px;line-height:1.05;color:var(--time-accent);font-variant-numeric:tabular-nums}.round-study-time small{font-size:11px;color:var(--text2);margin-top:3px}.lesson-duration{display:grid;gap:4px;justify-items:center;margin:10px auto 12px;color:var(--text)}.lesson-duration strong{font-size:16px;line-height:1.25;font-weight:800;font-variant-numeric:tabular-nums}.lesson-duration span{font-size:13px;line-height:1.25;color:var(--text2);font-variant-numeric:tabular-nums}.daily-goal-card{width:min(100%,360px);margin:8px auto 14px;padding:14px 15px 12px;border:1px solid var(--border);border:1px solid color-mix(in srgb,var(--purple) 34%,var(--border));border-radius:16px;background:linear-gradient(145deg,var(--purple-light),var(--card));background:linear-gradient(145deg,color-mix(in srgb,var(--purple-light) 78%,var(--card)),var(--card));box-shadow:var(--shadow);text-align:left}.daily-goal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-goal-head>span{display:grid;gap:1px}.daily-goal-head small{color:var(--text2);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.daily-goal-head strong{color:var(--text);font-size:20px;font-weight:850;font-variant-numeric:tabular-nums;line-height:1.15}.daily-goal-head strong em{color:var(--text3);font-size:12px;font-style:normal;font-weight:750}.daily-goal-head>b{display:grid;place-items:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;background:var(--purple);color:#fff;font-size:12px;font-weight:900;box-shadow:0 4px 12px #7b5cbf47;box-shadow:0 4px 12px color-mix(in srgb,var(--purple) 28%,transparent)}.daily-goal-track{position:relative;height:9px;margin:13px 0 7px;border-radius:999px;background:var(--border);background:color-mix(in srgb,var(--purple) 10%,var(--border));overflow:visible}.daily-goal-track>i{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--red));transition:width .5s cubic-bezier(.2,.8,.2,1)}.daily-goal-track>span{position:absolute;top:50%;width:15px;height:15px;border:3px solid var(--card);border-radius:50%;background:var(--border);box-shadow:0 0 0 1px var(--border);box-shadow:0 0 0 1px color-mix(in srgb,var(--purple) 22%,var(--border));transform:translate(-50%,-50%);transition:background .25s ease,transform .25s ease}.daily-goal-track>span:last-of-type{transform:translate(-100%,-50%)}.daily-goal-track>span.reached{background:var(--red);transform:translate(-50%,-50%) scale(1.08)}.daily-goal-track>span.reached:last-of-type{transform:translate(-100%,-50%) scale(1.08)}.daily-goal-labels{display:grid;grid-template-columns:repeat(3,1fr);color:var(--text3);font-size:9px;font-weight:750;font-variant-numeric:tabular-nums}.daily-goal-labels span:nth-child(2){text-align:center}.daily-goal-labels span:last-child{text-align:right}.daily-goal-card p{margin:8px 0 0;color:var(--text2);font-size:10px;font-weight:650;line-height:1.35;text-align:center}.daily-goal-card.complete{border-color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--border));background:linear-gradient(145deg,var(--green-light),var(--card))}.daily-goal-card.complete:not(.daily-mission-card) .daily-goal-head>b{background:var(--green);box-shadow:0 4px 12px #22b57347;box-shadow:0 4px 12px color-mix(in srgb,var(--green) 28%,transparent);animation:goalCheckPop .6s cubic-bezier(.34,1.56,.64,1)}.daily-goal-card.complete .daily-goal-track>i{background:linear-gradient(90deg,var(--green),var(--gold-soft))}.daily-mission-card{width:min(100%,390px);padding:15px 16px 13px}.daily-mission-card .daily-goal-head strong{font-size:18px}.daily-mission-card .daily-goal-head>b:empty{display:none}.daily-mission-list{display:grid;gap:11px;margin-top:14px}.daily-mission-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px}.daily-mission-check{display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--border);border:2px solid color-mix(in srgb,var(--purple) 28%,var(--border));border-radius:50%;color:#fff;background:var(--card);font-size:12px;font-weight:900}.daily-mission-row.complete .daily-mission-check{border-color:var(--green);background:var(--green)}.daily-mission-copy{display:grid;gap:5px;min-width:0}.daily-mission-copy>strong{overflow:hidden;color:var(--text);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.daily-mission-copy>i{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--border);background:color-mix(in srgb,var(--purple) 10%,var(--border))}.daily-mission-copy>i>b{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--red));transition:width .45s cubic-bezier(.2,.8,.2,1)}.daily-mission-row.complete .daily-mission-copy>i>b{background:var(--green)}.daily-mission-row>em{color:var(--text2);font-size:11px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}@keyframes goalCheckPop{0%{transform:scale(.55) rotate(-12deg)}70%{transform:scale(1.12) rotate(3deg)}to{transform:scale(1) rotate(0)}}.batch-rewards,.time-reward-strip{margin:8px auto 12px;gap:6px}.batch-rewards:empty,.time-reward-strip:empty{display:none}.batch-rewards-label{display:none}.batch-stats,.rp-stats{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:10px 0 17px}.batch-stat,.rp-stat{min-height:32px;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:none}.batch-stat .num,.rp-stat .num{font-size:14px;line-height:1;font-weight:850}.batch-stat .label,.rp-stat .lbl{font-size:10px;line-height:1;color:var(--text3);margin:0}.batch-remaining,.rp-progress-block,.rp-mini-progress,.rp-constellation{display:none!important}.batch-actions,.rp-actions{width:min(100%,360px);margin:0 auto;gap:7px}.batch-actions .btn-primary,.rp-actions .btn-primary{min-height:52px;font-size:15px;font-weight:800}.compact-finish{border:0;background:transparent;padding:9px;color:var(--text3);font-size:12px}.compact-finish:hover{background:transparent;color:var(--red)}.rp-done-sub{display:none}.progress-time-summary{margin-bottom:15px}.progress-study-time{border:1px solid var(--time-accent);border-radius:14px;background:var(--time-soft);padding:14px;transition:background .35s ease,border-color .35s ease}.progress-time-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.progress-time-values>div{display:flex;flex-direction:column;align-items:center}.progress-time-values>div+div{border-left:1px solid var(--border);border-left:1px solid color-mix(in srgb,var(--time-accent) 28%,transparent)}.progress-time-values span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text3)}.progress-time-values strong{font-size:24px;color:var(--time-accent);font-variant-numeric:tabular-nums}.study-hour-milestones{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border);border-top:1px solid color-mix(in srgb,var(--time-accent) 22%,transparent)}.study-hour-milestones span{position:relative;display:flex;width:60px;min-height:66px;flex:0 0 60px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:1px solid color-mix(in srgb,var(--time-accent) 18%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--time-soft) 58%,var(--card));color:var(--text3);font-size:9px;font-weight:850;opacity:.62}.study-hour-milestones span b{font-size:25px;line-height:1.15;filter:grayscale(1)}.study-hour-milestones span em{font-style:normal;font-variant-numeric:tabular-nums}.study-hour-milestones span small{position:absolute;top:-6px;right:-4px;padding:2px 5px;border-radius:999px;background:var(--time-accent);color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.study-hour-milestones span.earned{border-color:color-mix(in srgb,var(--time-accent) 40%,var(--border));color:var(--time-accent);opacity:1;box-shadow:0 4px 12px color-mix(in srgb,var(--time-accent) 12%,transparent)}.study-hour-milestones span.earned b{filter:none}.study-hour-milestones span.next{border-style:dashed;opacity:.82}@media(max-width:380px){.game-study-clock{flex-basis:64px;min-width:64px;padding-inline:4px}.game-study-clock strong{font-size:12px}.study-hour-milestones{gap:6px}}:root{--bronze:#81411D;--bronze-light:#FCEDE2;--bronze-fill:#81411D;--bronze-on:#FFFFFF;--silver:#626D80;--silver-light:#EEF1F5;--silver-fill:#626D80;--silver-on:#FFFFFF;--gold-on:#3B2A05}:root[data-theme=dark]{--bronze:#F2B68D;--bronze-light:#3B281E;--bronze-fill:#81411D;--silver:#D8DEE8;--silver-light:#2B313B;--silver-fill:#626D80}.home-time-rewards{margin:0 0 11px;padding:0;border:0}.home-today-goals{width:100%}.home-today-goals-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 7px}.home-today-goals-head strong{font-size:12px;font-weight:900;color:var(--text)}.home-today-goals-head span{font-size:9px;font-weight:750;color:var(--text3)}.home-today-goals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.home-today-goals.goals-2 .home-today-goals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-today-goal{--goal-color:var(--blue);--goal-soft:var(--blue-light);min-width:0;min-height:65px;display:flex;flex-direction:column;padding:9px 10px 10px;overflow:hidden;border:1.5px solid color-mix(in srgb,var(--goal-color) 38%,var(--border));border-radius:13px;background:linear-gradient(145deg,var(--goal-soft),var(--card) 72%);box-shadow:var(--shadow)}.home-today-goal.goal-review{--goal-color:var(--purple);--goal-soft:var(--purple-light)}.home-today-goal.goal-learn{--goal-color:var(--green);--goal-soft:var(--green-light)}.home-today-goal.goal-time{--goal-color:var(--red);--goal-soft:var(--red-light)}.home-today-goal.goal-time .home-today-goal-label{overflow:visible;font-size:clamp(8px,2.4vw,9px);letter-spacing:-.02em;text-overflow:clip}.home-today-goal.unavailable{--goal-color:var(--text3);--goal-soft:var(--bg);border-color:var(--border);background:var(--card);box-shadow:none}.home-today-goal-label{overflow:hidden;color:var(--text2);font-size:9px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.home-today-goal-value{display:flex;align-items:center;gap:5px;min-width:0;margin-top:3px}.home-today-goal strong{min-width:0;flex:1 1 auto;margin-top:0;overflow:hidden;color:var(--text);font-size:clamp(12px,3.8vw,15px);font-weight:900;line-height:1.2;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.home-today-goal-check{display:grid;place-items:center;flex:0 0 auto;width:17px;height:17px;border:1px solid color-mix(in srgb,var(--goal-color) 58%,transparent);border-radius:50%;background:color-mix(in srgb,var(--goal-color) 14%,var(--card));color:var(--goal-color)}.home-today-goal-check svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.home-today-goal.goal-time .home-today-goal-value{gap:4px;margin-top:2px}.home-today-goal.goal-time .home-today-goal-value strong{overflow:visible;font-size:clamp(12px,3.8vw,15px);line-height:1.08;letter-spacing:-.025em;text-overflow:clip;white-space:normal}.home-today-goal-note{margin-top:2px;color:var(--text3);font-size:8px;font-weight:700;line-height:1.15}.home-today-goal-track{position:relative;display:block;width:100%;height:5px;margin-top:auto;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--goal-color) 14%,var(--border))}.home-today-goal-track i{position:absolute;left:0;top:0;bottom:0;display:block;height:100%;border-radius:inherit;background:var(--goal-color);transition:width .35s ease}.goal-medal-svg{display:block;overflow:visible;color:var(--goal-color)}.goal-medal-ribbon{fill:color-mix(in srgb,currentColor 84%,var(--card));stroke:color-mix(in srgb,currentColor 58%,var(--card));stroke-width:1;stroke-linejoin:round}.goal-medal-ribbon-fold{fill:color-mix(in srgb,currentColor 58%,var(--card));opacity:.92}.goal-medal-halo{fill:color-mix(in srgb,currentColor 13%,transparent)}.goal-medal-disc{fill:color-mix(in srgb,currentColor 16%,var(--card));stroke:currentColor;stroke-width:2.3}.goal-medal-inner{fill:none;stroke:color-mix(in srgb,currentColor 48%,var(--card));stroke-width:1.1}.goal-medal-star{fill:currentColor}.goal-medal-shine{fill:var(--card);opacity:.82}.home-today-goal.complete{justify-content:center;padding:8px 9px}.home-today-goal-complete-content{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:47px}.home-today-goal-complete-content .home-today-goal-medal{display:grid;place-items:center;width:40px;height:47px}.home-today-goal-complete-content .goal-medal-svg{width:39px;height:45px;filter:drop-shadow(0 4px 5px color-mix(in srgb,var(--goal-color) 28%,transparent))}.home-today-goal-complete-content .home-today-goal-medal.medal-animate .goal-medal-svg{animation:goalMedalReward .54s cubic-bezier(.2,.88,.3,1.25) both}.home-today-goal-complete-copy{display:grid;min-width:0;gap:2px;align-content:center}.home-today-goal-complete-copy strong{display:block;min-width:0;overflow:visible;color:var(--text);font-size:clamp(14px,4.25vw,18px);font-weight:900;line-height:1.05;letter-spacing:-.04em;text-overflow:clip;white-space:nowrap}.home-today-goal-complete-copy small{overflow:hidden;color:var(--text2);font-size:9px;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.home-today-goal.goal-time .home-today-goal-complete-copy strong{font-size:clamp(12px,3.7vw,15px);line-height:1.08;white-space:normal}.home-today-goal.goal-time .home-today-goal-complete-copy small{overflow:visible;line-height:1.05;text-overflow:clip;white-space:normal}@media(max-width:360px){.home-today-goal.complete{padding-inline:7px}.home-today-goal-complete-content{grid-template-columns:35px minmax(0,1fr);gap:6px}.home-today-goal-complete-content .home-today-goal-medal{width:35px;height:42px}.home-today-goal-complete-content .goal-medal-svg{width:34px;height:40px}.home-today-goal-complete-copy strong{font-size:14px}.home-today-goal-complete-copy small{font-size:8px}}.home-today-goal.complete{border-color:color-mix(in srgb,var(--goal-color) 70%,var(--border))}.streak-activity{padding:15px 14px 13px;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.home-streak-week{margin:0 0 17px}.home-streak-week{cursor:pointer;transition:border-color .18s ease,transform .18s ease}.home-streak-week:hover,.home-streak-week:focus-visible{border-color:var(--red);outline:0}.home-streak-week:active{transform:scale(.995)}.week-streak-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}.week-streak-fire{width:28px;height:28px;display:grid;place-items:center;color:var(--red);line-height:1}.week-streak-fire svg{width:26px;height:26px}.week-streak-head>span:nth-child(2){display:grid;min-width:0;line-height:1.15}.week-streak-head strong{font-size:15px;font-weight:900;color:var(--text)}.week-streak-head small{margin-top:3px;font-size:10px;color:var(--text3)}.week-current-tier{margin-left:auto;padding:5px 9px;border-radius:999px;background:var(--bg);color:var(--text3);font-size:10.5px;font-weight:900;white-space:nowrap}.week-current-tier.tier-bronze{background:var(--bronze-light);color:var(--bronze)}.week-current-tier.tier-silver{background:var(--silver-light);color:var(--silver)}.week-current-tier.tier-gold{background:var(--gold-light);color:var(--gold-dark)}.week-tier-days{display:grid;grid-template-columns:repeat(var(--week-day-count,7),minmax(0,1fr));gap:5px}.week-tier-day{min-width:0;display:grid;justify-items:center}.week-tier-circle{position:relative;width:min(100%,38px);aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--border);border-radius:50%;background:var(--bg);color:var(--text3);font-size:11px;font-style:normal;font-weight:900;font-variant-numeric:tabular-nums}.week-tier-circle.tier-bronze{border-color:var(--bronze);background:var(--bronze-fill);color:var(--bronze-on)}.week-tier-circle.tier-silver{border-color:var(--silver);background:var(--silver-fill);color:var(--silver-on)}.week-tier-circle.tier-gold{border-color:var(--gold);background:linear-gradient(145deg,var(--gold-soft),var(--gold));color:var(--gold-on);box-shadow:0 3px 10px #c9951b3d}.week-tier-circle.tier-frozen{border-color:var(--frozen);background:linear-gradient(145deg,var(--frozen-light),var(--frozen-fill));color:var(--frozen-on);box-shadow:0 3px 10px color-mix(in srgb,var(--frozen) 22%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--frozen-on) 12%,transparent)}.week-tier-circle.tier-frozen:before{content:"";position:absolute;inset:3px;border:1px dashed color-mix(in srgb,var(--frozen-on) 68%,transparent);border-radius:inherit;opacity:.86;pointer-events:none}.week-tier-circle.tier-frozen>b{position:relative;z-index:1;color:inherit;font-size:inherit;font-weight:inherit;line-height:1}.week-tier-circle.tier-frozen .streak-frozen-badge{position:absolute;z-index:2;top:-5px;right:-5px;display:grid;place-items:center;width:15px;height:15px;border:1px solid color-mix(in srgb,var(--frozen) 52%,var(--border));border-radius:50%;background:var(--card);color:var(--frozen);box-shadow:0 1px 3px #1a1d261f}.week-tier-circle.tier-frozen .streak-frozen-badge svg{display:block;width:9px;height:9px}.week-tier-day.today .week-tier-circle:after{content:"";position:absolute;inset:-5px;border:1.5px solid var(--red);border-radius:50%}.week-tier-day.future .week-tier-circle{border-style:dashed;background:transparent;color:color-mix(in srgb,var(--text3) 72%,transparent);opacity:.72}.week-tier-day.activity-only .week-tier-circle{border-color:color-mix(in srgb,var(--red) 78%,var(--border));border-style:dashed;background:color-mix(in srgb,var(--red-light) 26%,var(--card));color:var(--text2)}.week-tier-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px;margin-top:11px;color:var(--text2);font-size:10.5px;font-weight:800;line-height:1.35}.week-tier-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.week-tier-legend i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--border)}.week-tier-legend i.tier-bronze{background:var(--bronze-fill)}.week-tier-legend i.tier-silver{background:var(--silver-fill)}.week-tier-legend i.tier-gold{background:var(--gold)}.week-tier-legend i.tier-activity{background:var(--text3)}.week-tier-legend i.tier-frozen{border:1px solid var(--frozen);background:var(--frozen-fill)}.streak-month-host{margin-top:12px;padding:15px 13px 13px}.streak-month-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}.streak-month-head>span:nth-child(2){display:grid;min-width:0;line-height:1.15}.streak-month-head strong{font-size:16px;font-weight:900;color:var(--text)}.streak-month-head small{margin-top:3px;color:var(--text3);font-size:10px}.streak-month-head>em{margin-left:auto;color:var(--text3);font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.streak-month-flame{width:30px;height:30px;display:grid;place-items:center;color:var(--red)}.streak-month-flame svg{width:28px;height:28px}.streak-month-weekdays,.streak-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.streak-month-weekdays{margin-bottom:5px}.streak-month-weekdays span{text-align:center;color:var(--text3);font-size:8px;font-weight:900;text-transform:uppercase}.streak-month-empty,.streak-month-day{min-width:0;height:39px}.streak-month-day{position:relative;display:grid;place-items:center}.streak-month-day>small{position:absolute;top:-1px;left:2px;color:var(--text3);font-size:6.5px;font-weight:900;text-transform:uppercase}.streak-month-day>i{position:relative;width:31px;height:31px;display:grid;place-items:center;border:1.5px solid var(--border);border-radius:50%;background:var(--bg);color:var(--text3);font-size:10px;font-style:normal;font-weight:900;font-variant-numeric:tabular-nums}.streak-month-day>i.tier-bronze{border-color:var(--bronze);background:var(--bronze-fill);color:var(--bronze-on)}.streak-month-day>i.tier-silver{border-color:var(--silver);background:var(--silver-fill);color:var(--silver-on)}.streak-month-day>i.tier-gold{border-color:var(--gold);background:linear-gradient(145deg,var(--gold-soft),var(--gold));color:var(--gold-on);box-shadow:0 2px 8px #c9951b38}.streak-month-day>i.tier-frozen{border-color:var(--frozen);background:linear-gradient(145deg,var(--frozen-light),var(--frozen-fill));color:var(--frozen-on);box-shadow:0 2px 8px color-mix(in srgb,var(--frozen) 20%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--frozen-on) 12%,transparent)}.streak-month-day>i.tier-frozen:before{content:"";position:absolute;inset:2.5px;border:1px dashed color-mix(in srgb,var(--frozen-on) 68%,transparent);border-radius:inherit;opacity:.86;pointer-events:none}.streak-month-day>i.tier-frozen>b{position:relative;z-index:1;color:inherit;font-size:inherit;font-weight:inherit;line-height:1}.streak-month-day>i.tier-frozen .streak-frozen-badge{position:absolute;z-index:2;top:-5px;right:-5px;display:grid;place-items:center;width:13px;height:13px;border:1px solid color-mix(in srgb,var(--frozen) 52%,var(--border));border-radius:50%;background:var(--card);color:var(--frozen);box-shadow:0 1px 3px #1a1d261f}.streak-month-day>i.tier-frozen .streak-frozen-badge svg{display:block;width:8px;height:8px}.streak-month-day.today>i:after{content:"";position:absolute;inset:-4px;border:1.5px solid var(--red);border-radius:50%}.streak-month-day.activity-only>i{border-color:color-mix(in srgb,var(--red) 78%,var(--border));border-style:dashed;background:color-mix(in srgb,var(--red-light) 26%,var(--card));color:var(--text2)}.month-tier-legend{flex-wrap:wrap;row-gap:6px;margin-top:12px}.streak-calendar-modal{padding-inline:17px}.streak-calendar-modal .streak-month-calendar{padding:2px 0 5px}.streak-calendar-modal .stat-modal-close{margin-top:13px}.app-nav-item{height:46px;font-size:12.5px;gap:6px;font-weight:800}.app-nav-item svg{width:18px;height:18px;flex-basis:18px}.app-nav-item small{max-width:70px;font-size:10.5px;line-height:1.1}.account-row-icon.interests{background:var(--purple-light);color:var(--purple);font-size:13px}.daily-mission-card{width:min(100%,390px);padding:17px 17px 14px;border-color:var(--border);background:linear-gradient(150deg,var(--bg),var(--card))}.daily-mission-card.tier-bronze{--mission-tier-accent:var(--bronze);border-color:var(--bronze);background:linear-gradient(150deg,var(--bronze-light),var(--card))}.daily-mission-card.tier-silver{--mission-tier-accent:var(--silver);border-color:var(--silver);background:linear-gradient(150deg,var(--silver-light),var(--card))}.daily-mission-card.tier-gold{--mission-tier-accent:var(--gold);border-color:var(--gold);background:linear-gradient(150deg,var(--gold-light),var(--card))}.daily-mission-card .daily-goal-head{align-items:flex-start}.daily-mission-card .daily-goal-head>span{gap:2px}.daily-mission-card .daily-goal-head strong{font-size:20px;letter-spacing:-.02em}.daily-mission-card .daily-goal-head>span>em{color:var(--text3);font-size:10px;font-style:normal;font-weight:800}.daily-mission-card .daily-goal-head>.mission-tier-badge{position:relative;isolation:isolate;min-width:54px;height:31px;padding:0 10px;border:1px solid var(--border);background:var(--bg);color:var(--text3);box-shadow:none;animation:none}.daily-mission-card.tier-bronze .daily-goal-head>.mission-tier-badge{border-color:var(--bronze);background:var(--bronze-fill);color:var(--bronze-on);box-shadow:0 4px 12px #b86f3c38}.daily-mission-card.tier-silver .daily-goal-head>.mission-tier-badge{border-color:var(--silver);background:var(--silver-fill);color:var(--silver-on);box-shadow:0 4px 12px #8994a638}.daily-mission-card.tier-gold .daily-goal-head>.mission-tier-badge{border-color:var(--gold);background:var(--gold);color:var(--gold-on);box-shadow:0 4px 12px #c9951b40}.daily-mission-card.tier-earned{position:relative;animation:missionTierCardEarn 1.05s cubic-bezier(.2,.8,.2,1) both}.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge{animation:missionTierBadgeEarn .72s cubic-bezier(.22,1.45,.45,1) both}.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge:before{content:"";position:absolute;z-index:-1;inset:-6px;border:2px solid var(--mission-tier-accent,currentColor);border-radius:inherit;pointer-events:none;animation:missionTierRing .9s .08s ease-out both}.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge:after{content:"\2726";position:absolute;top:-14px;right:-5px;color:var(--mission-tier-accent,currentColor);font-size:15px;line-height:1;pointer-events:none;text-shadow:0 2px 7px color-mix(in srgb,currentColor 38%,transparent);animation:missionTierSpark .92s .12s ease-out both}@keyframes missionTierBadgeEarn{0%{opacity:.2;transform:scale(.72) translateY(4px)}58%{opacity:1;transform:scale(1.09) translateY(-1px)}to{opacity:1;transform:none}}@keyframes missionTierRing{0%{opacity:.7;transform:scale(.72)}to{opacity:0;transform:scale(1.38)}}@keyframes missionTierSpark{0%{opacity:0;transform:translate(-5px,7px) scale(.35) rotate(-25deg)}40%{opacity:1;transform:translate(0) scale(1.15) rotate(8deg)}to{opacity:0;transform:translate(5px,-7px) scale(.72) rotate(24deg)}}@keyframes missionTierCardEarn{0%,to{box-shadow:var(--shadow)}45%{box-shadow:0 12px 30px color-mix(in srgb,var(--mission-tier-accent,currentColor) 22%,transparent)}}.daily-mission-body{display:block;margin-top:15px}.daily-mission-list{display:grid;gap:10px;margin:0}.daily-mission-row{--goal-color:var(--purple);--goal-soft:var(--purple-light);display:block;min-height:70px;padding:10px 11px 8px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.daily-mission-row.goal-practice{--goal-color:var(--purple);--goal-soft:var(--purple-light)}.daily-mission-row.goal-recovery{--goal-color:#418BC5;--goal-soft:#EAF7FF;background:linear-gradient(112deg,var(--goal-soft),var(--card) 72%,var(--recovery-surface,#EAF7FF))}.daily-mission-row.goal-recovery .goal-progress-base{background:linear-gradient(90deg,#72C7EC,var(--recovery-fill-end,#72C7EC))}.daily-mission-row.goal-recovery.recovery-medal{min-height:76px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 11px;border-color:color-mix(in srgb,#418BC5 52%,var(--gold));background:linear-gradient(112deg,#EAF7FF,var(--card) 55%,#FFF0C2);box-shadow:0 7px 20px #418bc524}.recovery-medal-emblem{display:grid;place-items:center;width:52px;height:58px;filter:drop-shadow(0 5px 8px rgba(65,139,197,.22));animation:recoveryMedalEarn .72s cubic-bezier(.2,.85,.25,1.25) both}.recovery-medal-emblem svg{width:52px;height:58px;overflow:visible}.recovery-medal-ribbon{fill:#4e91b8;opacity:.88}.recovery-medal-disc{fill:#ddf4ff;stroke:#4e91b8;stroke-width:3}.recovery-medal-flame{fill:#f28a24}.recovery-medal-copy{display:grid;min-width:0;gap:3px}.recovery-medal-copy strong{color:var(--text);font-size:13.5px;font-weight:900;line-height:1.15}.recovery-medal-copy small{overflow:hidden;color:var(--text3);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.daily-mission-row.recovery-medal>em{padding:5px 7px;border-radius:999px;background:color-mix(in srgb,#418BC5 13%,var(--card));color:#377ca6;font-size:10.5px;font-style:normal;font-weight:900;white-space:nowrap}@keyframes recoveryMedalEarn{0%{opacity:0;transform:translateY(6px) scale(.72) rotate(-9deg)}68%{opacity:1;transform:translateY(-1px) scale(1.06) rotate(2deg)}to{opacity:1;transform:none}}:root[data-theme=dark] .daily-mission-row.goal-recovery.recovery-medal{background:linear-gradient(112deg,#173A4D,var(--card) 58%,#493B20)}:root[data-theme=dark] .recovery-medal-disc{fill:#173a4d}:root[data-theme=dark] .daily-mission-row.recovery-medal>em{color:#9edbfa}.daily-mission-row.goal-learn{--goal-color:var(--green);--goal-soft:var(--green-light)}.daily-mission-row.goal-time{--goal-color:var(--red);--goal-soft:var(--red-light)}.daily-mission-row.unavailable{--goal-color:var(--text3);--goal-soft:var(--bg);border-color:var(--border);background:var(--card)}.daily-mission-row-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:8px}.daily-mission-row-head>span{display:grid;min-width:0;gap:1px}.daily-mission-row-head strong{color:var(--text);font-size:12.5px;font-weight:850;line-height:1.15}.daily-mission-row-head small{color:var(--text3);font-size:9px;font-weight:700}.daily-mission-row-head>em{display:flex;align-items:center;gap:6px;color:var(--text2);font-size:10px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.daily-mission-completion-check{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border:1px solid color-mix(in srgb,var(--goal-color) 58%,transparent);border-radius:50%;background:color-mix(in srgb,var(--goal-color) 14%,var(--card));color:var(--goal-color)}.daily-mission-completion-check svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.goal-progress-viewport{width:100%;overflow:visible;padding:7px 0 2px}.goal-progress-runway{position:relative;width:100%;height:12px;border-radius:999px;background:color-mix(in srgb,var(--goal-color) 12%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--goal-color) 11%,transparent)}.goal-progress-base,.goal-progress-bonus{position:absolute;top:0;bottom:0;display:block;overflow:hidden;transform:scaleX(1);transform-origin:left center;animation:goalProgressReveal .72s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--goal-delay,0ms);will-change:transform}.goal-progress-base{left:0;border-radius:999px;background:color-mix(in srgb,var(--goal-color) 76%,var(--card))}.daily-mission-row.has-bonus .goal-progress-base{border-radius:999px 0 0 999px}.goal-progress-bonus{border-radius:0 999px 999px 0;background:linear-gradient(90deg,var(--goal-color) 0%,color-mix(in srgb,var(--goal-color) 58%,var(--gold)) 68%,var(--gold) 100%);box-shadow:0 2px 9px color-mix(in srgb,var(--gold) 34%,transparent);animation-duration:.58s;animation-delay:calc(var(--goal-delay,0ms) + .26s)}.goal-progress-base:after,.goal-progress-bonus:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(108deg,transparent 0 27%,rgba(255,255,255,.08) 37%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.12) 61%,transparent 72%);opacity:0;pointer-events:none;transform:translate(-128%);animation:goalProgressShimmer 1.45s cubic-bezier(.22,.72,.24,1) both;animation-delay:calc(var(--goal-delay,0ms) + .31s);will-change:transform,opacity}@keyframes goalProgressShimmer{0%{opacity:0;transform:translate(-128%)}18%{opacity:.78}72%{opacity:.42}to{opacity:0;transform:translate(128%)}}@keyframes goalProgressReveal{0%{transform:scaleX(var(--goal-start-scale,0))}to{transform:scaleX(1)}}.daily-mission-row.no-progress-animation .goal-progress-base,.daily-mission-row.no-progress-animation .goal-progress-bonus{animation:none;transform:scaleX(1);will-change:auto}.daily-mission-row.no-progress-animation .goal-progress-base:after,.daily-mission-row.no-progress-animation .goal-progress-bonus:after{animation:none;opacity:0}.goal-target-marker{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:2px;background:var(--card);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 68%,var(--goal-color));transform:translate(-1px);z-index:2}@keyframes goalMedalReward{0%{opacity:0;transform:translateY(5px) scale(.65) rotate(-8deg)}68%{opacity:1;transform:translateY(-1px) scale(1.08) rotate(3deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.level-switcher-popover,.level-switcher-chevron,.goal-progress-base,.goal-progress-bonus,.goal-progress-base:after,.goal-progress-bonus:after,.home-today-goal-medal .goal-medal-svg,.start-learning-btn.recovery .start-learning-icon svg,.recovery-medal-emblem,.daily-mission-card.tier-earned,.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge,.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge:before,.daily-mission-card.tier-earned .daily-goal-head>.mission-tier-badge:after{animation:none;transform:none}}.completion-icon,.results-rank{display:grid;place-items:center;height:64px;margin:0 auto 4px;line-height:1}.completion-mark{display:block;width:62px;height:62px;color:var(--purple);overflow:visible}.completion-mark circle{fill:currentColor;stroke:none;opacity:.11}.completion-mark path{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.completion-mark.complete{color:var(--green)}.completion-mark.overachieved{color:var(--gold-dark)}.daily-word-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 8px;min-height:45px;margin:2px auto 10px;color:var(--text2)}.daily-word-summary strong{color:var(--text);font-size:27px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.daily-word-summary span{font-size:13px;font-weight:750}.daily-word-summary b{padding:5px 8px;border-radius:999px;background:var(--green-light);color:var(--green-dark);font-size:10px;font-weight:900}#results-screen .daily-word-summary,#review-progress-screen .daily-word-summary{margin:3px auto 13px}#batch-screen .batch-screen{min-height:0;display:block;padding:26px 0 34px}#batch-screen .batch-emoji{height:64px;margin-bottom:3px}#batch-screen .batch-title{font-size:25px;margin-bottom:7px}#batch-screen .daily-mission-card{min-height:264px;margin:8px auto 10px}#batch-screen .daily-word-summary{margin:2px 0 8px}#batch-screen .batch-rewards{margin:2px auto}#batch-screen .batch-actions{margin:16px auto 0;padding-top:0;width:min(100%,390px)}#batch-screen .batch-actions .btn-primary{min-height:56px;font-size:16px}#batch-screen .batch-actions .btn-secondary{min-height:48px;padding:11px 20px;font-size:14px;font-weight:800}.btn-primary.action-with-subcopy{display:flex;min-height:64px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 18px;line-height:1.15}.btn-primary.action-with-subcopy>strong{display:block;font:inherit;font-weight:850}.btn-primary.action-with-subcopy>small{display:block;max-width:100%;overflow:hidden;font-size:11px;font-weight:700;line-height:1.2;opacity:.84;text-overflow:ellipsis;white-space:nowrap}#batch-screen .batch-actions .btn-primary.action-with-subcopy{min-height:64px}.return-setup-slot{width:min(100%,390px);margin:5px auto 0}.return-setup-slot[hidden]{display:none}.return-setup-card{padding:13px;border:1px solid color-mix(in srgb,var(--purple) 23%,var(--border));border-radius:19px;background:linear-gradient(145deg,color-mix(in srgb,var(--purple-light) 65%,var(--card)),var(--card) 68%);box-shadow:0 8px 24px color-mix(in srgb,var(--purple) 8%,transparent);text-align:left}.return-setup-card.install-priority{border-color:color-mix(in srgb,var(--red) 58%,var(--border));background:linear-gradient(145deg,var(--red-light),var(--card) 76%);box-shadow:0 12px 32px color-mix(in srgb,var(--red) 16%,transparent)}.return-setup-card.install-priority .return-setup-mark{background:var(--red-light);color:var(--red)}.return-setup-card.install-priority .return-setup-head strong{font-size:16px}.return-setup-card.install-priority .return-setup-head small{font-size:11.5px;line-height:1.42}.return-setup-card.install-priority .return-setup-actions{grid-template-columns:1fr}.return-setup-card.install-priority [data-return-install]{min-height:60px;border-color:var(--red-dark);background:var(--red-dark);color:#fff;box-shadow:0 7px 18px #91193d38}.return-setup-card.install-priority [data-return-install]>span{background:#ffffff29;color:#fff}.return-setup-card.install-priority [data-return-install] i{color:#ffffffe0}.return-setup-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.return-setup-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--purple-light);color:var(--purple)}.return-setup-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.return-setup-head>span:last-child{display:grid;min-width:0;gap:1px}.return-setup-head strong{color:var(--text);font-size:14px;font-weight:900;line-height:1.2}.return-setup-head small{color:var(--text2);font-size:10.5px;font-weight:650;line-height:1.3}.return-setup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px}.return-setup-actions>button{display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:55px;padding:8px 9px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 3px 10px #1414280a}.return-setup-actions>button:active{transform:translateY(1px)}.return-setup-actions>button:disabled{opacity:.58;cursor:wait}.return-setup-actions>button>span{display:grid;grid-row:1/3;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--red-light);color:var(--red)}.return-setup-actions>button:nth-child(2)>span{background:var(--green-light);color:var(--green-dark)}.return-setup-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.return-setup-actions b{align-self:end;font-size:11.5px;font-weight:850;line-height:1.1}.return-setup-actions i{align-self:start;color:var(--text3);font-size:9px;font-style:normal;font-weight:700;line-height:1.2}.return-setup-later{display:block;margin:7px auto -3px;padding:3px 9px;border:0;background:transparent;color:var(--text3);font:inherit;font-size:10px;font-weight:750;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.return-setup-dialog-open{overflow:hidden}.return-setup-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:end center;padding:18px max(15px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left));background:#14121e8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.return-setup-dialog{position:relative;width:min(100%,430px);max-height:min(86dvh,700px);overflow:auto;padding:24px 19px 18px;border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:0 24px 70px #110e1e47;text-align:left}.return-setup-dialog-close{position:absolute;top:9px;right:11px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--text2);font:inherit;font-size:22px;line-height:1;cursor:pointer}.return-setup-dialog h2{margin:0 38px 6px 0;color:var(--text);font-size:21px;font-weight:900;line-height:1.2}.return-setup-dialog-copy{margin:0 20px 18px 0;color:var(--text2);font-size:13px;font-weight:600;line-height:1.45}.return-setup-dialog-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.return-setup-dialog-actions .btn-primary,.return-setup-dialog-actions .btn-secondary{width:100%;min-height:49px}.return-setup-steps{display:grid;gap:9px;margin:0;padding:0;list-style:none}.return-setup-steps li{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--bg)}.return-setup-steps b{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:var(--purple-light);color:var(--purple);font-size:11px;font-weight:900}.return-setup-steps span{color:var(--text);font-size:12px;font-weight:700;line-height:1.35}.return-schedule-field{display:grid;gap:8px;margin-top:15px}.return-schedule-field>span{color:var(--text2);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.return-schedule-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.return-schedule-days button{aspect-ratio:1;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text2);font:inherit;font-size:11px;font-weight:850;cursor:pointer}.return-schedule-days button.selected{border-color:var(--red);background:var(--red-light);color:var(--red);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 15%,transparent)}.return-schedule-time input{width:100%;min-height:50px;padding:10px 13px;border:1px solid var(--border);border-radius:13px;background:var(--bg);color:var(--text);font:inherit;font-size:17px;font-weight:800;color-scheme:light dark}.return-schedule-note{min-height:18px;margin:7px 0 0;color:var(--red);font-size:11px;font-weight:750}@media(max-width:380px){.app-nav{gap:4px;padding:5px}.app-nav-item{height:44px;padding-inline:4px;font-size:12px}.app-nav-item small{font-size:10px}.home-today-goals-grid{gap:5px}.home-today-goal{padding-inline:8px}.home-today-goal strong{font-size:12px}.week-tier-days{gap:3px}.week-tier-circle{width:min(100%,35px);font-size:10px}.week-tier-legend{gap:7px;font-size:9.5px}.streak-month-weekdays,.streak-month-days{gap:3px}.streak-month-day>i{width:29px;height:29px;font-size:9px}.streak-month-head>em{font-size:8px}.daily-mission-card{padding:15px 13px 13px}.daily-mission-row{padding:9px 9px 7px}.daily-mission-row-head>em{gap:4px;font-size:9.5px}.return-setup-card{padding:11px}.return-setup-actions{grid-template-columns:1fr 1fr;gap:5px}.return-setup-actions>button{column-gap:6px;padding-inline:7px}}@media(max-height:700px){#batch-screen .batch-screen{padding-top:20px}#batch-screen .batch-emoji{height:54px}#batch-screen .completion-mark{width:52px;height:52px}#batch-screen .daily-mission-card{min-height:236px;margin-block:4px 6px}#batch-screen .daily-mission-row{min-height:62px;padding-block:7px}#batch-screen .batch-actions{padding-top:6px}.return-setup-head{margin-bottom:7px}.return-setup-card{padding-block:10px}}

.guest-sample-offer{margin:14px 0 16px;text-align:center;font-size:14px;line-height:1.55;color:var(--text-secondary,#64748b)}
.guest-sample-offer strong,.guest-sample-offer span{display:block}
.guest-sample-offer strong{font-weight:650;color:var(--text,#172033);margin-bottom:3px}

.home-topic-card.locked{background:color-mix(in srgb,var(--bg) 56%,var(--card));border-color:var(--border);box-shadow:none;color:var(--text3)}.home-topic-card.locked .home-topic-icon{color:var(--text3);opacity:.58}.home-topic-card.locked .home-topic-number{color:var(--text3);opacity:.8}.home-topic-card.locked .home-topic-perimeter{display:none}.home-topic-card.locked:hover{background:var(--card);border-color:color-mix(in srgb,var(--text3) 48%,var(--border));box-shadow:var(--shadow);transform:translateY(-1px)}.home-topic-lock{position:absolute;right:7px;top:6px;z-index:4;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--card);color:var(--text3)}.home-topic-lock svg{display:block;width:12px;height:12px}.home-topic-card:focus-visible{outline:2px solid var(--red);outline-offset:3px}.access-banner.access-ended{border-color:var(--border);background:var(--card)}.access-banner.access-ended button{min-height:44px;border-color:var(--red);background:var(--red);color:#fff;padding:9px 13px}.access-banner.access-ended button small{font-size:10px;color:inherit;opacity:.9;font-weight:600;margin-top:3px}.access-banner.access-expiry-notice{position:relative;padding-right:35px;border-color:var(--border);background:var(--card);gap:8px}.access-banner.access-expiry-notice>span{flex:1}.access-banner.access-expiry-notice>button[data-access-plans]{background:transparent;border:0;box-shadow:none;color:var(--red);padding:6px 2px;text-decoration:underline;text-underline-offset:3px}.access-banner .access-notice-dismiss{position:absolute;right:3px;top:3px;width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--text3);font-size:20px;line-height:1}.access-banner .access-notice-dismiss:hover{background:var(--bg2);color:var(--text)}@media(max-width:520px){.home-topic-lock{right:4px;top:4px;width:15px;height:15px}.home-topic-lock svg{width:11px;height:11px}.access-banner.access-expiry-notice{flex-wrap:wrap}.access-banner.access-expiry-notice>span{flex-basis:100%}.access-banner.access-expiry-notice>button[data-access-plans]{min-height:32px}}


/* Selected completion card: achievement above a quiet invitation footer. */
#batch-screen.guest-result{--guest-blush:#fcf0f3;--guest-violet:#755abc;--guest-lilac:#f0eafb;--guest-progress:#f7f8fc;}
:root[data-theme="dark"] #batch-screen.guest-result{--guest-blush:#382932;--guest-violet:#b39aef;--guest-lilac:#332c46;--guest-progress:#252934;}
#batch-screen.guest-result .batch-screen{max-width:430px;width:100%;padding:0;margin:20px auto 0;background:transparent;border:0;box-shadow:none;text-align:center}
#batch-screen.guest-result .guest-result-card{background:var(--card);border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 8px 28px rgba(44,40,67,.035)}
#batch-screen.guest-result .guest-result-main{padding:25px 22px 21px}
#batch-screen.guest-result .batch-emoji{display:flex;align-items:center;justify-content:center;height:64px;margin:0 0 7px}
#batch-screen.guest-result .guest-medal{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:53px;height:53px;border-radius:50%;background:var(--guest-progress);border:1px solid var(--border);color:var(--text2)}
#batch-screen.guest-result .guest-medal.earned{color:var(--guest-violet);border-color:var(--guest-violet);background:linear-gradient(145deg,var(--card),var(--guest-lilac));outline:4px solid var(--guest-lilac);outline-offset:-6px;box-shadow:0 5px 13px rgba(44,40,67,.075)}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:before,#batch-screen.guest-result .batch-emoji .guest-medal.earned:after{content:"";position:absolute;width:12px;height:10px;bottom:-6px;background:var(--guest-lilac);border-radius:0 0 3px 3px;z-index:0}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:before{left:9px;transform:rotate(17deg)}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:after{right:9px;transform:rotate(-17deg)}
#batch-screen.guest-result .guest-medal svg{width:23px;height:23px;position:relative}
#batch-screen.guest-result .batch-title{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.4px;margin:0;color:var(--text)}
#batch-screen.guest-result #guest-medal-caption{font-size:12px;line-height:1.6;color:var(--guest-violet);margin:4px 0 20px}
#batch-screen.guest-result #batch-study-time{display:block;width:100%;min-height:0;margin:0}
#batch-screen.guest-result #batch-rewards:empty{display:none}
#batch-screen.guest-result .daily-word-summary{font-size:12px;font-weight:400;line-height:1.6;color:var(--text2);margin:14px 0 0}
#batch-screen.guest-result .guest-sample-offer{padding:23px 22px 21px;margin:0;border-top:1px solid var(--border);background:var(--guest-blush);text-align:left}
#batch-screen.guest-result .guest-sample-offer h2{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.4px;color:var(--text);margin:0 0 9px}
#batch-screen.guest-result .guest-sample-offer p{font-size:14px;font-weight:400;line-height:1.6;color:var(--text2);margin:0}
#batch-screen.guest-result .guest-sample-offer strong{display:inline;font-weight:500}
#batch-screen.guest-result .guest-offer-value{display:flex;flex-wrap:wrap;gap:3px 6px;font-size:12px;font-weight:400;line-height:1.6;color:var(--text);margin:14px 0 17px}
#batch-screen.guest-result #batch-next-btn{width:100%;min-height:52px;border-radius:13px;padding:14px;font-size:15px;font-weight:500;line-height:1.4;margin:0;background:var(--game-primary);color:var(--game-primary-on);box-shadow:0 4px 10px rgba(44,40,67,.075)}
#batch-screen.guest-result #batch-next-btn:hover{background:var(--game-primary-hover)}
#batch-screen.guest-result .batch-actions{display:block;width:100%;margin:7px auto 0}
#batch-screen.guest-result #batch-finish-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin:0;border:0;border-radius:10px;background:transparent;color:var(--text2);font-size:13px;font-weight:500;line-height:1.5;box-shadow:none;padding:12px}
#batch-screen.guest-result #batch-finish-btn>span:last-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
#batch-screen.guest-result #batch-finish-btn:hover{color:var(--game-primary);background:var(--guest-blush)}
#batch-screen.guest-result button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.guest-preview-controls{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:12px;margin-top:18px;border-top:1px solid var(--border)}
.guest-preview-controls button{border:0;background:transparent;box-shadow:none;color:var(--text2);font-size:13px;min-height:44px;padding:10px 14px;text-decoration:underline;text-underline-offset:4px}
.guest-preview-controls button:hover{color:var(--game-primary)}
@media(max-width:380px){#batch-screen.guest-result .guest-result-main{padding:22px 17px 19px}#batch-screen.guest-result .guest-sample-offer{padding:21px 17px 19px}#batch-screen.guest-result .batch-screen{margin-top:12px}}

/* Selected entry 2 and email 1: quiet, distinct surfaces and compact typography. */
.selected-guest-entry,.account-overlay.starter-signup{--selected-violet:#755abc;--selected-lilac:#f0eafb;--selected-blush:#fcf0f3;--selected-soft:#f1f2f7}
:root[data-theme="dark"] .selected-guest-entry,:root[data-theme="dark"] .account-overlay.starter-signup{--selected-violet:#b39aef;--selected-lilac:#332c46;--selected-blush:#382932;--selected-soft:#303541}
.selected-guest-entry .topic-browser-panel{width:min(100%,440px);border-radius:24px;background:var(--bg);padding:25px 22px 23px;box-shadow:0 16px 48px rgba(26,29,38,.14)}
.selected-guest-entry .topic-browser-head{justify-content:center;text-align:center;gap:12px;margin:0 0 18px}.selected-guest-entry .topic-browser-head>div{width:100%}
.selected-guest-entry .topic-browser-head h2{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.45px;margin:0}
.selected-guest-entry .topic-browser-close{width:30px;height:30px;min-width:30px;flex:none;font-size:22px;border-radius:50%;background:var(--selected-soft);color:var(--text2)}
.selected-guest-entry .selected-entry-option{border:1px solid var(--border);border-radius:19px;padding:20px;background:var(--card)}
.selected-guest-entry .selected-entry-preview{border-top:3px solid var(--selected-violet)}
.selected-guest-entry .selected-entry-email{margin-top:17px;background:var(--selected-blush)}
.selected-guest-entry .selected-entry-path-head{display:flex;align-items:flex-start;gap:12px}
.selected-guest-entry .selected-entry-path-head>svg{width:21px;height:21px;flex:none;color:var(--selected-violet);margin-top:2px}
.selected-guest-entry .selected-entry-path-head h3{font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.2px;color:var(--text);margin:0}
.selected-guest-entry .selected-entry-path-head p{font-size:13px;line-height:1.6;color:var(--text2);margin:9px 0 0}
.selected-guest-entry .selected-entry-range{white-space:nowrap}
.selected-guest-entry .selected-entry-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:17px 0 19px}
.selected-guest-entry .selected-entry-levels .onboarding-level-option{display:flex;align-items:center;justify-content:center;min-width:0;min-height:47px;border:1px solid var(--border);border-radius:11px;background:var(--card);padding:10px 4px;color:var(--text);font-size:14px;font-weight:500;box-shadow:none;transform:none}
.selected-guest-entry .selected-entry-levels .onboarding-level-option[aria-pressed="true"]{background:var(--selected-blush);border-color:var(--game-primary);color:var(--game-primary)}
.selected-guest-entry .selected-entry-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:13px;background:var(--game-primary);color:var(--game-primary-on);padding:14px;font-size:15px;font-weight:500;line-height:1.4;box-shadow:0 4px 10px rgba(26,29,38,.07)}
.selected-guest-entry .selected-entry-primary:hover{background:var(--game-primary-hover)}
.selected-guest-entry .selected-entry-email-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:16px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);padding:12px;font-size:14px;font-weight:500;line-height:1.4}
.selected-guest-entry .selected-entry-note{margin:12px 0 0;font-size:12px;font-style:italic;line-height:1.6;color:var(--text2);text-align:center}
.selected-guest-entry .selected-entry-saved{display:grid;gap:3px;background:var(--selected-lilac);border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:13px;color:var(--text)}
.selected-guest-entry .selected-entry-saved small{font-size:12px;color:var(--text2)}
.selected-guest-entry .selected-entry-restart{display:block;width:100%;min-height:44px;padding:11px 4px 0;font-size:12px;line-height:1.5;color:var(--text2);background:none;border:0;text-decoration:underline;text-underline-offset:4px}
.selected-guest-entry button:focus-visible,.account-overlay.starter-signup button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.selected-guest-entry button:disabled{opacity:.65;cursor:wait}
.account-overlay.starter-signup .account-panel{width:min(calc(100% - 32px),390px);max-height:calc(100dvh - 32px);background:var(--card);border:1px solid var(--border);border-radius:22px;padding:68px 22px 24px;box-shadow:0 12px 30px rgba(26,29,38,.1)}
.account-overlay.starter-signup.guest-trial-positioned .account-panel{max-height:min(calc(100dvh - 32px),var(--account-trial-max-height,calc(100dvh - 32px)));overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:44px 12px}
.account-overlay.starter-signup .account-panel h2{display:flex;align-items:flex-start;gap:12px;font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.45px;margin:0 0 18px;padding:0;color:var(--text)}
.account-overlay.starter-signup .starter-book-mark{display:grid;place-items:center;flex:none;width:41px;height:46px;border:1px solid var(--border);border-radius:5px 12px 12px 5px;background:var(--selected-lilac);color:var(--selected-violet);box-shadow:3px 3px 0 var(--card),4px 4px 0 var(--border)}
.account-overlay.starter-signup .starter-book-mark svg{width:21px;height:21px}
.account-overlay.starter-signup .account-close{position:sticky;display:grid;place-items:center;z-index:2;width:32px;height:32px;right:auto;top:-44px;margin:-44px 0 12px auto;border:0;border-radius:50%;background:var(--selected-soft);color:var(--text2);font-size:22px;line-height:1}
.account-overlay.starter-signup .account-trial-copy{max-width:none;font-size:14px;line-height:1.65;color:var(--text2);margin:0 0 20px}
.account-overlay.starter-signup .account-trial-copy>strong{color:var(--text);font-weight:500}
.account-overlay.starter-signup .starter-value{display:flex;flex-wrap:wrap;gap:0 4px;border:0;border-radius:12px;background:var(--selected-soft);padding:13px 14px;margin:19px 0 10px;color:var(--text);font-size:12px;line-height:1.7}
.account-overlay.starter-signup .starter-value strong{font-weight:500;width:auto}
.account-overlay.starter-signup .starter-value>span{display:inline;color:var(--text2)}
.account-overlay.starter-signup .starter-reassurance{font-size:12px;line-height:1.6;color:var(--text2);margin:0}
.account-overlay.starter-signup .account-field{margin:0 0 12px}
.account-overlay.starter-signup .account-field>span{font-size:12px;font-weight:500;margin-bottom:7px}
.account-overlay.starter-signup .account-field input{height:52px;border:1px solid var(--border);border-radius:11px;background:var(--card);color:var(--text);padding:12px 14px;font-size:16px}
.account-overlay.starter-signup .account-field input:focus{outline:2px solid var(--game-primary);outline-offset:2px;box-shadow:none}
.account-overlay.starter-signup .account-primary{min-height:52px;border:0;border-radius:13px;background:var(--game-primary);color:var(--game-primary-on);padding:14px;font-size:15px;font-weight:500;line-height:1.4;margin:0;box-shadow:0 4px 10px rgba(26,29,38,.07)}
.account-overlay.starter-signup .account-primary:hover{background:var(--game-primary-hover)}
.account-overlay.starter-signup .account-primary:disabled{opacity:.65;cursor:wait}
.account-overlay.starter-signup .account-login-secondary{max-width:none;font-size:12px;line-height:1.65;margin:18px 0 0;padding-top:15px;border-top:1px solid var(--border);text-align:center;color:var(--text2)}
.account-overlay.starter-signup .account-message:empty{display:none}
.account-overlay.starter-signup #account-code-area{margin-top:18px}
@media(max-width:380px){.selected-guest-entry .topic-browser-panel{padding:22px 17px}.selected-guest-entry .selected-entry-option{padding:17px 16px}.account-overlay.starter-signup .account-panel{padding-left:18px;padding-right:18px}.account-overlay.starter-signup .account-panel h2{font-size:21px;gap:11px}.account-overlay.starter-signup .starter-value{padding:12px 11px}}
@media(max-height:650px){.account-overlay.starter-signup .account-panel{padding-top:56px;padding-bottom:20px}.account-overlay.starter-signup .account-close{top:-40px;margin-top:-40px;margin-bottom:8px}.account-overlay.starter-signup .account-panel h2{margin-bottom:14px}.account-overlay.starter-signup .account-trial-copy{margin-bottom:17px}.account-overlay.starter-signup .starter-value{margin-top:15px}}

.return-setup-card.install-priority{padding:22px;border:1px solid #dfd8f8;border-radius:20px;background:#f2efff;box-shadow:none;text-align:center}.return-setup-card.install-priority .return-setup-head{display:flex;flex-direction:column;gap:18px;margin-bottom:20px}.return-setup-card.install-priority .return-setup-mark{display:block;flex:0 0 64px;width:64px;height:64px;border-radius:16px;background:transparent;box-shadow:0 5px 14px #00000018;overflow:hidden}.return-setup-card.install-priority .return-setup-mark img{display:block;width:64px;height:64px;object-fit:contain}.return-setup-card.install-priority .return-setup-head>span:last-child{gap:12px}.return-setup-card.install-priority .return-setup-head strong{font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.4px;color:#242033}.return-setup-card.install-priority .return-setup-head small{font-size:17px;font-weight:400;line-height:1.55;color:#526077}.return-setup-card.install-priority .return-setup-actions{grid-template-columns:1fr}.return-setup-card.install-priority [data-return-install]{display:flex;align-items:center;justify-content:center;min-height:54px;padding:14px 12px;border:1px solid #655099;border-radius:12px;background:#655099;color:#fff;box-shadow:none;text-align:center}.return-setup-card.install-priority [data-return-install]:hover{background:#554184;border-color:#554184}.return-setup-card.install-priority [data-return-install] b{align-self:auto;font-size:17px;font-weight:700;line-height:1.3}.return-setup-card.install-priority .return-setup-later{width:100%;min-height:44px;padding:10px;margin:5px 0 0;font-size:16px;font-weight:400;line-height:1.4;color:#526077;text-decoration:none;border-radius:10px}.return-setup-card.install-priority .return-setup-later:hover{background:#e7e1f8;color:#332a4e}#batch-screen:has(.return-setup-slot:not([hidden]) .install-priority) #batch-next-btn{background:var(--card);color:var(--red-dark);border:1px solid color-mix(in srgb,var(--red) 35%,var(--border));box-shadow:none}:root[data-theme=dark] .return-setup-card.install-priority{background:#2d2742;border-color:#51446f}:root[data-theme=dark] .return-setup-card.install-priority .return-setup-head strong{color:#f1edf9}:root[data-theme=dark] .return-setup-card.install-priority .return-setup-head small,:root[data-theme=dark] .return-setup-card.install-priority .return-setup-later{color:#c5c0d5}:root[data-theme=dark] .return-setup-card.install-priority [data-return-install]{background:#ceb9ff;border-color:#ceb9ff;color:#281d40}:root[data-theme=dark] .return-setup-card.install-priority [data-return-install]:hover{background:#ddcdff}:root[data-theme=dark] .return-setup-card.install-priority .return-setup-later:hover{background:#423657;color:#f1edf9}@media(max-width:380px){.return-setup-card.install-priority{padding:20px}.return-setup-card.install-priority .return-setup-head strong{font-size:23px}}

.production-status.voice-ready-message{color:var(--text2);font-size:14px;line-height:1.45}.voice-permission-note{margin:10px 0 0;color:var(--text2);font-size:14px;line-height:1.45;text-align:center}

#game-screen #type-area{position:relative;bottom:auto}.answerModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(100%,620px);margin:0 auto 10px;padding:4px;border:1px solid var(--game-control-border);border-radius:13px;background:var(--game-control-bg)}.answerModeSwitch[hidden]{display:none}.answerModeBtn{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text2);font:inherit;font-size:15px;font-weight:750;line-height:1.2;cursor:pointer;touch-action:manipulation}.answerModeBtn[aria-pressed=true]{border-color:var(--game-control-border);background:var(--card);color:var(--text);box-shadow:0 2px 5px #0000000f}.answerModeBtn:focus-visible{outline:2px solid var(--game-primary);outline-offset:2px}.answerModeBtn:disabled{cursor:default;opacity:.6}#game-screen .quiz-streak-display:empty{display:none}#game-screen .voice-choice-option{min-width:0;overflow-wrap:anywhere}#game-screen .voice-transcript{white-space:normal;overflow-wrap:anywhere}#game-screen:has(#type-area.custom-keyboard-open) .game-header{position:static}#game-screen:has(#type-area.custom-keyboard-open) #type-area{scroll-margin-top:10px}@media(max-width:759px)and (max-height:740px){#game-screen .game-header{padding-top:10px;padding-bottom:10px}#game-screen .quiz-progress{margin-bottom:12px}#game-screen .card-container{margin-bottom:10px}#game-screen .question-card.listen-card{padding:14px 12px}#game-screen .intro-slide{gap:8px;padding:0 4px 4px}#game-screen .intro-image-frame{width:clamp(88px,calc((100vh - 355px)*.666667),205px);width:clamp(88px,calc((100svh - 355px)*.666667),205px)}#game-screen .question-card.production-image-card{padding:14px 12px}#game-screen .production-cue{gap:8px}#game-screen .production-image-frame{width:clamp(76px,calc((100vh - 425px)*.666667),180px);width:clamp(76px,calc((100svh - 425px)*.666667),180px)}#game-screen .production-cue-meaning{font-size:21px}#game-screen .question-type-label{margin-bottom:8px}#game-screen .question-card.match-card{padding:14px 10px}#game-screen .match-board,#game-screen .match-column{gap:6px}#game-screen .match-choice{min-height:56px;padding:8px 9px}#game-screen .keyboard-layout-mobile{gap:5px}#game-screen .keyboard-layout-mobile .keyboard-key{height:46px;min-height:46px}#game-screen .keyboard-layout-mobile .keyboard-actions .keyboard-key{height:44px;min-height:44px}}@media(max-height:480px)and (orientation:landscape){#game-screen .game-header{position:static;padding-block:8px}#game-screen .question-card.listen-card,#game-screen .question-card.production-image-card{padding:12px}#game-screen .intro-image-frame,#game-screen .production-image-frame{width:80px}#game-screen .intro-slide{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:12px}#game-screen .intro-slide-copy{max-width:45%}#game-screen .intro-slide-speaker{min-width:120px}#game-screen .production-cue{flex-direction:row;justify-content:center;gap:16px}#game-screen .production-cue-meaning{max-width:65%;font-size:21px}}

#game-screen #type-area:has(.voice-control-stack) .production-status:empty{display:none}#game-screen .voice-action-row{grid-template-columns:minmax(80px,1fr) minmax(190px,290px) minmax(80px,1fr);align-items:center;gap:10px}#game-screen .voice-action-row .voice-primary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;max-width:290px;min-width:0;min-height:60px;justify-self:center;padding:8px 18px;border:0;border-radius:999px;background:linear-gradient(125deg,#d9365a,#c92b52);color:#fff;font-family:var(--font);font-size:15px;font-weight:500;line-height:1.3;box-shadow:0 7px 16px #d7335b25,inset 0 1px #ffffff50;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}#game-screen .voice-action-row .voice-primary:disabled{opacity:1;cursor:wait}#game-screen .voice-action-row .voice-primary:hover{filter:none}#game-screen .voice-action-row .voice-primary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}#game-screen .voice-action-row .voice-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 8px #d7335b20,inset 0 1px #ffffff40}#game-screen .voice-pill-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffffff24}#game-screen .voice-pill-icon svg{display:block;width:23px;height:23px}#game-screen .voice-stop-mark{display:block;width:13px;height:13px;border-radius:3px;background:currentColor}#game-screen .voice-idle-label{min-width:0;white-space:nowrap}#game-screen .voice-recording-content{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0}#game-screen .voice-primary .voice-equalizer{height:30px;gap:3px;flex-shrink:0}#game-screen .voice-primary .voice-equalizer i{width:3px;height:4px;border-radius:3px}#game-screen .voice-primary .voice-equalizer.speech-detected i{animation-name:voicePillSpeech;animation-duration:.36s}#game-screen .voice-primary .voice-equalizer i:nth-child(2n){--voice-peak:18px;animation-delay:-.14s}#game-screen .voice-primary .voice-equalizer i:nth-child(3n){--voice-peak:27px;animation-delay:-.26s}#game-screen .voice-primary .voice-equalizer i:nth-child(4n){--voice-peak:12px;animation-delay:-.08s}#game-screen .voice-elapsed{min-width:31px;font-size:13px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1}#game-screen .voice-primary .voice-check-spinner{width:22px;height:22px}#game-screen .voice-action-row .voice-control{min-width:0;min-height:44px;padding:9px 10px;font-weight:500;touch-action:manipulation}@keyframes voicePillSpeech{0%{height:5px}to{height:var(--voice-peak,22px)}}@media(max-width:520px){#game-screen .voice-action-row{width:min(100%,320px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"say say" "hint unknown";gap:10px}}@media(max-height:600px)and (max-width:759px),(max-height:480px)and (orientation:landscape){#game-screen .voice-action-row .voice-primary{min-height:54px;padding-block:7px}#game-screen .voice-action-row{gap:8px}}@media(prefers-reduced-motion:reduce){#game-screen .voice-action-row .voice-primary{transition:none}#game-screen .voice-primary .voice-equalizer.speech-detected i{animation:none;height:var(--voice-peak,22px)}#game-screen .voice-primary .voice-check-spinner{animation:none}}

#game-screen #type-area.compact-answer-panel{--answer-panel-bg:#f5f6f9;--answer-panel-soft:#eceef3;--answer-panel-border:#dfe2ea;--answer-panel-muted:#656979;width:min(100%,620px);max-width:620px;margin:0 auto;padding:18px 16px 12px;border:1px solid var(--answer-panel-border);border-radius:22px;background:var(--answer-panel-bg);box-shadow:none}:root[data-theme=dark] #game-screen #type-area.compact-answer-panel{--answer-panel-bg:#191c23;--answer-panel-soft:#282c35;--answer-panel-border:#393e4b;--answer-panel-muted:#b0b5c4}#game-screen .compact-answer-panel .answerModeSwitch{width:208px;max-width:100%;margin:0 auto 16px;padding:4px;gap:4px;border:0;border-radius:30px;background:var(--answer-panel-soft)}#game-screen .compact-answer-panel .answerModeBtn{gap:7px;min-height:44px;padding:8px 10px;border:0;border-radius:25px;color:var(--answer-panel-muted);font-size:14px;font-weight:500;line-height:1.3}#game-screen .compact-answer-panel .answerModeBtn[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:0 2px 5px #00000012}#game-screen .compact-answer-panel .answerModeBtn{padding-inline:6px}#game-screen .compact-answer-panel .answerModeBtn span{min-width:0;overflow-wrap:anywhere}#game-screen .compact-answer-panel .answer-control-icon{display:block;flex:0 0 18px;width:18px;height:18px;pointer-events:none}#game-screen .compact-answer-panel .production-status:empty{display:none}#game-screen .compact-answer-panel .voice-control-stack{width:100%;padding:0;margin:0}#game-screen .compact-answer-panel .voice-action-row{width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"say say" "hint unknown";gap:12px 10px;align-items:center}#game-screen .compact-answer-panel .voice-say{grid-area:say}#game-screen .compact-answer-panel .voice-hint{grid-area:hint;justify-self:start}#game-screen .compact-answer-panel .voice-dont-know{grid-area:unknown;justify-self:end}#game-screen .compact-answer-panel .voice-action-row .voice-primary{width:100%;max-width:none;min-height:60px;padding:10px 16px;gap:12px;border-radius:32px;background:linear-gradient(125deg,#d9365a,#c92b52)}#game-screen .compact-answer-panel .voice-pill-icon{flex-basis:36px;width:36px;height:36px}#game-screen .compact-answer-panel .voice-idle-label{white-space:normal;overflow-wrap:anywhere}#game-screen .compact-answer-panel .voice-action-row .voice-control,#game-screen .compact-answer-panel .type-actions .answer-link{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;max-width:100%;min-width:0;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--answer-panel-muted);font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap;text-decoration:none;box-shadow:none;touch-action:manipulation}#game-screen .compact-answer-panel .voice-hint .answer-control-icon,#game-screen .compact-answer-panel #btn-hint .answer-control-icon{color:#9a6818}#game-screen .compact-answer-panel .voice-action-row .voice-control,#game-screen .compact-answer-panel .type-actions .answer-link{white-space:normal}#game-screen .compact-answer-panel .voice-control span,#game-screen .compact-answer-panel .type-actions .answer-link span{min-width:0;overflow-wrap:anywhere}:root[data-theme=dark] #game-screen .compact-answer-panel .voice-hint .answer-control-icon,:root[data-theme=dark] #game-screen .compact-answer-panel #btn-hint .answer-control-icon{color:#e6b95e}#game-screen .compact-answer-panel .voice-control:disabled,#game-screen .compact-answer-panel .type-actions .answer-link:disabled{opacity:.6;cursor:default}#game-screen .compact-answer-panel .voice-control:hover:not(:disabled),#game-screen .compact-answer-panel .type-actions .answer-link:hover:not(:disabled){background:var(--answer-panel-soft);color:var(--text)}#game-screen .compact-answer-panel .type-input-area{margin:0 0 10px}#game-screen .compact-answer-panel .type-input-shell{display:flex;align-items:center;gap:5px;min-width:0;min-height:56px;padding:5px 6px 5px 14px;border:1px solid var(--answer-panel-border);border-radius:15px;background:var(--card)}#game-screen .compact-answer-panel .type-input-shell:focus-within{border-color:var(--game-primary)}#game-screen .compact-answer-panel .type-input{min-width:0;min-height:44px;width:100%;padding:8px 0;border:0;border-radius:7px;background:transparent;font-size:16px;font-weight:400;line-height:1.3;text-align:left;box-shadow:none}#game-screen .compact-answer-panel .type-input::placeholder{color:var(--answer-panel-muted)}#game-screen .compact-answer-panel .type-input.correct{background:var(--green-light)}#game-screen .compact-answer-panel .type-input-shell:has(.type-input.wrong){border-color:var(--red)}#game-screen .compact-answer-panel .russian-keyboard-toggle{position:static;transform:none;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--answer-panel-muted);box-shadow:none}#game-screen .compact-answer-panel .russian-keyboard-toggle.active{background:var(--red-light);color:var(--game-primary)}#game-screen .compact-answer-panel .type-actions{width:100%;max-width:none;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"check check" "hint unknown";gap:12px 10px;align-items:center}#game-screen .compact-answer-panel .type-actions #btn-check{grid-area:check;gap:8px;width:100%;min-height:48px;padding:10px 18px;border:0;border-radius:25px;background:linear-gradient(125deg,#d9365a,#c92b52);color:#fff;font-size:14px;font-weight:500;line-height:1.3;box-shadow:none}#game-screen .compact-answer-panel .type-actions #btn-check:disabled{background:var(--answer-panel-soft);color:var(--answer-panel-muted);opacity:1;filter:none}#game-screen .compact-answer-panel .type-actions #btn-hint{grid-area:hint;justify-self:start}#game-screen .compact-answer-panel .type-actions #btn-idk{grid-area:unknown;justify-self:end}#game-screen .compact-answer-panel .russian-keyboard{width:100%;max-width:100%;margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:6px}#game-screen .compact-answer-panel .keyboard-layout{width:100%;gap:6px}#game-screen .compact-answer-panel .keyboard-row{width:100%;margin:0;padding:0;gap:4px}#game-screen .compact-answer-panel .keyboard-key{height:46px;min-height:46px;min-width:0;padding:4px 1px;border:1px solid var(--answer-panel-border);border-radius:7px;background:var(--card);font-size:18px;font-weight:500;box-shadow:0 1px 0 var(--answer-panel-border)}#game-screen .compact-answer-panel .keyboard-actions .keyboard-hint,#game-screen .compact-answer-panel .keyboard-actions .keyboard-give-up,#game-screen .compact-answer-panel .keyboard-actions .keyboard-check{display:none}#game-screen .compact-answer-panel .keyboard-layout-mobile .keyboard-actions .keyboard-space{flex:1;width:100%;height:44px;min-height:44px;font-size:12px;background:var(--card);color:var(--text2)}#game-screen .compact-answer-panel .keyboard-layout-desktop .keyboard-actions{display:none}#game-screen .compact-answer-panel .keyboard-layout-desktop .keyboard-key{flex:1 1 0;width:auto}#game-screen .compact-answer-panel .keyboard-layout-desktop .keyboard-backspace{flex:1.45 1 0;font-size:19px}#game-screen .compact-answer-panel .keyboard-layout-desktop .keyboard-space{flex:2 1 0;font-size:12px}#game-screen .compact-answer-panel button:focus-visible{outline:2px solid var(--game-primary);outline-offset:3px}#game-screen #type-area.compact-answer-panel:has(.answerModeSwitch[style*="display: none"]){padding:0;border:0;border-radius:0;background:transparent}@media(max-width:360px){#game-screen #type-area.compact-answer-panel{padding-left:12px;padding-right:12px}#game-screen .compact-answer-panel .voice-control,#game-screen .compact-answer-panel .type-actions .answer-link{padding-inline:6px}#game-screen .compact-answer-panel .keyboard-row{gap:3px}}@media(max-height:560px){#game-screen #type-area.compact-answer-panel{padding-top:14px;padding-bottom:8px}#game-screen .compact-answer-panel .answerModeSwitch{margin-bottom:12px}#game-screen .compact-answer-panel .voice-action-row,#game-screen .compact-answer-panel .type-actions{row-gap:8px}}

#game-screen .compact-answer-panel .keyboard-key:not(.keyboard-service):not(.keyboard-space){font-size:22px;font-weight:600}#game-screen .compact-answer-panel .keyboard-backspace{font-size:23px}#game-screen .compact-answer-panel .keyboard-key.has-alternate:after{top:3px;right:3px;font-size:10px}#game-screen .compact-answer-panel:has(.voice-control-stack) .production-status:not(:empty){margin:8px 0 0;overflow-wrap:anywhere}@media(max-width:759px){#game-screen .compact-answer-panel .keyboard-key:not(.keyboard-service):not(.keyboard-space){font-size:23px}}@media(max-width:360px){#game-screen #type-area.compact-answer-panel{padding-inline:8px}#game-screen .compact-answer-panel .keyboard-key:not(.keyboard-service):not(.keyboard-space){font-size:22px}}@media(max-width:759px)and (max-height:560px){#game-screen #type-area.compact-answer-panel{padding-top:10px}#game-screen .compact-answer-panel .answerModeSwitch{margin-bottom:8px}#game-screen .card-container{margin-bottom:6px}}

#game-screen.voice-test-open #question-hint,#game-screen.voice-test-open #answer-mode-switch{display:none!important}#game-screen.voice-test-open #type-area.compact-answer-panel{padding:0;border:0;background:transparent}#game-screen.voice-test-open .voice-choice-fallback{gap:12px}


/* Respect reduced motion for lesson progress and the streak reward glow. */
@media(prefers-reduced-motion:reduce){
  .quiz-progress-segment,
  .quiz-progress-segment::before,
  .quiz-progress-segment::after,
  .sdb-glow{animation:none!important;transition:none!important}
}


/* Self-hosted original Roboto v51. See assets/fonts/OFL-Roboto.txt. */
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-ext-01f94d674db5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-cyrillic-481dd0c01e6b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-ext-ec7769b08981.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-greek-97fbf7bd0b45.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* math */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-math-7cb4281a0ccc.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-symbols-2addf2d86d7a.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-vietnamese-0b60bbe04e9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-ext-cedb374b05a3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/roboto-v51-latin-1404ca348bd7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Easier lesson controls on touch screens; retain icon centers and card dimensions. */
#game-screen .replay-btn{width:44px;height:44px;top:8px;right:8px}
#game-screen .report-issue-button{flex-basis:44px;width:44px;height:44px}
#game-screen .header-back,#topic-screen .header-back{min-width:44px;min-height:44px}
#game-screen .replay-btn:focus-visible,#game-screen .report-issue-button:focus-visible,#game-screen .header-back:focus-visible,#topic-screen .header-back:focus-visible{outline:2px solid var(--game-primary);outline-offset:3px}


/* First matching pair and keyboard choice: visible on phones and desktop. */
#game-screen #question-type-label:empty{display:none!important}
#game-screen .match-pair-guide{margin:0 0 14px;padding:9px 11px;border-radius:10px;background:var(--purple-light);color:var(--text);font-size:13px;font-weight:600;line-height:1.4;text-align:center}
#game-screen .match-choice.match-guide-choice:not(.matched):not(.wrong){border-color:var(--purple);background:color-mix(in srgb,var(--purple-light) 64%,var(--card));box-shadow:0 3px 0 color-mix(in srgb,var(--purple) 22%,transparent),0 5px 12px color-mix(in srgb,var(--purple) 12%,transparent);transform:translateY(-2px)}
#game-screen .match-choice.match-guide-choice.selected:not(.matched):not(.wrong){border-color:var(--red);background:var(--red-light);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 20%,transparent)}
#game-screen .compact-answer-panel .desktop-keyboard-tip{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 7px;width:100%;max-width:100%;margin:4px 0 10px;padding:0 8px;border:0;border-radius:10px;background:var(--purple-light);color:var(--text2);box-shadow:none;font-size:13px;font-weight:500;line-height:1.35}
#game-screen .compact-answer-panel .desktop-keyboard-tip::after{display:none}
#game-screen .compact-answer-panel .desktop-keyboard-tip .production-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:auto;margin:0;padding:0 4px;font:inherit;font-weight:700;color:var(--purple);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
#game-screen .compact-answer-panel .russian-keyboard-toggle.keyboard-tip-active{background:var(--purple-light);color:var(--purple);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--purple) 35%,transparent)}
/* Explicit short feedback also works after touch :active ends and on repeats. */
#game-screen .compact-answer-panel .keyboard-key.key-pressed,#game-screen .compact-answer-panel .keyboard-key:active{border-color:color-mix(in srgb,var(--purple) 55%,var(--answer-panel-border));background:var(--purple-light);color:var(--text);transform:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--purple) 16%,transparent)}
@media(prefers-reduced-motion:reduce){#game-screen .match-choice.match-guide-choice{transform:none!important;transition:none}#game-screen .compact-answer-panel .keyboard-key{transition:none}}

/* Approved free-registration and book-owner Account/plan designs. */
.account-overlay.account-access-design{align-items:center;padding:16px}
.account-access-design .account-panel{width:min(100%,390px);border-radius:16px;border:1px solid var(--border);padding:22px;max-height:calc(100dvh - 32px)}
.account-access-design .account-panel h2{font-size:21px;line-height:1.25;font-weight:500;margin:8px 44px 22px 0}
.account-access-design .account-close{top:18px;right:18px;min-width:44px;min-height:44px;background:var(--bg);border-radius:50%;font-size:21px}
.account-access-design .account-user{padding:0;margin:0 0 19px;background:none;border:0}
.account-access-design .account-email{font-size:12px;line-height:1.45;font-weight:400;color:var(--text2)}
.access-design-card{padding:17px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.access-design-card.is-book-owner{background:var(--red-light);border-color:color-mix(in srgb,var(--red) 25%,var(--border))}
.access-design-tag{display:flex;gap:7px;align-items:center;font-size:10px;letter-spacing:1px;font-weight:700;color:var(--red);margin-bottom:13px}
.access-design-icon{flex-shrink:0;vertical-align:middle}
.access-design-card h3{font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.4px;margin:0 0 6px}
.access-design-card p,.access-design-pitch p,.access-design-offer p{font-size:13px;color:var(--text2);line-height:1.45}
.access-design-date{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text2);margin-top:13px;line-height:1.4}
.access-design-included{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:16px;padding-top:11px;font-size:11px;color:var(--text2)}
.access-design-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0 4px}
.access-design-level{border:1px solid var(--border);border-radius:8px;background:var(--card);padding:10px 2px;text-align:center}
.access-design-level strong{font-size:15px;font-weight:600}
.access-design-level small{display:block;font-size:10px;font-weight:400;color:var(--text2);margin-top:7px}
.access-design-dots{display:flex;gap:3px;justify-content:center;margin-top:7px}
.access-design-dots i{width:4px;height:4px;border-radius:50%;background:var(--red)}
.access-design-pitch{padding-top:18px;margin-bottom:19px}
.access-design-pitch h3{font-size:18px;font-weight:500;line-height:1.3;margin:0 0 5px}
.access-design-cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;width:100%;min-height:50px;padding:13px;border-radius:9px;font-size:14px;font-weight:700;margin-top:14px}
.access-design-cta:hover{background:var(--red-dark)}
.account-access-design .account-summary-row{padding:11px 0;border-top:1px solid var(--border)}
.account-access-design .account-row-copy strong{font-size:12px;font-weight:500}
.account-access-design .account-row-copy small{font-size:11px;line-height:1.45}
.account-access-design .account-row-action{min-height:44px}
.account-access-design .account-install-row.is-secondary{background:none;border:0;border-top:1px solid var(--border);border-radius:0;padding:11px 0;margin:0}
.account-access-design .account-row-icon.install-app-icon{width:32px;height:32px;min-height:32px;max-height:32px;flex-basis:32px}
.account-access-design .account-install-row .account-row-action.account-install-action{min-height:44px}
.account-access-design .account-signout{min-height:44px;font-size:11px;margin-top:8px}
.account-access-design .account-back{min-height:44px;margin:0 0 12px;padding:0;display:flex;align-items:center;font-size:12px}
.access-design-summary{display:flex;gap:9px;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:11px;margin-bottom:18px;color:var(--text2);font-size:11px}
.access-design-summary strong{display:block;font-size:12px;font-weight:500;color:var(--text)}
.access-design-offer h3{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.4px;margin:0 0 7px}
.access-design-timeline{margin:20px 0 18px 5px;padding-left:17px;border-left:2px solid color-mix(in srgb,var(--red) 35%,var(--border))}
.access-design-timeline>div{position:relative;font-size:12px;color:var(--text2)}
.access-design-timeline>div+div{margin-top:17px}
.access-design-timeline>div:before{content:'';position:absolute;left:-24px;top:4px;width:11px;height:11px;background:var(--red);border:2px solid var(--card);border-radius:50%}
.access-design-timeline strong{display:block;font-weight:500;font-size:14px;color:var(--text);margin-bottom:3px}
.account-access-design .account-plan-grid{gap:9px;margin:23px 0 13px}
.account-access-design .account-plan{position:relative;min-width:0;min-height:101px;border-radius:10px;padding:13px 11px;background:var(--bg)}
.account-access-design .account-plan.active{background:var(--red-light)}
.account-access-design .account-plan.best:before{display:none}
.account-access-design .account-plan .access-design-period{font-size:12px;color:var(--text);margin:0}
.account-access-design .account-plan strong{font-size:24px;font-weight:500;line-height:1.25;margin:7px 0 3px;letter-spacing:-.5px}
.account-access-design .account-plan small{display:block;font-size:11px;color:var(--text2);line-height:1.4}
.access-design-save{position:absolute;top:-11px;right:9px;background:var(--red);color:#fff;font-size:9px;font-weight:600;line-height:1.4;padding:3px 6px;border-radius:5px}
.account-access-design #account-billing-timing{font-size:11px;line-height:1.45;color:var(--text2);margin:12px 0;text-align:center}
.access-design-billing-summary{font-size:11px;line-height:1.45;text-align:center;color:var(--text2);margin-top:10px}
.account-access-design .account-message:empty{display:none}
@media(max-width:350px){.account-overlay.account-access-design{padding:10px}.account-access-design .account-panel{padding:17px;max-height:calc(100dvh - 20px)}.access-design-card{padding:14px}.access-design-offer h3{font-size:22px}}

/* Approved paid Account #5, Manage plan #1, and calm lavender lesson locks. */
.account-paid-design .account-panel{color:var(--text)}
.account-paid-design .account-panel h2{margin-bottom:22px}
.account-paid-design .account-user{margin-bottom:20px}
.paid-plan-card{padding:17px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.paid-plan-card.is-current-plan{background:var(--bg)}
.paid-plan-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;line-height:1.4;color:var(--text2);margin-bottom:15px}
.paid-plan-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:4px 6px;font-size:10px;line-height:1.4;border:1px solid var(--border);border-radius:5px;background:var(--card);color:var(--text2)}
.paid-plan-badge.is-warning{background:#f6f1e8;color:#806846;border-color:#e8ddc8}
.paid-plan-card h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.4px;margin:0 0 7px}
.is-current-plan h3{font-size:20px}
.paid-plan-period,.paid-plan-note{color:var(--text2);font-size:12px;line-height:1.5;margin:0}
.paid-plan-note{margin-top:9px}
.paid-plan-date{font-size:13px;line-height:1.6;margin:13px 0 2px}
.paid-plan-date strong{font-weight:500;white-space:nowrap}
.paid-account-action{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:48px;font-size:13px;font-weight:400;color:var(--red);background:transparent;margin:5px 0 19px;padding:0}
.paid-account-action.is-callout{width:100%;justify-content:center;background:var(--red);color:#fff;border-radius:9px;margin-top:15px;font-weight:600;padding:10px}
.paid-plan-facts{border-top:1px solid var(--border);margin:17px 0 0;padding-top:3px}
.paid-plan-facts:empty{display:none}
.paid-plan-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;padding:11px 0}
.paid-plan-facts dt{color:var(--text2)}
.paid-plan-facts dd{margin:0;text-align:right;font-weight:400}
.paid-yearly-offer{border:1px solid var(--border);border-radius:12px;padding:17px;margin-top:19px}
.paid-yearly-offer .paid-plan-eyebrow{margin-bottom:12px}
.paid-save{padding:5px 7px;background:var(--red-light);color:var(--red);font-size:10px;border-radius:5px}
.paid-offer-price{font-size:28px;font-weight:500;letter-spacing:-.5px;line-height:1.3;margin:0 0 15px}
.paid-offer-price span{font-size:12px;font-weight:400;letter-spacing:0;color:var(--text2)}
.paid-primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;border-radius:9px;background:var(--red);color:#fff;font-size:13px;line-height:1.4;font-weight:600;padding:12px;text-decoration:none}
.paid-primary:hover,.paid-account-action.is-callout:hover{background:var(--red-dark)}
.paid-primary:disabled,.paid-secondary:disabled{opacity:.6;cursor:wait}
.paid-offer-note{font-size:11px;line-height:1.5;color:var(--text2);margin:10px 0 0}
.account-paid-design .account-cancel-renewal.paid-cancel{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 0 0;margin:22px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:none;color:var(--text2);font-size:12px;text-align:left;font-weight:400}
.paid-cancel span{font-size:23px;font-weight:300}
.paid-other-plans{margin-top:18px;border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--text2)}
.paid-other-plans summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 15px}
.paid-other-plans summary::-webkit-details-marker{display:none}
.paid-other-plans>div{padding:0 15px 15px}
.paid-other-plans p{line-height:1.5;margin-bottom:10px}
.paid-secondary{min-height:44px;width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text2);font-size:12px;line-height:1.4}
.paid-payment-recovery{margin-top:16px}
.paid-payment-recovery>p{font-size:11px;line-height:1.5;color:var(--text2);margin:11px 0}
.account-paid-design .paid-checkout-title{font-size:18px;font-weight:500;line-height:1.4;margin:21px 0 0}
.account-paid-design .account-message{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.account-paid-design button:focus-visible,.account-paid-design a:focus-visible,.account-paid-design summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.account-paid-design .account-email{overflow-wrap:anywhere}
.account-paid-design .account-row-icon.install-app-icon{display:grid;place-items:center;background:var(--blue-light);color:var(--blue);border-radius:50%;box-shadow:none;overflow:visible}
.paid-account-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border)}
.account-paid-design .paid-account-footer .account-signout{width:auto;margin:0;padding:0}
.paid-interests-link{color:var(--text2);background:transparent;font-size:11px;line-height:1.4;min-height:44px;padding:8px 0}
#nav-account .account-lavender-lock{color:#7b7592}
#nav-account .account-lavender-lock svg{width:21px;height:21px}
#nav-account .nav-status-dot,#account-access-mini{display:none}
.home-topic-lock{width:21px;height:21px;right:4px;top:4px;background:#f1eff6;color:#7b7592}
.home-topic-lock svg{width:13px;height:13px}
@media(max-width:520px){.home-topic-lock{width:20px;height:20px;right:3px;top:3px}.home-topic-lock svg{width:12px;height:12px}}
@media(max-width:350px){.paid-plan-card,.paid-yearly-offer{padding:14px}.paid-plan-card h3{font-size:21px}.paid-plan-facts>div{gap:10px;font-size:11px}.paid-plan-badge{font-size:9px}}

/* Compact completed guest preview; progress and streak remain unchanged. */
#batch-screen.guest-result .batch-emoji{height:46px;margin-bottom:6px}
#batch-screen.guest-result .guest-medal{width:40px;height:40px}
#batch-screen.guest-result .guest-medal svg{width:18px;height:18px}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:before,
#batch-screen.guest-result .batch-emoji .guest-medal.earned:after{width:9px;height:7px;bottom:-4px}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:before{left:7px}
#batch-screen.guest-result .batch-emoji .guest-medal.earned:after{right:7px}
#batch-screen.guest-result .batch-title{margin-bottom:14px}
@media(max-width:480px) and (max-height:700px){
  #batch-screen.guest-result .guest-result-main{padding:16px 17px 14px}
  #batch-screen.guest-result .batch-title{margin-bottom:10px}
  #batch-screen.guest-result .guest-sample-offer{padding:16px 17px}
  #batch-screen.guest-result .guest-sample-offer h2{font-size:20px;margin-bottom:6px}
  #batch-screen.guest-result .guest-offer-value{margin:10px 0 12px}
}

/* Guest email/code stays inside the visual viewport above mobile keyboards. */
.account-overlay.guest-trial-positioned{align-items:flex-start;padding:0}
.account-overlay.guest-trial-positioned .account-panel{position:fixed;top:var(--account-trial-top,8px);left:0;right:0;margin:0 auto;width:min(calc(100% - 24px),430px);max-height:var(--account-trial-max-height,calc(100dvh - 16px));overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;scroll-padding-block:10px 12px;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);border-radius:8px}
.account-overlay.starter-signup.guest-trial-positioned .account-panel{width:min(calc(100% - 24px),390px);max-height:var(--account-trial-max-height,calc(100dvh - 16px));border-radius:22px}
.account-overlay.guest-trial-positioned .account-field input{font-size:16px;scroll-margin-block:12px}


/* Guest dialogs retain their natural content height and native focus scrolling. */

.account-overlay.guest-trial-positioned .account-panel{touch-action:pan-y;--account-trial-panel-width:430px}
.account-overlay.starter-signup.guest-trial-positioned .account-panel{--account-trial-panel-width:390px}
/* Sticky top:0 sits below the panel's 56/68px top padding in WebViews.
   Anchor close to the same viewport slot as the panel, outside its scroll. */
.account-overlay.guest-trial-positioned .account-close{position:fixed;top:calc(var(--account-trial-top,8px) + 10px);right:max(26px,calc((100% - var(--account-trial-panel-width,430px))/2 + 14px));margin:0;z-index:2}


/* Native Type: keep the answer field and all actions above overlay keyboards. */
#game-screen.native-typing-active .game-header{position:static}
#game-screen .native-typing-scroll-space{display:block;flex:0 0 auto;width:1px;height:0;min-height:0;margin:0;padding:0;border:0;pointer-events:none;overflow-anchor:none}


/* Native Type in Android Instagram: keep context and controls together.
   All sizes describe content/touch targets, never an assumed keyboard. */
#game-screen.instagram-native-type{animation:none;overflow-anchor:none}
#game-screen.instagram-native-type .game-header{position:static;padding:2px 0;min-height:44px;gap:6px}
#game-screen.instagram-native-type .header-back{min-height:40px;padding-block:6px}
#game-screen.instagram-native-type .game-study-clock{padding:3px 7px}
#game-screen.instagram-native-type .quiz-progress{margin-bottom:6px}
#game-screen.instagram-native-type .quiz-streak-display{min-height:0;margin-bottom:6px;font-size:12px;line-height:1.3}
#game-screen.instagram-native-type .quiz-streak-display:empty{display:none}
#game-screen.instagram-native-type .card-container{margin-bottom:8px}
#game-screen.instagram-native-type .question-card{min-height:0;padding:8px 10px;gap:0}
#game-screen.instagram-native-type .question-type-label{margin-bottom:5px;padding:2px 7px;font-size:10px}
#game-screen.instagram-native-type .question-prompt{width:100%;max-height:108px;overflow:auto;margin:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere;scrollbar-width:thin}
#game-screen.instagram-native-type .production-cue{flex-direction:row;gap:10px;text-align:left;align-items:center}
#game-screen.instagram-native-type .production-image-frame{width:48px;height:72px;flex:0 0 48px;aspect-ratio:2/3;border-radius:8px}
#game-screen.instagram-native-type .production-cue-meaning{min-width:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
#game-screen.instagram-native-type .question-prompt-sub{margin-top:4px;font-size:12px;line-height:1.3}
#game-screen.instagram-native-type .question-hint{width:100%;max-height:64px;overflow:auto;margin-top:6px;font-size:15px;line-height:1.35;overflow-wrap:anywhere;scrollbar-width:thin}
#game-screen.instagram-native-type #type-area.compact-answer-panel{padding:8px 10px;border-radius:16px}
#game-screen.instagram-native-type .compact-answer-panel .answerModeSwitch{margin-bottom:6px;padding:0;gap:2px}
#game-screen.instagram-native-type .compact-answer-panel .answerModeBtn{min-height:44px;padding:7px 8px}
#game-screen.instagram-native-type .compact-answer-panel .type-input-area{margin-bottom:6px}
#game-screen.instagram-native-type .compact-answer-panel .type-input-shell{min-height:52px;padding:3px 4px 3px 11px;border-radius:12px}
#game-screen.instagram-native-type .compact-answer-panel .type-input{min-height:44px;font-size:16px;padding-block:7px}
#game-screen.instagram-native-type .compact-answer-panel .type-actions{grid-template-columns:minmax(0,1fr) minmax(0,.78fr) minmax(0,1.3fr);grid-template-areas:'check hint unknown';gap:5px;align-items:stretch}
#game-screen.instagram-native-type .compact-answer-panel .type-actions #btn-check{min-height:44px;padding:7px 6px;font-size:13px;gap:4px;border-radius:12px}
#game-screen.instagram-native-type .compact-answer-panel .type-actions .answer-link{width:100%;min-height:44px;padding:6px 3px;font-size:12px;gap:4px;justify-self:stretch;line-height:1.15}
#game-screen.instagram-native-type .compact-answer-panel .type-actions .answer-control-icon{flex-basis:16px;width:16px;height:16px}
#game-screen.instagram-native-type .production-status:not(:empty){margin:4px 0;font-size:12px;line-height:1.3}
@media(max-height:500px) and (orientation:landscape){
  #game-screen.instagram-native-type{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(0,1.4fr);column-gap:8px;align-items:start}
  #game-screen.instagram-native-type .game-header,#game-screen.instagram-native-type .quiz-progress,#game-screen.instagram-native-type .quiz-streak-display{grid-column:1/-1}
  #game-screen.instagram-native-type .game-header{min-height:40px;padding:0}
  #game-screen.instagram-native-type .card-container{grid-column:1;margin-bottom:0}
  #game-screen.instagram-native-type #type-area.compact-answer-panel{grid-column:2;margin:0;padding:6px}
  #game-screen.instagram-native-type .question-card{padding:7px}
  #game-screen.instagram-native-type .production-cue{gap:7px}
  #game-screen.instagram-native-type .production-image-frame{width:36px;height:54px;flex-basis:36px}
  #game-screen.instagram-native-type .production-cue-meaning,#game-screen.instagram-native-type .question-prompt{font-size:16px}
  #game-screen.instagram-native-type .question-prompt{max-height:82px}
  #game-screen.instagram-native-type .question-hint{max-height:48px;font-size:14px}
  #game-screen.instagram-native-type .compact-answer-panel .answerModeSwitch{width:180px;margin-bottom:4px}
  #game-screen.instagram-native-type .compact-answer-panel .type-input-area{margin-bottom:4px}
  #game-screen.instagram-native-type .compact-answer-panel .type-actions{gap:3px}
  #game-screen.instagram-native-type .compact-answer-panel .type-actions #btn-check{font-size:12px;gap:3px}
}


/* Only the Android Instagram fallback adds these classes. */
body.modal-open.instagram-registration-open{position:static;inset:auto;overflow:visible;width:auto}
body.instagram-registration-open .instagram-registration-background{display:none!important}
.account-overlay.instagram-registration-flow{position:relative;inset:auto;display:block;min-height:100dvh;padding:12px;background:var(--bg);overflow:visible;touch-action:pan-y}
.account-overlay.instagram-registration-flow[hidden]{display:none}
.account-overlay.instagram-registration-flow .account-panel,
.account-overlay.starter-signup.instagram-registration-flow .account-panel{position:relative;inset:auto;width:min(100%,390px);max-height:none;overflow:visible;margin:0 auto;padding:16px;border-radius:18px;overscroll-behavior:auto;scroll-padding:0}
.account-overlay.instagram-registration-flow .account-close,
.account-overlay.starter-signup.instagram-registration-flow .account-close{position:absolute;top:6px;right:6px;left:auto;margin:0;width:44px;height:44px}
.account-overlay.instagram-registration-flow .account-panel h2,
.account-overlay.starter-signup.instagram-registration-flow .account-panel h2{margin:0 42px 12px 0;padding:0;min-height:34px;font-size:21px;line-height:1.25;gap:10px}
.account-overlay.instagram-registration-flow .starter-book-mark{width:30px;height:35px;box-shadow:none}
.account-overlay.instagram-registration-flow .starter-book-mark svg{width:19px;height:19px}
.account-overlay.instagram-registration-flow .account-field{margin:0 0 10px}
.account-overlay.instagram-registration-flow .account-field>span{margin-bottom:5px;line-height:1.3}
.account-overlay.instagram-registration-flow .account-field input{height:48px;min-height:48px;padding:10px 12px;font-size:16px}
.account-overlay.instagram-registration-flow .account-primary{min-height:48px;margin:0;padding:11px 14px;line-height:1.4}
.account-overlay.instagram-registration-flow .account-message{margin:8px 0 0;min-height:0}
.account-overlay.instagram-registration-flow .account-message:empty{display:none}
.account-overlay.instagram-registration-flow .account-login-secondary{margin:12px 0 0;padding-top:12px;line-height:1.5}
.account-overlay.instagram-registration-flow .account-trial-copy{margin:14px 0 0;font-size:13px;line-height:1.5}
.account-overlay.instagram-registration-flow .starter-value{margin:12px 0 8px;padding:10px 12px;line-height:1.5}
.account-overlay.instagram-registration-flow .starter-reassurance{line-height:1.5}
.account-overlay.instagram-registration-flow #account-code-area{margin:0}
.account-overlay.instagram-registration-flow.instagram-registration-code #account-email{background:var(--bg)}
.account-overlay.instagram-registration-flow.instagram-registration-code #account-message{margin-bottom:14px}


/* Keep the offer above the form in the Android Instagram registration screen. */
.account-overlay.instagram-registration-flow .account-panel,
.account-overlay.starter-signup.instagram-registration-flow .account-panel{padding:18px 16px 16px;box-shadow:0 8px 28px rgba(26,29,38,.06)}
.account-overlay.instagram-registration-flow .account-panel h2,
.account-overlay.starter-signup.instagram-registration-flow .account-panel h2{font-size:20px;font-weight:650;line-height:1.25;margin-bottom:10px;gap:10px}
.account-overlay.instagram-registration-flow .account-close{color:var(--text3);background:transparent}
.account-overlay.instagram-registration-flow .account-close:hover{background:var(--bg);color:var(--text)}
.account-overlay.instagram-registration-flow .account-trial-copy{margin:0 0 14px;font-size:14px;line-height:1.45;color:var(--text2)}
.account-overlay.instagram-registration-flow .account-trial-copy>strong{color:var(--text);font-weight:650}
.account-overlay.instagram-registration-flow .starter-value{margin:10px 0 7px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--purple) 12%,transparent);border-radius:11px;background:var(--purple-light);color:var(--text);font-size:13px;line-height:1.45;font-weight:500}
.account-overlay.instagram-registration-flow .starter-value strong{font-weight:600}
.account-overlay.instagram-registration-flow .starter-reassurance{margin:0;font-size:12px;line-height:1.4;color:var(--text3)}
.account-overlay.instagram-registration-flow .account-field>span{font-size:12px;font-weight:500;color:var(--text2)}
.account-overlay.instagram-registration-flow .account-field input{border-radius:12px;background:var(--bg)}
.account-overlay.instagram-registration-flow .account-primary{border-radius:12px;font-size:15px;font-weight:600}
.account-overlay.instagram-registration-flow .account-login-secondary{margin:12px 0 0;padding-top:10px;font-size:12px;line-height:1.4;border-top:1px solid var(--border);color:var(--text3)}

/* Keep the hide-card control on full cards, clear of native/custom typing. */
#game-screen.instagram-native-type #bury-btn{display:none!important}
#game-screen:has(#type-area.typing-only) #bury-btn{display:none!important}
/* Slightly larger context without changing the keyboard or scrolling logic. */
@media (orientation:portrait), (min-height:501px){
  #game-screen.instagram-native-type .production-image-frame{width:60px;height:90px;flex-basis:60px}
  #game-screen.instagram-native-type .question-prompt,
  #game-screen.instagram-native-type .production-cue-meaning{font-size:20px}
}

/* Mobile Type owns its keyboard: wide touch keys, one compact Check action. */
@media(max-width:759px),(pointer:coarse) and (max-height:500px){
  .app:has(#type-area.typing-only.custom-keyboard-open){padding-left:max(20px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));padding-right:max(20px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .card-container{margin-bottom:10px}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .question-card{min-height:0;padding:12px 14px;gap:0}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .question-prompt{width:100%;margin:0;max-height:140px;overflow:auto;overflow-wrap:anywhere;scrollbar-width:thin}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .production-cue{flex-direction:row;gap:14px;align-items:center;text-align:left}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .production-image-frame{width:64px;height:96px;flex:0 0 64px;aspect-ratio:2/3;border-radius:10px}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .production-cue-meaning{min-width:0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .question-hint{max-height:58px;overflow:auto;font-size:16px;line-height:1.35;overflow-wrap:anywhere}
  #game-screen #type-area.compact-answer-panel.typing-only.custom-keyboard-open{width:calc(100vw - 8px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-width:none;margin-left:calc(50% - 50vw + 4px + env(safe-area-inset-left,0px));padding:12px 2px 4px;border:0;border-radius:18px;background:var(--answer-panel-bg)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .answerModeSwitch{margin-bottom:10px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .type-input-area{margin:0 12px 12px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .type-input-shell{min-height:54px;padding:4px 12px;border-radius:13px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .russian-keyboard-toggle,
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open #desktop-keyboard-tip,
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .type-actions #btn-check{display:none!important}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .russian-keyboard{width:100%;max-width:none;margin:0;padding:0 0 4px;background:transparent;box-shadow:none;border:0}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-layout-mobile{display:flex;gap:7px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-layout-desktop{display:none}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-row{width:100%;margin:0;padding:0;gap:4px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key{height:54px;min-height:54px;flex:1 1 0;min-width:0;padding:4px 0;border:1px solid var(--answer-panel-border);border-radius:8px;background:var(--card);box-shadow:0 2px 0 var(--answer-panel-border);font-size:26px;font-weight:400;line-height:1;color:var(--text)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key.has-alternate::after{top:4px;right:3px;font-size:10px;font-weight:500}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-letter-row-3{padding-left:4.6%}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-backspace{flex:1.45 1 0;background:var(--answer-panel-soft);font-size:25px;color:var(--text2)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions{display:flex;gap:7px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-space{flex:1 1 0;width:auto;height:54px;min-height:54px;font-family:var(--font);font-size:14px;font-weight:400;color:var(--text2)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-check{display:flex;align-items:center;justify-content:center;flex:0 0 58px;height:54px;min-height:54px;padding:0;border-color:var(--game-primary);border-radius:14px;background:var(--game-primary);color:#fff;font-size:27px;box-shadow:0 2px 0 var(--game-primary-hover)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-check:disabled{border-color:var(--answer-panel-border);background:var(--answer-panel-soft);color:var(--answer-panel-muted);box-shadow:0 2px 0 var(--answer-panel-border);opacity:1}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key:active,
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key.key-pressed{transform:translateY(1px);background:var(--red-light);border-color:var(--game-primary);color:var(--game-primary)}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-check:active:not(:disabled){background:var(--game-primary-hover);color:#fff}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .type-actions{grid-template-columns:1fr 1fr;grid-template-areas:'hint unknown';gap:4px;padding:3px 12px 0}
}
@media(max-width:400px){
  .app:has(#type-area.typing-only.custom-keyboard-open){padding-left:max(16px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));padding-right:max(16px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
}
@media(max-width:360px){
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-row{gap:3px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key{font-size:24px;height:51px;min-height:51px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-key{height:51px;min-height:51px}
}
@media(pointer:coarse) and (min-width:760px) and (max-height:500px){
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .question-card{padding:8px 12px}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .production-image-frame{width:40px;height:60px;flex-basis:40px}
  #game-screen:has(#type-area.typing-only.custom-keyboard-open) .question-prompt{max-height:80px}
  #game-screen #type-area.compact-answer-panel.typing-only.custom-keyboard-open{padding-top:6px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .answerModeSwitch{margin-bottom:6px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .type-input-area{margin-bottom:7px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-layout-mobile{gap:4px}
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-key,
  #game-screen .compact-answer-panel.typing-only.custom-keyboard-open .keyboard-actions .keyboard-key{height:40px;min-height:40px}
}

/* Early Type practice reveals length while keeping one accessible real input. */
#game-screen .type-slot-field{position:relative;flex:1 1 auto;min-width:0;width:100%;display:grid;align-items:center}
#game-screen .type-slot-field>.type-input,#game-screen .type-letter-slots{grid-area:1/1}
#game-screen .type-letter-slots{display:none;pointer-events:none}
#game-screen .type-slot-field.has-letter-slots>.type-input{color:transparent;-webkit-text-fill-color:transparent;caret-color:transparent;background:transparent;text-shadow:none;align-self:stretch;height:100%}
#game-screen .type-slot-field.has-letter-slots>.type-input::placeholder{color:transparent;-webkit-text-fill-color:transparent}
#game-screen .type-slot-field.has-letter-slots .type-letter-slots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:3px 0;min-height:48px}
#game-screen .compact-answer-panel .type-input-shell.has-letter-slots{background:transparent;border-color:transparent;box-shadow:none;padding-left:4px;padding-right:4px}
#game-screen .type-letter-slot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 min(29px,calc((100% - (var(--slot-columns,10) - 1)*6px)/var(--slot-columns,10)));min-width:0;height:41px;border-bottom:2px solid var(--answer-panel-border);border-radius:5px 5px 0 0;font-family:var(--font-jp);font-size:27px;font-weight:500;line-height:1;color:var(--text);transition:border-color .16s,background .16s}
#game-screen .type-letter-slots.is-compact .type-letter-slot{font-size:22px}
#game-screen .type-letter-slot.is-current{border-bottom-color:var(--game-primary);background:var(--answer-panel-soft)}
#game-screen .type-letter-slot.is-filled{border-bottom-color:var(--text3)}
#game-screen .type-letter-slot.is-separator{flex-basis:13px;border:0;background:transparent;font-size:21px}
#game-screen .type-letter-slot.is-extra{border-bottom-style:dotted}
#game-screen .type-slot-field:has(.wrong) .type-letter-slot{border-bottom-color:var(--red);background:var(--red-light)}
#game-screen .typing-scaffold-help{display:flex;align-items:center;justify-content:center;gap:10px;min-height:24px;margin:3px 0 0;font-size:12px;line-height:1.4;color:var(--text3);text-align:center}
#game-screen .typing-scaffold-help[hidden],#game-screen .typing-guide-skip[hidden]{display:none}
#game-screen .typing-scaffold-help.is-guiding{color:var(--text);font-size:13px;font-weight:500}
#game-screen .typing-scaffold-help.is-guiding>span:before{content:'';display:inline-block;width:6px;height:6px;margin:0 7px 2px 0;border-radius:50%;background:var(--game-primary)}
#game-screen .typing-guide-skip{flex-shrink:0;min-height:32px;padding:4px 5px;border:0;background:transparent;color:var(--text3);font-family:var(--font);font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#game-screen #type-area .russian-keyboard .keyboard-key.typing-guide-key{position:relative;z-index:1;border-color:var(--game-primary);background:var(--red-light);color:var(--game-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--game-primary) 22%,transparent),0 2px 0 var(--game-primary);animation:typing-key-guide 1.7s ease-in-out infinite}
@keyframes typing-key-guide{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--game-primary) 10%,transparent),0 2px 0 var(--game-primary)}}
@media(prefers-reduced-motion:reduce){#game-screen #type-area .russian-keyboard .keyboard-key.typing-guide-key{animation:none}}
@media(max-width:360px){#game-screen .type-letter-slot{flex-basis:min(25px,calc((100% - (var(--slot-columns,10) - 1)*4px)/var(--slot-columns,10)));font-size:25px}#game-screen .type-letter-slots.is-compact .type-letter-slot{font-size:20px}#game-screen .type-slot-field.has-letter-slots .type-letter-slots{gap:4px}}
/* Input onboarding: one anchored tap cue and a deliberate permission step. */
#game-screen #type-area .russian-keyboard .keyboard-key.typing-guide-key:has(.typing-tap-callout){z-index:5;overflow:visible}
#game-screen .typing-tap-callout{position:absolute;bottom:calc(100% + 10px);left:var(--callout-x,50%);transform:translateX(-50%);display:block;width:max-content;max-width:84px;padding:7px 10px;border-radius:9px;background:var(--game-primary);color:#fff;font-family:var(--font);font-size:13px;font-weight:700;line-height:1.15;white-space:nowrap;box-shadow:0 3px 10px #0002;pointer-events:none;animation:typing-tap-cue 1.3s ease-in-out infinite}
#game-screen .typing-tap-callout:after{content:'';position:absolute;top:100%;left:calc(50% + var(--callout-pointer,0px));margin-left:-6px;border:6px solid transparent;border-top-color:var(--game-primary)}
@keyframes typing-tap-cue{50%{transform:translate(-50%,3px)}}
@media(prefers-reduced-motion:reduce){#game-screen .typing-tap-callout{animation:none}}
#game-screen .voice-permission-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:360px;margin:0 auto;padding:20px 18px 12px;border:1px solid var(--answer-panel-border);border-radius:18px;background:var(--card);text-align:center}
#game-screen .voice-permission-step{font-size:11px;font-weight:600;color:var(--text3)}
#game-screen #voice-permission-title{font-size:18px;line-height:1.25;font-weight:600;color:var(--text)}
#game-screen #voice-permission-copy{margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--text2)}
#game-screen .voice-permission-allow{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 14px;border:0;border-radius:26px;background:var(--game-primary);color:#fff;font-family:var(--font);font-size:15px;font-weight:600;line-height:1.3;cursor:pointer}
#game-screen .voice-permission-allow:disabled{opacity:.65;cursor:wait}
#game-screen .voice-permission-type{min-height:38px;padding:6px 10px;border:0;background:transparent;color:var(--text2);font-family:var(--font);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#game-screen .voice-permission-allow:focus-visible,#game-screen .voice-permission-type:focus-visible{outline:3px solid var(--game-primary);outline-offset:3px}
#game-screen .production-status.voice-permission-ready{margin:10px 0 0;color:var(--text2);font-size:13px;line-height:1.4;text-align:center}
@media(max-width:360px){#game-screen .voice-permission-card{padding:16px 12px 8px;gap:8px}#game-screen #voice-permission-title{font-size:17px}}

/* First Say setup keeps the cue and only the Type / Allow choices. */
#game-screen.voice-permission-pending{padding-top:16px}
#game-screen.voice-permission-pending .game-header,
#game-screen.voice-permission-pending .quiz-progress,
#game-screen.voice-permission-pending #game-streak-display,
#game-screen.voice-permission-pending #guest-preview-controls,
#game-screen.voice-permission-pending #bury-btn,
#game-screen.voice-permission-pending #replay-btn,
#game-screen.voice-permission-pending #question-type-label,
#game-screen.voice-permission-pending #question-prompt-sub,
#game-screen.voice-permission-pending #question-hint{display:none!important}
#game-screen.voice-permission-pending .card-container{display:block;margin-bottom:12px}
#game-screen.voice-permission-pending .production-image-frame{width:min(56vw,205px)}
#game-screen.voice-permission-pending #type-area.compact-answer-panel{margin-top:0;padding:14px 16px 16px}
#game-screen.voice-permission-pending .answerModeSwitch{margin-bottom:12px}
#game-screen.voice-permission-pending #production-alternative{margin-bottom:0}
#game-screen.voice-permission-pending .voice-permission-card{gap:6px;padding:0;border:0;border-radius:0;background:transparent}
#game-screen.voice-permission-pending #voice-permission-title{font-size:15px;line-height:1.4}
#game-screen.voice-permission-pending #voice-permission-copy{margin:0 0 8px;font-size:14px;line-height:1.4}
@media(max-width:759px) and (max-height:620px){
  #game-screen.voice-permission-pending .production-image-frame{width:clamp(88px,calc((100vh - 320px)*.666667),180px);width:clamp(88px,calc((100svh - 320px)*.666667),180px)}
}

/* Accepted spelling slips retain the ordinary revealed card. */
#game-screen #answer-typed.almost-perfect{font-size:14px;font-weight:700;color:var(--green);background:var(--green-light);padding:5px 10px;border-radius:999px;margin-bottom:8px}

/* Inline two-step letter hints */
.type-letter-slot.is-hint{color:var(--accent,#7c70ed);border-bottom-color:currentColor;background:color-mix(in srgb,currentColor 9%,transparent);border-radius:5px 5px 0 0}

/* Stable email -> code steps; fields stay in their original order. */
#account-email-step[hidden], #account-code-area[hidden] { display:none!important; }
[data-account-focus-group] { display:flow-root; }
.account-code-intro { margin:0 0 20px; color:var(--text2); font-size:15px; line-height:1.55; }
.account-code-intro strong { display:block; margin-top:4px; color:var(--text); overflow-wrap:anywhere; }
.account-code-help { margin:16px 0 4px; color:var(--text2); font-size:13px; line-height:1.55; }
.account-code-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; margin-top:12px; }
.account-code-actions button { min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--text); font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.account-code-actions button:disabled { color:var(--text3); text-decoration:none; cursor:default; }
#account-code { font-size:24px; font-variant-numeric:tabular-nums; letter-spacing:.28em; }
#account-code::placeholder { letter-spacing:.2em; color:var(--text3); }
.account-field input[aria-invalid=true] { border-color:var(--red); }
.account-login-code .account-panel h2 { margin-bottom:16px; }
.account-login-code #account-title:focus { outline:none; }
.registration-keyboard-space { display:block; width:100%; height:0; margin:0; padding:0; border:0; pointer-events:none; overflow-anchor:none; }
body.instagram-registration-open { background:var(--bg); }
.account-overlay.instagram-registration-flow { min-height:100svh; padding:clamp(16px,7svh,56px) 12px 24px; }
.account-overlay.instagram-registration-flow .account-panel,
.account-overlay.starter-signup.instagram-registration-flow .account-panel { padding:24px 22px; border-radius:22px; }
.account-overlay.instagram-registration-flow .account-panel h2,
.account-overlay.starter-signup.instagram-registration-flow .account-panel h2 { margin:0 38px 18px 0; }
.account-overlay.instagram-registration-flow .account-trial-copy { margin:0 0 20px; font-size:14px; }
.account-overlay.instagram-registration-flow .account-code-intro { margin:0 0 20px; }
.account-overlay.instagram-registration-flow .account-field { margin:0 0 12px; }
.account-overlay.instagram-registration-flow .account-primary { margin:0; }
.account-overlay.instagram-registration-flow #account-code { font-size:24px; }
@media(max-height:500px) { .account-overlay.instagram-registration-flow { padding-top:12px; } }

/* Type exercises expose text and web keys, never a native editable field. */
#game-screen #type-input{display:none!important}
#game-screen .type-slot-field>.type-answer-display{grid-area:1/1;cursor:default;user-select:none;white-space:pre-wrap;overflow-wrap:anywhere;max-height:8em;overflow:auto}
#game-screen .type-slot-field>.type-answer-display[hidden]{display:none}
#game-screen .type-slot-field>.type-answer-display.is-empty{color:var(--answer-panel-muted,var(--text3))}
#game-screen .type-slot-field:focus{outline:none}
#game-screen .type-slot-field:has(>#type-input.wrong)>.type-answer-display{border-color:var(--red);animation:shake .4s ease}
#game-screen .type-slot-field:has(>#type-input.correct)>.type-answer-display{background:var(--green-light)}
#game-screen .type-answer-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Type answer comparison v32: letter colors and implicit spaces. */
#game-screen #question-answer.type-answer-comparison{width:100%;min-width:0;padding-inline:0;--feedback-wrong:var(--red-dark);--feedback-right:#137c4c}#game-screen #question-answer.type-answer-comparison:after{display:none}#game-screen .type-answer-comparison #answer-typed.almost-perfect{margin-bottom:15px;font-size:12px}#game-screen .type-answer-comparison #answer-japanese{width:100%;color:var(--text)!important;font-weight:550}#game-screen .type-feedback-versions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:440px;margin-inline:auto}#game-screen .type-feedback-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:0 4px;min-width:0;text-align:right}#game-screen .type-feedback-correct{padding-top:8px;border-top:1px dashed var(--border)}#game-screen .type-feedback-label{font-family:var(--font);font-size:9px;font-weight:600;line-height:1.4;letter-spacing:1px;color:var(--text3);text-align:left}#game-screen .type-feedback-word{min-width:0;font-family:var(--font);font-size:28px;font-weight:550;line-height:1.5;letter-spacing:.7px;color:var(--text2);white-space:pre-wrap;overflow-wrap:anywhere}#game-screen .type-feedback-word.is-long{font-size:20px;letter-spacing:0}#game-screen .type-feedback-correct .type-feedback-word{color:var(--text)}#game-screen .type-feedback-wrong,#game-screen .type-feedback-right{background:none;padding:0;border:0;border-radius:0;text-decoration:none;box-shadow:none}#game-screen .type-feedback-wrong{color:var(--feedback-wrong)}#game-screen .type-feedback-right{color:var(--feedback-right)}:root[data-theme=dark] #game-screen #question-answer.type-answer-comparison{--feedback-wrong:#ff7b90;--feedback-right:var(--green-dark)}#game-screen .type-answer-comparison #answer-reading,#game-screen .type-answer-comparison #answer-transcript{margin-top:9px;max-width:100%;overflow-wrap:anywhere;white-space:normal}@media(max-width:359px){#game-screen .type-feedback-row{grid-template-columns:45px minmax(0,1fr);gap:8px;padding-inline:0}#game-screen .type-feedback-word{font-size:25px}#game-screen .type-feedback-word.is-long{font-size:18px}}

/* Visual Hint introduction v31: point downward. */
#game-screen #type-area #btn-hint.typing-hint-guide-key{position:relative;z-index:6;overflow:visible;isolation:auto;margin-top:42px;border-color:var(--game-primary);background:var(--red-light);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--game-primary) 22%,transparent);animation:typing-hint-guide 1.7s ease-in-out infinite}#game-screen .typing-hint-callout{top:auto;bottom:calc(100% + 10px);display:flex;align-items:center;gap:6px;max-width:none;font-size:12px;line-height:1.2;padding:6px 9px}#game-screen .typing-hint-callout:after{top:100%;bottom:auto;border-top-color:var(--game-primary);border-bottom-color:transparent}#game-screen .typing-hint-callout svg{width:19px;height:21px;flex:none;transform:rotate(180deg)}#game-screen .typing-scaffold-help.is-hint-guiding>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#game-screen .typing-scaffold-help.is-hint-guiding{min-height:24px}@keyframes typing-hint-guide{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--game-primary) 10%,transparent)}}@media(prefers-reduced-motion:reduce){#game-screen #type-area #btn-hint.typing-hint-guide-key{animation:none}}#game-screen #type-area .type-actions:has(.typing-hint-guide-key) #btn-idk{align-self:end}
