.logo-icon[data-v-47613f6a]{display:block;shape-rendering:geometricPrecision}.header[data-v-13b29e8f]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:var(--text-color);padding:.55rem .8rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);position:fixed;top:0;left:0;right:0;width:100%;max-width:480px;margin:0 auto;z-index:1100;box-sizing:border-box}.left-cluster[data-v-13b29e8f]{display:flex;align-items:center;gap:.5rem}.brand[data-v-13b29e8f]{display:flex;align-items:center;gap:.55rem}.app-title[data-v-13b29e8f]{font-size:1.15rem;font-weight:600;margin:0;letter-spacing:.5px}.logo[data-v-13b29e8f]{display:block}.menu-slot[data-v-13b29e8f]{width:40px;display:flex;align-items:center;justify-content:flex-start}.menu-btn[data-v-13b29e8f]{background:#ffffff26;border:1px solid var(--border-strong);color:var(--text-color);padding:.5rem .65rem;border-radius:10px;font-size:1rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .3s,transform .2s}.menu-btn[data-v-13b29e8f]:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.right-cluster[data-v-13b29e8f]{display:flex;align-items:center;gap:.4rem}.icon-btn[data-v-13b29e8f]{background:#ffffff2e;border:1px solid var(--border-strong);color:var(--text-color);padding:.45rem;border-radius:10px;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,transform .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.icon-btn[data-v-13b29e8f]:hover{background:#ffffff52;transform:translateY(-2px)}.icon-btn[data-v-13b29e8f]:active{transform:translateY(0)}.icon[data-v-13b29e8f]{width:20px;height:20px;display:block}.announcements-btn[data-v-13b29e8f]{position:relative}.announcements-btn .badge[data-v-13b29e8f]{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:10px;background:#e11d48;color:#fff;border:1px solid var(--border-strong);font-size:10px;line-height:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.splash-overlay[data-v-665d7684]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 20% 10%,rgba(255,255,255,.08),transparent),radial-gradient(1000px 800px at 80% 80%,rgba(255,255,255,.06),transparent),var(--gradient, linear-gradient(135deg, #0f172a 0%, #111827 100%));color:var(--text-color, #fff)}.splash-card[data-v-665d7684]{width:min(440px,86vw);padding:1.4rem 1.2rem 1.6rem;border-radius:16px;border:1px solid var(--border-strong, rgba(255,255,255,.2));background:#ffffff0f;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);box-shadow:0 10px 30px #00000059;text-align:center}.logo-wrap[data-v-665d7684]{position:relative;width:140px;height:140px;margin:0 auto .5rem}.splash-img[data-v-665d7684]{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));animation:float-665d7684 3.2s ease-in-out infinite}.float-dot[data-v-665d7684]{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--primary, #60a5fa);opacity:.85}.dot1[data-v-665d7684]{left:-8px;top:24px;animation:drift1-665d7684 2.8s ease-in-out infinite}.dot2[data-v-665d7684]{right:-8px;bottom:18px;animation:drift2-665d7684 3.4s ease-in-out infinite;background:var(--primary-accent, #a78bfa)}.brand[data-v-665d7684]{margin:.4rem 0 .2rem;font-size:1.5rem;letter-spacing:.5px}.tagline[data-v-665d7684]{margin:0;opacity:.9;font-size:.95rem}@keyframes float-665d7684{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes drift1-665d7684{0%{transform:translate(0);opacity:.8}50%{transform:translate(6px,-10px);opacity:.5}to{transform:translate(0);opacity:.8}}@keyframes drift2-665d7684{0%{transform:translate(0);opacity:.8}50%{transform:translate(-8px,10px);opacity:.5}to{transform:translate(0);opacity:.8}}.tutorial-overlay[data-v-8b0c59a7]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tutorial-content[data-v-8b0c59a7]{padding:2rem;text-align:center;max-width:340px;width:100%;box-shadow:0 4px 18px -4px #00000059}.tutorial-content h3[data-v-8b0c59a7]{margin-top:0;margin-bottom:.75rem;font-size:1.25rem;line-height:1.3}.tutorial-content p[data-v-8b0c59a7]{margin:0 0 1.25rem;line-height:1.5}.tutorial-buttons[data-v-8b0c59a7]{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}@media (max-width:380px){.tutorial-content[data-v-8b0c59a7]{padding:1.5rem 1.25rem}}:root{--bg-color: #0F172A;--bg-alt: #1E1E2F;--text-color: #F9FAFB;--text-dim: #94A3B8;--primary: #38BDF8;--primary-accent: #A78BFA;--accent-green: #84CC16;--card-bg: rgba(255,255,255,.06);--card-border: rgba(255,255,255,.15);--gradient: linear-gradient(135deg,#0F172A 0%, #1E1E2F 100%);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 18px -2px rgba(0,0,0,.5);--shadow-lg: 0 8px 28px -4px rgba(0,0,0,.55);--success-bg: #16a34a;--error-bg: #dc2626;--warn-bg: #d97706;--border-strong: rgba(255,255,255,.25);--surface: var(--card-bg);--surface-alt: var(--bg-alt);--focus-ring: 0 0 0 3px rgba(56,189,248,.4);--font-stack: "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--fam-0-bg: rgba(255,255,255,.03);--fam-1-bg: rgba(255,215,0,.18);--fam-2-bg: rgba(16,185,129,.25);--fam0-bg: var(--card-bg);--fam0-fg: var(--text-color);--fam1-bg: #f59e0b;--fam1-fg: #111827;--fam2-bg: #22c55e;--fam2-fg: #ffffff;--fam3-bg: #3b82f6;--fam3-fg: #ffffff}[data-theme=futuristic]{--bg-color: #0F172A;--bg-alt: #1E1E2F;--text-color: #F9FAFB;--text-dim: #94A3B8;--primary: #38BDF8;--primary-accent: #A78BFA;--accent-green: #84CC16;--card-bg: rgba(255,255,255,.05);--card-border: rgba(255,255,255,.12);--gradient: radial-gradient(circle at 30% 20%, rgba(167,139,250,.15), transparent 60%), linear-gradient(140deg,#0F172A,#1E1E2F 60%);--font-stack: "Inter", "Poppins", "SF Pro Text", sans-serif;--fam-0-bg: rgba(255,255,255,.04);--fam-1-bg: rgba(250,204,21,.18);--fam-2-bg: rgba(16,185,129,.28);--fam0-bg: rgba(255,255,255,.06);--fam0-fg: #f8fafc;--fam1-bg: #f59e0b;--fam1-fg: #111827;--fam2-bg: #22c55e;--fam2-fg: #ffffff;--fam3-bg: #3b82f6;--fam3-fg: #ffffff}[data-theme=playful]{--bg-color: #F9FAF5;--bg-alt: #F3F4F6;--text-color: #111827;--text-dim: #374151;--primary: #10B981;--primary-accent: #60A5FA;--accent-green: #F97316;--card-bg: #FFFFFF;--card-border: #E5E7EB;--gradient: linear-gradient(135deg,#F9FAF5,#F3F4F6);--font-stack: "Poppins", "Inter", system-ui, sans-serif;--shadow-sm: 0 2px 6px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.12);--shadow-lg: 0 10px 32px -4px rgba(0,0,0,.12);--success-bg: #10B981;--error-bg: #EF4444;--warn-bg: #F59E0B;--border-strong: #d1d5db;--fam-0-bg: #fffbea;--fam-1-bg: #fde68a;--fam-2-bg: #bbf7d0;--fam0-bg: #fffbea;--fam0-fg: #111827;--fam1-bg: #f59e0b;--fam1-fg: #111827;--fam2-bg: #16a34a;--fam2-fg: #ffffff;--fam3-bg: #2563eb;--fam3-fg: #ffffff}[data-theme=global]{--bg-color: #F4E1C1;--bg-alt: #ffffff;--text-color: #1E3A8A;--text-dim: #4B5563;--primary: #DC2626;--primary-accent: #4D7C0F;--accent-green: #FACC15;--card-bg: #FFF9F0;--card-border: #E2D4BD;--gradient: linear-gradient(120deg,#F4E1C1,#FFE9D6 60%, #FFF 100%);--font-stack: "Playfair Display", "Inter", serif;--shadow-sm: 0 2px 6px rgba(0,0,0,.15);--shadow-md: 0 4px 18px rgba(0,0,0,.22);--shadow-lg: 0 10px 34px -4px rgba(0,0,0,.28);--success-bg: #4D7C0F;--error-bg: #DC2626;--warn-bg: #D97706;--border-strong: #c9b89e;--fam-0-bg: #fff9f0;--fam-1-bg: #fde68a;--fam-2-bg: #d9f99d;--fam0-bg: #fff9f0;--fam0-fg: #1E3A8A;--fam1-bg: #f59e0b;--fam1-fg: #1E3A8A;--fam2-bg: #4d7c0f;--fam2-fg: #ffffff;--fam3-bg: #dc2626;--fam3-fg: #ffffff}[data-theme=calm]{--bg-color: #F1F5F9;--bg-alt: #FAFAFA;--text-color: #1F2937;--text-dim: #475569;--primary: #3B82F6;--primary-accent: #6EE7B7;--accent-green: #C4B5FD;--card-bg: #FFFFFF;--card-border: #E2E8F0;--gradient: linear-gradient(150deg,#FFFFFF,#F1F5F9 70%);--font-stack: "Inter", system-ui, sans-serif;--shadow-sm: 0 2px 6px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 28px -4px rgba(0,0,0,.12);--success-bg: #22c55e;--error-bg: #ef4444;--warn-bg: #f59e0b;--border-strong: #cbd5e1;--fam-0-bg: #f1f5f9;--fam-1-bg: #fde68a;--fam-2-bg: #bbf7d0;--fam0-bg: #f1f5f9;--fam0-fg: #1f2937;--fam1-bg: #f59e0b;--fam1-fg: #1f2937;--fam2-bg: #22c55e;--fam2-fg: #ffffff;--fam3-bg: #3b82f6;--fam3-fg: #ffffff}[data-theme=bold]{--bg-color: #1E1E2F;--bg-alt: #1E1E2F;--text-color: #FFFFFF;--text-dim: #E2E8F0;--primary: #6366F1;--primary-accent: #0EA5E9;--accent-green: #EC4899;--card-bg: rgba(255,255,255,.08);--card-border: rgba(255,255,255,.2);--gradient: linear-gradient(135deg,#6366F1,#0EA5E9);--font-stack: "Space Grotesk", "Urbanist", "Inter", sans-serif;--shadow-sm: 0 2px 6px rgba(0,0,0,.35);--shadow-md: 0 4px 20px -2px rgba(0,0,0,.55);--shadow-lg: 0 10px 34px -4px rgba(0,0,0,.6);--success-bg: #10b981;--error-bg: #f87171;--warn-bg: #f59e0b;--border-strong: rgba(255,255,255,.35);--fam-0-bg: rgba(255,255,255,.06);--fam-1-bg: rgba(253,224,71,.22);--fam-2-bg: rgba(16,185,129,.3);--fam0-bg: rgba(255,255,255,.08);--fam0-fg: #ffffff;--fam1-bg: #f59e0b;--fam1-fg: #111827;--fam2-bg: #10b981;--fam2-fg: #091b1a;--fam3-bg: #6366f1;--fam3-fg: #0b1020}body,.app-container{background:var(--gradient);color:var(--text-color);font-family:var(--font-stack)}.app-container{background:var(--bg-alt)}.action-btn{background:var(--primary);color:var(--text-color);transition:background .25s,transform .15s}.action-btn.secondary{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border)}.action-btn:hover{filter:brightness(1.08)}.action-btn:active{transform:translateY(1px)}.learning-content,.settings-section{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%)}input,select{background:var(--bg-alt);color:var(--text-color);border:1px solid var(--card-border)}input:focus,select:focus{outline:none;box-shadow:var(--focus-ring)}.vocab-grid .card,.reading-article{background:var(--card-bg);border:1px solid var(--card-border)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-alt)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:5px}.settings-section[data-v-259cb653]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.settings-section h3[data-v-259cb653]{margin-bottom:1rem;color:var(--text-color);font-size:1.1rem}.input-group[data-v-259cb653]{margin-bottom:1rem}.input-group label[data-v-259cb653]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dim)}.account-row[data-v-259cb653]{display:flex;align-items:center;gap:.75rem}.user-block[data-v-259cb653]{display:flex;align-items:center;gap:.6rem;flex:1 1 auto}.user-info .label[data-v-259cb653]{font-size:.8rem;color:var(--text-dim)}.user-info .value[data-v-259cb653]{font-weight:600}.user-info.dim[data-v-259cb653]{color:var(--text-dim)}.avatar[data-v-259cb653]{width:36px;height:36px;border-radius:50%;border:1px solid var(--card-border);object-fit:cover}.actions[data-v-259cb653]{display:flex;gap:.5rem}.cloud-row[data-v-259cb653]{display:flex;align-items:center;gap:.6rem}.input-group.disabled[data-v-259cb653]{opacity:.6}.learning-actions[data-v-259cb653]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-bottom:1rem}.action-btn[data-v-259cb653]{padding:.75rem .5rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer}.feedback[data-v-259cb653]{padding:.75rem;border-radius:8px;margin-top:.5rem;border:1px solid var(--card-border)}.feedback.success[data-v-259cb653]{color:var(--success-bg)}.feedback.error[data-v-259cb653]{color:var(--error-bg)}section[data-v-0f0ea972]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.25rem}.lead[data-v-0f0ea972]{opacity:.9}.warning[data-v-0f0ea972]{margin:.5rem 0 1rem;padding:.75rem;border:1px solid var(--error-border, #b00020);background:#b0002014;color:var(--error-fg, #b00020);border-radius:8px;font-size:.9rem}.steps[data-v-0f0ea972]{margin:.5rem 0 1rem;padding-left:1.25rem}.external[data-v-0f0ea972]{color:var(--primary);text-decoration:underline}.screenshot[data-v-0f0ea972]{margin-top:1rem}.guide-screenshot[data-v-0f0ea972]{width:100%;border:1px solid var(--card-border);border-radius:8px;background:var(--bg-alt);cursor:zoom-in}.img-preview-modal[data-v-0f0ea972]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2200;padding:1rem}.img-preview-inner[data-v-0f0ea972]{background:var(--bg-alt);border:1px solid var(--card-border);border-radius:12px;max-width:min(1000px,95vw);max-height:90vh;padding:.5rem;box-shadow:var(--shadow-lg)}.img-preview-inner img[data-v-0f0ea972]{display:block;max-width:100%;max-height:85vh;border-radius:8px}.selector-group[data-v-88dffc75]{margin-bottom:1.5rem}.selector-group label[data-v-88dffc75]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dim)}.selector[data-v-88dffc75]{width:100%;padding:.75rem;border:1px solid var(--card-border);border-radius:8px;font-size:1rem;background:var(--bg-alt);color:var(--text-color)}.selector[data-v-88dffc75]:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.start-wrapper[data-v-88dffc75]{margin-top:2rem;text-align:center}.start-btn[data-v-88dffc75]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:var(--text-color);border:none;padding:.9rem 2rem;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s,opacity .3s}.start-btn[data-v-88dffc75]:disabled{opacity:.4;cursor:not-allowed}.start-btn[data-v-88dffc75]:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.visually-hidden[data-v-88dffc75]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.recent-combos[data-v-88dffc75]{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.recent-combo-btn[data-v-88dffc75]{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-alt);color:var(--text-color);border:1px solid var(--card-border);padding:.35rem .75rem;border-radius:20px;font-size:.8rem;opacity:.5;cursor:pointer;transition:opacity .2s,background .2s,box-shadow .2s}.recent-combo-btn .icon[data-v-88dffc75]{display:inline-flex}.recent-combo-btn[data-v-88dffc75]:hover{opacity:.85;background:var(--bg-alt-hover, var(--bg-alt));box-shadow:var(--shadow-sm)}.vocab-card[data-v-fe5cd7e4]{perspective:1000px;cursor:pointer;position:relative;height:160px}.inner[data-v-fe5cd7e4]{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flipped .inner[data-v-fe5cd7e4]{transform:rotateY(180deg)}.face[data-v-fe5cd7e4]{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:1rem;box-shadow:var(--shadow-md)}.front[data-v-fe5cd7e4]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:var(--text-color)}.back[data-v-fe5cd7e4]{background:var(--card-bg);color:var(--text-color);transform:rotateY(180deg);border:1px solid var(--card-border)}.word[data-v-fe5cd7e4]{font-size:1.3rem;font-weight:600}.pron-kana[data-v-fe5cd7e4]{margin-top:.4rem;opacity:.95}.pron-romaji[data-v-fe5cd7e4]{margin-top:.15rem;opacity:.8;font-size:.95rem;letter-spacing:.2px}.meaning[data-v-fe5cd7e4]{font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.example[data-v-fe5cd7e4]{font-style:italic;line-height:1.4;color:var(--text-dim);font-size:.9rem}.vocab-card[data-v-fe5cd7e4]:focus{outline:3px solid var(--primary)}.tts-btn[data-v-fe5cd7e4]{position:absolute;top:4px;right:4px;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-color);border:1px solid rgba(255,255,255,.25);border-radius:6px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;box-shadow:0 1px 2px #0006;transition:background .2s,opacity .2s,color .2s;padding:0}.front .tts-btn[data-v-fe5cd7e4]{color:#fff}.back .tts-btn[data-v-fe5cd7e4]{background:#00000014;color:var(--text-color);border-color:var(--card-border)}.tts-btn[data-v-fe5cd7e4]:hover{opacity:1;background:#ffffff40}.tts-btn svg[data-v-fe5cd7e4]{filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.learning-root[data-v-6c9eac29]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.learning-content[data-v-6c9eac29]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;min-height:200px;display:flex;flex-direction:column;height:51vh}.learning-content>.vocab-grid[data-v-6c9eac29]{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.learning-actions[data-v-6c9eac29]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:1rem;align-items:stretch}.learning-actions>.action-btn[data-v-6c9eac29]{width:100%}.review-quiz-inline[data-v-6c9eac29]{display:grid;grid-template-columns:8fr 2fr;gap:.35rem;align-items:center;grid-column:1 / -1}.review-quiz-inline>.action-btn[data-v-6c9eac29]{width:100%;min-width:0}.review-quiz-inline .cfg-btn[data-v-6c9eac29]{padding:.4rem .5rem;font-size:26px}.action-btn[data-v-6c9eac29]{padding:.75rem .5rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer}.loading[data-v-6c9eac29]{display:flex;justify-content:center;align-items:center;padding:2rem}.spinner[data-v-6c9eac29]{width:32px;height:32px;border:3px solid var(--card-border);border-top:3px solid var(--primary);border-radius:50%;animation:spin-6c9eac29 1s linear infinite}@keyframes spin-6c9eac29{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vocab-grid[data-v-6c9eac29]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.reading-article h3[data-v-6c9eac29]{margin-top:0}.reading-article .passage[data-v-6c9eac29]{line-height:1.6;white-space:pre-wrap}.reading-questions[data-v-6c9eac29]{margin:0;padding-left:1.1rem}.reading-questions .question-text[data-v-6c9eac29]{font-weight:600}.modal[data-v-6c9eac29]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-inner[data-v-6c9eac29]{background:var(--bg-alt);border:1px solid var(--card-border);border-radius:12px;max-width:420px;width:90%;padding:1.25rem 1rem 1.5rem;position:relative;box-shadow:var(--shadow-lg)}.modal-inner h3[data-v-6c9eac29]{margin-top:0}.close-btn[data-v-6c9eac29]{position:absolute;top:.4rem;right:.5rem;background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-color)}.learned-list[data-v-6c9eac29]{list-style:none;padding:0;margin:.5rem 0 0;max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.learned-list .empty[data-v-6c9eac29]{opacity:.6;font-style:italic}.learned-row[data-v-6c9eac29]{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-color)}.lw-word[data-v-6c9eac29]{flex:0 0 25%;max-width:25%;font-weight:600;word-break:break-word}.lw-meaning[data-v-6c9eac29]{flex:1 1 auto;min-width:0;word-break:break-word;white-space:pre-wrap}.learned-row.fam-0[data-v-6c9eac29]{background:var(--fam-0-bg, rgba(255,255,255,.03))}.learned-row.fam-1[data-v-6c9eac29]{background:var(--fam-1-bg, rgba(255,215,0,.15))}.learned-row.fam-2[data-v-6c9eac29]{background:var(--fam-2-bg, rgba(0,200,120,.2))}.article-text[data-v-6c9eac29]{white-space:pre-wrap;line-height:1.5;margin-bottom:1rem}.grammar-notes[data-v-6c9eac29]{margin:0;padding-left:1.1rem;font-size:.85rem}.article-body[data-v-6c9eac29]{display:flex;flex-direction:column;gap:.75rem}.article-paragraph[data-v-6c9eac29]{position:relative;padding-left:2rem}.article-paragraph .tts-btn[data-v-6c9eac29]{position:absolute;left:0;top:2px;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-color);border:1px solid rgba(255,255,255,.25);border-radius:6px;width:30px;height:30px;cursor:pointer;opacity:.8;box-shadow:0 1px 2px #0006;transition:background .2s,opacity .2s;display:flex;align-items:center;justify-content:center;padding:0}.article-paragraph .tts-btn[data-v-6c9eac29]:hover{opacity:1;background:#00000080}.article-paragraph .tts-btn svg[data-v-6c9eac29]{filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.quiz-free-answer[data-v-6c9eac29]{margin-top:.75rem}.free-answer-input[data-v-6c9eac29]{width:100%;padding:.6rem .7rem;border:1px solid var(--card-border);border-radius:8px;background:var(--bg-alt);color:var(--text-color);font-size:.9rem}.free-answer-input[data-v-6c9eac29]:focus{outline:none;box-shadow:var(--focus-ring)}.quiz-options[data-v-6c9eac29]{display:grid;gap:.5rem;margin-top:.75rem}.quiz-option[data-v-6c9eac29]{text-align:left;padding:.55rem .65rem;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-color);border-radius:8px;cursor:pointer;font-size:.8rem;line-height:1.3;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.quiz-option[data-v-6c9eac29]:hover:not(:disabled):not(.correct):not(.incorrect):not(.selected){background:var(--bg-alt)}.quiz-option[data-v-6c9eac29]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.quiz-option.selected[data-v-6c9eac29]{border-color:var(--primary);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:var(--text-color)}.quiz-option.correct[data-v-6c9eac29]{border-color:var(--success-border, var(--success-bg));background:var(--success-bg);color:#fff}.quiz-option.incorrect[data-v-6c9eac29]{border-color:var(--error-border, var(--error-bg));background:var(--error-bg);color:#fff}.quiz-option[data-v-6c9eac29]:disabled{opacity:.85;cursor:default}.action-btn.disabled[data-v-6c9eac29],.action-btn[data-v-6c9eac29]:disabled{background:var(--card-bg);color:var(--text-dim);cursor:not-allowed;filter:none}.quiz-feedback[data-v-6c9eac29]{margin-top:.75rem;font-size:.8rem;font-weight:600}.quiz-feedback.success[data-v-6c9eac29]{color:var(--success-fg, #1e6f4d)}.quiz-feedback.error[data-v-6c9eac29]{color:var(--error-fg, #b00020)}.quiz-summary[data-v-6c9eac29]{padding-top:.25rem}.quiz-summary-score[data-v-6c9eac29]{font-weight:600}.quiz-summary-score .percent[data-v-6c9eac29]{color:var(--text-dim);margin-left:.25rem;font-weight:500}.quiz-review[data-v-6c9eac29]{margin-top:.75rem}.quiz-review-title[data-v-6c9eac29]{margin:0 0 .35rem;font-size:.9rem;opacity:.85}.quiz-review-item[data-v-6c9eac29]{padding:.4rem .5rem;border:1px solid var(--card-border);border-radius:8px;background:var(--card-bg);margin-bottom:.4rem;font-size:.82rem}.quiz-review-item .q[data-v-6c9eac29]{font-weight:600;margin-bottom:.2rem}.quiz-review-item .a[data-v-6c9eac29],.quiz-review-item .c[data-v-6c9eac29]{opacity:.95}.refresh-icon-btn[data-v-6c9eac29]{position:absolute;top:.36rem;right:2rem;background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-color);opacity:.9}.grammar-notes li[data-v-6c9eac29]{margin-bottom:.4rem}.article-modal .modal-inner[data-v-6c9eac29]{width:90%;max-width:900px;height:80vh;display:flex;flex-direction:column}.article-modal .article-body[data-v-6c9eac29]{overflow:auto;flex:1 1 auto;min-height:0}.article-modal .modal-inner h3[data-v-6c9eac29]{flex:0 0 auto}.article-ai-title[data-v-6c9eac29]{font-weight:500;font-size:.85rem;opacity:.8;margin-left:.25rem}.refresh-options[data-v-6c9eac29]{display:flex;flex-direction:column;gap:.75rem}.refresh-options button[data-v-6c9eac29]{width:100%}.quiz-refresh-confirm .confirm-text[data-v-6c9eac29]{margin:.25rem 0 .75rem;opacity:.9;font-size:.9rem}.review-config-body[data-v-6c9eac29]{display:flex;flex-direction:column;gap:.5rem}.cfg-rows[data-v-6c9eac29]{display:grid;grid-template-columns:1fr;gap:.25rem}.cfg-row[data-v-6c9eac29]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cfg-row input[type=number][data-v-6c9eac29]{width:100px;padding:.35rem .4rem;border:1px solid var(--card-border);border-radius:6px;background:var(--bg-alt);color:var(--text-color)}.cfg-hint[data-v-6c9eac29]{font-size:.8rem;opacity:.8;margin:.25rem 0 0}.sections-checklist[data-v-6c9eac29]{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.section-check[data-v-6c9eac29]{display:flex;align-items:center;gap:.45rem}.section-check .dim[data-v-6c9eac29]{opacity:.7;font-size:.85rem}.checklist-actions[data-v-6c9eac29]{display:flex;gap:.5rem;margin-top:.25rem}.word-popup .word-body[data-v-6c9eac29]{display:flex;flex-direction:column;gap:.4rem;margin:.25rem 0 .5rem}.word-popup .wp-word[data-v-6c9eac29]{font-size:1.4rem;font-weight:700}.word-popup .wp-pron[data-v-6c9eac29]{opacity:.85}.word-popup .wp-meaning[data-v-6c9eac29]{font-weight:600}.word-popup .wp-example[data-v-6c9eac29]{font-style:italic;color:var(--text-dim)}.wp-examples[data-v-6c9eac29]{margin-top:.75rem}.wp-example-section[data-v-6c9eac29]{padding:.5rem;background:var(--bg-alt);border-radius:8px;border:1px solid var(--card-border)}.wp-example-title[data-v-6c9eac29]{font-size:.9rem;font-weight:600;margin:0 0 .5rem;color:var(--text-color);opacity:.9}.wp-example-jp[data-v-6c9eac29]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;line-height:1.4}.wp-example-jp .example-tts[data-v-6c9eac29]{flex-shrink:0;margin-top:.15rem}.wp-example-jp .example-text[data-v-6c9eac29]{flex:1;color:var(--text-color)}.wp-example-translation[data-v-6c9eac29]{font-size:.9rem;color:var(--text-dim);font-style:italic;line-height:1.3;padding-left:1.75rem}.wp-example-translation.tsv-reference[data-v-6c9eac29]{background:#00000008;border-left:3px solid var(--primary);padding:.5rem .75rem .5rem 1rem;margin-top:.5rem;border-radius:0 6px 6px 0;font-style:normal}.translation-label[data-v-6c9eac29]{font-weight:600;font-size:.8rem;color:var(--primary);display:inline-block;margin-right:.25rem;opacity:.9}.example-tts[data-v-6c9eac29]{background:#0000000d;color:var(--text-color);border:1px solid var(--card-border);border-radius:4px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:background .2s,opacity .2s;padding:0}.example-tts[data-v-6c9eac29]:hover{opacity:1;background:#0000001a}.wp-nav[data-v-6c9eac29]{display:flex;justify-content:space-between;align-items:center;margin:.25rem 0}.wp-nav .nav-btn[data-v-6c9eac29]{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);border-radius:8px;padding:.35rem .5rem;cursor:pointer}.wp-nav .nav-btn[data-v-6c9eac29]:hover{filter:brightness(1.05)}.familiarity-actions[data-v-6c9eac29]{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}.fam-btn[data-v-6c9eac29]{border:1px solid var(--card-border)}.fam-btn.fam-0[data-v-6c9eac29]{background:var(--fam0-bg, var(--card-bg));color:var(--fam0-fg, var(--text-color))}.fam-btn.fam-1[data-v-6c9eac29]{background:var(--fam1-bg, #f59e0b);color:var(--fam1-fg, #111)}.fam-btn.fam-2[data-v-6c9eac29]{background:var(--fam2-bg, #22c55e);color:var(--fam2-fg, #fff)}.fam-btn.fam-3[data-v-6c9eac29]{background:var(--fam3-bg, #3b82f6);color:var(--fam3-fg, #fff)}.fam-btn[data-v-6c9eac29]:hover{filter:brightness(1.05)}.fam-btn.active[data-v-6c9eac29]{outline:none;box-shadow:0 0 0 2px var(--primary) inset,0 0 0 1px var(--primary);border-color:var(--primary)}.fam-btn[aria-pressed=true][data-v-6c9eac29]{box-shadow:0 0 0 2px var(--primary) inset,0 0 0 1px var(--primary)}.section-selection[data-v-6c9eac29]{margin:2rem 0;text-align:center;height:65vh;margin-top:10px}.section-indicator[data-v-6c9eac29]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--text-dim)}.copy-link-btn[data-v-6c9eac29]{background:#0000000f;color:var(--text-color);border:1px solid var(--card-border);border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}.copy-link-btn[data-v-6c9eac29]:hover{filter:brightness(1.05)}.copy-confirm[data-v-6c9eac29]{font-size:.85rem;color:var(--success-fg, #1e6f4d)}.section-selection h3[data-v-6c9eac29]{margin-bottom:1.5rem;color:var(--text-color);font-size:1.2rem}.section-grid[data-v-6c9eac29]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:800px;margin:0 auto}.section-selection .section-grid[data-v-6c9eac29]{height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(2,minmax(0,1fr))}.section-btn[data-v-6c9eac29]{background:var(--card-bg);color:var(--text-color);border:2px solid var(--card-border);border-radius:12px;padding:1.5rem 1rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:120px;justify-content:center}.section-btn[data-v-6c9eac29]:hover{border-color:var(--primary);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.section-btn[data-v-6c9eac29]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.section-title[data-v-6c9eac29]{font-size:1.1rem;font-weight:600}.section-count[data-v-6c9eac29]{font-size:.9rem;opacity:.8;font-weight:500}.section-btn:hover .section-count[data-v-6c9eac29]{opacity:1}.learned-list[data-v-6c9eac29]{position:relative}.learned-row[data-v-6c9eac29]{position:relative;overflow:hidden;min-height:28px}.learned-row .lw-fill[data-v-6c9eac29]{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-accent) 100%);opacity:.18;pointer-events:none;z-index:0}.learned-row .lw-word[data-v-6c9eac29],.learned-row .lw-meaning[data-v-6c9eac29]{position:relative;z-index:1}.learned-row .lw-word.linklike[data-v-6c9eac29]{background:none;border:none;color:var(--primary);text-decoration:underline;cursor:pointer;padding:0;font:inherit}.pager[data-v-6c9eac29]{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.5rem 0}.page-btn[data-v-6c9eac29]{padding:.25rem .5rem;border:1px solid var(--card-border);background:var(--bg-alt);color:var(--text-color);border-radius:6px}.learned-list[data-v-6c9eac29]:empty,.learned-list .empty[data-v-6c9eac29]{min-height:80px;display:flex;align-items:center;justify-content:center}.vocab-grid .vocab-card.target-highlight[data-v-6c9eac29]{outline:3px solid var(--primary);box-shadow:0 0 0 4px #0080ff33;transition:outline-color .6s ease,box-shadow .6s ease}.quiz-container[data-v-f6764629]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.quiz-header[data-v-f6764629]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.quiz-progress[data-v-f6764629]{background:var(--card-border);height:4px;border-radius:2px;overflow:hidden;margin-bottom:1.5rem}.quiz-progress-fill[data-v-f6764629]{height:100%;background:var(--primary);transition:width .3s}.question[data-v-f6764629]{font-size:1.1rem;line-height:1.5;margin-bottom:1.5rem}.options[data-v-f6764629]{display:flex;flex-direction:column;gap:.5rem}.option[data-v-f6764629]{padding:.75rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;cursor:pointer;transition:all .3s;color:var(--text-color)}.option[data-v-f6764629]:hover{border-color:var(--primary);background:#ffffff0a}.option.selected[data-v-f6764629]{border-color:var(--primary);background:var(--primary);color:var(--text-color)}.option.correct[data-v-f6764629]{border-color:var(--success-bg);background:var(--success-bg);color:#fff}.option.incorrect[data-v-f6764629]{border-color:var(--error-bg);background:var(--error-bg);color:#fff}.feedback[data-v-f6764629]{padding:1rem;border-radius:8px;margin:1rem 0;font-weight:500;background:var(--card-bg);border:1px solid var(--card-border)}.feedback.success[data-v-f6764629]{color:var(--success-bg)}.feedback.error[data-v-f6764629]{color:var(--error-bg)}.learning-actions[data-v-f6764629]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-top:1rem}.action-btn[data-v-f6764629]{padding:.75rem .5rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer}.settings-section[data-v-797a6760]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.settings-section h3[data-v-797a6760]{margin-bottom:1rem;color:var(--text-color);font-size:1.1rem}.input-group[data-v-797a6760]{margin-bottom:1rem}.input-group label[data-v-797a6760]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dim)}.input-group input[data-v-797a6760],.input-group select[data-v-797a6760]{width:100%;padding:.75rem;border:1px solid var(--card-border);border-radius:8px;font-size:.95rem;background:var(--bg-alt);color:var(--text-color)}.toggle-row[data-v-797a6760]{display:flex;align-items:center;gap:.5rem}.toggle-row label[data-v-797a6760]{display:inline-block;margin:0}.toggle-row input[type=checkbox][data-v-797a6760]{width:auto;padding:0;border:none;background:transparent}.api-key-guide[data-v-797a6760]{margin-top:.35rem}.api-key-guide a[data-v-797a6760]{color:var(--primary);text-decoration:underline;font-size:.9rem}.stats-grid[data-v-797a6760]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card[data-v-797a6760]{color:#fff;padding:1rem;border-radius:8px;text-align:center}.stat-value[data-v-797a6760]{font-size:1.5rem;font-weight:700;display:block}.stat-label[data-v-797a6760]{font-size:.85rem;opacity:.9}.feedback[data-v-797a6760]{padding:1rem;border-radius:8px;margin:1rem 0;font-weight:500;background:var(--card-bg);border:1px solid var(--card-border)}.feedback.success[data-v-797a6760]{color:var(--success-bg)}.feedback.error[data-v-797a6760]{color:var(--error-bg)}.learning-actions[data-v-797a6760]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-bottom:1rem}.action-btn[data-v-797a6760]{padding:.75rem .5rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer}.account-row[data-v-797a6760]{display:flex;align-items:center;gap:.75rem}.user-block[data-v-797a6760]{display:flex;align-items:center;gap:.6rem;flex:1 1 auto}.user-info .label[data-v-797a6760]{font-size:.8rem;color:var(--text-dim)}.user-info .value[data-v-797a6760]{font-weight:600}.user-info.dim[data-v-797a6760]{color:var(--text-dim)}.avatar[data-v-797a6760]{width:36px;height:36px;border-radius:50%;border:1px solid var(--card-border);object-fit:cover}.actions[data-v-797a6760]{display:flex;gap:.5rem}.cloud-row[data-v-797a6760]{display:flex;align-items:center;gap:.6rem}.input-group.disabled[data-v-797a6760]{opacity:.6}body{margin:0;font-family:var(--font-stack);background:var(--gradient);color:var(--text-color);min-height:100vh}.app-container{max-width:480px;margin:0 auto;background:var(--bg-alt);height:100vh;height:100dvh;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.main-content{padding:4.25rem 1.5rem 1.5rem;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:transform .3s}.main-content.shifted{transform:translate(160px)}.side-drawer{position:absolute;top:0;left:0;bottom:0;width:150px;padding:0 .75rem 1rem;background:var(--bg-alt);border-right:1px solid var(--card-border);transform:translate(-100%);transition:transform .3s;z-index:1000;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.side-drawer.open{transform:translate(0)}.drawer-header{height:56px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);margin:0 -.75rem .75rem;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-strong)}.drawer-nav{flex:1 1 auto;overflow-y:auto}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900}.mode-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.mode-btn{width:100%;text-align:left;padding:.6rem .7rem;border:1px solid var(--card-border);background:var(--bg-alt);color:var(--text-color);border-radius:6px;font-size:.8rem;cursor:pointer}.mode-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-accent) 100%);color:var(--text-color);box-shadow:var(--shadow-sm);border-color:var(--primary)}.app-footer{padding:.9rem 1rem 1.4rem;font-size:.65rem;line-height:1.2;text-align:center;color:var(--text-color);opacity:.75}.app-footer .disclaimer{font-style:italic}.section{display:none}.section.active{display:block}.hidden{display:none!important}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal .modal-inner{background:var(--bg-alt);border:1px solid var(--card-border);border-radius:12px;max-width:480px;width:90%;padding:1.25rem 1rem;position:relative;box-shadow:var(--shadow-lg)}.modal .close-btn{position:absolute;top:.4rem;right:.5rem;background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-color)}.announcements-modal .ann-list{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow:auto}.ann-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;border:1px solid var(--card-border);background:var(--bg-alt);color:var(--text-color);border-radius:8px;cursor:pointer;text-align:left}.ann-row:hover{background:var(--bg)}.ann-row-title{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ann-row-date{font-size:.8rem;opacity:.8;flex:0 0 auto}.ann-detail-header{border-bottom:1px solid var(--card-border);margin-bottom:.6rem;padding-right:1.5rem}.ann-detail-title{margin:.2rem 0}.ann-detail-date{font-size:.85rem;opacity:.8;margin-bottom:.2rem}.ann-detail-body{max-height:58vh;overflow:auto}.ann-detail-body :is(h3,h4){margin:.35rem 0}.ann-detail-body ul{margin:.25rem 0 .25rem 1.1rem;padding:0}.ann-detail-body p{margin:.25rem 0}.ann-detail-footer{display:flex;justify-content:flex-end;margin-top:.6rem}.ann-detail-footer .back-btn{padding:.5rem .8rem;border:1px solid var(--card-border);background:var(--bg-alt);color:var(--text-color);border-radius:8px;cursor:pointer}
