.surfaceCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.toolbarRow{display:grid;gap:12px}.enterpriseShell,.dashboardMain{min-width:0}.verbMode{--jlpt-theme: var(--accent);--jlpt-theme-soft: var(--accent-muted);--jlpt-theme-border: var(--border-strong)}.verbTabRow{display:flex;margin-bottom:10px;align-items:center;justify-content:flex-end;gap:8px}.verbTabRow .btnSecondary{min-height:44px}.verbTabRow .jlptTestBtnPrimary{margin-left:auto}.segmentedRow,.jlptSegRow{display:flex;flex-wrap:wrap;gap:8px}.segmentedBtn,.jlptSegBtn{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.segmentedBtn:hover,.jlptSegBtn:hover{background:var(--surface-2);border-color:var(--jlpt-theme)}.segmentedBtn.isSelected,.jlptSegBtn.isOn{background:var(--jlpt-theme);color:#fff;border-color:var(--jlpt-theme)}.ctaPrimary,.jlptTestBtnPrimary{padding:12px 22px;border-radius:var(--radius-sm);border:none;background:var(--jlpt-theme);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 2px 8px #b91c1c59}.ctaPrimary:hover:not(:disabled),.jlptTestBtnPrimary:hover:not(:disabled){filter:brightness(1.05)}.bgmPlayer{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;max-width:100%}.bgmPlayer .toolbarBtn{white-space:nowrap;padding:8px 10px}.bgmBtnIcon{flex-shrink:0}.bgmRetryBtn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;padding:7px 10px;font-size:.74rem;font-weight:600;cursor:pointer}.bgmRetryBtn:hover{border-color:var(--accent);color:var(--accent-hover)}.bgmActive{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.bgmVolume{width:108px!important;min-width:108px;margin:0!important;padding:0!important;border:none!important;background:transparent!important;height:20px;accent-color:var(--accent)}.bgmVolumeLabel{min-width:40px;font-size:.76rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.layoutCompact .bgmVolume{width:88px!important;min-width:88px}.layoutCompact .bgmVolumeLabel{min-width:34px}:root{--font-sans: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-ja: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 14px rgba(15, 23, 42, .07);--shadow-nav: 0 1px 0 rgba(15, 23, 42, .06);--transition: .18s ease}:root{color-scheme:light}:root[data-theme=light]{--canvas: #f3f5f8;--canvas-gradient: radial-gradient(1200px 520px at 8% -10%, rgba(16, 42, 67, .18) 0%, rgba(16, 42, 67, 0) 56%), radial-gradient(980px 480px at 94% 0%, rgba(30, 58, 95, .15) 0%, rgba(30, 58, 95, 0) 60%), linear-gradient(158deg, #f7f8fb 0%, #f4f6fa 48%, #f8f9fc 100%);--surface: #ffffff;--surface-2: #f7f9fc;--border: #d1d5db;--border-strong: #9ca3af;--text: #0b1324;--muted: #64748b;--accent: #f59e0b;--accent-hover: #d97706;--accent-muted: rgba(245, 158, 11, .12);--success: #15803d;--success-bg: #f0fdf4;--success-border: #bbf7d0;--warning: #b45309;--warning-bg: #fffbeb;--danger: #b91c1c;--danger-bg: #fef2f2;--input-bg: #ffffff;--notice-bg: #ecfdf5;--notice-border: #a7f3d0;--notice-text: #065f46;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #991b1b;--header-bg: rgba(16, 42, 67, .94)}:root[data-theme=dark]{color-scheme:dark;--canvas: #071327;--canvas-gradient: radial-gradient(1100px 500px at 10% -8%, rgba(30, 96, 201, .25) 0%, rgba(30, 96, 201, 0) 52%), radial-gradient(980px 460px at 92% 0%, rgba(15, 58, 130, .35) 0%, rgba(15, 58, 130, 0) 56%), linear-gradient(165deg, #071224 0%, #0a1730 44%, #0a1f3f 100%);--surface: #0f203b;--surface-2: #0b1730;--border: #1b3558;--border-strong: #315483;--text: #e9f1ff;--muted: #9eb5d8;--accent: #66a5ff;--accent-hover: #93bfff;--accent-muted: rgba(102, 165, 255, .16);--success: #4ade80;--success-bg: #052e16;--success-border: #166534;--warning: #fbbf24;--warning-bg: #422006;--danger: #f87171;--danger-bg: #450a0a;--input-bg: #0f172a;--notice-bg: #052e16;--notice-border: #166534;--notice-text: #bbf7d0;--error-bg: #450a0a;--error-border: #7f1d1d;--error-text: #fecaca;--header-bg: rgba(5, 17, 36, .92)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text);background-color:var(--canvas);background-image:var(--canvas-gradient);background-attachment:fixed;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[lang=ja],.vocabTable tbody td:nth-child(1),.listTable tbody td:nth-child(2),.listTable tbody td:nth-child(3),.flashKanji,.inspirationKanji,.quoteJa,.verbCardHeader h3{font-family:var(--font-ja)}.appShell{min-height:100vh;position:relative}.container{position:relative;z-index:1;width:100%;margin:0 auto;padding:0 24px 48px;max-width:1280px}.enterpriseShell{min-width:0}.leftRail{position:sticky;top:14px;display:grid;gap:10px}.leftRailCard{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border-radius:12px;padding:12px;box-shadow:var(--shadow-sm)}.leftRailBrand strong{display:block;font-size:1.05rem;margin-bottom:4px}.leftRailLabel{margin:0 0 6px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.leftRailNav{display:grid;gap:6px}.leftRailBtn{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.84rem;font-weight:600}.leftRailBtn.isOn{background:var(--accent-muted);color:var(--accent);border-color:var(--accent)}.leftRailStats{display:grid;gap:8px}.leftRailStats div{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:var(--surface)}.leftRailStats span{color:var(--muted);font-size:.78rem}.layoutFull .container{max-width:none;width:100%;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}.layoutFull .sectionGrid,.layoutFull .flashTopRow,.layoutFull .insightsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.layoutFull .heroStats{grid-template-columns:repeat(4,minmax(0,1fr))}.layoutFull .inspirationMain{grid-template-columns:repeat(2,minmax(0,1fr))}.layoutFull .flashTopRow>*,.layoutFull .sectionGrid>*,.layoutFull .insightsGrid>*,.layoutFull .inspirationMain>*,.layoutFull .heroStats>*{min-width:0}.layoutCompact .container{max-width:1180px}.appHeader{position:sticky;top:0;z-index:50;background-image:linear-gradient(112deg,#08182fad,#0d294e99 52%,#12345cad),linear-gradient(180deg,#05142600 80%,#0514268f),linear-gradient(180deg,#ffffff0f,#fff0 32%),url(/header-media/theme-wave.png);background-size:cover,cover,cover,cover;background-position:center center,center center,center center,center 38%;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(146,171,205,.34);border-top:none;border-bottom:none;border-radius:0 0 20px 20px;overflow:hidden;box-shadow:0 14px 34px #03102457,inset 0 -2px #06162ac7;margin:0 -24px 24px;padding:16px 24px 0;color:#e9f1ff}.appHeader:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;pointer-events:none;background:linear-gradient(180deg,#06162a00,#06162a99)}.appHeader.isCompact .brandRow{padding-bottom:8px}.appHeader.isCompact .compactPanel{max-height:0;opacity:0;overflow:hidden;pointer-events:none;margin:0;padding-top:0;padding-bottom:0;transition:max-height .22s ease,opacity .18s ease,padding .18s ease}.appHeader.isCompact.isExpanded .compactPanel{max-height:320px;opacity:1;pointer-events:auto}.appHeader.isCompact.isExpanded .compactKpiPanel{padding-top:44px;padding-bottom:14px}.appHeader.isCompact.isExpanded .compactNavPanel{margin-bottom:8px}.layoutFull .appHeader{margin-left:calc(-1*clamp(16px,3vw,40px));margin-right:calc(-1*clamp(16px,3vw,40px));padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}.brandRow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px}.heroTitleBlock{display:flex;gap:14px;align-items:center;min-width:0}.brandLogo{width:52px;height:52px;border-radius:var(--radius-md);border:1px solid rgba(214,226,244,.72);flex-shrink:0}.appHeader h1{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fbbf24;text-shadow:0 2px 10px rgba(245,158,11,.35)}.heroSubtitle{margin:4px 0 0;color:#fff7e6f5;font-size:.875rem;max-width:42ch}.brandLogo.isTapHint{animation:logoPulse .5s ease}@keyframes logoPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.headerControls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.profileMenuWrap{position:relative;padding-bottom:14px;margin-bottom:-14px}.profileChip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px 6px 6px;border:1px solid #d1d5db;border-radius:999px;background:#f8fbff;color:#1f2937;cursor:pointer}.profileChip:hover{border-color:#9ca3af;background:#fff}.profileAvatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.profileAvatarFallback{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:var(--accent-muted);color:var(--accent);font-size:.78rem;font-weight:700}.profileName{font-size:.82rem;font-weight:600;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profilePopover{position:absolute;top:calc(100% + 2px);right:0;min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:6px;display:grid;gap:4px;z-index:100}.profilePopoverBtn{display:inline-flex;align-items:center;gap:8px;width:100%;border:1px solid transparent;background:transparent;color:var(--text);border-radius:var(--radius-sm);padding:8px 9px;text-align:left;font-size:.84rem;cursor:pointer}.profilePopoverBtn:hover{background:var(--surface-2);border-color:var(--border)}.profilePopoverBtn.danger{color:var(--danger)}.headerFunCells{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 0 14px;overflow:hidden}.headerFunCell{border:1px solid rgba(212,224,242,.72);background:linear-gradient(165deg,#0e233ae0,#18314fe0);border-radius:16px;padding:11px 12px 10px;box-shadow:inset 0 1px #ffffff1f}.headerFunCell.isImportant{border-color:#fcd34dbf;background:linear-gradient(165deg,#6c350a75,#92400e7a)}.headerFunCell.isStreak{border-color:#fb923cb3;background:linear-gradient(165deg,#7c2d1294,#9a34128a)}.headerFunCell.isLink{text-decoration:none;color:inherit}.headerFunCell.isLink:hover{border-color:#fde047eb;box-shadow:0 10px 20px #fbbf2438}.headerFunCell.isAction{cursor:pointer;text-align:left;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.headerFunCell.isAction:hover{transform:translateY(-1px);border-color:#fbbf24d6;box-shadow:0 10px 20px #f59e0b33}.headerFunCell strong{font-size:1.15rem;font-weight:700}.kpiTopLine{display:flex;align-items:center;gap:7px;margin-bottom:2px}.kpiIcon{width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;color:#f0f6ff;background:#f59e0b38}.kpiValue{font-size:1.42rem!important;color:#f8fbff;line-height:1.1}.headerFunLabel{margin:0 0 2px;color:#d8e5f7eb;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.heroStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-bottom:16px}.statChip{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);padding:10px 12px;transition:border-color var(--transition)}.statChip:hover{border-color:var(--border-strong)}.statLabel{margin:0 0 2px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.statChip strong{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.mainNav{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:0;margin-bottom:8px}.navPill{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:600;font-size:.875rem;padding:10px 16px;border-radius:12px;border:1px solid rgba(213,225,242,.78);background:#0c233e85;color:#eef5ff;cursor:pointer;transition:color var(--transition),background var(--transition),border-color var(--transition);box-shadow:none;margin-bottom:0}.navPillInner{display:inline-flex;align-items:center;gap:8px;text-shadow:0 0 6px rgba(232,242,255,.32)}.navPillInner svg,.navGlyph{filter:drop-shadow(0 0 4px rgba(236,244,255,.38))}.navGlyph{font-family:var(--font-ja);font-size:1.08rem;line-height:1;font-weight:800;color:#f8fbff}.navPill:hover:not(:disabled){color:#fff;background:#17375ba8;border-color:#e8eff8e6;filter:none;transform:none}.navPill.isActive{color:#7c2d12;background:linear-gradient(140deg,#fff8ea,#ffefcc);border-color:#fcd34d;box-shadow:0 8px 20px #f59e0b47;padding-bottom:10px}.navPill.isActive .navPillInner{color:#7c2d12;text-shadow:none}.navPill.isActive .navPillInner svg,.navPill.isActive .navGlyph{color:#7c2d12;filter:none;opacity:1}.appHeader .toolbarBtn,.appHeader .bgmPlayer .toolbarBtn{background:#f8fbff;color:#1f2937;border-color:#d1d5db}.appHeader .toolbarBtn:hover:not(:disabled),.appHeader .bgmPlayer .toolbarBtn:hover:not(:disabled){background:#fff;border-color:#9ca3af}.toolbarBtn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.toolbarBtn svg{flex-shrink:0}.pageLoadingCard{display:grid;gap:10px;align-items:center;min-height:110px}.pageLoadingBar{width:min(320px,60%);height:8px;border-radius:999px;background:linear-gradient(90deg,var(--accent-muted) 0%,var(--accent) 50%,var(--accent-muted) 100%);background-size:200% 100%;animation:loadingShimmer 1.3s linear infinite}@keyframes loadingShimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.toolbarBtn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong);filter:none;transform:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;margin-bottom:20px;transition:box-shadow var(--transition),border-color var(--transition)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card h2{margin:0 0 6px;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.card h2+.muted{margin-top:0}.inspirationCard{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%)}.inspirationMain{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:stretch}.inspirationKanjiWrap{border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;background:var(--surface);text-align:center;display:flex;flex-direction:column;justify-content:center}.inspirationKanji{margin:8px 0 0;font-size:clamp(3.5rem,8vw,4.5rem);font-weight:700;letter-spacing:.06em;line-height:1}.inspirationMeta{margin:12px 0 0;color:var(--muted);font-size:.9rem}.inspirationQuote{display:flex;flex-direction:column;justify-content:center}.quoteJa{margin:0;font-size:1.15rem;font-weight:600;line-height:1.5}.quoteReading{margin:10px 0 0;color:var(--muted);font-size:.875rem}.quoteMeaning{margin:12px 0 0;color:var(--text)}.ctaStudyButton{align-self:flex-start;margin-top:16px}button{font:inherit}.btnPrimary{border:none;background:var(--accent);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 1px 2px #4338ca40;transition:background var(--transition),box-shadow var(--transition)}.btnPrimary:hover:not(:disabled){background:var(--accent-hover);filter:none;transform:none}.btnSecondary{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--transition),background var(--transition)}.btnSecondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong);filter:none;transform:none}.btnGhost{border:1px solid transparent;background:transparent;color:var(--muted);padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;cursor:pointer;box-shadow:none}.btnGhost:hover:not(:disabled){color:var(--text);background:var(--surface-2);filter:none;transform:none}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.trashButton{background:var(--danger-bg);color:var(--danger);border:1px solid var(--error-border);padding:6px 10px;border-radius:var(--radius-sm);font-weight:600;box-shadow:none}.trashButton:hover:not(:disabled){filter:none;transform:none;background:var(--error-bg)}.knownButton{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border);box-shadow:none}:root[data-theme=dark] .knownButton{color:#bbf7d0;background:#052e16;border-color:#166534}.knownButton:hover:not(:disabled){filter:none;transform:none;opacity:.92}.unknownButton{background:var(--warning-bg);color:var(--warning);border:1px solid #fcd34d;box-shadow:none}:root[data-theme=dark] .unknownButton{color:#fde68a;background:#422006;border-color:#92400e}.unknownButton:hover:not(:disabled){filter:none;transform:none;opacity:.92}.row{display:flex;align-items:center;margin-bottom:12px}.gap{gap:10px}input,select{font:inherit;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--text);margin-bottom:10px;transition:border-color var(--transition),box-shadow var(--transition)}input[type=checkbox],input[type=radio]{width:auto;padding:0;margin:0;cursor:pointer}input:hover,select:hover{border-color:var(--border-strong)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}option{color:var(--text);background:var(--surface)}.toolbar label,.field label{display:block;color:var(--muted);font-weight:600;font-size:.8125rem;margin-bottom:4px}.muted{color:var(--muted);font-size:.9rem}.hint{margin-top:4px;color:var(--muted);font-size:.8125rem}.toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}.toolbar-2{grid-template-columns:1.2fr 1fr;align-items:end}.cardCounter{margin:0 0 10px;text-align:right;font-size:.875rem;font-variant-numeric:tabular-nums}.studyCard{scroll-margin-top:88px}.studySubtitle{margin-bottom:12px}.authCard{max-width:560px;margin:80px auto 20px;border:1px solid var(--border-strong);box-shadow:var(--shadow-md);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%)}.authBrand{display:flex;align-items:center;gap:14px;margin:0 0 16px}.authBrandLogo{width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--border);flex-shrink:0;object-fit:contain;background:var(--surface-2)}.authBrandTitle{margin:0;font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.authTitle{margin-bottom:2px;font-size:1.35rem}.authSubtitle{margin-bottom:14px}.authTabs{--jlpt-theme: var(--accent);margin-bottom:14px;display:inline-grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;width:100%;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.authTabs .jlptSegBtn{width:100%;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);font-weight:700}.authTabs .jlptSegBtn:hover{background:color-mix(in srgb,var(--surface) 85%,var(--accent) 15%);color:var(--text);border-color:color-mix(in srgb,var(--border) 70%,var(--accent) 30%)}.authTabs .jlptSegBtn.isOn{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 6px 14px #f59e0b42}.authForm{display:grid;gap:10px}.authForm label{font-weight:600;color:var(--muted)}.authForm input{margin-top:4px}.authSubmitBtn{margin-top:4px;min-height:42px}.studyTabs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.insightsCard h2{margin-bottom:4px}.insightsGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;margin-top:14px}.insightPanel{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;background:var(--surface-2)}.insightPanel h3{margin:0 0 10px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.masteryGroups{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:10px;margin-bottom:12px}.masteryItem{text-align:center}.masteryRing{--progress: 0;width:100px;height:100px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--progress) * 1%),var(--border) 0)}.masteryRing span{width:74px;height:74px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:700;font-size:.9rem}.masteryGroupName{margin:8px 0 2px;font-weight:600;font-size:.875rem}.masteryTiny{margin:0;font-size:.8rem}.statsMini{display:flex;flex-wrap:wrap;gap:8px}.statsMini span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.8125rem}.barList{display:grid;gap:10px}.barHeader{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.875rem}.barTrack{width:100%;height:8px;border-radius:999px;background:var(--border)}.barFill{height:100%;border-radius:inherit;background:var(--accent)}.kanjiCloud{display:flex;flex-wrap:wrap;gap:8px}.kanjiChip{border-radius:var(--radius-sm);padding:6px 10px;border:1px solid var(--border);background:var(--surface);font-weight:600;font-size:.875rem}.insightText{margin:12px 0 0;font-size:.9rem;line-height:1.5}.overviewList{display:grid;gap:12px}.overviewList p{margin:0 0 2px;font-size:.8125rem}.overviewList strong{font-size:1.1rem;font-weight:700}.chartHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.trendToggle{display:inline-flex;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.trendBtn{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:700;cursor:pointer}.trendBtn.isOn{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.trendChartWrap{margin-top:4px}.trendChart{width:100%;height:180px;display:block;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 92%,#ffffff 8%) 0%,var(--surface-2) 100%)}.trendAxis{stroke:color-mix(in srgb,var(--border) 90%,#94a3b8 10%);stroke-width:1}.trendGrid{stroke:color-mix(in srgb,var(--border) 65%,transparent 35%);stroke-width:1}.trendLineKanji{fill:none;stroke:#2563eb;stroke-width:2.4}.trendLineVocab{fill:none;stroke:#f59e0b;stroke-width:2.4}.trendLineVerb{fill:none;stroke:#10b981;stroke-width:2.4}.trendDotKanji{fill:#2563eb}.trendDotVocab{fill:#f59e0b}.trendDotVerb{fill:#10b981}.trendAxisLabel{fill:var(--muted);font-size:10px;font-weight:600}.trendLabels{margin-top:6px;display:flex;justify-content:space-between;gap:10px}.trendLabels span{color:var(--muted);font-size:.7rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chartLegend{margin-top:8px;display:inline-flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.legendDot{width:8px;height:8px;border-radius:999px;display:inline-block;margin-right:6px}.legendDot.kanji{background:#2563eb}.legendDot.vocab{background:#f59e0b}.legendDot.verb{background:#10b981}.flashTopRow{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:20px;align-items:start;margin-bottom:16px}.sectionGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.resultLabel{margin:0 0 4px;color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.flashKanji{margin:6px 0 12px;font-size:clamp(4rem,10vw,5.5rem);font-weight:700;line-height:1.08;letter-spacing:.01em;color:var(--text)}.imagePanel{display:flex;justify-content:center;align-items:flex-start}.kanjiImage{width:100%;max-width:420px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2)}.vocabPanel,.verbMode{margin-top:4px}.verbFilters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.verbListActions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px;flex-wrap:wrap}.verbListActions .btnSecondary.isOn{border-color:var(--accent);color:var(--accent);background:var(--accent-muted)}.verbCards{display:grid;gap:14px}.verbCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:16px}.verbCardTop{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px}.verbCardTop:hover{background:var(--surface);border-color:var(--border)}.verbCardMain{min-width:0}.verbExpandHint{font-size:.76rem;color:var(--muted);font-weight:600;white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--surface);display:inline-flex;margin-top:8px}.verbHeadWord{margin:0;font-size:2rem;line-height:1.05}.verbHeadRow{display:flex;align-items:baseline;gap:10px}.verbKanaLine{margin:0;font-size:1.26rem;color:var(--muted);font-weight:600}.verbExpandedMain{margin-top:8px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.verbQuizCard{margin-bottom:14px}.verbQuizOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.verbQuizOption{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:600;padding:10px 12px;text-align:left;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.verbQuizOption:hover:not(:disabled){border-color:var(--accent)}.verbQuizOption.isCorrect{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.verbQuizOption.isWrong{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.verbQuizActions{margin-top:10px;display:flex;justify-content:flex-end}.verbCardHeader p{margin:4px 0 0;font-size:1rem}.verbCardHeader .muted{font-size:1.22rem}.verbMeaningLine{margin:6px 0 0;font-size:1.28rem;font-weight:600;color:var(--text)}.verbThumb{width:100%;max-width:220px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}.verbThumbInline{width:122px;min-width:122px;height:122px;object-fit:cover;margin-left:8px;border-radius:12px}.tableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px}table{width:100%;border-collapse:collapse;font-size:.9rem}thead{background:var(--surface-2)}th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;vertical-align:top}tbody tr:last-child td{border-bottom:none}.vocabTable tbody td:nth-child(1){font-size:1.4rem;line-height:1.25;font-weight:600}.vocabTable tbody td:nth-child(2),.vocabTable tbody td:nth-child(3){font-size:1.15rem;font-weight:500}.listTable tbody td:nth-child(1){font-size:1.3rem;font-weight:600}.listTable tbody td:nth-child(2),.listTable tbody td:nth-child(3){font-size:1.2rem;font-weight:500}.blurTextOnly{filter:blur(4.5px);opacity:.4;-webkit-user-select:none;user-select:none;transition:all .25s ease}.verbTable tbody td:nth-child(1){width:28%;font-weight:600;color:var(--muted);font-size:1rem}.verbTable tbody td:nth-child(2){width:72%;font-size:1.28rem;font-weight:600}.blurRevealButton,.blurInline{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none;font-weight:500}.blurRevealButton,.blurInline{filter:blur(3px);transition:filter .2s ease}.blurRevealButton.revealed,.blurInline.revealed{filter:blur(0)}.blurRevealButton{width:auto;min-width:140px;text-align:center;padding:7px 12px;line-height:1.25;border-radius:var(--radius-sm);margin-bottom:0}.lookupBar{display:grid;grid-template-columns:1.4fr auto auto;gap:10px;align-items:start;margin-bottom:12px}.lookupBar input{margin-bottom:0}.lookupSearchRow{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:12px;position:relative}.lookupSearchRow input{margin-bottom:0;padding-left:34px;font-size:.95rem}.lookupSearchIcon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.lookupFilterRow{margin-bottom:10px}.lookupFilterRow .segmentedBtn.isSelected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 16px #f59e0b3d}.lookupTable{font-size:.96rem}.lookupTable thead th{font-size:.8rem}.lookupRowExpandable{cursor:pointer}.lookupRowExpandable:hover td{background:color-mix(in srgb,var(--surface-2) 78%,var(--accent) 22%)}.lookupInlineExpandRow td{padding:0!important;background:transparent!important;border-top:none!important}.lookupInlineExpandInner{padding:10px 8px 4px}.lookupTable tbody td:nth-child(2),.lookupTable tbody td:nth-child(3){font-family:var(--font-ja);font-size:1.1rem;letter-spacing:.01em}.lookupTypePill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700;border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.lookupTypePill.is-vocab{border-color:#2563eb73;color:#1d4ed8;background:#3b82f61f}.lookupTypePill.is-verb{border-color:#d9770673;color:#b45309;background:#f59e0b24}.lookupTypePill.is-kanji{border-color:#dc262666;color:#b91c1c;background:#ef44441f}.lookupTable tbody td:nth-child(5){white-space:nowrap;font-size:.78rem;color:var(--muted)}.lookupExpandedCard{margin-top:0}.addForm{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;align-items:start}.compactRow,.compactRow input,.compactRow button{margin-bottom:0}.actionsRow{margin-top:6px}.groupRow{max-width:720px}.error,.notice{padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:.9rem}.profileModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#00000061;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.profileModalCard{width:min(760px,96vw);margin:0}.profileAvatarHeroWrap{display:grid;place-items:center;margin:8px 0 14px}.profileAvatarHero{width:132px;height:132px;border-radius:999px;overflow:hidden;border:3px solid var(--border);background:var(--surface-2);display:grid;place-items:center}.profileAvatarHero img{width:100%;height:100%;object-fit:cover;object-position:center}.profileAvatarHeroFallback{font-size:2rem;font-weight:700;color:var(--text)}.profileEditorGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.profileEditorGrid label{font-size:.82rem;color:var(--muted);font-weight:600}.profileEditorGrid input:disabled{opacity:.62;background:color-mix(in srgb,var(--surface-2) 82%,#9ca3af 18%);color:color-mix(in srgb,var(--text) 72%,#94a3b8 28%);border-color:color-mix(in srgb,var(--border) 75%,#94a3b8 25%);cursor:not-allowed}.profileFieldWide{grid-column:1 / -1}.profileModalActions{justify-content:flex-end;margin-top:12px;margin-bottom:0}.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.notice{background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--notice-text)}.floatingActions{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;gap:8px;padding:0;border:none;background:transparent;box-shadow:none}.floatingActions .btnPrimary,.floatingActions .btnSecondary{font-size:.8125rem;padding:8px 14px;white-space:nowrap}.zaloFab{position:relative;display:inline-flex;align-items:center;text-decoration:none}.zaloFabIcon{width:62px;height:62px;border-radius:999px;display:inline-grid;place-items:center;background:linear-gradient(180deg,#1f7eff,#0c63f6);color:#fff;font-weight:800;box-shadow:0 10px 20px #0954de52;transition:transform .16s ease}.zaloFabIcon svg{stroke-width:2.2}.zaloFab:hover .zaloFabIcon{transform:translateY(-1px)}.easterEggBanner{margin-bottom:14px;border:1px solid #f97316;background:linear-gradient(90deg,#f97316,#ef4444);color:#fff;border-radius:var(--radius-sm);padding:10px 12px;font-weight:700;letter-spacing:.03em}.emojiRain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;pointer-events:none;overflow:hidden}.emojiRainCanvas{width:100%;height:100%;display:block}.appFooter{margin-top:28px;margin-bottom:6px;border-top:1px solid var(--border);padding-top:18px}.appFooterGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.appFooterBlock h3{margin:0 0 10px;font-size:1.05rem}.appFooterSocials{display:flex;flex-wrap:wrap;gap:10px}.appFooterSocialBtn{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center}.appFooterSocialBtn:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.appFooterContacts{margin:0;padding:0;list-style:none;display:grid;gap:8px}.appFooterContacts li{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}.appFooterContacts a{color:var(--accent);text-decoration:none;font-weight:500}.appFooterContacts a:hover{text-decoration:underline}.appFooterLegal{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:.86rem;text-align:center}.appFooter kbd{display:inline-block;min-width:22px;padding:2px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;background:var(--surface-2);color:var(--text);font-size:.8rem;font-family:var(--font-sans)}.shockMode .card{animation:cardShake .35s ease-in-out 6}.shockMode:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(180deg,rgba(34,197,94,.08) 0px,rgba(34,197,94,.08) 1px,transparent 1px,transparent 6px);mix-blend-mode:screen;animation:glitchFlash .12s steps(2,end) infinite}.shockMode .appHeader,.shockMode .floatingActions,.shockMode .appFooter{position:relative;z-index:3}@keyframes cardShake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}@keyframes glitchFlash{0%{opacity:.08}to{opacity:.18}}@media(max-width:1100px){.dashboardShell{grid-template-columns:1fr}.leftRail{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.flashTopRow,.layoutFull .flashTopRow,.sectionGrid,.layoutFull .sectionGrid,.insightsGrid,.layoutFull .insightsGrid,.inspirationMain,.layoutFull .inspirationMain{grid-template-columns:1fr}.heroStats,.layoutFull .heroStats,.headerFunCells{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.leftRail{grid-template-columns:1fr}.container{padding:0 16px 40px}.appHeader{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.appHeader.isCompact .compactPanel{max-height:none;opacity:1;overflow:visible;pointer-events:auto}.brandRow{flex-direction:column;align-items:stretch}.headerControls{justify-content:flex-start}.toolbar,.toolbar-2,.lookupBar,.addForm,.verbFilters,.profileEditorGrid,.verbExpandedMain{grid-template-columns:1fr}.masteryGroups{grid-template-columns:repeat(2,minmax(100px,1fr))}.chartHeaderRow{flex-direction:column;align-items:flex-start}.trendLabels{grid-template-columns:repeat(4,minmax(0,1fr))}.cardCounter{text-align:left}.mainNav{gap:0}.navPill{flex:1 1 calc(50% - 4px);text-align:center;border-radius:10px;border:1px solid rgba(177,206,248,.62);margin-bottom:8px}.navPillInner{justify-content:center;width:100%}.navPill.isActive{border-bottom-color:#d2e3fb;padding-bottom:10px}.floatingActions{right:10px;left:10px;bottom:12px;justify-content:stretch}.floatingActions .btnPrimary,.floatingActions .btnSecondary{flex:1 1 0;min-width:0}.appFooterGrid{grid-template-columns:1fr}}.jlptLevelCard h2{margin-top:0}.jlptLevelGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px}.jlptLevelTile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;font:inherit;transition:border-color var(--transition),background var(--transition);box-shadow:var(--shadow-sm)}.jlptLevelTile:hover:not(:disabled){border-color:var(--border-strong)}.jlptLevelTile:disabled{opacity:.55;cursor:not-allowed}.jlptLevelTile.isLocked{background:var(--surface)}.jlptLevelTile.isOpen:hover:not(:disabled){border-color:var(--accent)}.jlptLevelBadge{font-size:1.25rem;font-weight:800;letter-spacing:.04em}.jlptLevelRate{font-size:1.5rem;font-weight:700;color:var(--accent)}.jlptLevelTiny{font-size:.8rem}.jlptLevelSoon{font-size:.85rem;color:var(--muted);font-weight:600}.jlptLockIcon:after{content:"";position:absolute;top:12px;right:12px;width:18px;height:18px;background:currentColor;opacity:.35;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E") center / contain no-repeat}.jlptLockHint{margin-top:14px;font-size:.9rem}.jlptListHeader{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px}.jlptListHeaderActions{display:flex;flex-wrap:wrap;gap:8px}.jlptListToolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:14px}.jlptLessonRow{margin-bottom:0;max-width:280px}.jlptLessonRow label{display:block;font-size:.8125rem;font-weight:600;color:var(--muted)}.jlptHeadCell,.jlptWordCell{display:flex;align-items:center;gap:6px}.jlptWordTable thead th{vertical-align:middle;line-height:1.2}.jlptWordTable thead .jlptHeadCell{min-height:20px;align-items:center}.jlptHeadIconBtn{padding:2px;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;transform:translateY(0)}.jlptWordTable td span{display:inline-block;padding:4px 0}.jlptHideLearnedRow{display:flex;align-items:center;gap:10px;padding:8px 0}.jlptShuffleBtn{align-self:flex-end}.jlptShuffleBtn.isOn{background:var(--surface-accent);border-color:var(--accent);color:var(--accent)}.jlptHideLearnedLabel{font-size:.8125rem;font-weight:600;color:var(--muted);-webkit-user-select:none;user-select:none}.jlptSwitch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;cursor:pointer}.jlptSwitch input{opacity:0;width:0;height:0;position:absolute}.jlptSwitchSlider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:999px;transition:background .2s ease;border:1px solid var(--border-strong)}.jlptSwitchSlider:before{content:"";position:absolute;height:20px;width:20px;left:2px;top:50%;transform:translateY(-50%);background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.jlptSwitch input:checked+.jlptSwitchSlider{background:#22c55e73;border-color:#22c55e8c}.jlptSwitch input:checked+.jlptSwitchSlider:before{transform:translate(18px,-50%)}.jlptSwitch input:focus-visible+.jlptSwitchSlider{outline:2px solid var(--ring, #3b82f6);outline-offset:2px}:root[data-theme=dark] .jlptSwitchSlider{background:#94a3b840;border-color:#94a3b859}:root[data-theme=dark] .jlptSwitch input:checked+.jlptSwitchSlider{background:#22c55e59;border-color:#4ade8080}.jlptListEmptyHint{padding:12px 0;max-width:42rem}.jlptWordTable tbody tr.isLearnedRow{background:#22c55e0f}.jlptHanVietCell{font-size:.9rem;white-space:normal;max-width:14rem;line-height:1.35}.jlptLearnedOn,.jlptLearnedOff{font-size:.8125rem;padding:6px 10px;border-radius:var(--radius-sm);font-weight:600;border:1px solid var(--border);cursor:pointer;white-space:nowrap}.jlptLearnedOn{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.jlptLearnedOff{background:var(--surface);color:var(--muted)}:root[data-theme=dark] .jlptLearnedOn{color:#bbf7d0;background:#052e16;border-color:#166534}:root[data-theme=dark] .jlptLearnedOff{color:#cbd5e1;background:var(--surface-2);border-color:var(--border-strong)}.jlptListCard,.jlptTestConfig,.jlptTestCard{--jlpt-theme: var(--accent);--jlpt-theme-soft: var(--accent-muted);--jlpt-theme-border: var(--border-strong)}:root[data-theme=dark] .jlptListCard,:root[data-theme=dark] .jlptTestConfig,:root[data-theme=dark] .jlptTestCard{--jlpt-theme: var(--accent);--jlpt-theme-soft: var(--accent-muted);--jlpt-theme-border: var(--border-strong)}.jlptTestTitleBlock{margin-bottom:20px}.jlptTestTitle{margin:0;font-family:Times New Roman,Georgia,"Noto Serif",serif;font-size:1.75rem;font-weight:700;color:var(--jlpt-theme)}.jlptTestSubtitle{margin:6px 0 0}.jlptSegSection{margin-bottom:18px}.jlptSegLabel{margin:0 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.jlptSegRow{display:flex;flex-wrap:wrap;gap:8px}.jlptSegRow3 .jlptSegBtn{flex:1 1 100px}.jlptSegRowWrap{align-items:center}.jlptSegBtn{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.jlptSegBtn:hover{background:var(--surface-2);border-color:var(--jlpt-theme)}.jlptSegBtn.isOn{background:var(--jlpt-theme);color:#fff;border-color:var(--jlpt-theme)}.jlptCustomCount{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--muted)}.jlptCustomCount input{width:72px;margin-bottom:0}.jlptToggleRow{padding:12px 14px;border-radius:var(--radius-md);background:#22c55e14;border:1px solid rgba(34,197,94,.25);margin-bottom:18px;color:var(--text)}:root[data-theme=dark] .jlptToggleRow{background:#22c55e1f;border-color:#4ade8059;color:#e2e8f0}.jlptToggleRow.isDisabled{opacity:.5;pointer-events:none}.jlptToggle{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.jlptToggleHint{margin:6px 0 0 28px;font-size:.8125rem;color:var(--muted)}:root[data-theme=dark] .jlptToggleHint{color:#e2e8f0bf}.jlptProgressCard{padding:14px 16px;border-radius:var(--radius-md);background:#fffbeb;border:1px solid #fde68a;margin-bottom:20px;color:var(--text)}:root[data-theme=dark] .jlptProgressCard{background:#78350f59;border-color:#fbbf2473;color:#fef3c7}.jlptProgressTitle{margin:0 0 6px;font-weight:700;color:inherit}.jlptProgressStats{margin:0 0 8px;font-weight:600}.jlptProgressBar{height:10px;border-radius:999px;background:var(--border);overflow:hidden}.jlptProgressFill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:inherit}.jlptProgressSub{margin:8px 0 0;font-size:.85rem;color:var(--muted)}:root[data-theme=dark] .jlptProgressSub{color:#fef3c7bf}.jlptResetBtn{margin-top:10px;padding:6px 12px;font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--jlpt-theme-border);background:transparent;color:var(--text);cursor:pointer}.jlptResetBtn:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--error-border)}.jlptTestNavRow{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}.jlptTestBtnPrimary{padding:12px 22px;border-radius:var(--radius-sm);border:none;background:var(--jlpt-theme);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 2px 8px #b91c1c59}.jlptTestBtnPrimary:hover:not(:disabled){filter:brightness(1.05)}.jlptStartBtn{min-width:160px}.jlptTestHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.jlptTestMeta{margin:0}.jlptTestExit{font-size:.8125rem}.jlptTestPromptLabel{margin:0 0 8px;font-weight:600}.jlptTestJapanese{margin:0;font-size:2rem;font-weight:700}.jlptTestReading{margin:4px 0 16px;font-size:1.15rem}.jlptTestMeaning{margin:0 0 16px;font-size:1.2rem;font-weight:600}.jlptTestForm{margin-top:8px}.jlptTestFieldLabel{display:block;font-size:.8125rem;font-weight:600;color:var(--muted);margin-bottom:6px}.jlptTestInput{width:100%;margin-bottom:12px;color:var(--text);background:var(--input-bg);border:1px solid var(--border)}.jlptSelectFull{margin-bottom:0;padding:8px 12px;border-radius:var(--radius-md);border-color:var(--border-strong);cursor:pointer}.jlptTestActions{display:flex;gap:8px}.jlptTestActionsEnd{margin-top:20px;justify-content:flex-end}.jlptWrongActions{margin-top:8px}.jlptTightTop{margin-top:0}.jlptTestJapaneseWrap{display:flex;align-items:center;justify-content:center;gap:10px}.jlptSpeakBtn{border-radius:999px;padding:8px;width:40px;height:40px;justify-content:center}.jlptOptionsGrid{display:grid;gap:10px;margin-top:16px}.jlptOptionBtn{padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);text-align:left;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.jlptOptionBtn:hover:not(:disabled){border-color:var(--accent)}.jlptOptionBtn.isCorrect{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.jlptOptionBtn.isWrong{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.jlptOptionPrefix{margin-right:10px;opacity:.5;font-size:.9rem}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
