@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@500;700;800&display=swap";:root{--ink: #1e2f45;--bg-start: #fff8ee;--bg-end: #e8f2ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%}body{min-height:100dvh;font-family:Manrope,sans-serif;color:var(--ink);background:linear-gradient(120deg,var(--bg-start),var(--bg-end))}h1,h2,h3{font-family:Fraunces,serif;letter-spacing:.01em}.page{min-height:100dvh;position:relative;display:grid;place-items:center;padding:28px 16px;overflow:hidden}.ambient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 8% 8%,rgba(255,172,88,.28),transparent 36%),radial-gradient(circle at 90% 10%,rgba(86,182,255,.24),transparent 40%),radial-gradient(circle at 50% 94%,rgba(110,222,187,.2),transparent 34%)}.app-shell{width:min(1120px,100%);position:relative;z-index:1}.home-panel,.study-shell{border-radius:30px;border:1px solid rgba(32,48,74,.14);background:#fffaf2c2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);box-shadow:0 24px 64px #18264029,inset 0 1px #ffffffd9;padding:28px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.17em;font-size:.74rem;color:#4f677c;font-weight:800}.main-title{margin:10px 0 8px;color:#1f2f45;font-size:clamp(1.7rem,4vw,2.45rem)}.home-text{margin:0;color:#4f6074}.mode-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mode-card{text-align:left;border:1px solid #cedbec;border-radius:20px;background:linear-gradient(145deg,#fff,#f2f7ff);padding:18px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mode-card:hover{transform:translateY(-2px);border-color:#aac2dd;box-shadow:0 12px 24px #2342672e}.mode-index{margin:0;color:#4a6682;font-weight:700;font-size:.9rem}.mode-card h2{margin:8px 0;color:#192c47;font-size:1.35rem}.mode-card p{margin:0;color:#435770;line-height:1.45}.profile-card-button{background:linear-gradient(145deg,#fff7ee,#fff2de);border-color:#efc78d}.profile-shell{display:flex;flex-direction:column;gap:12px}.profile-card{border:1px solid #d6e3f4;background:linear-gradient(146deg,#fff,#f4f8ff);border-radius:22px;padding:20px;box-shadow:inset 0 1px #fff,0 16px 32px #26446424}.profile-input{margin-top:8px;border:1px solid #c6d8ec;border-radius:12px;padding:12px 14px;font-size:1rem;font-family:inherit;color:#1f3754;background:#fbfdff;width:100%}.profile-input:focus{outline:2px solid #4f9be0;outline-offset:1px}.profile-note{margin:8px 0 0;color:#5f7590;font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{border:1px solid #d4e0ef;border-radius:16px;background:#f8fbff;padding:14px}.stat-label{margin:0;font-size:.76rem;color:#607a99;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.stat-value{margin:8px 0 0;color:#1a334f;font-size:1.5rem;font-weight:800;line-height:1.1}.stat-subvalue{margin:5px 0 0;color:#536c87;font-size:.9rem}.section-head h2{margin:0;color:#1e3551;font-size:1.18rem}.section-head p{margin:6px 0 0;color:#59718b}.mode-breakdown{margin-top:14px;display:flex;flex-direction:column;gap:12px}.mode-row{border:1px solid #d7e3f1;border-radius:14px;background:#f8fbff;padding:11px 12px}.mode-row-head{display:flex;justify-content:space-between;gap:8px;color:#234666;font-weight:800}.mode-progress{margin-top:8px;height:9px;border-radius:999px;background:#dde8f6;overflow:hidden}.mode-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#1883bb,#1765ac)}.mode-row-meta{margin:8px 0 0;color:#54708f;font-size:.9rem}.daily-table-wrap{margin-top:14px;overflow-x:auto;border:1px solid #d5e1f0;border-radius:12px}.daily-table{width:100%;border-collapse:collapse;min-width:540px}.difficult-table{min-width:760px}.daily-table th,.daily-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #dee7f4}.daily-table th{background:#edf4ff;color:#2a496b;font-size:.88rem}.daily-table td{color:#2f4a67;font-size:.93rem}.daily-table tbody tr:last-child td{border-bottom:0}.danger-btn{margin-top:14px;border:1px solid #e2b1b1;border-radius:10px;background:#fff4f4;color:#8d2525;padding:10px 14px;font-weight:800;cursor:pointer}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.back-btn{border:1px solid #bfd2e8;background:#eaf2fd;color:#1e3856;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}.back-btn:hover{filter:brightness(1.03)}.title-wrap h1{margin:0;color:#1f3048;font-size:clamp(1.3rem,3vw,1.9rem)}.title-wrap p{margin:5px 0 0;color:#5a6c81}.word-card,.drill-column{border:1px solid #d6e3f4;background:linear-gradient(146deg,#fff,#f4f8ff);border-radius:22px;padding:20px;box-shadow:inset 0 1px #fff,0 16px 32px #26446424}.label{margin:0;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.72rem;color:#798ea8}.english-word{margin:9px 0 0;color:#162f4b;font-size:clamp(1.6rem,3.8vw,2.4rem);line-height:1.1;word-break:break-word}.divider{height:1px;margin:18px 0;background:linear-gradient(to right,transparent,#cddaea 18%,#cddaea 82%,transparent)}.detail+.detail{margin-top:12px}.value{margin:6px 0 0;line-height:1.42;font-size:1.03rem}.pronunciation{color:#11526c;font-weight:700}.meaning{color:#2a3f56}.page-info{margin:14px 0 0;color:#6a7f98;font-size:.9rem}.controls{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.controls.compact{margin-top:16px}.nav-btn,.shuffle-btn{border:0;border-radius:14px;font-size:.96rem;font-weight:800;cursor:pointer;transition:transform .18s ease,filter .18s ease}.nav-btn{min-width:112px;padding:11px 16px;color:#ecf8ff;background:linear-gradient(135deg,#0d7bb1,#1458a7);box-shadow:0 10px 20px #1168a747}.nav-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.counter{min-width:84px;text-align:center;font-weight:800;color:#1e3654;background:#eaf2fd;border:1px solid #bfd3ea;border-radius:999px;padding:9px 14px}.shuffle-btn{width:100%;margin-top:12px;padding:11px 14px;color:#18384f;background:linear-gradient(140deg,#f8d38a,#f1b36f);box-shadow:0 10px 18px #e4a04b42}.shuffle-btn:hover{transform:translateY(-1px)}.study-mode-toggle{margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap}.study-toggle-btn{border:1px solid #bfd2e8;border-radius:10px;background:#edf4ff;color:#244363;padding:9px 12px;font-weight:800;cursor:pointer}.study-toggle-btn.active{background:linear-gradient(135deg,#0f7ab0,#1758a2);color:#f2fbff;border-color:#0f6290}.memory-shell{display:flex;flex-direction:column;gap:12px}.memory-summary-card,.memory-card,.memory-empty-card,.memory-review-card{border:1px solid #d6e3f4;background:linear-gradient(146deg,#fff,#f4f8ff);border-radius:22px;padding:18px;box-shadow:inset 0 1px #fff,0 16px 32px #26446424}.memory-counter-row{display:flex;flex-wrap:wrap;gap:8px}.memory-counter{border-radius:999px;padding:7px 11px;font-size:.85rem;font-weight:800;border:1px solid transparent}.memory-counter.new{background:#eef4ff;color:#3a5f88;border-color:#c8d8ef}.memory-counter.learning{background:#fff3df;color:#8a591b;border-color:#efce99}.memory-counter.mastered{background:#e7f8ef;color:#1d6d4e;border-color:#9fd6be}.memory-panel-toggle,.memory-filter-row,.memory-controls-actions,.memory-review-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.memory-mini-btn,.memory-filter-btn{border:1px solid #bfd2e8;border-radius:10px;background:#edf4ff;color:#244363;padding:8px 11px;font-weight:700;cursor:pointer}.memory-mini-btn.active,.memory-filter-btn.active{background:linear-gradient(135deg,#0f7ab0,#1758a2);color:#f2fbff;border-color:#0f6290}.memory-mini-btn.success{background:#e7f8ef;border-color:#9fd6be;color:#1d6d4e}.memory-controls-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.memory-queue-info{margin:0;color:#4a6583;font-weight:700}.memory-card{cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .14s ease}.memory-card.right{border-color:#8dc6ae;box-shadow:inset 0 1px #fff,0 16px 32px #1d6e502e}.memory-card.left{border-color:#e0b486;box-shadow:inset 0 1px #fff,0 16px 32px #8c571d2e}.memory-swipe-hint{margin:0;font-size:.85rem;color:#567191;font-weight:700}.memory-card-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.memory-decision-btn{border:0;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer}.memory-decision-btn.left{color:#74440a;background:linear-gradient(140deg,#ffd9a5,#f7bf7f)}.memory-decision-btn.right{color:#ecf8ff;background:linear-gradient(135deg,#1178a8,#14569b)}.memory-empty-card h3{margin:0;color:#1f3551}.memory-empty-card p{margin:8px 0 0;color:#5a718b}.memory-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.memory-review-head h3{margin:0;color:#1f3551}.memory-review-head p{margin:6px 0 0;color:#59718b}.memory-search-input{margin-top:12px}.memory-review-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.memory-review-item{border:1px solid #d3e0ef;border-radius:12px;background:#f8fbff;padding:12px}.memory-review-main{display:flex;flex-direction:column;gap:4px}.memory-review-word{margin:0;color:#16304d;font-size:1.08rem;font-weight:800}.memory-review-meta{margin:0;color:#5d7691}.qa-card{display:flex;flex-direction:column}.translation-smart-row{margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.translation-smart-note{margin:0;color:#4f6884;font-size:.9rem}.translation-insight-row{margin-top:12px;display:flex;flex-direction:column;gap:6px}.translation-insight-meta{margin:0;color:#516a86;font-size:.9rem}.difficulty-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:800;border:1px solid transparent}.difficulty-pill.low{background:#eaf6ff;color:#24557d;border-color:#b9d8f2}.difficulty-pill.medium{background:#fff3df;color:#8a591b;border-color:#efce99}.difficulty-pill.high{background:#ffe7e7;color:#8f2828;border-color:#efb2b2}.difficulty-pill.table{background:#edf4ff;color:#234f79;border-color:#c3d8ef}.answer-shell{margin-top:8px;border:1px solid #c6d8ec;border-radius:12px;background:#fbfdff;position:relative}.answer-input{margin-top:0;border:0;border-radius:12px;padding:12px 14px;font-size:1rem;font-family:inherit;color:#1f3754;background:transparent;width:100%;position:relative;z-index:2}.answer-input:focus{outline:none}.answer-shell:focus-within{outline:2px solid #4f9be0;outline-offset:1px}.answer-shell.success{border-color:#74be9d;background:#f0fbf6}.answer-shell.error{border-color:#e4a0a0;background:#fff7f7}.answer-shell.error .answer-input{color:transparent;caret-color:#1f3754}.answer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:12px 14px;font-size:1rem;font-family:inherit;line-height:1.4;pointer-events:none;z-index:1;white-space:pre-wrap;word-break:break-word;color:#1f3754}.check-btn{margin-top:12px;border:0;border-radius:12px;padding:11px 14px;font-size:.96rem;font-weight:800;cursor:pointer;color:#eef9ff;background:linear-gradient(135deg,#198266,#136a6b);box-shadow:0 10px 18px #16746242}.voice-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.voice-btn{border:1px solid #b8cce4;border-radius:10px;background:#eaf2fd;color:#1f3b5c;padding:9px 12px;font-weight:700;cursor:pointer}.voice-btn.secondary{background:#eef4ff;border-color:#c8d8ee;color:#305179}.voice-btn.listening{background:linear-gradient(135deg,#ba3d3d,#922e2e);border-color:#852626;color:#fff6f6}.voice-status{margin:8px 0 0;color:#446082;font-size:.9rem}.nav-btn:disabled,.shuffle-btn:disabled,.check-btn:disabled,.reveal-btn:disabled,.voice-btn:disabled,.study-toggle-btn:disabled,.memory-mini-btn:disabled,.memory-filter-btn:disabled,.memory-decision-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.feedback{margin:12px 0 0;border-radius:10px;padding:10px 12px;font-weight:700}.feedback.success{background:#e3f8ef;color:#0b6b4a;border:1px solid #9ed7bf}.feedback.success.loading{display:inline-flex;align-items:center;gap:8px}.feedback.neutral{background:#eef4ff;color:#28456b;border:1px solid #bfd2ef}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(11,107,74,.25);border-top-color:#0b6b4a;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analysis-char.ok{color:#1f3756}.analysis-char.wrong{color:#9f1d1d;background:#e2494933;border-radius:4px}.reveal-btn{margin-top:10px;border:1px dashed #9eb2cb;border-radius:10px;background:#f5f9ff;color:#355476;padding:8px 12px;font-weight:700;cursor:pointer}.preposition-answer{margin-top:10px;font-size:1.2rem;line-height:1.45}.preposition-answer-placeholder{margin:10px 0 0;border:1px dashed #c8d8eb;background:#f6faff;border-radius:10px;padding:12px;color:#5a7491;font-size:.95rem}.preposition-reveal-btn{align-self:flex-start}.prep-pack-filter-row{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px}.prep-pack-filter-btn{border:1px solid #c7d8ec;border-radius:999px;background:#eff5ff;color:#2a4c6f;padding:7px 11px;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.prep-pack-filter-btn:hover{transform:translateY(-1px)}.prep-pack-filter-btn.active{background:linear-gradient(135deg,#1078ad,#17579d);color:#eef9ff;border-color:#0f6392}.drill-grid{display:grid;grid-template-columns:.95fr 1fr 1fr 1.25fr;gap:12px}.pronoun-grid{display:grid;grid-template-columns:.85fr 1fr 1fr 1fr 1fr;gap:12px}.drill-column{display:flex;flex-direction:column}.drill-column.focus{background:linear-gradient(145deg,#fff,#edf6ff)}.column-title{margin:0;font-size:1.06rem;font-weight:800;color:#264262;letter-spacing:.02em}.prep-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.prep-btn{width:100%;border:1px solid #cfdeef;background:#f8fbff;color:#345172;border-radius:11px;padding:10px 9px;font-weight:800;letter-spacing:.07em;font-size:.8rem;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.prep-btn:hover{transform:translateY(-1px)}.prep-btn.active{background:linear-gradient(135deg,#0f7cb3,#185ba8);color:#eef9ff;border-color:#0f6fa1;box-shadow:0 8px 16px #165c9847}.phrase-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.phrase-list li{border:1px solid #d4dfed;border-radius:12px;background:#f8fbff;padding:10px 11px;display:flex;flex-direction:column;gap:2px}.frame{font-size:.75rem;letter-spacing:.12em;font-weight:800;color:#63809f}.word{font-size:1rem;font-weight:800;color:#1b334f;line-height:1.28;word-break:break-word}.selected-preposition{margin:6px 0 0;color:#4a6787;font-weight:700;letter-spacing:.04em;font-size:.78rem;text-transform:uppercase}.pronoun-focus-card{margin-top:12px}@media (max-width: 940px){.mode-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drill-grid,.pronoun-grid{grid-template-columns:1fr}.memory-controls-row,.memory-review-head,.topbar{flex-direction:column;align-items:flex-start}}@media (max-width: 680px){.page{padding:14px 12px}.home-panel,.study-shell{border-radius:20px;padding:16px}.word-card,.drill-column,.mode-card{border-radius:16px;padding:14px}.mode-grid{grid-template-columns:1fr}.study-mode-toggle{flex-direction:column}.translation-smart-row{align-items:stretch}.study-toggle-btn,.memory-filter-btn,.memory-mini-btn,.memory-decision-btn,.prep-pack-filter-btn{width:100%}.stats-grid{grid-template-columns:1fr}.controls{flex-wrap:wrap}.nav-btn{flex:1 1 calc(50% - 8px);min-width:0}.counter{width:100%;order:3}.daily-table{min-width:0}.memory-card,.memory-summary-card,.memory-empty-card,.memory-review-card{border-radius:16px;padding:14px}}
