:root{--accent: #6366f1;--accent-strong: #4f46e5;--accent-soft: #eef0ff;--background: #fbfbfd;--card: #ffffff;--surface: #ffffff;--surface-muted: #f4f5f9;--surface-hover: #f6f7fb;--topbar: rgba(251, 251, 253, .86);--mobile-nav-bg: rgba(255, 255, 255, .95);--line: rgba(15, 23, 42, .075);--line-strong: rgba(15, 23, 42, .14);--ink: #0f172a;--ink-2: #475569;--ink-3: #8b98aa;--learning: #f59e0b;--learning-bg: #fef6e7;--learning-ink: #a95208;--review: #f43f5e;--review-bg: #fef2f4;--review-ink: #be123c;--mastered: #10b981;--mastered-bg: #ecfdf5;--mastered-ink: #047857;--danger: #b91c1c;--radius: 18px;--radius-small: 12px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px -16px rgba(15, 23, 42, .2);--shadow-large: 0 2px 5px rgba(15, 23, 42, .04), 0 28px 54px -26px rgba(15, 23, 42, .3);--sidebar-width: 246px;--page-width: 940px}:root[data-theme=dark]{--accent: #818cf8;--accent-strong: #a5b4fc;--accent-soft: #24264a;--background: #0b1120;--card: #121a2b;--surface: #121a2b;--surface-muted: #1a2437;--surface-hover: #202b40;--topbar: rgba(11, 17, 32, .88);--mobile-nav-bg: rgba(18, 26, 43, .96);--line: rgba(226, 232, 240, .1);--line-strong: rgba(226, 232, 240, .2);--ink: #f1f5f9;--ink-2: #cbd5e1;--ink-3: #94a3b8;--learning-bg: #3a2a12;--learning-ink: #fbbf24;--review-bg: #3d1722;--review-ink: #fda4af;--mastered-bg: #0c3028;--mastered-ink: #6ee7b7;--danger: #fca5a5;--shadow: 0 1px 2px rgba(0, 0, 0, .24), 0 14px 32px -18px rgba(0, 0, 0, .72);--shadow-large: 0 2px 6px rgba(0, 0, 0, .3), 0 30px 60px -28px rgba(0, 0, 0, .9)}::selection{color:var(--accent-strong);background:#dfe1ff}:focus-visible{outline:3px solid rgba(99,102,241,.5);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--ink-2)}.eyebrow{display:block;color:var(--ink-3);font-size:.72rem;font-weight:750;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.15rem;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;font-weight:680;line-height:1.2;transition:transform .12s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.58}.button-primary{color:#fff;background:var(--accent);box-shadow:0 2px 4px #4f46e533,0 12px 24px -14px #4f46e5e6}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-ghost{border-color:var(--line-strong);background:#fff;color:var(--ink-2)}.button-ghost:hover:not(:disabled){border-color:#b9c1cd;background:#f8f9fc;color:var(--ink)}.button-quiet{color:var(--ink-2)}.button-quiet:hover:not(:disabled){background:#f2f3f7;color:var(--ink)}.button-saved{border-color:#a7f3d0;background:var(--mastered-bg);color:var(--mastered-ink)}.button-large{min-height:52px;padding:.82rem 1.35rem;font-size:1rem}.button-small{min-height:35px;padding:.45rem .8rem;border-radius:9px;font-size:.8rem}.button-block{width:100%}.text-button{padding:0;background:transparent;color:var(--accent-strong);cursor:pointer;font-weight:680}.text-button:hover{text-decoration:underline}.icon-button{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:transparent;cursor:pointer}.theme-menu-wrap{position:relative;flex:0 0 auto}.theme-trigger{border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.theme-trigger:hover{background:var(--surface-hover);color:var(--ink)}.theme-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:80;display:flex;width:170px;flex-direction:column;gap:.2rem;padding:.4rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-large)}.theme-menu button{display:grid;min-height:38px;grid-template-columns:22px 1fr 18px;align-items:center;gap:.4rem;padding:.45rem .55rem;border-radius:8px;background:transparent;color:var(--ink-2);cursor:pointer;text-align:left}.theme-menu button:hover,.theme-menu button.is-selected{background:var(--accent-soft);color:var(--accent-strong)}.card{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.app-shell{display:flex;min-height:100vh;background:var(--background)}.desktop-sidebar{position:sticky;top:0;display:flex;width:var(--sidebar-width);height:100vh;flex:0 0 var(--sidebar-width);flex-direction:column;padding:1.65rem 1rem;border-right:1px solid var(--line);background:#fff;z-index:30}.brand{display:inline-flex;align-items:center;gap:.62rem;padding:0 .6rem}.brand-mark{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:9px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;box-shadow:0 6px 14px -6px #6366f1cc}.brand-name{font-size:1.03rem;font-weight:760;letter-spacing:-.025em}.brand-tag{padding:.05rem .34rem;border-radius:5px;background:var(--accent-soft);color:var(--accent-strong);font-size:.63rem;font-weight:800;letter-spacing:.07em}.brand-compact{display:none;padding:0}.primary-nav{display:flex;flex-direction:column;gap:.15rem;margin-top:1.55rem}.nav-link{display:flex;min-height:42px;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:10px;color:var(--ink-2);font-size:.9rem;font-weight:560;transition:background-color .16s ease,color .16s ease}.nav-link:hover{background:#f6f7fb;color:var(--ink)}.nav-link.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:680}.nav-count{min-width:20px;margin-left:auto;padding:0 .38rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.7rem;font-variant-numeric:tabular-nums;line-height:20px;text-align:center}.sidebar-footer{display:flex;flex-direction:column;gap:.8rem;margin-top:auto;padding:0 .55rem}.sidebar-footer>p{color:var(--ink-3);font-size:.69rem;line-height:1.55}.account-chip{display:flex;min-width:0;align-items:center;gap:.6rem;padding:.48rem;border-radius:10px}.account-chip:hover{background:#f6f7fb}.account-chip>span:last-child{display:flex;min-width:0;flex-direction:column}.account-chip strong,.account-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chip strong{font-size:.78rem}.account-chip small{color:var(--ink-3);font-size:.67rem}.avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid #d9dcff;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:800}.app-main{min-width:0;flex:1}.topbar{position:sticky;top:0;z-index:25;padding:.76rem 1.75rem;border-bottom:1px solid var(--line);background:var(--topbar);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px)}.topbar-inner{display:flex;max-width:var(--page-width);align-items:center;gap:.8rem;margin:0 auto}.topbar-search{min-width:0;flex:1}.topbar-account{border-radius:50%}.topbar-signin{min-height:40px;white-space:nowrap}.app-canvas{padding:1.9rem 1.75rem 6rem}.page-wrap{width:100%;max-width:var(--page-width);margin:0 auto;animation:page-in .24s cubic-bezier(.22,.8,.3,1) both}.narrow-page,.detail-page{max-width:780px}@keyframes page-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.mobile-nav{display:none}.offline-banner,.global-error{display:flex;max-width:var(--page-width);align-items:center;gap:.55rem;margin:.8rem auto 0;padding:.65rem .85rem;border-radius:10px;font-size:.82rem}.offline-banner{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.global-error{justify-content:space-between;border:1px solid #fecaca;background:#fff7f7;color:var(--danger)}.global-error button{padding:.25rem;background:transparent;color:inherit;cursor:pointer}.search-box{width:100%}.search-form{position:relative;display:flex;align-items:center;gap:.65rem;border:1px solid var(--line-strong);background:#fff;color:var(--ink-3);transition:border-color .18s ease,box-shadow .18s ease}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #6366f11f}.search-form-compact{min-height:42px;padding:.38rem .45rem .38rem .85rem;border-radius:999px}.search-form-hero{min-height:68px;padding:.65rem .72rem .65rem 1.05rem;border-radius:17px;box-shadow:var(--shadow)}.search-form input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink)}.search-form-hero input{font-size:1.08rem}.search-form input::placeholder{color:#99a4b4}.search-submit{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:11px;background:var(--accent);color:#fff;cursor:pointer}.search-form-compact .search-submit{width:32px;height:32px;flex-basis:32px;border-radius:50%}.search-submit:disabled{cursor:default;opacity:.45}.search-error{position:absolute;top:calc(100% + .45rem);left:.6rem;z-index:10;max-width:calc(100% - 1.2rem);padding:.42rem .65rem;border:1px solid #fecaca;border-radius:8px;background:#fff;color:var(--danger);box-shadow:var(--shadow);font-size:.75rem}.search-suggestions{display:flex;align-items:center;gap:.55rem;margin-top:.65rem}.search-suggestions-label{flex:0 0 auto;color:var(--ink-3);font-size:.75rem;font-weight:650}.search-suggestion-list{display:flex;min-width:0;flex-wrap:wrap;gap:.42rem}.search-suggestion{display:inline-flex;min-height:34px;align-items:center;gap:.42rem;padding:.32rem .62rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}.search-suggestion:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent);background:var(--accent-soft)}.search-suggestion:focus-visible{outline:3px solid rgba(99,102,241,.2);outline-offset:2px}.search-suggestion:disabled{cursor:wait;opacity:.55}.search-suggestion small{color:var(--ink-3);font-size:.62rem;font-weight:650}.search-suggestion strong{color:var(--accent-strong);font-size:.76rem;font-weight:720}.turnstile-slot{position:absolute;top:calc(100% + .45rem);right:0;z-index:50;width:min(300px,calc(100vw - 2rem))}.turnstile-slot:empty{display:none}.button-spinner,.sample-loading{width:17px;height:17px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{padding:1.4rem 0 2.9rem;text-align:center}.hero-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .76rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.76rem;font-weight:680}.hero h1{margin-top:1.05rem;font-size:clamp(2.15rem,5vw,3.3rem);font-weight:780;letter-spacing:-.047em;line-height:1.08}.hero>p{max-width:585px;margin:.9rem auto 0;color:var(--ink-2);font-size:1.03rem;line-height:1.65}.hero-search{max-width:670px;margin:1.8rem auto 0;text-align:left}.sample-section{position:relative;padding:.2rem 0 2.8rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.section-heading h2{margin-top:.12rem;font-size:1.05rem;font-weight:720;letter-spacing:-.02em}.section-heading>a{color:var(--accent-strong);font-size:.82rem;font-weight:650}.section-heading-actions,.page-heading-title{display:flex;align-items:center;gap:.6rem}.section-heading-actions>a{color:var(--accent-strong);font-size:.82rem;font-weight:650}.learning-info{position:relative}.info-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink-2);cursor:pointer}.info-button:hover,.info-button[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.learning-info-panel{position:absolute;top:calc(100% + .55rem);right:0;z-index:60;width:min(680px,calc(100vw - 2rem));padding:1.1rem;border:1px solid var(--line-strong);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-large)}.page-heading-title .learning-info-panel{right:auto;left:0}.learning-info-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.learning-info-heading h3{margin-top:.12rem;font-size:1rem;letter-spacing:-.02em}.learning-info-heading .icon-button{width:32px;height:32px;color:var(--ink-3)}.learning-info-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.9rem 0 0;padding:0;list-style:none}.learning-info-steps li{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:flex-start;gap:.45rem;padding-right:.65rem}.learning-info-index{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:.67rem;font-weight:800}.learning-info-steps li>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:.16rem}.learning-info-steps strong{font-size:.78rem}.learning-info-steps b{color:var(--accent-strong);font-size:.65rem;font-weight:700}.learning-info-steps small{color:var(--ink-3);font-size:.65rem;line-height:1.45}.learning-info-steps i{position:absolute;top:4px;right:-.25rem;color:var(--ink-3);font-style:normal}.learning-info-steps li:last-child i{display:none}.centered-heading{justify-content:center;text-align:center}.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.sample-card{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow);cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .18s ease,border-color .18s ease}.sample-open{display:block;border-radius:15px 15px 0 0}.sample-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-large)}.sample-card:disabled{cursor:wait}.sample-visual{width:100%;aspect-ratio:4 / 3;border-radius:0}.sample-copy{display:flex;flex-direction:column;padding:.78rem .9rem .9rem}.sample-copy strong{font-size:1.02rem;letter-spacing:-.02em}.sample-copy small{overflow:hidden;color:var(--ink-3);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.sample-loading{position:absolute;top:.75rem;right:.75rem}.returning-intro{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(340px,1.22fr);align-items:center;gap:2rem;margin-bottom:1.4rem}.returning-intro h1,.page-heading h1{margin-top:.15rem;font-size:clamp(1.7rem,3.6vw,2.2rem);font-weight:770;letter-spacing:-.038em;line-height:1.14}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:1.65rem}.weekly-card,.review-card{display:flex;min-height:245px;flex-direction:column}.weekly-card h2{margin:.35rem 0 1.15rem;font-size:1.45rem;font-weight:690;letter-spacing:-.03em}.weekly-card h2 strong{font-size:2rem}.progress-track,.review-progress{overflow:hidden;height:8px;border-radius:999px;background:#eceef4}.progress-track>span,.review-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8b5cf6);transition:width .7s cubic-bezier(.22,.8,.3,1)}.goal-caption{display:flex;justify-content:space-between;margin-top:.55rem;color:var(--ink-2);font-size:.78rem}.weekly-card>p,.review-card>p{margin-top:auto;color:var(--ink-3);font-size:.82rem;line-height:1.55}.review-card{border-color:#6366f138;background:linear-gradient(150deg,#f7f7ff,#fff)}.review-heading{display:flex;align-items:flex-start;gap:.85rem}.review-heading h2{margin-top:.2rem;font-size:1.2rem;letter-spacing:-.025em}.review-icon{display:grid;width:47px;height:47px;flex:0 0 47px;place-items:center;border:1px solid rgba(99,102,241,.24);border-radius:13px;background:#fff;color:var(--accent-strong)}.review-card .button{margin-top:1rem}.section-block{margin-bottom:1.7rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.stat-card{display:flex;flex-direction:column;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-small);background:#fff}.stat-card strong{font-size:1.55rem;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.2}.stat-card span{margin-top:.1rem;color:var(--ink-3);font-size:.73rem}.stat-searched strong{color:var(--accent-strong)}.stat-learning strong{color:var(--learning-ink)}.stat-review strong{color:var(--review-ink)}.stat-mastered strong{color:var(--mastered-ink)}.history-list{display:flex;flex-direction:column;gap:.48rem}.history-row{display:flex;min-width:0;align-items:center;gap:.7rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-small);background:#fff}.history-open{display:flex;min-width:0;flex:1;align-items:center;gap:.75rem;border-radius:8px}.history-open:hover strong{color:var(--accent-strong)}.visual-thumb{width:54px;height:54px;flex:0 0 54px;border-radius:10px}.history-copy{display:flex;min-width:0;flex:1;flex-direction:column}.history-copy strong{font-size:.94rem;letter-spacing:-.015em}.history-copy small{overflow:hidden;color:var(--ink-3);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.history-open time{color:var(--ink-3);font-size:.7rem;white-space:nowrap}.add-button,.saved-tag{display:inline-flex;min-height:34px;align-items:center;gap:.25rem;padding:.35rem .7rem;border-radius:9px;font-size:.78rem;font-weight:700;white-space:nowrap}.add-button{border:1px solid var(--accent);background:#fff;color:var(--accent-strong);cursor:pointer}.add-button:hover:not(:disabled){background:var(--accent);color:#fff}.saved-tag{background:var(--mastered-bg);color:var(--mastered-ink)}.explanation-note{display:flex;align-items:flex-start;gap:.65rem;margin-top:.75rem;padding:.75rem .9rem;border-radius:11px;background:#f4f5f9;color:var(--ink-2);font-size:.76rem;line-height:1.55}.explanation-note svg{flex:0 0 auto;margin-top:.1rem}.word-visual,.visual-placeholder{display:block;object-fit:cover;border:1px solid var(--line);background:#f1f2f7}.visual-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.4rem;color:var(--ink-3);font-size:.74rem}.page-state,.empty-state{display:flex;max-width:520px;min-height:360px;align-items:center;justify-content:center;flex-direction:column;margin:3rem auto;padding:2rem;text-align:center}.page-state h2,.empty-state h2{margin-top:.9rem;font-size:1.2rem;letter-spacing:-.025em}.page-state p,.empty-state p{max-width:430px;margin:.45rem 0 1.1rem;color:var(--ink-3);font-size:.86rem;line-height:1.6}.pulse-mark,.empty-state-mark{display:grid;width:61px;height:61px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.pulse-mark{animation:gentle-pulse 1.6s ease-in-out infinite}@keyframes gentle-pulse{50%{transform:scale(1.05);box-shadow:0 0 0 14px #6366f100}}.skeleton-lines{display:flex;width:260px;flex-direction:column;gap:.55rem;margin-top:1.2rem}.skeleton-lines span{height:7px;border-radius:999px;background:linear-gradient(90deg,#eceef4 25%,#f7f7fa,#eceef4 75%);background-size:200% 100%;animation:shimmer 1.25s linear infinite}.skeleton-lines span:last-child{width:70%;margin:auto}@keyframes shimmer{to{background-position:-200% 0}}.back-link{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.8rem;padding:.3rem 0;color:var(--ink-2);font-size:.82rem;font-weight:630}.back-link:hover{color:var(--accent-strong)}.detail-card{display:flex;flex-direction:column;gap:1.55rem;padding:1.8rem}.entry-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.entry-header>span{color:var(--ink-3);font-size:.8rem;font-weight:650}.sense-group+.sense-group{margin-top:2rem}.sense-group>.part-of-speech{margin-bottom:.7rem}.sense-list{display:flex;flex-direction:column;gap:1rem}.sense-card{margin:0}.sense-card-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.sense-card-header>div{display:flex;align-items:center;gap:.7rem}.entry-save-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem}.entry-save-card>div>strong{font-size:.95rem}.entry-save-card>div>p{margin-top:.2rem;color:var(--ink-3);font-size:.78rem}.entry-saved-state{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:var(--mastered-ink);font-size:.78rem;font-weight:700}.legacy-senses{margin-top:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.legacy-senses h2{font-size:1rem}.legacy-senses p,.guest-save-count{margin-top:.35rem;color:var(--ink-3);font-size:.78rem}.guest-save-count{text-align:center}.word-header h1{font-size:clamp(2rem,5vw,3rem);font-weight:780;letter-spacing:-.045em;line-height:1.05}.word-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:.6rem}.phonetic{color:var(--ink-3);font-size:.93rem}.pronunciation-control{display:flex;min-width:0;align-items:flex-start;flex-direction:column;gap:.32rem}.pronunciation-list{display:flex;flex-wrap:wrap;gap:.32rem .55rem}.pronunciation-row{display:inline-flex;min-height:28px;align-items:center;gap:.3rem;color:var(--ink-2);font-size:.78rem;white-space:nowrap}.pronunciation-locale{min-width:1.55rem;color:var(--ink-3);font-size:.67rem;font-weight:760;letter-spacing:.04em}.pronunciation-ipa{font-family:Georgia,Times New Roman,serif;font-size:.86rem}.pronunciation-button{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--card);color:var(--accent-strong);cursor:pointer}.pronunciation-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.pronunciation-button:disabled{cursor:wait;opacity:.55}.pronunciation-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.pronunciation-spinner{width:12px;height:12px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.ai-audio-disclosure{margin:0;color:var(--ink-3);font-size:.64rem;line-height:1.4}.part-of-speech{padding:.04rem .48rem;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink-2);font-size:.72rem;font-style:italic}.visual-expand-trigger{display:block;width:100%;padding:0;border:0;border-radius:14px;background:transparent;cursor:zoom-in}.visual-expand-trigger:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.visual-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:1rem;background:#020617e0}.visual-modal{position:relative;max-width:100%;padding-top:3.25rem}.visual-modal .visual-modal-image{display:block;width:auto;height:auto;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 5.25rem);object-fit:contain;border-radius:10px}.visual-modal-close{position:absolute;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;border:1px solid white;border-radius:50%;background:#172033;color:#fff;font-size:1.75rem;cursor:pointer}.visual-modal-close:focus-visible{outline:3px solid white;outline-offset:3px}.detail-visual{width:100%;max-height:390px;aspect-ratio:16 / 10;border-radius:14px}.visual-caption{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;color:var(--ink-3);font-size:.7rem}.visual-caption>span{display:inline-flex;align-items:center;gap:.28rem;padding:.12rem .45rem;border-radius:6px;background:#f1f2f6;font-weight:680}.definition-en{font-size:1.18rem;font-weight:590;letter-spacing:-.015em;line-height:1.5}.definition-ja{margin-top:.22rem;color:var(--ink-2);font-size:.98rem}.example-block{display:flex;flex-direction:column;gap:.45rem}.example-en{padding:.12rem 0 .12rem .95rem;border-left:3px solid var(--accent);font-size:.98rem;line-height:1.65}.example-en strong{color:var(--accent-strong)}.example-ja{padding-left:1.15rem;color:var(--ink-3);font-size:.82rem}.feedback-block{padding-top:1.05rem;border-top:1px solid var(--line)}.feedback-block>p:first-child{font-size:.84rem;font-weight:650}.feedback-actions{display:flex;gap:.55rem;margin-top:.65rem}.feedback-button{display:inline-flex;min-height:38px;align-items:center;gap:.4rem;padding:.45rem .8rem;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink-2);cursor:pointer;font-size:.8rem;font-weight:600}.feedback-button:hover,.feedback-button.is-selected{border-color:#6366f166;background:var(--accent-soft);color:var(--accent-strong)}.feedback-thanks{margin-top:.5rem;color:var(--mastered-ink);font-size:.75rem}.detail-cta,.known-word-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem;text-align:center}.detail-cta>p{color:var(--ink-3);font-size:.8rem}.detail-cta>small{color:var(--ink-3);font-size:.7rem}.saved-panel{display:flex;flex-direction:column;gap:1.1rem;margin-top:1rem;padding:1.3rem;border:1px solid #a7f3d0;border-radius:var(--radius);background:linear-gradient(155deg,#f2fcf7,#fff 72%);animation:page-in .3s ease both}.saved-panel-heading{display:flex;align-items:flex-start;gap:.75rem}.saved-panel-heading h2{font-size:1rem;letter-spacing:-.015em}.saved-panel-heading p{margin-top:.18rem;color:var(--ink-2);font-size:.8rem}.saved-check{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:var(--mastered-bg);color:var(--mastered-ink)}.learning-journey{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;color:var(--ink-3);font-size:.74rem;font-weight:650}.learning-journey>span{display:inline-flex;align-items:center;gap:.2rem}.learning-journey .is-done{color:var(--mastered-ink)}.learning-journey .is-current{padding:.2rem .55rem;border-radius:999px;background:var(--learning-bg);color:var(--learning-ink)}.learning-journey i{opacity:.55;font-style:normal}.saved-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.status-badge{display:inline-flex;width:max-content;align-items:center;gap:.35rem;padding:.18rem .58rem;border-radius:999px;font-size:.69rem;font-weight:700;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-learning{background:var(--learning-bg);color:var(--learning-ink)}.status-review_soon{background:var(--review-bg);color:var(--review-ink)}.status-mastered{background:var(--mastered-bg);color:var(--mastered-ink)}.page-heading{margin-bottom:1.25rem}.page-heading>p{max-width:570px;margin-top:.35rem;color:var(--ink-3);font-size:.86rem}.vocabulary-stats{margin-bottom:1.05rem}.filter-row{display:flex;flex-wrap:wrap;gap:.42rem;margin-bottom:.85rem}.filter-button{min-height:34px;padding:.35rem .8rem;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink-2);cursor:pointer;font-size:.77rem;font-weight:620}.filter-button:hover{background:#f6f7fb}.filter-button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.vocabulary-list{display:flex;flex-direction:column;gap:.65rem}.vocabulary-card{display:flex;align-items:center;gap:.9rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);transition:transform .15s ease,border-color .16s ease,box-shadow .18s ease}.vocabulary-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-large)}.vocabulary-open{display:flex;min-width:0;flex:1;align-items:center;gap:.9rem;border-radius:10px}.vocabulary-visual{width:104px;height:78px;flex:0 0 104px;border-radius:11px}.vocabulary-card-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:.42rem}.vocabulary-card-top{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.vocabulary-card-top>strong{font-size:1.1rem;letter-spacing:-.025em}.vocabulary-meaning{overflow:hidden;color:var(--ink-2);font-size:.81rem;text-overflow:ellipsis;white-space:nowrap}.inline-empty{padding:3rem 1rem;border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center}.inline-empty h2{font-size:1rem}.inline-empty p{margin-top:.35rem;color:var(--ink-3);font-size:.8rem}.review-intro-page{max-width:650px}.review-intro-card{display:flex;align-items:center;flex-direction:column;gap:.75rem;padding:2rem;text-align:center}.review-intro-card h2{max-width:480px;font-size:1.28rem;letter-spacing:-.025em}.review-intro-card p{max-width:470px;color:var(--ink-2);font-size:.86rem;line-height:1.6}.review-intro-card .button-primary{margin-top:.35rem}.review-focus-wrap{width:100%;max-width:650px;margin:0 auto;padding-top:.15rem;animation:page-in .22s ease both}.review-progress-row{display:grid;grid-template-columns:38px 1fr 44px;align-items:center;gap:.75rem;margin-bottom:1.25rem}.review-progress-row>span{color:var(--ink-3);font-size:.73rem;font-variant-numeric:tabular-nums;text-align:right}.review-progress{height:5px}.close-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink-2)}.review-question-heading{margin-bottom:.8rem}.review-question-heading h1{font-size:1.17rem;letter-spacing:-.02em}.review-question-heading p{margin-top:.15rem;color:var(--ink-3);font-size:.78rem}.question-card{display:flex;flex-direction:column;gap:1rem}.question-card h2{font-size:1.05rem;letter-spacing:-.015em}.question-visual{width:100%;max-height:320px;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:13px;background:#f1f2f7;object-fit:cover}.question-word{padding:2.2rem 1rem;color:var(--accent-strong);font-size:clamp(2rem,6vw,3rem);font-weight:780;letter-spacing:-.04em;text-align:center}.choice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:.8rem}.choice-button{display:flex;min-height:58px;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}.choice-button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent);background:#fafaff}.choice-button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.choice-button.is-selected>span{background:var(--accent);color:#fff}.choice-button:disabled{cursor:wait;opacity:.62}.choice-button>span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:8px;background:#f1f2f6;color:var(--ink-2);font-size:.75rem;font-weight:750}.choice-button strong{font-size:.88rem;font-weight:620}.keyboard-hint{margin-top:.7rem;color:var(--ink-3);font-size:.7rem;text-align:center}.review-submit{margin-top:.75rem}.inline-error{margin:.7rem 0;padding:.6rem .75rem;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:var(--danger);font-size:.78rem}.answer-card{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;padding:1.8rem}.answer-card.is-correct{border-color:#a7f3d0}.answer-card.is-incorrect{border-color:#fecdd3}.answer-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--mastered-bg);color:var(--mastered-ink)}.answer-card.is-incorrect .answer-mark{background:var(--review-bg);color:var(--review-ink)}.answer-card h1{font-size:1.35rem;letter-spacing:-.03em}.answer-visual{width:100%;max-height:220px;aspect-ratio:16 / 9;object-fit:contain;border-radius:12px}.answer-explanation strong{font-size:1.5rem;letter-spacing:-.03em}.answer-explanation p{margin-top:.25rem;color:var(--ink-2);line-height:1.55}.answer-explanation small{display:block;margin-top:.3rem;color:var(--ink-3)}.meaning-feedback-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.85rem;padding:0;list-style:none}.meaning-feedback-list li{display:grid;grid-template-columns:7rem 1fr;align-items:start;gap:.6rem;padding:.55rem .65rem;border-radius:9px;background:var(--surface-hover)}.meaning-feedback-list li>span{font-size:.7rem;font-weight:750}.meaning-feedback-list li>strong{font-size:.82rem;letter-spacing:0}.meaning-feedback-list .is-correct-meaning>span{color:var(--mastered-ink)}.meaning-feedback-list .is-wrong-meaning>span{color:var(--review-ink)}.review-next{margin-top:.8rem}.review-result-page{display:flex;flex-direction:column;gap:.75rem}.celebration-card{display:flex;align-items:center;flex-direction:column;padding:2rem;text-align:center;background:linear-gradient(155deg,#f7f7ff,#fff)}.celebration-mark{display:grid;width:58px;height:58px;place-items:center;margin-bottom:.8rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:1.8rem}.celebration-card h1{margin-top:.22rem;font-size:1.55rem;letter-spacing:-.035em}.celebration-card p{margin-top:.3rem;color:var(--ink-3);font-size:.82rem}.result-list-card,.growth-card{display:flex;flex-direction:column;gap:.8rem}.result-list{display:flex;flex-direction:column}.result-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:.7rem;padding:.65rem 0;border-top:1px solid var(--line)}.result-row:first-child{border-top:0}.result-row>span:not(.status-badge){color:var(--ink-3);font-size:.75rem}.growth-line{display:flex;align-items:baseline;justify-content:space-between;color:var(--ink-2);font-size:.83rem}.growth-line strong{color:var(--accent-strong);font-size:1.5rem}.growth-line strong small{color:var(--ink-3);font-size:.8rem}.growth-total{padding-top:.75rem;border-top:1px solid var(--line)}.growth-total strong{color:var(--mastered-ink)}.review-result-actions{display:flex;flex-direction:column;gap:.3rem;margin-top:.2rem}.pay-intent-card{display:flex;flex-direction:column;gap:.65rem}.pay-intent-card h2{font-size:1.05rem;line-height:1.45}.pay-intent-card p{color:var(--ink-3);font-size:.76rem}.pay-intent-actions{display:flex;flex-wrap:wrap;gap:.45rem}.account-page{max-width:720px}.account-page{display:flex;flex-direction:column;gap:.85rem}.account-page .page-heading{margin-bottom:.4rem}.account-guest-card{display:flex;align-items:center;flex-direction:column;gap:.7rem;padding:2rem;text-align:center}.account-illustration{display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.account-guest-card h2{font-size:1.2rem;letter-spacing:-.025em}.account-guest-card p{max-width:500px;color:var(--ink-2);font-size:.85rem;line-height:1.6}.account-auth-actions{display:flex;gap:.6rem;margin-top:.35rem}.account-profile-card{display:flex;align-items:center;gap:.9rem}.avatar-large{width:52px;height:52px;flex-basis:52px;font-size:1rem}.account-profile-card h2{margin-top:.15rem;font-size:1rem}.account-profile-card p{margin-top:.12rem;color:var(--ink-3);font-size:.77rem}.account-profile-card .account-email{color:var(--ink-2)}.account-section{display:flex;flex-direction:column;gap:1rem}.account-section-heading{display:flex;align-items:flex-start;gap:.75rem}.settings-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:11px;background:#f3f4f8;color:var(--ink-2)}.account-section-heading h2{font-size:1rem}.account-section-heading p{margin-top:.15rem;color:var(--ink-3);font-size:.78rem}.privacy-note{display:flex;flex-direction:column;gap:.1rem;padding:.8rem;border-radius:10px;background:#f6f7fa}.privacy-note strong{font-size:.8rem}.privacy-note span{color:var(--ink-3);font-size:.74rem}.profile-form{display:flex;flex-direction:column}.profile-form label,.user-id-field label{margin-bottom:.32rem;color:var(--ink-2);font-size:.76rem;font-weight:680}.profile-form input,.user-id-control input{width:100%;height:44px;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:10px;outline:0;background:#fff;color:var(--ink)}.profile-form input:focus,.user-id-control input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11c}.optional-label{color:var(--ink-3);font-size:.68rem;font-weight:550}.field-help{margin-top:.32rem;color:var(--ink-3);font-size:.7rem;line-height:1.45}.profile-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.form-success,.copy-message{margin-top:.55rem;color:var(--mastered-ink);font-size:.74rem}.user-id-field{display:flex;flex-direction:column;padding-top:1rem;border-top:1px solid var(--line)}.user-id-control{display:flex;gap:.5rem}.user-id-control input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem}.signout-button{align-self:flex-start}.push-optin{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fafaff}.push-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong)}.push-copy,.push-optin>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.push-optin strong{font-size:.8rem}.push-optin small{color:var(--ink-3);font-size:.7rem;line-height:1.45}.push-optin.is-enabled{border-color:#a7f3d0;background:#f5fdf9}.push-optin.is-enabled .push-icon{background:var(--mastered-bg);color:var(--mastered-ink)}.push-optin.is-compact{border-top:1px solid #c9efdc;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:transparent;padding:.8rem 0 0}.notice-text{font-size:.78rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#0f172a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .16s ease both}@keyframes fade-in{0%{opacity:0}}.auth-modal{position:relative;width:min(100%,440px);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.8rem;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:#fff;box-shadow:0 30px 80px -30px #0f172a8c;animation:modal-in .2s cubic-bezier(.22,.8,.3,1) both}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.visual-style-backdrop{height:100vh;height:100dvh;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}.visual-style-modal{width:min(100%,580px);min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-color:var(--line-strong)}.visual-style-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.visual-style-mode{border-radius:999px;padding:.3rem .65rem;background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:700}.visual-style-option{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:.85rem;border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);text-align:left}.visual-style-option strong{font-size:.88rem}.visual-style-option>span{color:var(--ink-2);font-size:.76rem;line-height:1.5}.visual-style-auto{width:100%;height:auto;margin-top:1rem}.visual-style-auto[aria-pressed=true],.visual-style-choice input:checked+.visual-style-option{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.visual-style-fieldset{border:0;padding:0;margin:1.2rem 0 0;min-width:0}.visual-style-fieldset legend{margin-bottom:.6rem;font-weight:700;font-size:.9rem}.visual-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.visual-style-choice{position:relative;cursor:pointer}.visual-style-choice input{position:absolute;opacity:0;width:1px;height:1px}.visual-style-choice input:focus-visible+.visual-style-option,.visual-style-auto:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visual-style-choice:hover .visual-style-option,.visual-style-auto:hover{border-color:var(--accent)}.visual-style-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}@media (max-width: 480px){.visual-style-modal{padding:1.1rem}.visual-style-grid{grid-template-columns:1fr}}.modal-close{position:absolute;top:.75rem;right:.75rem;color:var(--ink-3);font-size:1.35rem}.auth-modal h2{margin-top:.25rem;padding-right:2rem;font-size:1.45rem;letter-spacing:-.035em}.auth-modal>p{margin-top:.4rem;font-size:.83rem;line-height:1.55}.auth-form{display:flex;flex-direction:column;margin-top:1.25rem}.auth-form label{margin:.65rem 0 .32rem;color:var(--ink-2);font-size:.76rem;font-weight:680}.auth-form input{width:100%;height:46px;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:10px;outline:0;background:#fff}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11c}.auth-form .field-help{margin-top:.35rem}.auth-form .button{margin-top:1rem}.form-error{color:var(--danger)!important;font-size:.74rem!important}.auth-switch{text-align:center}@media (max-width: 920px){.desktop-sidebar{display:none}.brand-compact{display:inline-flex}.topbar-search{margin-left:.4rem}.app-canvas{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);padding:.4rem max(.35rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fffffff2;-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px)}.mobile-nav-link{display:flex;min-height:48px;align-items:center;justify-content:center;flex-direction:column;gap:.12rem;border-radius:9px;color:var(--ink-3);font-size:.64rem;font-weight:630}.mobile-nav-link.is-active{color:var(--accent-strong)}.mobile-icon-wrap{position:relative}.mobile-count{position:absolute;top:-6px;right:-10px;display:grid;min-width:16px;height:16px;place-items:center;padding:0 .25rem;border:2px solid white;border-radius:999px;background:var(--accent);color:#fff;font-size:.55rem}}@media (max-width: 700px){.topbar{padding:.65rem 1rem}.topbar-search{display:none}.topbar-inner{justify-content:space-between}.app-canvas{padding:1.35rem 1rem calc(6rem + env(safe-area-inset-bottom))}.offline-banner,.global-error{margin-right:1rem;margin-left:1rem}.hero{padding-top:.8rem}.hero h1{font-size:clamp(2rem,10vw,2.75rem)}.hero>p{font-size:.92rem}.sample-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.sample-copy{padding:.6rem}.sample-copy strong{font-size:.85rem}.sample-copy small{font-size:.66rem}.returning-intro{grid-template-columns:1fr;gap:1rem}.dashboard-grid{grid-template-columns:1fr}.weekly-card,.review-card{min-height:220px}.stats-grid{grid-template-columns:repeat(2,1fr)}.history-open time{display:none}.detail-card{padding:1.15rem;gap:1.25rem}.detail-visual{aspect-ratio:4 / 3}.entry-save-card{align-items:stretch;flex-direction:column}.entry-save-card .button{width:100%;justify-content:center}.saved-actions,.choice-list{grid-template-columns:1fr}.vocabulary-visual{width:82px;height:72px;flex-basis:82px}.result-row{grid-template-columns:1fr auto}.result-row>span:not(.status-badge){grid-column:1;grid-row:2}.result-row .status-badge{grid-column:2;grid-row:1 / 3}}@media (max-width: 430px){.brand-name{font-size:.95rem}.topbar-signin{padding-right:.55rem;padding-left:.55rem;font-size:.8rem}.sample-grid{margin-right:-1rem;margin-left:-1rem;padding:0 1rem .5rem;overflow-x:auto;grid-template-columns:repeat(3,minmax(190px,72vw));scroll-snap-type:x mandatory}.sample-card{scroll-snap-align:center}.history-row{gap:.45rem;padding:.5rem}.visual-thumb{width:46px;height:46px;flex-basis:46px}.history-copy small{max-width:128px}.add-button,.saved-tag{padding:.33rem .52rem}.visual-caption{align-items:flex-start;flex-direction:column;gap:.2rem}.feedback-actions{display:grid;grid-template-columns:1fr 1fr}.feedback-button{justify-content:center}.meaning-feedback-list li{grid-template-columns:5rem 1fr}.vocabulary-card{align-items:flex-start;flex-wrap:wrap}.vocabulary-open{width:100%}.vocabulary-visual{width:72px;height:72px;flex-basis:72px}.account-auth-actions{width:100%;flex-direction:column}.push-optin:not(.is-compact){align-items:flex-start;flex-wrap:wrap}.push-optin:not(.is-compact) .button{width:100%}.pay-intent-actions .button{flex:1}.search-suggestions{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.next-review-time{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;color:var(--ink-2);font-size:.76rem;font-weight:650}.entry-visual-card{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem;padding:1rem}.entry-visual-placeholder{min-height:230px;flex-direction:column;gap:.45rem;text-align:center}.entry-visual-placeholder strong{color:var(--ink-2)}.entry-visual-placeholder span,.visual-source-caption{color:var(--ink-3);font-size:.76rem;line-height:1.5}.sense-visual-action{display:flex;align-items:flex-start;flex-direction:column;gap:.45rem}.sense-visual-action .inline-error{margin:0}.sense-visual-action .button{align-self:flex-start}.sense-visual-action .visual-spinner{width:17px;height:17px;border-width:2px}.search-progress-card{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;gap:.85rem;padding:2rem;text-align:center}.search-progress-card h1{font-size:clamp(1.45rem,5vw,2rem);letter-spacing:-.035em}.search-progress-card>p:not(.inline-error){max-width:490px;color:var(--ink-2);font-size:.86rem;line-height:1.65}.search-progress-card .inline-error{width:100%;max-width:500px}.search-progress-actions,.spelling-candidates{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.spelling-edit-form{display:grid;gap:.75rem;width:100%;max-width:360px;text-align:left}.spelling-edit-form input{width:100%;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.spelling-notice{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;font-size:.9rem;overflow-wrap:anywhere}.spelling-notice p{margin-bottom:.5rem}.search-progress-card{overflow-wrap:anywhere}.search-progress-card .button{max-width:100%}.async-visual{flex-direction:column;gap:.45rem;padding:1.2rem;text-align:center}.async-visual strong{color:var(--ink-2);font-size:.9rem}.async-visual>span:last-of-type{max-width:430px;color:var(--ink-3);font-size:.75rem;line-height:1.5}.visual-spinner{width:32px;height:32px;border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.async-visual .button{margin-top:.25rem}:root[data-theme=dark] .desktop-sidebar,:root[data-theme=dark] .search-form,:root[data-theme=dark] .sample-card,:root[data-theme=dark] .search-error,:root[data-theme=dark] .review-icon,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .history-row,:root[data-theme=dark] .add-button,:root[data-theme=dark] .feedback-button,:root[data-theme=dark] .filter-button,:root[data-theme=dark] .vocabulary-card,:root[data-theme=dark] .close-button,:root[data-theme=dark] .choice-button,:root[data-theme=dark] .auth-modal,:root[data-theme=dark] .auth-form input,:root[data-theme=dark] .profile-form input,:root[data-theme=dark] .user-id-control input,:root[data-theme=dark] .button-ghost{background:var(--surface)}:root[data-theme=dark] .nav-link:hover,:root[data-theme=dark] .account-chip:hover,:root[data-theme=dark] .filter-button:hover,:root[data-theme=dark] .button-quiet:hover:not(:disabled),:root[data-theme=dark] .choice-button:hover:not(:disabled),:root[data-theme=dark] .settings-icon,:root[data-theme=dark] .privacy-note,:root[data-theme=dark] .choice-button>span,:root[data-theme=dark] .progress-track,:root[data-theme=dark] .review-progress{background:var(--surface-hover)}:root[data-theme=dark] .visual-placeholder,:root[data-theme=dark] .question-visual{background:var(--surface-muted)}:root[data-theme=dark] .explanation-note,:root[data-theme=dark] .visual-caption>span{background:var(--surface-muted)}:root[data-theme=dark] .saved-panel,:root[data-theme=dark] .celebration-card{background:linear-gradient(155deg,var(--card),var(--surface-muted))}:root[data-theme=dark] .push-optin{background:#171936}:root[data-theme=dark] .push-optin.is-enabled{background:#0d2c25}:root[data-theme=dark] .offline-banner{border-color:#854d0e;background:#2c210d;color:#fde68a}:root[data-theme=dark] .global-error,:root[data-theme=dark] .inline-error{border-color:#7f1d1d;background:#321519}:root[data-theme=dark] .modal-backdrop{background:#020617b8}:root[data-theme=dark] .mobile-nav{background:var(--mobile-nav-bg)}:root[data-theme=dark] .mobile-count{border-color:var(--surface)}:root[data-theme=dark] .choice-button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}:root[data-theme=dark] .choice-button.is-selected>span{background:var(--accent);color:#fff}@media (max-width: 700px){.learning-info-panel{position:fixed;top:5.5rem;right:1rem;left:1rem;width:auto;max-height:calc(100vh - 7rem);overflow-y:auto}.learning-info-steps{grid-template-columns:1fr}.learning-info-steps li{min-height:52px}.learning-info-steps i{top:auto;right:auto;bottom:-.35rem;left:9px;transform:rotate(90deg)}}@media (max-width: 430px){.learning-info-panel{top:4.8rem}}.visual-preview-label{align-self:flex-start;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:700;padding:.35rem .65rem}.visual-gallery-section{display:grid;gap:1rem}.visual-gallery-heading-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.visual-gallery-heading-row h2{margin:.25rem 0 0}.visual-gallery-heading-row>span{color:var(--ink-2);flex:0 0 auto;font-size:.85rem;font-weight:700}.visual-gallery-grid{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.visual-candidate{background:var(--surface-muted);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:.65rem;padding:.65rem}.visual-candidate.is-preferred{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.visual-candidate-image{aspect-ratio:1;border-radius:10px;overflow:hidden;width:100%}.visual-candidate p{color:var(--ink-2);font-size:.82rem;line-height:1.45;margin:0}.visual-candidate-badges{display:flex;flex-wrap:wrap;gap:.35rem}.visual-candidate-badges span,.visual-vote-count{border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:.72rem;font-weight:700;padding:.25rem .45rem;width:fit-content}.visual-gallery-actions{display:flex;flex-wrap:wrap;gap:.6rem}.visual-vote-hint,.visual-limit-message{color:var(--ink-2);font-size:.82rem;margin:0}@media (min-width: 760px){.visual-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.status-remembered{color:var(--accent-strong);background:var(--accent-soft)}.status-activated{color:#18754b;background:#e6f5ec}.review-answer-input{display:block;width:100%;margin-top:10px;padding:16px;resize:vertical;min-height:140px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;line-height:1.6}.review-answer-input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.review-candidates{display:flex;justify-content:center;flex-wrap:wrap;font-weight:600}.review-reward{margin:20px 0;padding:24px}.review-reward p{color:var(--ink-2);line-height:1.6}.review-reward blockquote,.answer-card blockquote{margin:16px 0;padding:12px;background:var(--surface-muted);border-radius:12px;overflow-wrap:anywhere}.vocabulary-progress{min-width:0}.chart-subtitle,.chart-recording,.progress-chart-help{color:var(--ink-2);font-size:.8rem}.chart-subtitle{margin-top:-4px}.chart-ranges{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.chart-ranges .filter-button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.progress-chart{display:block;width:100%;min-width:0;height:auto;margin:12px 0;overflow:visible;touch-action:pan-y}.progress-chart text{fill:var(--ink-2);font-size:14px}.progress-chart:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.chart-gridline{stroke:var(--line-strong);stroke-width:1}.chart-cursor{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:4 4}.chart-readout{padding:16px;background:var(--surface);border-radius:var(--r-md)}.chart-readout>div{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:.8rem}.chart-readout>div>span{color:var(--ink-2)}.chart-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:0;margin:16px 0 0;list-style:none}.chart-legend li{display:flex;align-items:center;gap:6px;font-size:.75rem;min-width:0}.chart-legend strong{margin-left:auto;font-variant-numeric:tabular-nums}.chart-swatch{width:8px;height:8px;flex:0 0 8px;border-radius:50%}.chart-loading{min-height:230px;display:grid;place-items:center;color:var(--ink-2)}:root{--purple: #8b5cf6;--pink: #ec4899;--searched: #8a8a8a;--on-white-cta: #12122a;--image-text: #fff;--image-button: rgba(10,10,10,.45);--image-border: rgba(255,255,255,.12);--backdrop: rgba(0,0,0,.72);--art-shadow: 0 12px 26px -16px rgba(0,0,0,.95);--accent-shadow: 0 6px 20px -6px rgba(61,83,255,.9);--chip-shadow: 0 0 0 1px rgba(61,83,255,.25), 0 6px 18px -8px rgba(61,83,255,.8);--search-gradient: linear-gradient(180deg,var(--surface),var(--background));--brand-gradient: linear-gradient(97deg,var(--ink) 12%,var(--accent-strong) 48%,var(--accent) 100%);--review-gradient: linear-gradient(135deg,#3d53ff 0%,#5b45e8 46%,#8b5cf6 100%);--body-text: #29292d;--example-text: #29292d;--example-emphasis: #3044db;--mini-background: color-mix(in srgb,var(--card) 94%,transparent);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Noto Sans JP", sans-serif;--ease: cubic-bezier(.22,.61,.36,1);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--pill: 999px;--gutter: 20px;--radius: var(--r-lg);--radius-small: var(--r-md);--accent: #3d53ff;--accent-strong: #3044db;--accent-soft: rgba(61,83,255,.12);--background: #f7f7fa;--surface: #fff;--card: #ededf3;--surface-muted: var(--card);--surface-hover: var(--card);--ink: #17171b;--ink-2: #595963;--ink-3: #6a6a76;--line: rgba(20,20,35,.08);--line-strong: rgba(20,20,35,.17);--learning: #a86400;--mastered: #087f72;--activated: #4b50cb;--danger: #bc3434;--on-accent: #fff;--topbar: color-mix(in srgb, var(--background) 90%, transparent);--shadow: 0 6px 24px rgba(0,0,0,.04);--layer-screen: 35;--layer-gallery: 42;--layer-dialog: 44;--layer-image: 43;--layer-message: 45;font-family:var(--font)}:root[data-theme=dark]{--search-gradient: linear-gradient(180deg,#1e1e1e,#161616);--brand-gradient: linear-gradient(97deg,#fff 12%,#bcc4ff 48%,var(--accent) 100%);--body-text: #ededed;--example-text: #f2f2f2;--example-emphasis: #a9b4ff;--mini-background: rgba(38,38,38,.94);--accent: #3d53ff;--accent-strong: #8d9aff;--accent-soft: rgba(61,83,255,.16);--background: #0a0a0a;--surface: #181818;--card: #242424;--surface-muted: var(--card);--surface-hover: var(--card);--ink: #fff;--ink-2: #a7a7a7;--ink-3: #6e6e6e;--line: rgba(255,255,255,.08);--line-strong: rgba(255,255,255,.14);--learning: #f5a524;--mastered: #2dd4bf;--activated: #6b7cff;--danger: #ff6b6b;--topbar: color-mix(in srgb, var(--background) 90%, transparent);--shadow: 0 6px 24px rgba(0,0,0,.16)}body,button,input,select,textarea{font-family:var(--font)}[hidden]{display:none}.brand-name{font-size:26px;font-weight:800;letter-spacing:-.045em;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.sample-card:hover:not(:disabled){transform:none;border-color:var(--line);box-shadow:none}.sample-card:active{transform:scale(.96)}.history-copy strong{font-size:14.5px;font-weight:650;letter-spacing:-.015em}.history-copy small{font-size:11.5px;margin-top:2px}.history-open time,.explanation-note{display:none}.history-row .add-button{font-size:11px;padding:5px 8px;min-height:30px;border-color:var(--line)}.history-row .saved-tag{color:var(--ink-3);font-size:10px;padding:0;border:0;background:none}.word-map-card{margin-top:14px;padding:18px 14px 14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.word-map-card h2{padding-inline:6px;font-size:14.5px;font-weight:700;letter-spacing:-.02em}.word-map-placeholder{aspect-ratio:320/172;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-2);font-size:13px}.word-map-placeholder svg{color:var(--ink-3)}.new-visual-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:middle}.review-cta:after{content:"";position:absolute;right:-40px;top:-60px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--on-accent) 40%,transparent),transparent 62%);opacity:.55;pointer-events:none}.stat-card span{font-size:11px;font-weight:650;color:var(--ink-2)}.stat-card span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--searched)}.stat-learning span:before{background:var(--learning)}.stat-mastered span:before{background:var(--mastered)}.stat-activated span:before{background:var(--activated)}.learning-page .vocabulary-progress{margin-top:26px}.chart-card{padding:18px 14px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.chart-card .chart-ranges{margin:0 0 12px;gap:5px}.chart-card .chart-ranges .filter-button{font-size:11px;padding:7px 10px}.chart-total{font-size:26px;font-weight:800;letter-spacing:-.04em;padding:6px 6px 0}.chart-total small{color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:0}.vocabulary-progress .section-heading{margin:0 0 12px}.account-setting-row{display:flex;align-items:center;gap:13px;width:100%;background:none;padding:0 0 14px;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:600;text-align:left}.setting-value{margin-left:auto;color:var(--ink-2);font-size:12.5px;font-weight:550;overflow-wrap:anywhere}.account-profile-settings .account-section-heading,.profile-form[hidden],.account-profile-card .eyebrow{display:none}.account-section{padding:16px}.account-section-heading h2{font-size:17px;font-weight:700;letter-spacing:-.02em}.user-id-field{border:0;padding-top:0}.account-profile-card h2{font-size:21px;font-weight:750;letter-spacing:-.03em}.account-profile-card .avatar-large{width:66px;height:66px;border-radius:22px;flex-basis:66px;font-size:26px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(145deg,var(--accent),var(--purple) 55%,var(--pink));color:var(--on-accent);border:0;box-shadow:var(--accent-shadow)}:root[data-theme] .settings-icon{width:30px;height:30px;flex-basis:30px;border-radius:9px;background:var(--card);color:var(--ink-2)}:root[data-theme] .push-optin,:root[data-theme] .push-optin.is-enabled{border-color:var(--line);background:var(--surface)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,.button,.filter-button,.vocabulary-open,.history-open{transition-timing-function:var(--ease)}button:active:not(:disabled),.button:active:not(:disabled){transform:scale(.97)}:focus-visible{outline-color:var(--accent-strong)}.page-wrap{animation:none}.page-heading h1{font-size:25px;font-weight:800;letter-spacing:-.04em}.page-heading p{color:var(--ink-2);font-size:13px;margin-top:8px}.section-heading{margin:26px 0 12px}.section-heading h2{font-size:17px;letter-spacing:-.02em}.card{border-radius:var(--r-lg);background:var(--surface);box-shadow:none}.button{border-radius:var(--pill)}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.12)}.button-ghost{background:var(--surface);border-color:var(--line-strong)}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-2);flex-shrink:0}.topbar{background:var(--topbar)}.brand-mark{width:34px;height:34px;flex-basis:34px;border-radius:11px;background:linear-gradient(140deg,var(--accent),var(--purple));color:var(--on-accent);box-shadow:var(--accent-shadow)}.brand-tag,.sidebar-footer>p{display:none}.nav-link.is-active{background:var(--accent-soft);color:var(--ink)}.desktop-sidebar{border-color:var(--line)}.home-page .hero{padding:0;text-align:left}.home-page .hero h1{margin:0;font-size:12px;font-weight:400;color:var(--ink-2);letter-spacing:normal;line-height:1.4}.hero-search{max-width:none;margin-top:10px}:root[data-theme] .search-form-hero{min-height:0;padding:13px 15px;gap:10px;border:1px solid var(--line-strong);border-radius:16px;background:var(--search-gradient);box-shadow:none}.search-submit{width:24px;height:24px;min-width:0;min-height:0;padding:0;background:none;box-shadow:none;border:0;border-radius:0;color:var(--ink-2)}.search-submit:disabled{visibility:hidden;width:0}.search-form-hero input{padding:0;height:auto;font-size:15px;font-weight:500;letter-spacing:-.01em}.search-form input::placeholder{color:var(--ink-3)}.search-suggestion{background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:var(--r-md)}.search-suggestions{justify-content:flex-start}.sample-section .centered-heading{text-align:left;justify-content:flex-start}.sample-section .eyebrow,.recent-section .eyebrow{display:none}.home-page .sample-section,.home-page .recent-section{margin-top:0;padding-block:0}.sample-grid{display:flex;overflow-x:auto;gap:9px;padding-block:2px;scrollbar-width:none}.sample-grid::-webkit-scrollbar{display:none}:root[data-theme] .sample-grid .sample-card{flex:0 0 136px;width:136px;background:var(--surface);border:1px solid var(--line);box-shadow:none;overflow:hidden;border-radius:var(--r-md)}.sample-visual{width:100%;height:100px;aspect-ratio:auto;border:0;border-radius:0;object-fit:cover}.sample-copy{padding:9px 11px 11px}.sample-copy strong{font-size:13.5px;font-weight:700;letter-spacing:-.02em}.sample-copy small{font-size:10.5px;color:var(--ink-2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-list{gap:4px;margin-inline:-8px}:root[data-theme] .history-row{background:transparent;border:0;box-shadow:none;padding:9px 8px}.history-open,.history-copy{min-width:0}.visual-thumb{width:50px;height:50px;flex-basis:50px;border:0;border-radius:12px}.history-row .add-button{border-radius:var(--pill)}.vocabulary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.vocabulary-search{display:flex;gap:8px;align-items:center;margin-bottom:16px}.vocabulary-search input{width:100%;min-width:0;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:13px}.filter-row{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:9px;scrollbar-width:none;padding:2px 0;margin:0;border:0}.filter-button{padding:8px 14px;font-size:13px;font-weight:600;flex-shrink:0;border-radius:var(--pill);color:var(--ink-2);background:var(--surface);border:1px solid var(--line)}:root .filter-button.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);box-shadow:var(--chip-shadow)}.vocabulary-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 0}.sort-control{position:relative;display:flex;gap:7px;align-items:center;padding:8px 13px 8px 11px;border-radius:11px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;font-weight:650;color:var(--ink-2)}.sort-control:focus-within{outline:2px solid var(--accent);outline-offset:2px}.sort-control select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.view-segment{display:flex;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.view-segment button{display:flex;align-items:center;gap:5px;height:28px;padding:0 9px;background:transparent;color:var(--ink-2);border-radius:8px;font-size:11.5px;font-weight:650}.view-segment [aria-pressed=true]{background:var(--card);color:var(--ink)}.vocabulary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;padding-top:16px}:root[data-theme] .vocabulary-card{background:transparent;border:0;padding:0;box-shadow:none;border-radius:var(--r-md);overflow:visible;min-width:0}.vocabulary-open{padding:0}.vocabulary-grid .vocabulary-open{display:flex;flex-direction:column;align-items:stretch;gap:10px}.vocabulary-grid .vocabulary-visual{width:100%;height:auto;aspect-ratio:1;flex-basis:auto;border:0;border-radius:var(--r-md);box-shadow:var(--art-shadow)}.vocabulary-grid .vocabulary-card-body{padding:0;gap:6px;min-width:0}.vocabulary-grid .vocabulary-card-top{align-items:flex-start;flex-wrap:wrap;gap:6px}.vocabulary-card-top strong{font-size:14px;font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.vocabulary-meaning{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:var(--ink-2)}.vocabulary-meaning-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-state-dot{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--state-color)}.vocabulary-grid .status-badge{font-size:10px;padding:3px 6px}.vocabulary-list{display:grid;gap:3px;padding-top:16px}.vocabulary-list .vocabulary-open{align-items:center;gap:13px;padding:9px 0}.vocabulary-list .vocabulary-visual{width:54px;height:54px;flex-basis:54px;border:0;border-radius:12px}.vocabulary-list .vocabulary-card-body{padding:0;min-width:0}.vocabulary-list .vocabulary-card-top{flex-wrap:wrap}.status-learning{--state-color: var(--learning)}.status-remembered{--state-color: var(--mastered)}.status-activated{--state-color: var(--activated)}.status-badge{color:var(--state-color);background:color-mix(in srgb,var(--state-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--state-color) 28%,transparent);border-radius:var(--pill)}.status-dot{background:var(--state-color)}.learning-page{max-width:780px}.review-cta{position:relative;overflow:hidden;padding:22px 20px 20px;border-radius:var(--r-xl);background:var(--review-gradient);color:var(--on-accent);box-shadow:0 26px 46px -24px color-mix(in srgb,var(--accent) 95%,transparent)}.review-cta .eyebrow,.review-cta .next-review-time{color:inherit}.review-cta h2{font-size:27px;font-weight:800;line-height:1.1;letter-spacing:-.045em;margin:11px 0 4px}.review-cta p{font-size:13px;line-height:1.65;opacity:.85}.review-cta .button{margin-top:18px;padding:14px;background:var(--on-accent);color:var(--on-white-cta);font-size:15px;font-weight:750;letter-spacing:-.01em;box-shadow:var(--art-shadow)}.learning-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}:root[data-theme] .stat-card{display:flex;flex-direction:column-reverse;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card);padding:14px 14px 13px}.stat-card strong{margin-top:7px;font-size:25px;letter-spacing:-.045em}.stat-card strong{color:var(--ink)}.weekly-card{min-height:0;padding:24px}.progress-track>span,.review-progress>span{background:var(--accent)}.account-theme{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:20px}.account-theme h2{font-size:17px}.account-theme p{color:var(--ink-2);font-size:12px;margin-top:8px}.settings-card,.profile-card{border-radius:var(--r-lg)}.account-page .signout-button{color:var(--danger);border-color:var(--line-strong)}.account-profile-card{background:transparent;border:0;padding:10px 0 22px}.avatar{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--line-strong)}.is-immersive .desktop-sidebar,.is-immersive .topbar,.is-immersive .mobile-nav,.is-immersive .miniplayer-dock{display:none}.is-immersive .app-main{margin-left:0}.is-immersive .global-error,.is-immersive .offline-banner{position:fixed;top:70px;left:20px;right:20px;z-index:var(--layer-message);margin:0}.immersive-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-screen);overflow-y:auto;overscroll-behavior:contain;background:var(--background);padding-bottom:max(40px,env(safe-area-inset-bottom));scrollbar-width:thin}.immersive-toolbar{position:sticky;top:0;z-index:8;padding:max(12px,env(safe-area-inset-top)) var(--gutter) 12px;background:var(--topbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.immersive-close{background:var(--surface)}.detail-page{padding:0;max-width:780px}.entry-visual-card{padding:0;border:0;background:transparent;margin:0 calc(-1 * var(--gutter)) 24px;overflow:hidden;border-radius:0}.detail-visual{width:100%;height:min(400px,55dvh);min-height:240px;object-fit:cover;aspect-ratio:auto;background:var(--surface);border-radius:0}.visual-source-caption,.visual-preview-label{margin-inline:var(--gutter)}.word-header{margin:0;display:block}.word-header h1{font-size:40px;letter-spacing:-.05em;overflow-wrap:anywhere}.word-header .eyebrow{display:none}.variations-trigger{margin-bottom:20px}.entry-save-card{padding:0;display:block;margin-top:20px;background:none;border:0}.entry-save-card p{font-size:11px;line-height:1.6;margin-top:6px;color:var(--ink-2);text-align:center}.sense-card{padding:16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:none;margin-bottom:11px}.sense-card-header{flex-wrap:wrap;gap:12px}.definition-en{font-size:16px;line-height:1.55;color:var(--ink)}.definition-ja{color:var(--ink-2)}.example-block{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.gallery-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-gallery);display:grid;place-items:center;padding:20px;background:var(--backdrop)}.gallery-dialog{width:min(850px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:var(--background);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}.gallery-toolbar{position:sticky;top:-20px;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:12px 0;background:var(--background)}.gallery-dialog .visual-gallery-section{padding:0;border:0;background:transparent}.modal-backdrop{z-index:var(--layer-dialog);height:100dvh;animation-timing-function:var(--ease)}.auth-modal{max-height:calc(100dvh - 32px);background:var(--surface);border-color:var(--line-strong);animation-timing-function:var(--ease)}.visual-modal-backdrop{z-index:var(--layer-image)}.review-focus-wrap{width:min(100%,700px);padding:0 var(--gutter);margin:0 auto}.review-progress-row{position:sticky;top:68px;z-index:5;background:var(--background);padding-block:14px}.question-card{padding:20px}.question-visual{max-height:340px;object-fit:contain;border-radius:var(--r-lg)}.choice-list{grid-template-columns:1fr;gap:12px}.choice-button{border-radius:var(--r-md);padding:18px;background:var(--surface)}.answer-choice{cursor:default;flex-wrap:wrap}.answer-choice small{margin-left:auto}:root .choice-button.is-correct{border-color:var(--mastered);background:color-mix(in srgb,var(--mastered) 12%,var(--surface));color:var(--mastered)}:root .choice-button.is-incorrect{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.choice-button.is-dim{opacity:.5}.answer-card{margin-top:20px}.answer-card.is-correct{border-color:var(--mastered)}.answer-card.is-incorrect{border-color:var(--danger)}.model-answer{margin-top:16px;padding:14px 16px;border-radius:var(--r-md);background:var(--card);text-align:left}.model-answer h2{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ink-3)}.model-answer p{margin:0;font-size:15px;font-weight:600;line-height:1.5;color:var(--ink)}.model-answer small{display:block;margin-top:5px;font-size:12.5px;line-height:1.5;color:var(--ink-2)}.review-next{margin-bottom:20px}.word-screen .immersive-toolbar{height:106px;margin-bottom:-106px;padding:max(18px,env(safe-area-inset-top)) 16px 0;display:flex;align-items:flex-start;justify-content:space-between;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.word-screen .immersive-toolbar:before{content:"";position:absolute;inset:0 0 auto;height:40px;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--background) 94%,transparent),color-mix(in srgb,var(--background) 72%,transparent) 46%,transparent);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.35) 80%,transparent);mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.35) 80%,transparent);pointer-events:none}.immersive-toolbar .icon-button,.favorite-button,.visual-modal-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--image-border);background:var(--image-button);color:var(--image-text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.word-hero{position:relative;height:400px}.word-hero-gallery{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.word-hero-gallery::-webkit-scrollbar{display:none}.word-hero-slide{position:relative;flex:0 0 100%;height:100%;min-width:0;scroll-snap-align:center}.word-hero .visual-expand-trigger{width:100%;height:100%;border:0;border-radius:0}.word-hero .detail-visual{width:100%;height:400px;min-height:0;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0}.word-hero-fade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--background) 45%,transparent),transparent 40px,transparent 300px,color-mix(in srgb,var(--background) 85%,transparent) 375px,var(--background) 400px)}.favorite-button{position:absolute;top:106px;right:16px;z-index:6;display:grid;place-items:center}.favorite-button.is-selected{background:color-mix(in srgb,var(--accent) 85%,transparent);border-color:color-mix(in srgb,var(--image-text) 30%,transparent);box-shadow:var(--accent-shadow)}.word-gallery-dots{position:absolute;bottom:74px;inset-inline:0;display:flex;align-items:center;justify-content:center;gap:6px;z-index:6}.word-gallery-dots button{width:6px;height:6px;padding:0;border:0;border-radius:var(--pill);background:color-mix(in srgb,var(--image-text) 32%,transparent)}.word-gallery-dots button[aria-current]{width:18px;background:var(--image-text)}.hero-style-tag,.hero-generation{position:absolute;left:20px;bottom:96px;z-index:6;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--pill);background:var(--image-button);color:var(--image-text);border:1px solid var(--image-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:10.5px;font-weight:650;letter-spacing:.02em}.hero-generation{bottom:136px}.hero-generation .visual-spinner,.image-generation-badge .visual-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.22);border-top-color:#fff;animation:spin .8s linear infinite}.word-body{position:relative;z-index:5;margin-top:-56px;padding:0 var(--gutter) 64px}.word-header h1{line-height:1.05;font-weight:800}.word-phonetics{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px}.word-phonetics>span{font-size:10.5px;padding:3px 9px;background:var(--card);border-radius:6px;color:var(--ink-2)}.pronunciation-ipa{font-family:var(--font);font-size:14px;letter-spacing:.01em}.pronunciation-button{order:-1;width:32px;height:32px;flex-basis:32px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink)}.entry-save-card .button{padding:15px;font-size:15px}.entry-saved-state{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;padding:14px;border-radius:var(--pill);background:var(--accent-soft);color:var(--ink);font-size:14px}.word-actions{display:flex;justify-content:center;margin-top:14px}.word-action{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:8px 12px;font-size:12px;color:var(--ink-2)}.sense-group{margin-top:28px}.part-of-speech{display:flex;align-items:center;gap:11px;margin:22px 0 12px;padding:0;border:0;border-radius:0;background:none;color:var(--accent);font-size:11px;font-weight:800;font-style:normal;letter-spacing:.14em;text-transform:uppercase}.part-of-speech:after{content:"";height:1px;flex:1;background:var(--line)}.sense-definition{display:flex;align-items:flex-start;gap:11px}.sense-number{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;margin-top:1px;border-radius:7px;background:var(--card);color:var(--ink-2);font-size:11px;font-weight:750}.sense-card .definition-en{font-size:14.5px;line-height:1.5;font-weight:450;letter-spacing:-.012em;color:var(--body-text)}.sense-card .definition-ja{margin:10px 0 0 33px;padding-left:13px;border-left:3px solid var(--accent);color:var(--ink);font-size:13px;font-weight:650;line-height:1.5}.sense-card .example-block{display:block;margin-top:13px;padding:13px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line)}.example-block .eyebrow{font-size:10px;letter-spacing:.14em}.sense-card .example-en{margin-top:8px;padding:0;border:0;font-size:13px;line-height:1.55;font-style:italic;color:var(--example-text)}.sense-card .example-en strong{color:var(--example-emphasis);font-weight:650}.sense-card .example-ja{margin-top:9px;padding:9px 0 0;border-top:1px solid var(--line);font-size:11.5px;line-height:1.5;color:var(--ink-2)}.sense-images{display:flex;gap:8px;margin-top:13px;overflow-x:auto;scrollbar-width:none}.sense-images .visual-expand-trigger{width:58px;flex:0 0 58px;border-radius:12px}.sense-thumb{width:58px;height:58px;border:0;border-radius:12px;object-fit:cover}.sense-visual-action{display:block;margin-top:13px}.sense-generate{display:flex;align-items:center;gap:9px;width:100%;padding:11px 13px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:650;color:var(--ink-2);text-align:left}.sense-generate>span:not(.visual-spinner){flex:1}.sense-visual-action .visual-spinner{display:block;flex:0 0 14px;width:14px;height:14px;border:2px solid rgba(255,255,255,.22);border-top-color:#fff}.sense-generate>svg{flex-shrink:0}.sense-generate.is-open{color:var(--ink);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.sense-generate:disabled{opacity:.55;cursor:default}.generation-panel{padding-top:14px}.inline-style-picker fieldset{margin:12px 0;border:0;padding:0}.inline-style-picker legend{margin-bottom:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.style-chips{display:flex;flex-wrap:wrap;gap:7px}.generation-panel .button{width:100%}:root[data-theme] .inline-style-picker [aria-pressed=true]{color:var(--ink);background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--chip-shadow)}:root[data-theme] .visual-placeholder{background:repeating-linear-gradient(135deg,transparent,transparent 8px,var(--line) 8px,var(--line) 9px),var(--card);box-shadow:inset 0 0 0 1px var(--line);border:0;color:var(--ink-3)}.visual-placeholder>span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.visual-generating{position:relative;overflow:hidden}.visual-generation-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.14) 48%,transparent 64%);animation:generation-shimmer 1.7s var(--ease) infinite}@keyframes generation-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.visual-with-progress{display:block;position:relative;overflow:hidden}.visual-with-progress>img{width:100%;height:100%}.visual-frame{position:relative;display:block;overflow:hidden}.visual-frame>.word-visual{width:100%;height:100%;border:0;border-radius:inherit;object-fit:inherit}.visual-frame.visual-loading>.word-visual{opacity:0}:root[data-theme] .visual-frame>.visual-loading-placeholder,.visual-frame>.visual-loading-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none}.visual-frame>.image-generation-badge{z-index:1}.image-generation-badge{position:absolute;bottom:6px;left:6px;border:1px solid var(--image-border);padding:4px;border-radius:var(--pill);background:var(--image-button)}.image-generation-badge .visual-spinner{display:block;width:14px;height:14px;border-width:2px}.visual-thumb.visual-placeholder>span,.vocabulary-list .visual-placeholder>span,.mini-visual.visual-placeholder>span{display:none}.visual-modal-backdrop{background:var(--backdrop)}.visual-modal>.word-action{position:absolute;top:0;left:0;color:var(--image-text)}.visual-modal .visual-modal-image{width:min(1040px,calc(100vw - 2rem));border:0;box-shadow:none}.visual-modal .visual-frame.visual-loading{height:min(70dvh,720px)}.visual-modal .visual-frame>.word-visual{height:auto;max-height:calc(100dvh - 5.25rem);object-fit:contain}.review-exit-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.miniplayer-dock{position:fixed;left:calc(var(--sidebar-width) + 20px);right:20px;bottom:16px;z-index:24;display:flex;flex-direction:column-reverse;gap:8px}.miniplayer-dock[data-expanded=true]{max-height:50vh;overflow-y:auto}.miniplayer-swipe{position:relative;flex-shrink:0;min-width:0;border-radius:16px;overflow:hidden;touch-action:pan-y}.miniplayer-swipe .miniplayer{transition:transform .18s ease-out}.miniplayer-swipe .miniplayer[data-dragging=true]{transition:none;-webkit-user-select:none;user-select:none}.miniplayer-swipe[data-exiting=true]{pointer-events:none}.mp-delete{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:22px;background:#c62828;color:#fff;transition:clip-path .18s ease-out}.miniplayer-swipe[data-dragging=true] .mp-delete{transition:none}@media (prefers-reduced-motion: reduce){.miniplayer-swipe .miniplayer,.miniplayer-swipe .mp-delete{transition:none}}@media (any-pointer: coarse){:root body input,:root body textarea,:root body select{font-size:max(16px,1rem)}}.miniplayer{position:relative;display:flex;align-items:center;gap:11px;padding:8px;border-radius:16px;background:var(--mini-background);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 18px 38px -18px var(--backdrop);overflow:hidden}.mp-open{display:flex;align-items:center;gap:11px;flex:1;min-width:0;padding:0;border:0;background:none;text-align:left}.mini-visual{width:44px;height:44px;border:0;border-radius:11px;flex:0 0 44px;object-fit:cover}.mp-main{min-width:0;flex:1}.mp-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;letter-spacing:-.02em}.mp-main small{display:block;font-size:10.5px;color:var(--ink-2);margin-top:3px}.mp-jobs{display:flex;align-items:center;gap:6px;padding:6px 0;border:0;background:none;color:var(--ink-2);font-size:10px}.mp-close{width:30px;height:30px;border:0;border-radius:50%;background:none;color:var(--ink-3);display:grid;place-items:center}.mp-progress{position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--line)}.mp-progress i{display:block;width:38%;height:100%;border-radius:var(--pill);background:linear-gradient(90deg,var(--accent),var(--purple));animation:mini-progress 1.5s var(--ease) infinite}@keyframes mini-progress{0%{transform:translate(-100%)}to{transform:translate(280%)}}.app-toast{position:fixed;z-index:var(--layer-message);bottom:156px;left:50%;transform:translate(-50%);padding:12px 20px;border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--card);color:var(--ink);font-size:13px;box-shadow:var(--shadow);white-space:nowrap}@media (max-width: 920px){.app-shell{--mobile-nav-height: calc(81px + max(0px, env(safe-area-inset-bottom) - 12px)) }.miniplayer-dock{left:8px;right:8px;bottom:calc(var(--mobile-nav-height) + 4px)}.app-shell:has(.miniplayer-dock) .app-canvas{padding-bottom:calc(var(--mobile-nav-height) + 86px)}.app-canvas{padding:18px var(--gutter) calc(104px + env(safe-area-inset-bottom))}.app-shell[data-search-screen=false] .topbar{display:none}.app-shell[data-search-screen=false] .app-canvas{padding-top:max(18px,env(safe-area-inset-top))}.topbar{position:static;padding:max(24px,env(safe-area-inset-top)) var(--gutter) 14px;border:0;background:var(--background);-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .theme-menu-wrap,.topbar-search,.topbar-signin,.topbar-account{display:none}.topbar .brand{width:100%;justify-content:space-between;padding:0}.topbar .brand-mark{order:2}.app-shell[data-search-screen=true] .app-canvas{padding-top:0}:root[data-theme] .mobile-nav{z-index:25;min-height:81px;padding:10px 8px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--background) 55%,transparent),color-mix(in srgb,var(--background) 96%,transparent) 55%);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}.mobile-nav-link{position:relative;color:var(--ink-3);gap:5px;font-size:10px;font-weight:600;letter-spacing:.01em}.mobile-nav-link svg{width:23px;height:23px}.mobile-nav-link.is-active{color:var(--ink)}.mobile-nav-link.is-active svg{filter:drop-shadow(0 0 7px var(--accent))}.mobile-nav-link.is-active:after{content:"";width:4px;height:4px;border-radius:var(--pill);background:var(--accent);position:absolute;bottom:-7px}.mobile-count{background:var(--accent);border-color:var(--background)}.sample-grid{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}:root[data-theme] .sample-grid .sample-card{flex-basis:136px}}@media (max-width: 430px){.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-controls{gap:6px}.sort-control{gap:4px}.sort-control select{max-width:120px}.view-segment button{padding-inline:10px}.gallery-backdrop{padding:10px}.gallery-dialog{padding:14px;max-height:calc(100dvh - 20px)}.gallery-dialog .visual-gallery-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto;animation-duration:.01ms;transition-duration:.01ms}}.word-motion{transform:translateY(100%);opacity:0;transition:transform .42s var(--ease),opacity .3s var(--ease)}.word-motion.is-open{transform:none;opacity:1}.word-motion.is-closing{pointer-events:none}:root[data-theme] .visual-colorful,.visual-loading-placeholder{position:relative;overflow:hidden;background-color:#101015;background-image:radial-gradient(115% 95% at 18% 12%,var(--c1) 0%,transparent 58%),radial-gradient(105% 85% at 88% 22%,var(--c2) 0%,transparent 55%),radial-gradient(95% 80% at 55% 100%,var(--c3) 0%,transparent 62%),conic-gradient(from 200deg at 50% 45%,rgba(255,255,255,.07),transparent 38%,rgba(255,255,255,.05) 70%,transparent);box-shadow:none}.visual-colorful:before{content:"";position:absolute;left:50%;top:52%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:48% 52% 44% 56%/52% 44% 56% 48%;background:radial-gradient(circle at 35% 32%,rgba(255,255,255,.34),rgba(255,255,255,.05) 45%,transparent 70%);filter:blur(6px);mix-blend-mode:screen}.visual-colorful:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.16;mix-blend-mode:overlay;pointer-events:none}.visual-colorful>svg{position:relative;z-index:2;width:38%;height:auto;max-width:64px;color:#ffffff42;filter:drop-shadow(0 2px 24px rgba(0,0,0,.4))}.visual-generation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#0a0a0a8c}.visual-generation-overlay .generation-spark{color:#fff;animation:generation-spark-pulse 1.5s ease-in-out infinite}.visual-generation-overlay span{position:relative;color:#ffffffd1;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}@keyframes generation-spark-pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}.visual-modal .modal-favorite{top:calc(3.25rem + 12px);right:12px}.visual-modal .modal-selection-error{position:absolute;bottom:12px;left:12px;right:12px;z-index:7;padding:12px;background:var(--background);color:var(--ink);border-radius:12px}@media (prefers-reduced-motion: reduce){.word-motion{transition:none;transform:none;opacity:1}.visual-generation-overlay:before,.visual-generation-overlay .generation-spark,.hero-generation .visual-spinner,.image-generation-badge .visual-spinner{animation:none}}:root{--saved: #c99b4b}.status-saved{--state-color: var(--saved)}.stat-saved span:before{background:var(--saved)}.review-hint{margin-top:1rem}fieldset.choice-list{border:0;padding:0;margin:0 0 1rem}.choice-button input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--learning)}:root{font-family:var(--font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif);color:var(--ink, #0f172a);background:var(--background, #fbfbfd);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{touch-action:pan-x pan-y;min-width:320px;min-height:100%;background:var(--background, #fbfbfd)}body{touch-action:pan-x pan-y;min-width:320px;min-height:100vh;margin:0;background:var(--background, #fbfbfd)}body,button,input{font:inherit}button,input{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}img,svg{display:block}h1,h2,h3,p{margin:0}#root{min-height:100vh}
