:root{color:#183043;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel:#ffffffe0;--panel-strong:#fffffffa;--line:#1830431a;--text:#183043;--muted:#5d7386;--brand:#0e7a6f;--brand-strong:#0c5d55;--brand-soft:#def4ef;--accent:#f59f38;--accent-soft:#fff0d9;--danger:#c7583f;--success:#2d8b57;--shadow:0 24px 50px #30507024;background:radial-gradient(circle at 0 0,#ffd07d57,#0000 28%),radial-gradient(circle at right 15%,#70b0ff33,#0000 24%),linear-gradient(#fffaf1 0%,#eef6ff 100%);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-frame{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 6.5rem}.app-frame.is-study-mode{padding-bottom:calc(env(safe-area-inset-bottom) + 6.5rem)}.topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.topbar h1,.panel h2,.panel h3,.panel h1{letter-spacing:.02em;margin:0;font-family:STKaiti,KaiTi,Songti SC,serif}.topbar h1{font-size:clamp(2.2rem,6vw,3.3rem);line-height:1.12}.topbar-copy,.muted-copy,.character-row p,.overview-card p,.task-entry-card p,.empty-card p,.speech-card p,.example-sentence,.writer-meta,.writer-status,.onboarding-modal p,.settings-panel p{color:var(--muted);line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 .4rem;font-size:.74rem;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1.6rem;padding:1rem}.page-stack{gap:1rem;display:grid}.hero-panel{grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);gap:1rem;display:grid}.hero-copy,.hero-stats,.study-hero,.study-header{gap:.9rem;display:grid}.hero-heading{justify-content:space-between;align-items:center;gap:.9rem;display:flex}.hero-heading-copy{flex:1;min-width:0}.hero-stats{align-content:start}.metric-card,.speech-card,.status-card,.empty-card{background:linear-gradient(#fffffff5,#f5fbffeb),linear-gradient(135deg,#def4efb3,#fff0d9b3);border:1px solid #0e7a6f1f;border-radius:1.2rem;padding:1rem}.metric-card span,.speech-card span,.study-progress span,.topbar-badge span,.task-count,.pill,.writer-badge,.writer-pass-badge{color:var(--muted)}.metric-card strong,.speech-card strong,.study-progress strong,.topbar-badge strong,.task-count{color:var(--brand-strong);font-size:1.7rem;display:block}.topbar-account{justify-items:end;gap:.2rem;display:grid}.settings-entry-button{flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;margin-left:auto;display:inline-flex}.settings-entry-button svg{width:1rem;height:1rem}.action-row,.writer-actions,.tabbar{gap:.75rem;display:flex}.subject-switcher{background:#ffffffe0;border:1px solid #18304314;border-radius:999px;gap:.45rem;margin:0 0 1rem;padding:.35rem;display:inline-flex;box-shadow:0 12px 24px #30507014}.subject-switcher-button{min-width:8.8rem;color:var(--muted);background:0 0;border:none;border-radius:999px;gap:.14rem;padding:.8rem 1rem;transition:transform .16s,background-color .16s,color .16s,box-shadow .16s;display:grid}.subject-switcher-button em{opacity:.8;font-size:.76rem;font-style:normal}.subject-switcher-button.is-active{color:var(--brand-strong);background:linear-gradient(135deg,#0e7a6f24,#f59f382e);box-shadow:inset 0 0 0 1px #0e7a6f1f}.primary-button,.secondary-button,.ghost-button,.tabbar-button,.overview-card,.recognition-option{border:none;transition:transform .16s,box-shadow .16s,background-color .16s}.primary-button,.secondary-button,.ghost-button,.tabbar-button,.recognition-option{border-radius:999px;padding:.92rem 1.1rem}.primary-button{background:linear-gradient(135deg, var(--brand), #1f9b8f);color:#fff;box-shadow:0 16px 28px #0e7a6f38}.secondary-button{background:var(--accent-soft);color:#875418}.ghost-button{color:var(--text);background:#ffffffe6;border:1px solid #18304314}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.tabbar-button:hover,.overview-card:hover,.recognition-option:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.recognition-option:disabled{cursor:not-allowed;opacity:.65;transform:none}.section-heading,.study-header,.section-title-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading>div{gap:.4rem;display:grid}.section-heading h3{line-height:1.45}.chip-grid,.task-card-grid,.overview-grid,.recognition-grid{gap:.85rem;display:grid}.chip-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.task-card-grid,.overview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-filter-row,.analytics-day-head,.analytics-row-summary,.analytics-row-metrics,.analytics-source-row{gap:.85rem;display:flex}.analytics-filter-row,.analytics-row-summary,.analytics-source-row{align-items:center}.analytics-filter-row{flex-wrap:wrap}.analytics-quick-actions{flex-wrap:wrap;align-self:end;gap:.55rem;display:flex}.analytics-quick-actions .ghost-button{padding:.72rem .9rem}.analytics-refresh-button{align-self:end}.analytics-note{color:#875418;background:#fff2d6d1;border:1px solid #f59f382e;border-radius:1rem;padding:.85rem 1rem}.analytics-insight-section{gap:.75rem;display:grid}.analytics-section-head{justify-content:space-between;align-items:baseline;gap:.85rem;display:flex}.analytics-section-head span,.analytics-trend-duration{color:var(--muted)}.analytics-trend-list,.analytics-rank-table{gap:.65rem;display:grid}.analytics-trend-row,.analytics-rank-row{background:#ffffffc7;border:1px solid #18304314;border-radius:1.1rem;align-items:center;gap:.85rem;padding:.95rem 1rem;display:grid}.analytics-trend-row{grid-template-columns:minmax(8rem,.8fr) minmax(220px,1.7fr) minmax(8rem,auto)}.analytics-trend-date,.analytics-rank-main strong{color:var(--brand-strong)}.analytics-trend-bars,.analytics-rank-main{gap:.35rem;min-width:0;display:grid}.analytics-trend-line{grid-template-columns:2.5rem minmax(0,1fr) 4.5rem;align-items:center;gap:.55rem;display:grid}.analytics-trend-line span,.analytics-rank-main span,.analytics-rank-row>span{color:var(--muted)}.analytics-trend-line strong,.analytics-rank-row>span{text-align:right;white-space:nowrap}.analytics-meter{background:#0e7a6f1a;border-radius:999px;height:.5rem;overflow:hidden}.analytics-meter i{border-radius:inherit;background:linear-gradient(90deg, var(--brand), #5bc4b7);height:100%;display:block}.analytics-trend-line.is-secondary .analytics-meter{background:#f59f3824}.analytics-trend-line.is-secondary .analytics-meter i{background:linear-gradient(90deg,#f59f38,#ffd27d)}.analytics-trend-line.is-startup .analytics-meter{background:#1e90ff24}.analytics-trend-line.is-startup .analytics-meter i{background:linear-gradient(90deg,#1e90ff,#87cefa)}.analytics-rank-row{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(5.8rem,auto))}.analytics-operation-row{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(5.8rem,auto))}.analytics-detail-head{margin-top:.25rem}.analytics-day-group{gap:.75rem;display:grid}.analytics-overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;display:grid}.analytics-day-head{justify-content:space-between;align-items:baseline}.analytics-table{gap:.75rem;display:grid}.analytics-row{background:#ffffffc2;border:1px solid #18304314;border-radius:1.1rem;overflow:hidden}.analytics-row summary{cursor:pointer;padding:.95rem 1rem;list-style:none}.analytics-row summary::-webkit-details-marker{display:none}.analytics-row-summary>div{gap:.18rem;display:grid}.analytics-row-summary{justify-content:space-between}.analytics-row-metrics{color:var(--muted);flex-wrap:wrap;justify-content:flex-end}.analytics-source-list{gap:.55rem;padding:0 1rem 1rem;display:grid}.analytics-source-row{color:var(--muted);flex-wrap:wrap;font-size:.95rem}.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-chip,.word-chip,.pill{background:#fffffff0;border:1px solid #18304314;border-radius:1.05rem;justify-content:center;align-items:center;gap:.4rem;padding:.85rem .95rem;display:inline-flex}.character-chip{flex-direction:column;min-height:6.6rem}.character-chip strong{color:var(--brand-strong);font-size:1.9rem}.learning-word-chip strong{font-size:1.45rem}.learning-word-chip em{color:var(--muted);font-size:.86rem;font-style:normal}.character-chip.is-next{background:linear-gradient(180deg, #fff, var(--brand-soft));border-color:#0e7a6f38}.character-chip.is-focused{justify-self:start;width:min(100%,14rem);min-height:8.25rem}.word-chip{justify-content:flex-start;font-size:1.05rem}.word-chip.word-chip-with-audio{justify-content:space-between}.word-chip-with-audio span{min-width:0}.word-audio-button{white-space:nowrap;border-radius:.74rem;padding:.45rem .72rem;font-size:.8rem}.study-shell,.list-panel,.settings-panel{gap:1rem;display:grid}.settings-account-card{background:#ffffffeb;border:1px solid #18304317;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;display:flex}.settings-account-card span{color:var(--muted)}.settings-action-card{background:#ffffffeb;border:1px solid #18304317;border-radius:1rem;gap:.85rem;padding:1rem;display:grid}.settings-action-copy{gap:.45rem;display:grid}.settings-action-copy strong{font-size:1rem}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bridge-legend,.study-bridge-note{color:#875418;background:#fff0d9b8;border:1px solid #f59f3838;border-radius:.95rem;margin:0;padding:.8rem .95rem;line-height:1.6}.study-writing-requirement{color:var(--brand-strong);background:#0e7a6f1f;border:1px solid #0e7a6f2e;border-radius:999px;justify-self:start;align-items:center;gap:.4rem;margin:0;padding:.42rem .78rem;font-size:.88rem;font-weight:600;display:inline-flex}.selection-toggle{color:var(--text);align-items:center;gap:.55rem;font-weight:600;display:inline-flex}.selection-row{cursor:default}.unlearned-groups,.completed-groups{gap:.9rem;display:grid}.term-group{gap:.35rem;display:grid}.term-group-title{color:#607488;margin:0;font-size:.92rem;font-weight:700}.unlearned-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.36rem;display:grid}.unlearned-groups.is-editing{touch-action:none;-webkit-user-select:none;user-select:none}.unlearned-tile{min-height:5.4rem;color:var(--text);background:linear-gradient(#fffffff5,#f6fbffeb);border:1px solid #1830431a;border-radius:.62rem;place-items:center;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.unlearned-tile-marker{color:#c77816;font-size:.86rem;line-height:1;position:absolute;top:.42rem;right:.46rem}.unlearned-tile strong{font-size:clamp(1.3rem,3.2vw,2rem);line-height:1}.completed-legend{color:var(--muted);flex-wrap:wrap;gap:.8rem;font-size:.85rem;display:flex}.completed-legend span{align-items:center;gap:.35rem;display:inline-flex}.completed-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.36rem;display:grid}.completed-tile{min-height:4.4rem;color:var(--text);background:linear-gradient(#fffffff5,#f6fbffeb);border:1px solid #1830431a;border-radius:.62rem;place-items:center;padding:0;display:grid;position:relative}.completed-tile.is-clickable{cursor:pointer}.completed-tile.is-clickable:hover,.unlearned-tile:hover{border-color:#4a86c057;transform:translateY(-1px);box-shadow:0 8px 18px #4a86c024}.completed-tile.is-clickable.is-expanded{background:#f2b53f1f;border-color:#f2b53f8c}.completed-tile strong{font-size:clamp(1.2rem,3vw,1.85rem);line-height:1}.completed-marker{border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.completed-tile .completed-marker{position:absolute;top:.38rem;right:.38rem}.completed-marker.manual{background:#4285f4}.completed-marker.clean{background:#2fbf71}.completed-marker.reset{background:#f2b53f}.review-timeline-summary-list{gap:.8rem;display:grid}.unlearned-groups.is-editing .unlearned-tile{border-color:#7c5cff47}.unlearned-groups.is-editing .unlearned-tile.is-selected{color:#4c2bc8;background:linear-gradient(135deg,#7c5cff29,#6046e133);border-color:#6746e28c;box-shadow:0 8px 16px #6746e233}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.study-progress,.topbar-badge{border:1px solid var(--line);text-align:right;background:#ffffffeb;border-radius:1.1rem;min-width:160px;padding:.95rem 1rem}.study-hero{grid-template-columns:minmax(0,1.4fr) minmax(240px,.9fr)}.study-hero h1{font-size:4.3rem}.study-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.study-audio-button{border-radius:.85rem;padding:.58rem .9rem;font-size:.88rem}.english-study-word{letter-spacing:.01em;font-size:clamp(2.8rem,7vw,4.6rem)}.pronunciation-line{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.pronunciation-line strong{color:var(--brand-strong);font-size:1.5rem}.study-bridge-note{justify-self:start}.study-dictation-tip{color:#5d6b82;margin:0 0 1rem;line-height:1.6}.example-sentence{margin:0;font-size:1rem}.english-review-card{width:min(34rem,92vw)}.english-review-title{color:var(--brand-strong);text-align:center;margin:0;font-size:clamp(2.3rem,8vw,3.4rem)}.english-review-stage{gap:.95rem;display:grid}.english-review-input{background:#fffffff5;border:1px solid #1830431f;border-radius:1rem;width:100%;padding:.95rem 1rem}.english-list-stack{gap:.8rem;display:grid}.english-list-row{background:#ffffffeb;border:1px solid #18304314;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.english-list-row>div{gap:.25rem;display:grid}.english-list-row strong{color:var(--brand-strong);font-size:1.1rem}.english-list-row span,.english-list-row p{color:var(--muted);margin:0}.sticky-action-bar{left:50%;bottom:calc(env(safe-area-inset-bottom) + .75rem);z-index:25;width:min(1180px,100%);padding:0 1rem;position:fixed;transform:translate(-50%)}.app-frame.is-study-mode .sticky-action-bar{bottom:calc(env(safe-area-inset-bottom) + .75rem)}.full-width-button{width:100%}.task-entry-card,.overview-card{text-align:left;gap:.75rem;display:grid}.overview-card{background:var(--panel-strong)}.task-entry-card h3,.overview-card h3{margin:0}.character-row{border-bottom:1px solid #18304314;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;display:flex}.character-row:last-child{border-bottom:none;padding-bottom:0}.character-row-main{flex:1;align-items:center;gap:.8rem;min-width:0;display:flex}.character-row strong{font-size:1.5rem}.character-row p{white-space:nowrap;margin:0}.row-meta{justify-items:end;gap:.4rem;display:grid}.row-progress-count{color:#5d3df0;font-size:1.3rem}.review-timeline-block{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.review-timeline-header{color:#8377a9;justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.review-timeline-header strong{color:#5d3df0;font-size:.92rem}.review-timeline{white-space:nowrap;align-items:flex-start;gap:.55rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.completed-quiz-modal{gap:.75rem;display:grid}.reviewing-simple-row{border-bottom:1px solid #18304314;grid-template-columns:minmax(2.2rem,auto) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.95rem 0;display:grid}.reviewing-simple-row:last-child{border-bottom:none;padding-bottom:0}.reviewing-simple-row strong{font-size:1.5rem;line-height:1}.reviewing-progress-stack{gap:.55rem;min-width:0;display:grid}.reviewing-track-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.reviewing-track-label{color:#8c7ca7;white-space:nowrap;font-size:.84rem;font-weight:700}.reviewing-writing-row{align-items:center}.reviewing-writing-pill{color:#5f4d7e;background:#f4eefc;border-radius:999px;justify-self:start;padding:.4rem .75rem;font-size:.84rem;font-weight:700}.reviewing-writing-pill.is-due{color:#b56200;background:#fff2de}.reviewing-next-review{min-width:0;color:var(--muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.reviewing-inline-timeline{white-space:nowrap;align-items:flex-start;gap:.55rem;min-width:0;padding-bottom:.15rem;display:flex;overflow-x:auto}.review-timeline-item{justify-items:center;gap:.35rem;min-width:2.5rem;display:grid;position:relative}.review-timeline-item:after{content:"";background:#ddd4fb;width:.9rem;height:2px;position:absolute;top:.44rem;left:calc(100% - .1rem)}.review-timeline-item:last-child:after{display:none}.review-dot{box-sizing:border-box;background:#ece8f7;border:2px solid #0000;border-radius:999px;width:.95rem;height:.95rem}.review-dot.future{background:#ece8f7}.review-dot.reset{background:#fff0cc;border-color:#f0b63f47;border-radius:999px;width:auto;min-width:1.8rem;height:1.1rem;padding:0 .45rem;box-shadow:0 0 0 4px #f0b63f14}.review-dot.passed-success{background:#27c281}.review-dot.passed-caution{background:#f0b63f}.review-dot.passed-danger{background:#ec6c5c}.review-dot.active-fresh{background:#8b72ff;border-color:#5d3df038;box-shadow:0 0 0 4px #7c5cff1f}.review-dot.active-caution{background:#f0b63f;border-color:#f0b63f3d;box-shadow:0 0 0 4px #f0b63f1f}.review-dot.active-danger{background:#ec6c5c;border-color:#ec6c5c3d;box-shadow:0 0 0 4px #ec6c5c1f}.review-timeline-item em{color:#8f86b3;white-space:nowrap;font-size:.72rem;font-style:normal}.pill{background:#def4efb3;padding:.45rem .75rem}.success-pill{color:var(--success);background:#2d8b571f}.settings-field,.onboarding-form label{gap:.55rem;font-weight:600;display:grid}.settings-field input,.settings-field select,.onboarding-form input,.onboarding-form select{background:#fffffff5;border:1px solid #18304324;border-radius:1rem;width:100%;padding:.88rem .95rem}.tabbar{z-index:30;box-shadow:var(--shadow);background:#fffffff0;border:1px solid #18304314;border-radius:999px;padding:.5rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.tabbar-button{color:var(--muted);background:0 0}.tabbar-button.is-active{background:linear-gradient(135deg, var(--brand), #1f9b8f);color:#fff}.auth-page,.auth-loading-shell{place-items:center;min-height:100vh;padding:1.2rem;display:grid}.auth-loading-status{text-align:center;min-width:min(420px,100vw - 2.4rem)}.auth-page-card{background:#fffffff0;border:1px solid #1830431a;border-radius:1.8rem;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);width:min(920px,100%);display:grid;overflow:hidden;box-shadow:0 28px 52px #2848642e}.auth-page-hero{background:radial-gradient(circle at 0 0,#ffd38f6b,#0000 43%),radial-gradient(circle at 100% 100%,#6faaff5c,#0000 48%),linear-gradient(145deg,#f6fbff,#fff8ee);align-content:center;gap:1rem;padding:clamp(1.4rem,2.5vw,2.3rem);display:grid}.auth-page-hero h1{color:#183043;margin:0;font-family:STKaiti,KaiTi,Songti SC,serif;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1}.auth-page-hero p{color:#425d73;margin:0;line-height:1.7}.auth-highlight-list{flex-wrap:wrap;gap:.5rem;display:flex}.auth-highlight-list span{color:#11685f;background:#ffffffdb;border:1px solid #11685f26;border-radius:999px;padding:.42rem .75rem;font-size:.88rem;font-weight:700}.auth-page-form-shell{align-content:center;gap:.95rem;padding:clamp(1.4rem,2.5vw,2.3rem);display:grid}.auth-page-form-shell h2{color:#183043;margin:0;font-size:1.5rem}.auth-page-form{gap:.85rem}.auth-page-form input{border-radius:.9rem}.auth-submit{width:100%;margin-top:.3rem}.auth-send-code{width:100%}.auth-helper-text{color:#2c6e49;margin:0;font-size:.92rem}.auth-switch{width:100%}.modal-backdrop,.onboarding-backdrop{z-index:40;background:#0c141c5c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card,.onboarding-modal{background:var(--panel-strong);width:min(560px,100%);box-shadow:var(--shadow);border:1px solid #fff9;border-radius:1.6rem;padding:clamp(1.5rem,3vw,2rem)}.onboarding-modal{justify-items:center;gap:1.6rem;display:grid}.recognition-flip-shell{perspective:1400px;width:min(560px,100%)}.recognition-card h2,.onboarding-modal h2{margin-top:0}.onboarding-header{text-align:center;justify-items:center;gap:.5rem;width:min(100%,28rem);display:grid}.onboarding-header .eyebrow{margin-bottom:0}.onboarding-copy{max-width:24rem;margin:0}.onboarding-form{gap:1rem;width:min(100%,30rem);display:grid}.onboarding-fields{gap:1rem;display:grid}.onboarding-actions{justify-items:center;padding-top:.35rem;display:grid}.onboarding-submit{min-width:10.5rem}.recognition-question-title{text-align:center;letter-spacing:.08em;margin:.25rem 0 .5rem;font-size:clamp(3.2rem,10vw,4.8rem);line-height:1.05}.recognition-card{transform-origin:50%;backface-visibility:hidden;align-content:start;gap:1rem;min-height:29rem;display:grid}.recognition-card.is-question-transition{animation:.56s cubic-bezier(.22,1,.36,1) recognition-card-flip-in}.recognition-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.recognition-card-header .eyebrow{margin-bottom:0}.recognition-close-button{padding:.55rem .9rem;font-size:.95rem}.dictation-card{gap:1rem;display:grid}.dictation-hero{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dictation-hint-row{justify-content:flex-start}.dictation-sentence{margin-top:-.15rem}.dictation-actions{justify-content:flex-end;gap:.8rem;display:flex}.recognition-option{color:var(--text);background:#fffffff0;border:1px solid #18304314;border-radius:1.2rem;justify-content:center;align-items:center;gap:.55rem;min-height:4.25rem;font-size:1.15rem;font-weight:700;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:flex}.recognition-option.is-shaking{animation:.42s ease-in-out recognition-shake}.recognition-option.is-success{color:#176a43;background:#2d8b5729;border-color:#2d8b576b;box-shadow:0 14px 32px #2d8b572e}.recognition-option.is-error{color:#9d3d33;background:#ec6c5c24;border-color:#ec6c5c66;box-shadow:0 14px 32px #ec6c5c29}.recognition-option-check{color:#fff;background:#2d8b57;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;font-size:1rem;line-height:1;animation:.6s cubic-bezier(.22,1,.36,1) recognition-check-pop;display:inline-grid}.recognition-option-cross{color:#fff;background:#ec6c5c;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;font-size:.96rem;line-height:1;display:inline-grid}.english-review-action.is-success{background:#2d8b57;border-color:#2d8b57}.english-review-action.is-error{background:#ec6c5c;border-color:#ec6c5c}.dictation-actions .primary-button.is-success{background:#2d8b57;border-color:#2d8b57}.dictation-actions .ghost-button.is-error{color:#9d3d33;background:#ec6c5c1a;border-color:#ec6c5c47}.recognition-error{color:var(--danger);margin:0;font-weight:700}.recognition-success-card{background:linear-gradient(#fffaf1,#f5eeff 88%);border-color:#7c5cff1f;grid-template-rows:auto 1fr auto auto}.recognition-success-body{align-content:center;justify-items:start;gap:1.35rem;min-height:15.5rem;display:grid}.recognition-success-banner{background:linear-gradient(#ffffffdb,#ffffff9e);border:1px solid #ffffffb8;border-radius:1.6rem;place-items:center;width:min(100%,19rem);min-height:8.8rem;padding:.75rem 1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 18px 40px #7c5cff1a}.recognition-success-banner img{filter:drop-shadow(0 14px 24px #7c5cff24);width:min(100%,18rem);height:auto;animation:2.6s ease-in-out infinite recognition-banner-bob;display:block}.recognition-success-spark{opacity:.9;border-radius:999px;width:.7rem;height:.7rem;animation:1.9s ease-in-out infinite recognition-spark-float;position:absolute}.spark-left-top{background:#7c5cff;top:1rem;left:1.5rem}.spark-left-bottom{background:#ff8a2a;width:.55rem;height:.55rem;animation-delay:.35s;bottom:1.25rem;left:2rem}.spark-right-top{background:#13c2c2;width:.58rem;height:.58rem;animation-delay:.2s;top:1.15rem;right:1.65rem}.spark-right-bottom{background:#ff6b6b;animation-delay:.5s;bottom:1rem;right:1.35rem}.recognition-success-body h2{margin:0}.recognition-success-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.recognition-countdown{color:#6a4cff;font-weight:700}.recognition-progress-panel{background:#f6f3ff;border:1px solid #6a4cff1f;border-radius:1.15rem;gap:.65rem;margin-top:auto;padding:.95rem 1rem;display:grid}.recognition-progress-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.recognition-progress-meta span{letter-spacing:.08em;color:#8a80bc;font-size:.82rem;font-weight:700}.recognition-progress-meta strong{color:#4f3ec6;font-size:1rem}.recognition-progress-track{background:#e8e1ff;border-radius:999px;height:.85rem;position:relative;overflow:hidden}.recognition-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#5d3df0 0%,#7c5cff 52%,#9a7cff 100%);height:100%;position:relative}.recognition-progress-bar:after{content:"";background:#ffffff61;border-radius:999px;width:1.05rem;height:.38rem;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.writer-stage,.writer-toolbar{gap:.9rem;display:grid}@keyframes recognition-card-flip-in{0%{opacity:.55;transform:rotateY(-92deg)scale(.97)}55%{opacity:1;transform:rotateY(10deg)scale(1.01)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes recognition-banner-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.015)}}@keyframes recognition-spark-float{0%,to{opacity:.4;transform:translate(0,0)scale(.9)}50%{opacity:1;transform:translateY(-10px)scale(1.08)}}@keyframes recognition-check-pop{0%{opacity:0;transform:scale(.45)}55%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.writer-grid-card{background:linear-gradient(#fffffffa,#f3fafff5);border:1px solid #18304314;border-radius:1.4rem;place-items:center;padding:1rem;display:grid;position:relative}.writer-canvas{place-items:center;width:100%;display:grid}.writer-badge,.writer-pass-badge{background:#fffffff0;border-radius:999px;padding:.35rem .7rem;position:absolute;top:1rem}.writer-badge{left:1rem}.writer-pass-badge{color:var(--success);right:1rem}.writer-status.is-error,.onboarding-error{color:var(--danger)}.onboarding-error{text-align:center;margin:0}@media (width<=860px){.auth-page-card{grid-template-columns:1fr}.auth-page-hero{gap:.75rem}.hero-panel,.study-hero{grid-template-columns:1fr}.topbar,.section-heading,.study-header,.section-title-bar,.character-row{flex-direction:column;align-items:stretch}.topbar-badge,.study-progress,.row-meta{text-align:left;justify-items:start}.settings-account-card{flex-direction:column;align-items:stretch}.settings-entry-button{align-self:auto;margin-left:auto}.analytics-trend-row,.analytics-rank-row,.analytics-operation-row{grid-template-columns:1fr}.analytics-trend-line{grid-template-columns:2.5rem minmax(0,1fr) 4.5rem}.analytics-rank-row>span,.analytics-trend-duration{text-align:left}.reviewing-simple-row{grid-template-columns:1fr auto;gap:.6rem 1rem}.reviewing-inline-timeline{grid-column:1/-1}.reviewing-track-row{grid-template-columns:1fr;gap:.35rem}.reviewing-next-review{grid-column:1/-1;justify-content:flex-start}.dictation-hero,.dictation-actions{flex-direction:column;align-items:stretch}.sticky-action-bar{padding:0 .9rem}.app-frame.is-study-mode .sticky-action-bar{bottom:calc(env(safe-area-inset-bottom) + .75rem)}}@media (width<=640px){.auth-page{padding:.75rem}.auth-page-card{border-radius:1.3rem}.auth-page-hero h1{font-size:2rem}.auth-page-form-shell h2{font-size:1.35rem}.app-frame{padding:.9rem .8rem 6.25rem}.app-frame.is-study-mode{padding-bottom:calc(env(safe-area-inset-bottom) + 6rem)}.panel{border-radius:1.35rem;padding:.9rem}.topbar{gap:.85rem;margin-bottom:.85rem}.topbar h1{font-size:2.55rem}.topbar-copy{margin:0;font-size:.98rem;line-height:1.55}.topbar-badge,.study-progress{width:100%;min-width:0;padding:.85rem .95rem}.topbar-badge strong,.study-progress strong{font-size:1.45rem}.study-shell,.list-panel,.settings-panel,.page-stack,.study-hero{gap:.85rem}.study-hero h1{font-size:3rem}.study-audio-button{padding:.5rem .78rem;font-size:.82rem}.pronunciation-line{gap:.45rem .65rem}.pronunciation-line strong{font-size:1.3rem}.speech-card,.metric-card,.status-card,.empty-card{border-radius:1rem;padding:.9rem}.word-chip{justify-content:center;font-size:1rem}.word-chip.word-chip-with-audio{justify-content:space-between}.word-audio-button{padding:.4rem .64rem;font-size:.78rem}.character-row{gap:.75rem;padding:.8rem 0}.character-row strong{font-size:1.3rem}.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.recognition-option{min-height:3.7rem;padding:.8rem .45rem;font-size:1rem}.recognition-progress-panel{padding:.85rem .9rem}.recognition-progress-meta{flex-direction:column;align-items:flex-start;gap:.3rem}.recognition-success-body{gap:1rem;min-height:14.25rem}.recognition-success-banner{width:100%;min-height:8rem;padding:.65rem .85rem}.review-timeline-item{min-width:2.15rem}.review-timeline-item:after{width:.7rem}.tabbar{width:calc(100% - 1.2rem);bottom:calc(env(safe-area-inset-bottom) + .75rem);justify-content:space-between;gap:.35rem;padding:.35rem}.tabbar-button{flex:1;padding:.78rem .4rem}.onboarding-modal{border-radius:1.35rem;gap:1.25rem;padding:1.25rem 1rem 1.35rem}.onboarding-form{gap:.95rem}.onboarding-fields{gap:.9rem}.sticky-action-bar{bottom:calc(env(safe-area-inset-bottom) + .5rem);padding:0 .8rem}.app-frame.is-study-mode .sticky-action-bar{bottom:calc(env(safe-area-inset-bottom) + .5rem)}.full-width-button{min-height:3.5rem}}@keyframes recognition-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}:root{color:#21324f;--panel:#ffffffd1;--panel-strong:#fffffff5;--line:#4a60881f;--text:#21324f;--muted:#677894;--brand:#ff7e5f;--brand-strong:#f05f40;--brand-soft:#ffe5dd;--accent:#31b7d7;--accent-soft:#ddf7ff;--danger:#d9575f;--success:#29a873;--shadow:0 24px 60px #4c669124;background:radial-gradient(circle at 0 0,#ffc37973,#0000 28%),radial-gradient(circle at 85% 10%,#77d6ff4d,#0000 24%),radial-gradient(circle at 15% 80%,#ff97a833,#0000 28%),linear-gradient(#fff8ef 0%,#f4fbff 48%,#fffdf7 100%)}body{color:var(--text)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #31b7d752}.app-shell{isolation:isolate;position:relative}.app-shell:before,.app-shell:after{content:"";z-index:-1;filter:blur(8px);pointer-events:none;border-radius:999px;position:fixed}.app-shell:before{background:radial-gradient(circle,#ffaa7847,#0000 68%);width:18rem;height:18rem;top:6rem;right:-6rem}.app-shell:after{background:radial-gradient(circle,#63cdff3d,#0000 68%);width:16rem;height:16rem;bottom:4rem;left:-5rem}.app-frame{max-width:1180px;padding-top:1rem}.main-content-shell{gap:1rem;display:grid}.panel{border:1px solid #ffffffb3;border-radius:1.8rem;box-shadow:0 26px 50px #4e69911f,inset 0 1px #ffffffe0}.topbar-panel{background:linear-gradient(135deg,#fffffff2,#fcf9ffdb),linear-gradient(120deg,#ffe6ddc7,#ddf7ffbf);align-items:stretch;margin-bottom:1.1rem;padding:1.35rem;position:relative;overflow:hidden}.topbar-copy-stack,.topbar-quick-stats{z-index:1;position:relative}.topbar-copy-stack{gap:.9rem;max-width:40rem;display:grid}.topbar-quick-stats{gap:.7rem;min-width:min(100%,18rem);display:grid}.topbar h1{color:#243454;font-size:clamp(2.4rem,5vw,4rem)}.topbar-copy{max-width:34rem;margin:0;font-size:1rem}.topbar-pill-row,.hero-tag-row{flex-wrap:wrap;gap:.65rem;display:flex}.topbar-badge,.topbar-account{text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #ffffffbd;border-radius:1.35rem;justify-items:start;min-width:0;padding:1rem 1.05rem}.topbar-account{gap:.25rem;display:grid}.topbar-account strong{color:#243454;font-size:1.05rem}.topbar-orb{opacity:.9;pointer-events:none;border-radius:999px;position:absolute}.topbar-orb-peach{background:radial-gradient(circle,#ffbe8cb3,#0000 68%);width:10rem;height:10rem;top:-2rem;right:14rem}.topbar-orb-blue{background:radial-gradient(circle,#86dbff9e,#0000 68%);width:12rem;height:12rem;bottom:-2rem;right:-2rem}.topbar-orb-yellow{background:radial-gradient(circle,#ffe182cc,#0000 70%);width:5rem;height:5rem;top:2rem;right:4rem}.metric-card,.speech-card,.status-card,.empty-card,.task-entry-card,.overview-card,.settings-action-card,.settings-account-card{background:linear-gradient(#fffffff7,#fafcffed),linear-gradient(135deg,#ffe7e29e,#dff7ff8c);border:1px solid #ffffffbf;border-radius:1.35rem}.metric-card strong,.speech-card strong,.study-progress strong,.topbar-badge strong,.task-count{color:#243454}.character-chip,.word-chip,.pill,.recognition-option{border-radius:1.35rem}.pill{color:#4d5f7d;background:#ffffffb8;border:1px solid #fffc;font-weight:700}.primary-button,.secondary-button,.ghost-button,.tabbar-button,.recognition-option{font-weight:700}.primary-button{background:linear-gradient(135deg,#ff8d6c,#ff6f61 52%,#ff8f3f 100%);box-shadow:0 18px 32px #ff6f613d}.secondary-button{color:#22738a;background:linear-gradient(135deg,#dff7ff,#f4feff);border:1px solid #31b7d72e}.ghost-button{background:#ffffffd1}.hero-panel,.study-hero{gap:1.2rem}.hero-copy h2,.panel h2,.panel h3{color:#243454}.hero-copy h2{font-size:clamp(1.7rem,2vw,2.2rem)}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.chip-grid-featured{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch}.tip-panel{gap:1rem;display:grid}.tip-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;display:grid}.tip-grid .metric-card{align-content:start;min-height:100%}.tip-grid .metric-card span{color:#f05f40;font-weight:800}.task-entry-card{position:relative;overflow:hidden}.task-entry-card:after{content:"";background:radial-gradient(circle,#ffe39442,#0000 68%);border-radius:999px;width:7rem;height:7rem;position:absolute;inset:auto -1.5rem -2.5rem auto}.study-progress{background:#ffffffd6;border-radius:1.35rem}.recognition-card{background:linear-gradient(#fffffffa,#fbfbfff2),linear-gradient(135deg,#ffe8e2b8,#e4f7ffb8);border-radius:1.8rem}.recognition-question-title{color:#243454}.recognition-description{text-align:center;max-width:24rem;color:var(--muted);margin:-.15rem auto 0;line-height:1.7}.recognition-option{background:#ffffffe6;box-shadow:inset 0 1px #fffc}.recognition-option:hover{box-shadow:0 14px 28px #4c66911f}.tabbar-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #ffffffc7;align-items:center;gap:.35rem;padding:.42rem;display:inline-flex}.tabbar-button{justify-content:center;align-items:center;gap:.45rem;min-width:6.6rem;display:inline-flex}.tabbar-button-icon{background:#ffffff80;border-radius:999px;place-items:center;width:1.7rem;height:1.7rem;font-size:.92rem;line-height:1;display:inline-grid}.tabbar-button.is-active .tabbar-button-icon{background:#ffffff38}.tabbar.tabbar-panel{background:linear-gradient(135deg,#fff4ece6,#eaf7ffe6);border:1px solid #ffffffe6;border-radius:999px;gap:.3rem;padding:.34rem;box-shadow:0 8px 22px #3b608424}.tabbar.tabbar-panel .tabbar-button{color:#627391;background:0 0;border:1px solid #0000;border-radius:999px;min-width:6.5rem;padding:.62rem .95rem}.tabbar.tabbar-panel .tabbar-button .tabbar-button-icon{color:#5b6f8e;background:#ffffffa8}.tabbar.tabbar-panel .tabbar-button:hover{color:#445a7c;background:#ffffff9e}.tabbar.tabbar-panel .tabbar-button.is-active{color:#324968;background:linear-gradient(135deg,#ffd3bc,#aee7df 70%,#9fdcf3);border-color:#fffffff2;box-shadow:0 8px 18px #609db147}.tabbar.tabbar-panel .tabbar-button.is-active .tabbar-button-icon{color:#3f587a;background:#fffc}.tabbar.tabbar-panel .tabbar-button:focus-visible{outline-offset:2px;outline:2px solid #71b0c68c}@media (width<=860px){.topbar-panel{padding:1.05rem}.topbar-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.app-frame{padding-top:.7rem}.topbar-panel{padding:1rem}.topbar h1{font-size:2.6rem}.topbar-quick-stats{grid-template-columns:1fr}.topbar-pill-row,.hero-tag-row{gap:.5rem}.hero-copy h2{font-size:1.55rem}.tip-grid{grid-template-columns:1fr}.tabbar-button{flex-direction:column;gap:.2rem;min-width:0}.tabbar-button-icon{width:1.5rem;height:1.5rem}}
