@import"https://fonts.googleapis.com/css2?family=Chivo:wght@400;600;700&family=Nunito+Sans:wght@400;600;700&display=swap";html,body,#root{margin:0;min-height:100%}:root{--bg-1: #f4f6fb;--bg-2: #eef3fb;--bg-3: #e7edf8;--panel: rgba(255, 255, 255, .92);--panel-soft: rgba(44, 87, 174, .06);--text: #24324a;--muted: #5e6f8d;--accent: #b25928;--accent-strong: #8d451d;--mint: #2c57ae;--danger: #c04a3c;--warning: #b37a18;--success: #27755b;--border: rgba(44, 87, 174, .14);--shadow: 0 18px 40px rgba(36, 50, 74, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Nunito Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 8% 10%,rgba(178,89,40,.12),transparent 28%),radial-gradient(circle at 94% 88%,rgba(44,87,174,.1),transparent 34%),linear-gradient(130deg,var(--bg-1),var(--bg-2) 44%,var(--bg-3))}h1,h2,h3{margin:0;font-family:Chivo,sans-serif}.app-shell{width:min(1200px,calc(100% - 2.4rem));margin:0 auto;padding:1.7rem 0 2rem}.app-shell.focused-shell{width:min(1100px,calc(100% - 1.8rem));padding-top:1rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.15rem;animation:fadeUp .35s ease-out}.topbar-controls{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.brand-block h1{margin-top:.15rem;font-size:clamp(2rem,3.1vw,2.65rem);letter-spacing:.02em}.eyebrow{margin:0;color:var(--accent);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.brand-subtitle{margin:.3rem 0 0;max-width:32rem;color:#5b6c88}.lang-select-wrap{display:grid;gap:.3rem;min-width:220px}.profile-trigger{display:inline-flex;align-items:center;gap:.65rem;padding:.45rem .6rem;border-radius:.85rem;border:1px solid var(--border);background:#ffffffe0;cursor:pointer;color:var(--text)}.topbar-user-meta{display:inline-flex;align-items:center;gap:.45rem}.topbar-user-name{font-weight:700;color:var(--text)}.profile-icon-button{border:1px solid var(--border);border-radius:.85rem;padding:.3rem;background:#ffffffe0;cursor:pointer}.profile-avatar{width:2.2rem;height:2.2rem;border-radius:999px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--mint),#5f82cb)}.profile-trigger-copy{display:grid;text-align:left}.user-menu-wrap{position:relative}.user-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:.75rem;box-shadow:var(--shadow);z-index:100;overflow:hidden}.user-dropdown-item{display:block;width:100%;padding:.65rem 1rem;text-align:left;background:none;border:none;cursor:pointer;color:var(--text);font-size:.95rem;font-family:inherit}.user-dropdown-item:hover{background:var(--panel-soft)}.user-dropdown-divider{height:1px;background:var(--border);margin:.2rem 0}.user-dropdown-item-danger{color:var(--danger)}.dashboard-lang-flag-wrap{display:flex;align-items:center;gap:.6rem}.dashboard-lang-select{font-size:.95rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:.6rem;background:#ffffffe0;color:var(--text);cursor:pointer}.input-readonly{background:var(--bg-2);color:var(--muted);cursor:default}.profile-trigger-copy small{color:var(--muted)}.user-chip{border:1px solid var(--border);border-radius:.72rem;padding:.4rem .6rem;background:#ffffffc7;display:grid;gap:.15rem}.user-chip strong{font-size:.95rem}.user-chip span{color:var(--muted);font-size:.82rem}.lang-select-wrap label{font-size:.9rem;color:var(--muted)}select,input,textarea,button{font:inherit}select,input,textarea{border:1px solid var(--border);border-radius:.66rem;background:#fffffff5;color:var(--text);padding:.58rem .72rem}select option{background:#fff;color:var(--text)}select:focus,input:focus,textarea:focus{outline:2px solid rgba(44,87,174,.22);border-color:#2c57ae73}.content-grid{display:grid;gap:1rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:1rem;padding:1rem;box-shadow:var(--shadow);animation:fadeUp .35s ease-out}.auth-panel{width:min(560px,100%);justify-self:center}.auth-grid{display:grid;gap:.62rem}.auth-grid label{display:grid;gap:.28rem;color:var(--text)}.auth-actions{display:flex;gap:.58rem;flex-wrap:wrap}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.badge{border-radius:999px;border:1px solid rgba(44,87,174,.2);padding:.24rem .62rem;font-size:.83rem;color:#2c57ae;background:#2c57ae14}.compact-header{margin-bottom:.35rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem}.stats-grid article{border:1px solid rgba(255,255,255,.11);border-radius:.8rem;padding:.65rem;background:var(--panel-soft);transition:transform .2s ease,border-color .2s ease,background .2s ease}.stats-grid article:hover{transform:translateY(-2px);border-color:#ffffff40;background:#ffffff17}.stats-grid span{color:var(--muted);font-size:.84rem}.stats-grid strong{display:block;margin-top:.2rem;font-size:1.38rem}.stats-grid .due-card{border-color:#ff6f618c;background:linear-gradient(160deg,#ff6f612b,#ff6f610f)}.stats-grid .due-card strong{animation:pulseGlow 1.8s ease-in-out infinite}.action-banner{margin-top:.85rem;border-radius:.8rem;border:1px solid rgba(255,194,77,.5);background:linear-gradient(140deg,#ffc24d24,#ff9d2f14);padding:.65rem .75rem;animation:fadeUp .5s ease-out}.action-banner strong{font-size:1.02rem}.action-banner p{margin:.32rem 0 0;color:#f1dfb6;font-size:.92rem}.dashboard-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:.9rem;margin-bottom:.95rem}.hero-badge{display:inline-flex;border-radius:999px;padding:.16rem .62rem;font-size:.8rem;font-weight:700;color:#ffde97;border:1px solid rgba(255,194,77,.45);background:#ffc24d26}.dashboard-hero-title{margin-top:.5rem;font-size:clamp(1.45rem,2.4vw,2rem)}.dashboard-hero-copy{margin:.42rem 0 0;max-width:58ch;color:#d5e7f9}.dashboard-hero-card{align-self:stretch;display:grid;gap:.3rem;border-radius:.88rem;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,#2ac4a424,#ffffff0d);padding:.85rem}.dashboard-hero-card span,.dashboard-hero-card small{color:var(--muted)}.dashboard-hero-card strong{font-size:clamp(1.7rem,3vw,2.4rem)}.dashboard-story-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.story-card{border:1px solid rgba(255,255,255,.12);border-radius:.88rem;background:#ffffff0b;padding:.8rem}.story-card.accent-card{background:linear-gradient(155deg,#ffc24d21,#ffffff0a);border-color:#ffc24d59}.story-card p,.story-card small{color:#d7e7f8}.story-card p{margin:.3rem 0 .6rem}.story-card-header{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline}.story-card-header span{color:#ffd999;font-weight:700}.metric-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.55rem}.metric-pair.compact-pair{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-pair span{display:block;color:var(--muted);font-size:.82rem}.metric-pair strong{display:block;margin-top:.14rem;font-size:1.12rem}.metric-track{margin-bottom:.55rem}.method-strip{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.method-strip article{border:1px solid rgba(255,255,255,.11);border-radius:.75rem;padding:.72rem;background:#ffffff0a}.method-strip p{margin:.3rem 0 0;color:#d4e6f8}.status-line{margin:.9rem 0 0;color:var(--muted)}.session-controls{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.62rem;align-items:center}.button{border:none;border-radius:.68rem;font-weight:700;cursor:pointer;transition:transform .16s ease,filter .16s ease;padding:.58rem .95rem}.button:hover{transform:translateY(-1px);filter:brightness(1.04)}.button:disabled{opacity:.62;cursor:not-allowed;transform:none}.button.solid{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.button.ghost{background:#ffffffe6;border:1px solid var(--border);color:var(--text)}.button.subtle{background:#2c57ae14;border:1px solid rgba(44,87,174,.18);color:#2c57ae}.focus-strip{display:grid;gap:.65rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.focus-header{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}.session-mode-chip{display:inline-flex;border-radius:999px;border:1px solid rgba(255,194,77,.55);background:#ffc24d29;color:#ffd893;font-size:.78rem;padding:.14rem .52rem;margin-bottom:.22rem}.focus-meta{display:flex;gap:.5rem;color:var(--muted);font-size:.92rem}.focus-copy{margin:0;color:#d3e5f8}.progress-track{width:100%;height:10px;border-radius:999px;background:#2c57ae1f;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--mint))}.compact-row{margin-top:0}.session-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:1rem}.session-layout.single-column{grid-template-columns:1fr}.session-screen{display:grid;gap:.9rem}.session-shell-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem .1rem 0}.session-language-badge{display:grid;justify-items:end;gap:.15rem;text-align:right}.session-language-badge img,.dashboard-flag-badge img{width:54px;height:38px;object-fit:cover;border-radius:.6rem;border:1px solid rgba(44,87,174,.14);box-shadow:0 10px 18px #24324a1f}.session-language-badge span,.dashboard-flag-emoji{font-size:2rem;line-height:1}.session-language-badge small{color:var(--muted)}.main-session-panel{min-height:100%}.session-title-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.session-step{flex-shrink:0}.session-tag{display:inline-flex;border-radius:999px;border:1px solid rgba(44,87,174,.18);background:#2c57ae14;color:#2c57ae;padding:.14rem .52rem;margin-bottom:.25rem;font-size:.78rem}.session-tag-row{display:flex;flex-wrap:wrap;gap:.38rem;margin-bottom:.25rem}.session-tag-row .session-tag{margin-bottom:0}.session-tag-level{border-color:#b465273d;background:#b4652717;color:#9f5625}.session-mini-meta{display:grid;justify-items:end;color:var(--muted);font-size:.88rem}.compact-track{margin-top:.58rem;margin-bottom:.78rem}.study-word{margin:.35rem 0 .34rem;font-size:clamp(1.6rem,2.5vw,2.2rem)}.study-sentence{margin:0;color:#334463;font-size:1.05rem}.study-block{margin-top:.82rem;border:1px solid rgba(44,87,174,.12);border-radius:.85rem;padding:.9rem;background:#2c57ae0a}.study-block.primary{background:linear-gradient(180deg,#2c57ae0d,#2c57ae05)}.study-focus-word{margin:0;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:700;color:#20314e}.compact-focus-word{font-size:1.55rem}.meta-grid{margin-top:.78rem;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(130px,1fr))}.meta-grid div{border:1px solid rgba(255,255,255,.11);border-radius:.65rem;padding:.5rem .62rem;background:#ffffff0b}.meta-label{display:block;font-size:.82rem;color:var(--muted)}.hint-box{margin-top:.78rem;border:1px dashed rgba(44,87,174,.24);border-radius:.7rem;padding:.62rem;background:#2c57ae0d}.compact-hint-box{display:grid;gap:.55rem;justify-items:start}.compact-hint-box.open{border-style:solid}.hint-box strong{font-size:.94rem}.hint-box p{margin:.35rem 0 .56rem;color:#4d6285}.study-translation{margin:0;color:#334463;font-size:1rem;font-weight:700}.session-purpose-card{margin-bottom:.8rem;border-radius:.75rem;border:1px solid rgba(255,194,77,.34);background:#ffc24d1a;padding:.68rem .74rem}.session-purpose-card p{margin:.3rem 0 0;color:#ffe9bb}.quality-banner{margin-top:.78rem;border-radius:.75rem;padding:.68rem .74rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a}.quality-banner p{margin:.28rem 0 0;color:#d6e8f9}.quality-banner.reviewed{border-color:#3dd28b52;background:#3dd28b14}.quality-banner.draft{border-color:#f2c15057;background:#f2c15014}.quality-banner.placeholder{border-color:#ff6f6152;background:#ff6f6114}.quality-banner.inline-banner{margin-top:.65rem}.quality-banner.small-banner{padding:.56rem .64rem}.study-method-grid,.review-context-grid{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.study-method-grid article,.review-context-card{border:1px solid rgba(255,255,255,.11);border-radius:.72rem;padding:.65rem;background:#ffffff0b}.study-method-grid p,.review-context-card p{margin:.28rem 0 0;color:#d7e8fa}.actions-row{margin-top:.9rem;display:flex;gap:.55rem;flex-wrap:wrap}.hint-translation{margin:.35rem 0 .48rem;color:#334463;font-size:1.02rem}.sentence-input-wrap{border:1px solid rgba(44,87,174,.16);border-radius:.75rem;padding:.58rem;display:flex;align-items:center;flex-wrap:wrap;gap:.34rem;background:#2c57ae0a}.sentence-input-wrap input{min-width:140px;max-width:230px;text-align:center;font-weight:700}.book-input-wrap{align-items:baseline;gap:.5rem;padding:.8rem .85rem;border-radius:.9rem;background:linear-gradient(180deg,#fffffffa,#f4f6fbfa),repeating-linear-gradient(to bottom,transparent 0,transparent 1.8rem,rgba(44,87,174,.08) 1.8rem,rgba(44,87,174,.08) 1.9rem)}.book-input-wrap span{font-size:1.02rem;color:#2e4163}.book-input-wrap input{min-width:150px;max-width:260px;padding:.18rem .3rem .28rem;border:none;border-bottom:2px solid rgba(44,87,174,.4);border-radius:0;background:transparent;box-shadow:none;text-align:left;font-size:1.02rem}.book-input-wrap input:focus{outline:none;border-bottom-color:var(--accent)}.char-counter{margin:.54rem 0;color:var(--muted)}.review-header-meta{display:grid;justify-items:end;gap:.35rem}.review-prompt-row{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;margin-bottom:.5rem}.review-focus-word{margin:.14rem 0 0;font-size:1.18rem;font-weight:700;color:var(--accent-strong)}.review-prompt-label{margin:0;font-size:1.18rem;font-weight:700;color:#2c3852}.review-chances{padding-top:1.25rem}.score-row{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;color:#d8e9fc}.hint-chip{margin-top:.58rem;display:inline-flex;border-radius:999px;border:1px solid rgba(255,194,77,.55);background:#ffc24d29;color:#ffde9f;padding:.2rem .64rem;font-size:.84rem}.feedback{margin-top:.66rem;border-radius:.68rem;padding:.55rem .66rem;font-weight:600}.feedback.warning{background:#b37a181a;border:1px solid rgba(179,122,24,.18);color:#8a5d11}.feedback.success{background:#27755b1a;border:1px solid rgba(39,117,91,.18);color:#27755b}.feedback.danger{background:#c04a3c1a;border:1px solid rgba(192,74,60,.18);color:#a03a2f}.support-lock-note{margin:.62rem 0 0;color:#d9ecff;font-size:.92rem}.shortcut-note{margin:.52rem 0 0;color:#d2e4f8;font-size:.83rem}.impact-note{margin:.55rem 0 0;color:#f5deb0;font-weight:600}.projection-note{margin:.45rem 0 0;color:#cdeef2;font-size:.92rem}.pronunciation-panel{display:grid;gap:.7rem}.review-support-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:1rem}.support-study-panel{min-height:100%}.support-panel-layout{display:grid;gap:.7rem}.pronunciation-panel .panel-header{margin-bottom:0}.pronunciation-grid{display:grid;gap:.62rem}.pron-card{border:1px solid rgba(44,87,174,.12);border-radius:.72rem;background:#2c57ae0a;padding:.7rem}.pron-title{color:var(--muted);font-size:.84rem}.pron-text{margin-top:.32rem;font-size:1.03rem}.pron-translation{margin-top:.36rem;color:#b25928}.pron-actions{margin-top:.56rem;display:flex;gap:.42rem;flex-wrap:wrap}.comments-box{margin:0;border:1px dashed rgba(44,87,174,.18);border-radius:.7rem;padding:.62rem;color:#4d6285;background:#2c57ae09}.comments-box.standalone{min-height:160px}.comments-panel{min-height:100%}.compact-comments-panel{border:none;padding:0;box-shadow:none;background:transparent}.comments-toggle-wrap{display:grid;gap:.55rem;justify-items:start}.session-list{display:grid;gap:.6rem}.session-item{border:1px solid rgba(44,87,174,.12);border-radius:.74rem;padding:.6rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:#2c57ae0a}.session-item p{margin:.2rem 0;color:#44597a;font-size:.9rem}.session-item small{color:var(--muted)}.profile-panel{display:grid;gap:.9rem}.profile-panel-copy{margin:.22rem 0 0;color:var(--muted)}.profile-summary-card{display:grid;gap:.2rem;padding:.8rem;border-radius:.85rem;border:1px solid rgba(44,87,174,.12);background:#2c57ae0a}.profile-summary-card span{color:var(--muted)}.profile-panel-actions{display:flex;gap:.6rem;flex-wrap:wrap}.mistake-panel{border-color:#ff6f6159;background:linear-gradient(160deg,#ff6f611c,#ff6f6108)}.mistake-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.mistake-item{border:1px solid rgba(255,255,255,.13);border-radius:.7rem;padding:.56rem;display:grid;gap:.18rem}.mistake-item span{color:#ffc9b9;font-size:.85rem}.mistake-item small{color:var(--muted)}.mistake-copy{margin:.1rem 0 .7rem;color:#ffd4c8}.admin-panel{overflow:hidden}.admin-section{margin-top:1rem;border-top:1px solid rgba(255,255,255,.12);padding-top:.85rem}.admin-section h3{margin-bottom:.55rem}.admin-toolbar{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:.6rem}.admin-toolbar input,.admin-toolbar select{min-width:190px}.admin-users-modal{max-width:620px;width:100%}.admin-users-list{display:flex;flex-direction:column;gap:.45rem;max-height:52vh;overflow-y:auto;padding-right:.25rem}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:.7rem;background:#ffffff08}.admin-user-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-user-info strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-empty{color:var(--muted);text-align:center;padding:1.25rem .5rem}.admin-user-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.55rem;margin-top:.85rem}.admin-user-stats>div{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;background:#ffffff08}.admin-user-stats span{color:var(--muted);font-size:.78rem}.admin-user-stats strong{font-size:.95rem}.edit-form{display:flex;flex-direction:column;gap:.75rem}.edit-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;color:var(--muted)}.edit-form input,.edit-form select{padding:.5rem .65rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:inherit}.input-readonly{opacity:.75}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{border-bottom:1px solid rgba(255,255,255,.12);padding:.55rem .45rem;text-align:left;vertical-align:top}.admin-table th{color:var(--muted);font-size:.84rem;font-weight:700}.admin-email{color:var(--muted);font-size:.82rem;margin-top:.22rem}.audit-log-list{display:grid;gap:.45rem;max-height:220px;overflow:auto}.audit-log-item{border:1px solid rgba(255,255,255,.12);border-radius:.7rem;padding:.45rem .58rem;display:grid;gap:.16rem}.audit-log-item span{color:var(--muted);font-size:.8rem}.audit-log-item small{color:#c2d8ee}.admin-missing-table input{min-width:180px}.admin-missing-table td strong{font-weight:600}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;flex-wrap:wrap}.admin-pagination-bottom{padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.admin-pagination-info{color:var(--muted);font-size:.85rem}.admin-pagination-controls{display:flex;align-items:center;gap:.55rem;font-size:.85rem}.admin-pagination-controls span{color:var(--muted);white-space:nowrap}.admin-toggle-label{display:flex;align-items:center;gap:.35rem;font-size:.88rem;cursor:pointer;white-space:nowrap}.admin-status-badge{display:inline-block;padding:.15rem .45rem;border-radius:.4rem;font-size:.78rem;font-weight:600}.admin-status-placeholder{background:#ffa0322e;color:#ffa032}.admin-status-draft{background:#64a0ff2e;color:#64a0ff}.admin-status-reviewed{background:#50c8782e;color:#50c878}.done-panel h2{margin-bottom:.6rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.62rem}.summary-grid article{border:1px solid rgba(255,255,255,.11);border-radius:.72rem;background:#ffffff0b;padding:.64rem}.summary-grid span{color:var(--muted);font-size:.85rem}.summary-grid strong{display:block;margin-top:.22rem;font-size:1.2rem}.summary-text{margin:.78rem 0 0;color:#44597a}.summary-text.emphasis-text{margin-top:0;color:#2c57ae;font-size:1rem}.simple-dashboard{display:grid;gap:.9rem}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:nowrap}.dashboard-heading>div:first-child{flex:1 1 auto;min-width:0}.dashboard-heading .dashboard-lang-flag-wrap{flex:0 0 auto}.study-comments-block{background:#3b82f60f;border-left:3px solid rgba(59,130,246,.4)}.study-comments{margin:.2rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}.dashboard-heading h2{margin:0 0 .15rem;font-size:1.35rem}.simple-dashboard-copy{margin:0;color:#6b7a99;font-size:.9rem}.simple-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem}.simple-stat{background:#f4f6fa;border:1px solid #e2e6ef;border-radius:.75rem;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.25rem}.simple-stat span{font-size:.8rem;color:#6b7a99;line-height:1.3}.simple-stat strong{font-size:1.5rem;font-weight:700;color:#1a2540;line-height:1}.simple-stat.due-card{border-color:#ff6f618c;background:linear-gradient(160deg,#ff6f611f,#ff6f610a)}.simple-stat.due-card strong{color:#c94b3a;animation:pulseGlow 1.8s ease-in-out infinite}.habit-stats-grid .simple-stat{background:#f0f4ff;border-color:#d0daf5}.dashboard-narrative{display:flex;flex-direction:column;gap:.3rem;padding:.75rem 1rem;background:#f7f9ff;border:1px solid #dde4f5;border-radius:.75rem}.dashboard-narrative-body{margin:0;font-size:.93rem;color:#4a5568;line-height:1.5}.milestone-row{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem;background:#f7f9ff;border:1px solid #dde4f5;border-radius:.75rem}.milestone-label-row{display:flex;justify-content:space-between;align-items:center}.milestone-label{font-size:.88rem;font-weight:600;color:#2c57ae}.milestone-percent{font-size:.88rem;font-weight:700;color:#2c57ae}.milestone-helper{margin:0;font-size:.82rem;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#18233873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;animation:fadeUp .2s ease-out}.modal-card{background:#fff;border-radius:1rem;box-shadow:0 24px 60px #18233838;padding:1.25rem;width:min(480px,100%);max-height:90vh;overflow-y:auto}.modal-actions{display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap}.edit-form{display:grid;gap:.75rem}.edit-form label{display:grid;gap:.3rem;font-size:.9rem;color:var(--text);font-weight:600}.edit-form input,.edit-form textarea,.edit-form select{font-size:.95rem}.lesson-actions,.review-actions{align-items:center}.review-actions-right{margin-left:auto;display:flex;gap:.55rem;align-items:center}.review-actions-spacer{flex:1}.session-helper{margin:0 0 .55rem;color:var(--muted);font-size:.92rem}.study-session-layout .comments-panel{align-self:start}.completion-copy{color:#5e6f8d;font-size:.95rem}@media(max-width:640px){.app-shell,.app-shell.focused-shell{width:calc(100% - 1rem);padding:.65rem 0 1.5rem}.topbar{flex-wrap:nowrap;gap:.4rem}.topbar-user-name{display:none}.brand-block h1{font-size:1.5rem}.brand-subtitle{display:none}.button{min-height:44px;padding:.65rem .9rem}.panel{padding:.85rem .8rem;border-radius:.85rem}.session-layout,.review-support-grid,.dashboard-hero,.meta-grid{grid-template-columns:1fr}.study-block{padding:.75rem}.pron-actions{gap:.35rem}.pron-actions .button{flex:1;min-width:0;font-size:.82rem;padding:.6rem .4rem;text-align:center}.actions-row,.review-actions-right{gap:.4rem}.study-session-layout .comments-panel{display:none}.sentence-input-wrap input,.book-input-wrap input{min-width:90px;max-width:160px}.review-main-panel{min-height:unset}.simple-stats-grid,.stats-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-story-grid,.method-strip{grid-template-columns:1fr}.dashboard-hero-card{display:none}.session-shell-header{gap:.5rem}.session-language-badge small{display:none}.modal-card{width:100%;border-radius:.85rem;padding:1rem}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:85vh}.admin-toolbar{flex-direction:column;gap:.4rem}.admin-toolbar input,.admin-toolbar select{min-width:0;width:100%}.admin-pagination{flex-direction:column;align-items:flex-start;gap:.4rem}.admin-pagination-controls{flex-wrap:wrap}.mistake-list{grid-template-columns:repeat(2,1fr)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulseGlow{0%,to{text-shadow:0 0 0 rgba(255,148,120,0)}50%{text-shadow:0 0 8px rgba(255,148,120,.5)}}
