:root,html[data-theme=dark]{--font-ui:"Inter", "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-fantasy:"Cinzel", "Orbitron", "Noto Serif JP", serif;--font-button:"Inter", "Noto Sans JP", system-ui, sans-serif;--font-boss:"Cinzel", "Noto Serif JP", serif;--font-ai:"Outfit", "Inter", "Noto Sans JP", system-ui, sans-serif;--surface-base:#050916;--surface-deep:#030712;--surface-raised:#0c1428;--surface-overlay:#050a18f0;--surface-soft:#0c1428e0;--surface-hover:#ffffff0a;--surface-active:#8b5cf624;--border-default:#7093ff3d;--border-accent:#8b5cf69e;--border-gold:#d4af376b;--border-subtle:#ffffff0f;--border-strong:#ffffff1a;--border-danger:#ef44448c;--text-primary:#e8edff;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-dim:#64748b;--text-bright:#f8fafc;--text-inverse:#0f172a;--accent:#8b5cf6;--accent-dim:#8b5cf642;--accent-glow:#8b5cf652;--accent-hover:#1677ff;--accent-bg:#8b5cf624;--accent-border:#8b5cf675;--accent-cyan:#28c4ff;--accent-cyan-bg:#28c4ff1f;--accent-cyan-border:#28c4ff6b;--brand-gradient:linear-gradient(135deg, #a526ff, #0e5bff);--gold:#d4af37;--gold-bright:#fde68a;--gold-glow:#d4af3738;--gold-bg:#facc151f;--gold-border:#facc155c;--danger:#ef4444;--danger-bg:#ef44441a;--danger-border:#ef44444d;--danger-dark:#450a0a;--success:#22c55e;--success-bg:#22c55e1a;--success-border:#22c55e4d;--warning:#f59e0b;--warning-bg:#f59e0b1a;--shadow-sm:0 4px 16px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 18px 48px #0000009e;--shadow-card:0 22px 42px #000000a6;--shadow-glow-accent:0 0 18px #2dd4bf2e;--shadow-glow-gold:0 0 14px #d4af372e;--input-bg:#080d14eb;--input-bg-focus:transparent;--input-color:#e5c76b;--input-placeholder:#94a3b880;--input-border:linear-gradient(135deg, #2dd4bfbf, #d4af376b);--body-bg:radial-gradient(circle at 18% 0%, #9148ff3d, transparent 28%), radial-gradient(circle at 92% 14%, #0091ff2b, transparent 26%), #030712;--container-bg:linear-gradient(180deg, #080e1ef5, #030712fa), radial-gradient(circle at top, #8b5cf62e, transparent 42%);--card-bg:radial-gradient(circle at 50% 8%, #8b5cf626, transparent 34%), linear-gradient(180deg, #0c1428, #070b14);--page-bg:radial-gradient(circle at 16% 2%, #9148ff47, transparent 24rem), radial-gradient(circle at 90% 20%, #0091ff2e, transparent 20rem), linear-gradient(180deg, #050916 0%, #071020 55%, #050813 100%);--page-bg-solid:#050916;--sticky-header-bg:#050a18e6;--nav-bar-bg:#050a18f2;--exam-page-bg:var(--page-bg);--list-header-bg:#1c1f24;--modal-bg:#0b1017;--modal-overlay:#000000b3;--toast-success-bg:linear-gradient(135deg, #22c55e, #16a34a);--toast-error-bg:linear-gradient(135deg, #ef4444, #dc2626);--breakthrough-bg:radial-gradient(circle at 50% 0%, #ffffff14, transparent 42%), linear-gradient(180deg, #080d14f5, #030712fa);--srs-forgot-bg:#450a0a;--srs-forgot-border:#ef4444;--srs-hard-bg:#422006;--srs-hard-border:#b45309;--srs-easy-bg:#064e3b;--srs-easy-border:#22c55e;--toggle-bg:#080d14c7;--toggle-color:#d4af37;--toggle-border:#2dd4bf59;--app-shell-bg:var(--page-bg);--app-shell-solid:var(--page-bg-solid);--app-panel-bg:#0c1428b8;--app-panel-strong:#050a18e6;--app-card-gradient:linear-gradient(135deg, #0f1128e6, #0a0c1ee6);--app-nav-bg:#0a0c16eb;--app-ambient-a:#4f46e51a;--app-ambient-b:#38bdf814;--ai-ambient-bg:radial-gradient(ellipse 60% 50% at 30% 20%, #4f2ea02e 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 75% 70%, #0e6ea51f 0%, transparent 55%), var(--page-bg-solid);--ai-star-color:#ffffff9e;--ai-light-beam:linear-gradient(180deg, transparent, #7850f026, transparent);--ai-bubble-bg:#ffffff0e;--ai-bubble-border:#a78bfa2e;--ai-wisdom-bg:linear-gradient(135deg, #1e1048f2 0%, #0f2044f2 100%)}html[data-theme=light]{--font-ui:"Inter", "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-fantasy:"Cinzel", "Orbitron", "Noto Serif JP", serif;--font-button:"Inter", "Noto Sans JP", system-ui, sans-serif;--font-boss:"Cinzel", "Noto Serif JP", serif;--font-ai:"Outfit", "Inter", "Noto Sans JP", system-ui, sans-serif;--surface-base:#f0ede6;--surface-deep:#e8e3d8;--surface-raised:#faf8f3;--surface-overlay:#faf8f3f5;--surface-soft:#f0ede6d9;--surface-hover:#14b8a60f;--surface-active:#7c3aed1a;--border-default:#607dff40;--border-accent:#7c3aed7a;--border-gold:#b4780a66;--border-subtle:#00000012;--border-strong:#0000001f;--border-danger:#dc262673;--text-primary:#2d4a3e;--text-secondary:#3d5a4f;--text-muted:#5a7568;--text-dim:#7a9088;--text-bright:#1a2e28;--text-inverse:#f8fafc;--accent:#6d28d9;--accent-dim:#6d28d92e;--accent-glow:#6d28d933;--accent-hover:#2563eb;--accent-bg:#6d28d91a;--accent-border:#6d28d957;--accent-cyan:#0284c7;--accent-cyan-bg:#0284c71a;--accent-cyan-border:#0284c747;--brand-gradient:linear-gradient(135deg, #8b2cff, #155eef);--gold:#a16207;--gold-bright:#92400e;--gold-glow:#a1620733;--gold-bg:#fbbf241f;--gold-border:#a1620759;--danger:#dc2626;--danger-bg:#dc262614;--danger-border:#dc26264d;--danger-dark:#fee2e2;--success:#16a34a;--success-bg:#16a34a14;--success-border:#16a34a4d;--warning:#d97706;--warning-bg:#d977061a;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;--shadow-card:0 4px 20px #0000001a;--shadow-glow-accent:0 0 12px #0d948826;--shadow-glow-gold:0 0 10px #a1620726;--input-bg:#faf8f3f5;--input-bg-focus:#fff;--input-color:#2d4a3e;--input-placeholder:#5a75688c;--input-border:linear-gradient(135deg, #0d948899, #a1620766);--body-bg:radial-gradient(circle at 18% -8%, #6d28d91a, transparent 32%), radial-gradient(circle at 90% 14%, #2563eb14, transparent 26%), #f0ede6;--container-bg:linear-gradient(180deg, #f0ede6fa, #e8e3d8f5), radial-gradient(circle at top, #6d28d914, transparent 42%);--card-bg:radial-gradient(circle at 50% 8%, #6d28d914, transparent 34%), linear-gradient(180deg, #faf8f3, #eeeae0);--page-bg:linear-gradient(135deg, #ece9e0 0%, #f0ede6 50%, #e8e3d8 100%);--page-bg-solid:#ece9e0;--sticky-header-bg:#f0ede6f2;--nav-bar-bg:#f0ede6f7;--exam-page-bg:#ece9e0;--list-header-bg:#e8e3d8;--modal-bg:#faf8f3;--modal-overlay:#00000073;--toast-success-bg:linear-gradient(135deg, #16a34a, #15803d);--toast-error-bg:linear-gradient(135deg, #dc2626, #b91c1c);--breakthrough-bg:radial-gradient(circle at 50% 0%, #ffffff80, transparent 42%), linear-gradient(180deg, #faf8f3f5, #f0ede6fa);--srs-forgot-bg:#fee2e2;--srs-forgot-border:#fca5a5;--srs-hard-bg:#fef3c7;--srs-hard-border:#fcd34d;--srs-easy-bg:#d1fae5;--srs-easy-border:#6ee7b7;--toggle-bg:#faf8f3e6;--toggle-color:#a16207;--toggle-border:#a1620766;--app-shell-bg:var(--page-bg);--app-shell-solid:var(--page-bg-solid);--app-panel-bg:#faf8f3c7;--app-panel-strong:#faf8f3f0;--app-card-gradient:linear-gradient(135deg, #faf8f3f0, #e8e3d8e0);--app-nav-bg:#faf8f3f0;--app-ambient-a:#6d28d917;--app-ambient-b:#0284c714;--ai-ambient-bg:radial-gradient(ellipse 64% 48% at 28% 12%, #6366f11f 0%, transparent 60%), radial-gradient(ellipse 52% 42% at 78% 72%, #0ea5e91c 0%, transparent 55%), var(--page-bg);--ai-star-color:#2563eb57;--ai-light-beam:linear-gradient(180deg, transparent, #2563eb1f, transparent);--ai-bubble-bg:#ffffffc7;--ai-bubble-border:#607dff38;--ai-wisdom-bg:linear-gradient(135deg, #ffffffeb 0%, #e5f1ffe0 100%)}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-overflow-scrolling:auto;touch-action:manipulation;position:fixed;inset:0}*,:before,:after{box-sizing:border-box;max-width:100%}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] body{background:var(--body-bg)!important;color:var(--text-primary)!important}body,input,textarea,select{font-family:var(--font-ui)}button{font-family:var(--font-button);font-weight:600}h1,h2,.title,.fc-panel-top h1,.fc-hero-head h1,[class*=hero-title],[class*=section-title]{font-family:var(--font-fantasy)}[class*=boss],[class*=Boss],[class*=battle-title],[class*=challenge-title]{font-family:var(--font-boss);font-weight:700}html[data-theme=light] .fc-mobile-shell,html[data-theme=light] .app-page,html[data-theme=light] .admin-dashboard,html[data-theme=light] .exam-page{background:var(--app-shell-bg)!important;color:var(--text-primary)!important}html[data-theme=light] .glass-card,html[data-theme=light] .fantasy-card,html[data-theme=light] .modal-box,html[data-theme=light] .fc-metric-card,html[data-theme=light] .fc-deck-card,html[data-theme=light] .fc-deck-summary,html[data-theme=light] .fc-card-form,html[data-theme=light] .fc-empty-state,html[data-theme=light] .fc-empty-study,html[data-theme=light] .fc-word-row,html[data-theme=light] .admin-card,html[data-theme=light] .exam-home-card,html[data-theme=light] .exam-question-card{background:var(--surface-overlay)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-md)!important}html[data-theme=light] .fc-study-card,html[data-theme=light] .fc-review-banner{color:var(--text-primary)!important;background:radial-gradient(circle at 18% 0,#2563eb29,#0000 36%),linear-gradient(135deg,#fff 0%,#e9f4ff 52%,#e7e3ff 100%)!important;border-color:#0284c757!important;box-shadow:0 16px 40px #2563eb2e!important}html[data-theme=light] .fc-study-card .fc-kanji,html[data-theme=light] .fc-study-card .fc-meaning,html[data-theme=light] .fc-deck-title strong,html[data-theme=light] .fc-panel-top h1,html[data-theme=light] .fc-hero-head h1,html[data-theme=light] .fc-word-row strong{color:var(--text-bright)!important}html[data-theme=light] .fc-hero-head p,html[data-theme=light] .fc-deck-main p,html[data-theme=light] .fc-deck-summary p,html[data-theme=light] .fc-word-row p,html[data-theme=light] .fc-word-row small,html[data-theme=light] .fc-example-box,html[data-theme=light] .fc-reading{color:var(--text-secondary)!important}html[data-theme=light] .fc-example-box,html[data-theme=light] .fc-deck-tabs,html[data-theme=light] .fc-quick-add-panel,html[data-theme=light] .fc-ai-add-panel{border-color:var(--border-subtle)!important;color:var(--text-secondary)!important;background:#ffffffad!important}html[data-theme=light] .fc-deck-actions button,html[data-theme=light] .fc-deck-review-actions button,html[data-theme=light] .fc-deck-add-btn,html[data-theme=light] .fc-floating-add,html[data-theme=light] .fc-save-card{background:var(--brand-gradient)!important;color:#fff!important;border-color:#0000!important}html[data-theme=light] .fc-deck-actions button+button,html[data-theme=light] .fc-icon-btn,html[data-theme=light] .admin-nav-btn,html[data-theme=light] .modern-btn-secondary{color:var(--text-secondary)!important;border-color:var(--border-default)!important;background:#ffffffb8!important}html[data-theme=light] [style*="color: rgba(255,255,255"],html[data-theme=light] [style*="color:rgba(255,255,255"],html[data-theme=light] [style*="color: rgba(255, 255, 255"],html[data-theme=light] [style*="color:rgba(255, 255, 255"],html[data-theme=light] [style*="color: rgba(226,232,240"],html[data-theme=light] [style*="color:rgba(226,232,240"],html[data-theme=light] [style*="color: rgba(226, 232, 240"],html[data-theme=light] [style*="color:rgba(226, 232, 240"],html[data-theme=light] [style*="color: rgba(241,245,249"],html[data-theme=light] [style*="color:rgba(241,245,249"],html[data-theme=light] [style*="color: rgba(241, 245, 249"],html[data-theme=light] [style*="color:rgba(241, 245, 249"],html[data-theme=light] [style*="color: #e2e8f0"],html[data-theme=light] [style*="color:#e2e8f0"],html[data-theme=light] [style*="color: #f8fafc"],html[data-theme=light] [style*="color:#f8fafc"],html[data-theme=light] [style*="color: #fff"],html[data-theme=light] [style*="color:#fff"]{color:var(--text-primary)!important;text-shadow:none!important}html[data-theme=light] [style*="color: rgba(148,163,184"],html[data-theme=light] [style*="color:rgba(148,163,184"],html[data-theme=light] [style*="color: rgba(148, 163, 184"],html[data-theme=light] [style*="color:rgba(148, 163, 184"],html[data-theme=light] [style*="color: #64748b"],html[data-theme=light] [style*="color:#64748b"],html[data-theme=light] [style*="color: #475569"],html[data-theme=light] [style*="color:#475569"]{color:var(--text-muted)!important}html[data-theme=light] [style*="-webkit-text-fill-color: transparent"],html[data-theme=light] [style*=-webkit-text-fill-color\:transparent]{color:var(--accent-hover)!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;background:0 0!important}html[data-theme=light] [style*="opacity: 0.35"],html[data-theme=light] [style*="opacity:0.35"],html[data-theme=light] [style*="opacity: 0.4"],html[data-theme=light] [style*="opacity:0.4"],html[data-theme=light] [style*="opacity: 0.45"],html[data-theme=light] [style*="opacity:0.45"],html[data-theme=light] [style*="opacity: 0.5"],html[data-theme=light] [style*="opacity:0.5"],html[data-theme=light] [style*="opacity: 0.55"],html[data-theme=light] [style*="opacity:0.55"],html[data-theme=light] [style*="opacity: 0.6"],html[data-theme=light] [style*="opacity:0.6"]{opacity:.92!important}html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] h3,html[data-theme=light] h4,html[data-theme=light] p,html[data-theme=light] span,html[data-theme=light] small,html[data-theme=light] strong,html[data-theme=light] label{text-shadow:none!important}html[data-theme=light] [style*="background: rgba(255,255,255,0.03"],html[data-theme=light] [style*="background:rgba(255,255,255,0.03"],html[data-theme=light] [style*="background: rgba(255,255,255,0.04"],html[data-theme=light] [style*="background:rgba(255,255,255,0.04"],html[data-theme=light] [style*="background: rgba(255,255,255,0.05"],html[data-theme=light] [style*="background:rgba(255,255,255,0.05"],html[data-theme=light] [style*="background: rgba(255,255,255,0.06"],html[data-theme=light] [style*="background:rgba(255,255,255,0.06"],html[data-theme=light] [style*="background: rgba(10,12,22"],html[data-theme=light] [style*="background:rgba(10,12,22"],html[data-theme=light] [style*="background: rgba(12,16,32"],html[data-theme=light] [style*="background:rgba(12,16,32"],html[data-theme=light] [style*="background: rgba(15,23,42"],html[data-theme=light] [style*="background:rgba(15,23,42"]{border-color:var(--border-default)!important;background:#ffffffb8!important}html[data-theme=light] [style*="background: linear-gradient(135deg, rgba(15,17,40"],html[data-theme=light] [style*="background:linear-gradient(135deg, rgba(15,17,40"],html[data-theme=light] [style*="background: linear-gradient(135deg, rgba(10,14,36"],html[data-theme=light] [style*="background:linear-gradient(135deg, rgba(10,14,36"],html[data-theme=light] [style*="background: linear-gradient(145deg, rgba(10,14,36"],html[data-theme=light] [style*="background:linear-gradient(145deg, rgba(10,14,36"]{background:var(--app-card-gradient)!important;color:var(--text-primary)!important;border-color:var(--border-default)!important}html[data-theme=light] input,html[data-theme=light] textarea,html[data-theme=light] select{background:var(--input-bg)!important;color:var(--input-color)!important;border-color:var(--border-default)!important}html[data-theme=light] input::placeholder,html[data-theme=light] textarea::placeholder{color:var(--input-placeholder)!important}body{background:var(--body-bg);color:var(--text-primary);transition:background-color .3s,color .3s}.app-shell,.app-shell-unified{isolation:isolate;width:100%;max-width:var(--page-max-width,480px);background:var(--app-shell-bg);height:100%;color:var(--text-primary);overscroll-behavior:none;margin:0 auto;position:fixed;inset:0;overflow:hidden}.page-scroll,.app-shell-unified__content{z-index:1;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;width:100%;height:100%;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));scrollbar-gutter:stable;position:absolute;inset:0;overflow:hidden auto}.app-backdrop{z-index:0;pointer-events:none;opacity:.72;position:absolute;inset:0;overflow:hidden}.app-backdrop__particles{opacity:.44;width:100%;height:100%;position:absolute;inset:0}.app-backdrop__glow{filter:blur(2px);opacity:.9;border-radius:999px;position:absolute}.app-backdrop__glow--a{background:radial-gradient(circle, var(--app-ambient-b) 0%, transparent 66%);width:420px;height:420px;top:-130px;left:-120px}.app-backdrop__glow--b{background:radial-gradient(circle, var(--app-ambient-a) 0%, transparent 68%);width:360px;height:360px;top:18vh;right:-140px}.app-backdrop__mist{background:linear-gradient(#0000 0%,#0307125c 100%);height:220px;position:absolute;bottom:0;left:0;right:0}html[data-theme=light] .app-backdrop{opacity:.48}html[data-theme=light] .app-backdrop__particles{opacity:.28}html[data-theme=light] .app-backdrop__mist{background:linear-gradient(#0000 0%,#e8e3d866 100%)}@media (prefers-reduced-motion:reduce){.app-backdrop__particles{display:none}}:root,html[data-theme=dark]{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--page-padding:16px;--page-padding-lg:20px;--page-max-width:480px;--section-gap:24px;--card-gap:12px;--card-padding:16px;--card-radius:18px;--card-radius-lg:22px;--control-radius:12px;--button-height:42px;--header-height:58px;--bottom-nav-clearance:calc(96px + env(safe-area-inset-bottom,0px));--avatar-size:56px;--home-ring-size:100px;--quest-icon-size:32px;--text-h1:1.65rem;--text-h2:1rem;--text-h3:.9rem;--text-body:.86rem;--text-caption:.68rem;--text-stat:1.55rem;--leading-tight:1.18;--leading-body:1.55;--icon-sm:28px;--icon-md:36px;--icon-lg:52px;--glow-primary:0 0 22px #38bdf838;--glow-purple:0 0 22px #8b5cf63d;--glow-danger:0 0 22px #f43f5e3d;--glow-success:0 0 18px #22c55e38;--ds-card-bg:linear-gradient(135deg, #0f1128e6, #0a0c1ee6);--ds-card-bg-soft:#ffffff0a;--ds-card-bg-glass:#0c1428ad;--ds-card-border:#38bdf824;--ds-card-border-strong:#38bdf847;--ds-card-transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease}html[data-theme=light]{--ds-card-bg:var(--app-card-gradient);--ds-card-bg-soft:#ffffffb8;--ds-card-bg-glass:#faf8f3c7;--ds-card-border:var(--border-default);--ds-card-border-strong:#0284c752}.ds-page{background:var(--app-shell-bg);min-height:100%;color:var(--text-primary);font-family:var(--font-ui);padding-bottom:var(--bottom-nav-clearance);position:relative;overflow:hidden visible}.ds-page:before,.ds-page:after{content:"";pointer-events:none;z-index:0;border-radius:999px;position:fixed}.ds-page:before{background:radial-gradient(circle, var(--app-ambient-b) 0%, transparent 70%);width:300px;height:300px;top:-100px;left:50%;transform:translate(-50%)}.ds-page:after{background:radial-gradient(circle, var(--app-ambient-a) 0%, transparent 70%);width:200px;height:200px;bottom:100px;right:-60px}.ds-page-content{z-index:1;position:relative}.ds-page__inner{z-index:1;max-width:var(--page-max-width);padding:var(--space-8) var(--page-padding) 0;margin:0 auto;position:relative}.ds-stack{gap:var(--section-gap);display:grid}.ds-section{gap:var(--card-gap);display:grid}.ds-section--padded{padding:0 var(--page-padding) var(--section-gap)}.ds-section-title{align-items:center;gap:10px;margin:0;display:flex}.ds-section-title:before{content:"";background:linear-gradient(180deg, var(--accent-cyan), #818cf8);border-radius:999px;flex:none;width:3px;height:18px}.ds-eyebrow{color:var(--accent-cyan);font-size:var(--text-caption);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-weight:800}.ds-h2{color:var(--text-bright);font-size:var(--text-h2);font-weight:850;line-height:var(--leading-tight);margin:0}.ds-card,.primary-card,.secondary-card,.danger-card,.info-card,.glass-card{border-radius:var(--card-radius);padding:var(--card-padding);border:1px solid var(--ds-card-border);background:var(--ds-card-bg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px)}.secondary-card{background:var(--ds-card-bg-soft);box-shadow:var(--shadow-sm)}.glass-card{background:var(--ds-card-bg-glass)}.info-card{border-color:var(--accent-cyan-border);box-shadow:var(--shadow-md), var(--glow-primary);background:linear-gradient(135deg,#38bdf81f,#818cf814)}.danger-card{border-color:var(--danger-border);box-shadow:var(--shadow-md), var(--glow-danger);background:linear-gradient(135deg,#3c0a0ceb,#32083cd1)}.ds-clickable{cursor:pointer;transition:var(--ds-card-transition);-webkit-tap-highlight-color:transparent}.ds-clickable:hover{border-color:var(--ds-card-border-strong);box-shadow:var(--shadow-md), var(--glow-primary)}.ds-clickable:active{transform:scale(.97)}.ds-icon-box{width:var(--icon-md);height:var(--icon-md);border-radius:var(--control-radius);background:var(--accent-cyan-bg);border:1px solid var(--accent-cyan-border);color:var(--accent-cyan);flex:none;place-items:center;display:grid}.ds-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.app-header{min-height:var(--header-height);align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top,0px)) var(--page-padding) var(--space-2);border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg, var(--sticky-header-bg), #050a1859);-webkit-backdrop-filter:blur(18px);grid-template-columns:36px minmax(0,1fr) auto;display:grid}.app-header--compact{--header-height:52px;padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px));padding-bottom:6px}.app-header__icon{border-radius:var(--control-radius);background:var(--accent-cyan-bg);border:1px solid var(--accent-cyan-border);width:36px;height:36px;color:var(--accent-cyan);box-shadow:var(--glow-primary);place-items:center;font-size:1rem;display:grid}.app-header__copy{min-width:0}.app-header__subtitle{color:var(--accent-cyan);letter-spacing:.04em;text-transform:none;margin-bottom:1px;font-size:.72rem;font-weight:800}.app-header__title{color:var(--text-bright);font-family:var(--font-ui);font-size:var(--text-h1);font-weight:850;line-height:var(--leading-tight);letter-spacing:0;margin:0}.app-header__action{justify-content:flex-end;align-items:center;display:flex}.ds-action-button{border:1px solid var(--border-default);border-radius:var(--control-radius);background:var(--surface-hover);min-height:36px;color:var(--text-secondary);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-3);cursor:pointer;transition:var(--ds-card-transition);display:inline-flex}.ds-action-button:hover{border-color:var(--accent-cyan-border);color:var(--accent-cyan)}.ds-action-button:active{transform:scale(.96)}.ds-stat-number{font-size:var(--text-stat);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.ds-caption{color:var(--text-muted);font-size:var(--text-caption);line-height:var(--leading-body)}.ds-progress{background:#ffffff0d;border-radius:999px;height:6px;overflow:hidden}.ds-progress__fill{border-radius:inherit;height:100%;transition:width .35s}.ds-progress__fill--primary{background:linear-gradient(90deg, var(--accent-cyan), #818cf8);box-shadow:0 0 8px #38bdf880}.ds-progress__fill--success{box-shadow:var(--glow-success);background:linear-gradient(90deg,#22c55e,#16a34a)}@media (width>=720px){:root{--page-padding:20px;--section-gap:28px;--card-gap:14px}}:root,html[data-theme=dark]{--app-bg:var(--surface-base,#05070b);--page-bg-app:var(--surface-deep,#030712);--surface:var(--surface-raised,#1e2a47);--surface-glass:#0e1428b3;--surface-hover:#ffffff0a;--text-main:var(--text-primary,#e5c76b);--text-muted:var(--text-muted,#94a3b8);--text-bright:var(--text-bright,#f8fafc);--accent:var(--accent,#2dd4bf);--accent-purple:#818cf8;--accent-cyan:#38bdf8;--accent-gold:var(--gold,#d4af37);--danger:var(--danger,#ef4444);--success:var(--success,#22c55e);--warning:var(--warning,#f59e0b);--border-subtle:#ffffff12;--border-glow:#38bdf859;--shadow-soft:0 4px 20px #0006;--shadow-glow:0 0 20px #38bdf833;--radius-card:20px;--radius-pill:999px;--bottom-nav-height:72px}html[data-theme=light]{--app-bg:var(--surface-base,#f0ede6);--page-bg-app:var(--surface-deep,#e8e3d8);--surface:var(--surface-raised,#faf8f3);--surface-glass:#f0ede6bf;--surface-hover:#0000000a;--text-main:var(--text-primary,#2d4a3e);--text-muted:var(--text-muted,#5a7568);--text-bright:var(--text-bright,#1a2e28);--accent:var(--accent,#0d9488);--accent-purple:#6d5fd4;--accent-cyan:#0ea5e9;--accent-gold:var(--gold,#a16207);--border-subtle:#00000012;--border-glow:#0d948866;--shadow-soft:0 4px 16px #0000001a;--shadow-glow:0 0 16px #0d948826}.app-page{background:var(--app-bg);min-height:100vh;color:var(--text-main);font-family:var(--font-ui);padding-bottom:calc(var(--bottom-nav-height) + 20px);position:relative;overflow-x:hidden}.glass-card{background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:16px}.fantasy-card{border:1px solid var(--border-glow);border-radius:var(--radius-card);box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffff0d;background:linear-gradient(160deg,#141e3ce6 0%,#080c18f2 100%);padding:16px;position:relative;overflow:hidden}.fantasy-card:before{content:"";pointer-events:none;background:radial-gradient(60% 40% at 50% 0,#38bdf812 0%,#0000 70%);position:absolute;inset:0}html[data-theme=light] .fantasy-card{border-color:var(--border-glow);box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#f0ede6f2 0%,#faf8f3fa 100%)}html[data-theme=light] .fantasy-card:before{background:radial-gradient(60% 40% at 50% 0,#0d94880f 0%,#0000 70%)}.neon-card{border-radius:var(--radius-card);box-shadow:0 0 24px #38bdf814, var(--shadow-soft);background:#0a0e1cd9;border:1px solid #38bdf84d;padding:16px}.section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;padding:0 4px 8px;font-size:.65rem;font-weight:700;display:flex}.stat-card{background:var(--surface-glass);border:1px solid var(--border-subtle);text-align:center;-webkit-backdrop-filter:blur(10px);border-radius:14px;flex:1;padding:12px 10px}.stat-card__value{color:var(--accent-cyan);font-size:1.5rem;font-weight:800;line-height:1}.stat-card__label{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:.6rem;font-weight:600}.premium-button{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 4px 16px #38bdf840}.premium-button:active{transform:scale(.96);box-shadow:0 2px 8px #38bdf826}.premium-button:disabled{opacity:.45;pointer-events:none}.danger-button{border-radius:var(--radius-pill);color:#f87171;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ef44441f;border:1px solid #ef44444d;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-size:.85rem;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.danger-button:active{background:#ef444433;transform:scale(.96)}.settings-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 16px;transition:background .15s;display:flex}.settings-row:last-child{border-bottom:none}.settings-row:active{background:var(--surface-hover)}.settings-row__left{align-items:center;gap:10px;display:flex}.settings-row__icon{background:#ffffff0f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;display:flex}.settings-row__icon--danger{background:#f871711a}.settings-row__label{color:var(--text-bright);font-size:.88rem;font-weight:500}.settings-row__label--danger{color:#f87171}.pill-badge{border-radius:var(--radius-pill);letter-spacing:.06em;align-items:center;gap:4px;padding:3px 10px;font-size:.65rem;font-weight:700;display:inline-flex}.pill-badge--cyan{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf840}.pill-badge--purple{color:#818cf8;background:#818cf81f;border:1px solid #818cf840}.pill-badge--gold{color:#fbbf24;background:#d4af371f;border:1px solid #d4af3740}.pill-badge--danger{color:#f87171;background:#ef44441f;border:1px solid #ef444440}.fc-page-header{text-align:center;border-bottom:1px solid var(--border-subtle);background:linear-gradient(#0a0e1cf2 0%,#0000 100%);padding:52px 20px 16px;position:relative}html[data-theme=light] .fc-page-header{background:linear-gradient(#f0ede6f2 0%,#0000 100%)}.fc-page-header__title{letter-spacing:-.01em;color:var(--text-bright);margin:0 0 4px;font-size:1.15rem;font-weight:800}.fc-page-header__subtitle{color:var(--text-muted);margin-bottom:10px;font-size:.7rem}.fc-page-header__badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.fc-stats-row{gap:8px;padding:12px 16px;display:flex}.ambient-glow{pointer-events:none;z-index:0;background:radial-gradient(60% 35% at 80% 5%,#4f46e51a 0%,#0000 55%),radial-gradient(40% 25% at 20% 90%,#38bdf812 0%,#0000 50%);position:fixed;inset:0}.cult-card{border-radius:var(--radius-card);padding:16px;position:relative;overflow:hidden}.cult-card__aura{pointer-events:none;opacity:.12;background:radial-gradient(circle at 50% 110%, var(--rank-color,#38bdf8), transparent 65%);animation:3s ease-in-out infinite cultAuraPulse;position:absolute;inset:0}@keyframes cultAuraPulse{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.18;transform:scale(1.04)}}.cult-card__rank-name{letter-spacing:.04em;color:var(--rank-color,#38bdf8);text-shadow:0 0 12px var(--rank-color,#38bdf8);margin-bottom:2px;font-size:1rem;font-weight:800}.cult-card__rank-step{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.65rem}.cult-card__progress-track{background:#ffffff14;border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}.cult-card__progress-fill{background:linear-gradient(90deg, var(--rank-color,#38bdf8), #fff9);height:100%;box-shadow:0 0 8px var(--rank-color,#38bdf8);border-radius:2px;transition:width .6s}.cult-card__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cult-card__stat{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;font-weight:500;display:flex}.cult-card__stat-value{color:var(--accent-cyan);font-weight:700}.cult-card__breakthrough-btn{border-radius:var(--radius-pill);color:#fbbf24;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#eab30826,#fbbf241a);border:1px solid #fbbf2466;margin-top:10px;padding:8px 16px;font-size:.75rem;font-weight:700;animation:2s ease-in-out infinite breakthroughPulse}@keyframes breakthroughPulse{0%,to{box-shadow:0 0 8px #fbbf244d}50%{box-shadow:0 0 18px #fbbf248c}}@media (width>=600px){.fc-stats-row{max-width:520px;margin:0 auto;padding:12px 0}.fc-page-header{max-width:520px;margin:0 auto}}.fc-mobile-shell{min-height:100vh;color:var(--text-primary);background:var(--app-shell-bg);overflow-x:hidden}.fc-mobile-shell,.fc-mobile-shell *{box-sizing:border-box}.fc-mobile-page{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:28px 22px 120px;position:relative;overflow-x:hidden}.fc-hero-head,.fc-panel-top,.fc-study-topbar{align-items:center;display:flex}.fc-hero-head{gap:14px;margin-bottom:24px}.fc-hero-mark{color:#fff;background:#7e30ff2e;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:1.5rem;display:grid;box-shadow:0 0 24px #a259ffb3}.fc-hero-head h1,.fc-panel-top h1{letter-spacing:0;color:var(--text-bright);margin:0;font-size:1.36rem}.fc-hero-head p{color:var(--text-muted);margin:4px 0 0;font-size:.78rem}.fc-hero-pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.fc-hero-pills span,.fc-hero-pills small,.fc-level-pill{color:#d9c9ff;white-space:nowrap;background:#431c8380;border:1px solid #9360ff9e;border-radius:10px;padding:5px 10px;font-size:.72rem;font-weight:800}.fc-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.fc-metric-card,.fc-deck-card,.fc-deck-summary,.fc-card-form,.fc-empty-state,.fc-empty-study{background:linear-gradient(#0c1428d1,#060c1ab8);border:1px solid #7093ff2e;box-shadow:inset 0 1px #ffffff0a,0 18px 42px #00000047}.fc-metric-card{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:126px;display:flex}.fc-metric-card strong{color:#35b7ff;font-size:1.8rem}.fc-metric-card p{color:#e8eeffb3;margin:0;font-size:.82rem}.fc-metric-icon{border-radius:18px;place-items:center;width:48px;height:48px;font-size:1.45rem;display:grid}.fc-metric-icon--purple{color:#9474ff;background:#6737ff33}.fc-metric-icon--orange{color:#ff9d52;background:#ff792a29}.fc-ring{background:conic-gradient(#28c4ff var(--fc-percent), #172241f2 0);border-radius:50%;place-items:center;width:70px;height:70px;display:grid;position:relative}.fc-ring:after{content:"";border-radius:inherit;background:#081120;position:absolute;inset:9px}.fc-ring b{z-index:1;color:#28c4ff;font-size:1rem}.fc-cultivation-sync{margin:4px 0 18px}.fc-review-banner{color:#fff;text-align:left;background:radial-gradient(circle at 13% 10%,#ac2dff99,#0000 34%),radial-gradient(circle at 92% 16%,#0083ffa6,#0000 34%),linear-gradient(135deg,#350d8ff0,#03163af5);border:1px solid #2590fff2;border-radius:18px;grid-template-columns:112px 1fr 34px;align-items:center;width:100%;min-height:130px;padding:18px;display:grid;box-shadow:0 0 30px #6830ff80,0 0 36px #008cff3d}.fc-review-stack{background:linear-gradient(135deg,#8f2cff,#1d61ff);border-radius:16px;place-items:center;width:86px;height:76px;font-size:2rem;display:grid;transform:rotate(5deg);box-shadow:-18px 12px #3817978c,0 12px 24px #3d0ba48c}.fc-review-banner strong{margin-bottom:8px;font-size:1.28rem;display:block}.fc-review-banner small{color:#ffffffc7;font-weight:700}.fc-review-banner b{background:#ffffff1f;border-radius:999px;place-items:center;width:34px;height:34px;font-size:1.35rem;display:grid}.fc-section-row{justify-content:space-between;align-items:center;margin:26px 0 12px;display:flex}.fc-section-row h2{color:#18b5ff;margin:0;font-size:1rem}.fc-section-row button,.fc-deck-actions button,.fc-deck-tabs button,.fc-study-tools button,.fc-icon-btn,.fc-deck-add-btn,.fc-floating-add,.fc-save-card,.fc-empty-study button{color:#eef3ff;cursor:pointer;border:0;font-weight:800}.fc-section-row button{color:#9f74ff;background:0 0}.fc-deck-list{gap:12px;display:grid}.fc-deck-card{border-radius:14px;grid-template-columns:60px 1fr;gap:14px;padding:16px;display:grid}.fc-deck-book{color:#fff;background:linear-gradient(#8d34ff,#321485);border-radius:10px;place-items:center;width:54px;height:64px;display:grid;box-shadow:0 0 20px #8e34ff52}.fc-deck-card--blue .fc-deck-book{background:linear-gradient(#188aff,#1135bb)}.fc-deck-card--green .fc-deck-book{background:linear-gradient(#1ec78c,#086d52)}.fc-deck-card--rose .fc-deck-book{background:linear-gradient(#ff4d90,#7e1744)}.fc-deck-card--cyan .fc-deck-book{background:linear-gradient(#1cc9ff,#064f8f)}.fc-deck-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.fc-deck-title strong{color:#fff;font-size:1.02rem}.fc-deck-title span,.fc-deck-summary h2 span{color:#c9c8ff;border:1px solid #8b82ff9e;border-radius:8px;padding:3px 9px;font-size:.75rem}.fc-deck-main p,.fc-deck-summary p{color:#e8eeffb8;margin:8px 0 10px;font-size:.8rem}.fc-deck-main i,.fc-deck-summary i{background:#e4ebffb8;border-radius:50%;width:4px;height:4px;margin:0 8px 2px;display:inline-block}.fc-deck-progress{background:#283559b8;border-radius:999px;height:7px;overflow:hidden}.fc-deck-progress span{border-radius:inherit;background:linear-gradient(90deg,#913cff,#137bff);height:100%;display:block}.fc-deck-card--green .fc-deck-progress span{background:linear-gradient(90deg,#19ce8a,#14e3bd)}.fc-deck-card--blue .fc-deck-progress span{background:linear-gradient(90deg,#168bff,#37d1ff)}.fc-deck-card--rose .fc-deck-progress span{background:linear-gradient(90deg,#ff507f,#ff9b4d)}.fc-deck-card--cyan .fc-deck-progress span{background:linear-gradient(90deg,#1dc7ff,#74f5dc)}.fc-deck-actions{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.fc-deck-actions button{background:linear-gradient(135deg,#7d2bffd1,#1f115dcc);border:1px solid #8d57ff80;border-radius:8px;min-height:38px}.fc-deck-actions button+button{background:#0a1325cc;border-color:#6583b338}.fc-floating-add,.fc-deck-add-btn{background:linear-gradient(135deg,#a526ff,#0e4eff);border-radius:18px;justify-content:center;align-items:center;gap:12px;min-height:58px;padding:0 22px;display:inline-flex;box-shadow:0 0 26px #922aff85}.fc-floating-add{float:right;margin-top:8px;position:sticky;bottom:82px}.fc-floating-add span,.fc-deck-add-btn{font-size:1.1rem}.fc-study-screen{flex-direction:column;justify-content:flex-start;min-height:100dvh;padding-top:32px;display:flex}.fc-study-topbar{grid-template-columns:64px minmax(0,1fr) 64px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:52px;display:grid}.fc-study-topbar>div{text-align:center;flex:1}.fc-study-topbar strong{color:#f8fafc;text-shadow:0 0 14px #ffffff3d;font-size:1.16rem;font-weight:900}.fc-study-topbar span{background:#243762b8;border-radius:999px;width:100%;height:8px;margin-top:18px;display:block;overflow:hidden}.fc-study-topbar i{border-radius:inherit;background:linear-gradient(90deg,#a848ff,#7aa1ff);height:100%;display:block;box-shadow:0 0 14px #a948ffbf}.fc-icon-btn{color:#f8fafc;background:#050d1f94;border:1px solid #509bff6b;border-radius:50%;place-items:center;width:64px;height:64px;font-size:2.1rem;line-height:1;display:grid;box-shadow:inset 0 1px #ffffff0d,0 0 22px #246fff29}.fc-study-card{color:#fff;text-align:center;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 18% 10%,#743cff5c,#0000 30%),radial-gradient(circle at 92% 0,#1770ff47,#0000 28%),linear-gradient(160deg,#180f4bfa,#051230f5);border:1px solid #9949ffeb;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:min(52dvh,416px);padding:48px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #8436ff61,inset 0 1px #ffffff14}.fc-study-card:before,.fc-study-card:after{content:"";opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.fc-study-card:before{background:radial-gradient(circle at 18%,#ff4d6d52,#0000 38%),linear-gradient(90deg,#ff466d33,#0000 58%)}.fc-study-card:after{background:radial-gradient(circle at 82%,#31d87757,#0000 38%),linear-gradient(270deg,#31d87738,#0000 58%)}.fc-study-card.is-swiping-left{border-color:#ff466df2;box-shadow:0 0 36px #ff466d4d,inset 0 1px #ffffff14}.fc-study-card.is-swiping-right{border-color:#31d877f2;box-shadow:0 0 36px #31d87747,inset 0 1px #ffffff14}.fc-study-card.is-swiping-left:before,.fc-study-card.is-swiping-right:after{opacity:1}.fc-study-card>*{z-index:2;position:relative}.fc-swipe-label{z-index:3;letter-spacing:.04em;opacity:0;pointer-events:none;border-radius:999px;min-width:78px;padding:8px 12px;font-size:.86rem;font-weight:900;transition:opacity .16s,transform .16s;position:absolute;top:22px;transform:scale(.88)}.fc-swipe-label--left{color:#ff8ca0;background:#5e122a85;border:1px solid #ff466d9e;left:18px}.fc-swipe-label--right{color:#72f0a2;background:#0f5b367a;border:1px solid #31d8779e;right:18px}.fc-study-card.is-swiping-left .fc-swipe-label--left{opacity:1;transform:scale(1)rotate(-8deg)}.fc-study-card.is-swiping-right .fc-swipe-label--right{opacity:1;transform:scale(1)rotate(8deg)}.fc-level-pill{color:#fff;background:#763fe2c7;border:1px solid #ccb9ff7a;border-radius:14px;margin-bottom:34px;padding:8px 18px;font-size:1.03rem;font-weight:900;position:static}.fc-kanji{text-shadow:0 4px 20px #ffffff2e;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(5.8rem,24vw,8.6rem);line-height:1;display:block}.fc-reading{color:#ffffffdb;margin:16px 0;font-size:1.12rem}.fc-study-card small{color:#ffffffb8;font-size:1.02rem;font-weight:850}.fc-study-hint{color:#94a3b89e;text-align:center;margin:34px 0 24px;font-size:.95rem;font-weight:850}.fc-meaning{text-align:left;border-bottom:1px solid #7b9aff4d;align-self:stretch;padding-bottom:18px;font-size:1.7rem;line-height:1.2}.fc-example-box{text-align:left;align-self:stretch;margin-top:18px}.fc-example-box span{color:#e6edffc7}.fc-example-box p{margin:8px 0;font-size:1.06rem;line-height:1.7}.fc-study-tools,.fc-srs-grid{gap:12px;margin-top:0;display:grid}.fc-study-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-study-tools button,.fc-study-tools .fc-ai-tool{color:#f8fafc;text-align:center;cursor:pointer;background:0 0;border:0;place-items:center;gap:8px;min-width:0;font-weight:900;line-height:1.2;display:grid}.fc-study-nav-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.fc-study-nav-row button{color:#d8c7ff;background:#2b146952;border:1px solid #7d4cff6b;border-radius:14px;min-height:42px;font-weight:850}@media (width<=420px){.fc-study-tools span,.fc-study-tools .fc-ai-tool span{width:52px;height:52px}.fc-study-tools button,.fc-study-tools .fc-ai-tool{overflow-wrap:anywhere;font-size:.78rem}.fc-study-card{min-height:390px;padding:22px 18px}.fc-study-topbar{gap:10px}.fc-icon-btn{flex:0 0 56px;width:56px;height:56px}.fc-kanji{font-size:clamp(5rem,23vw,7.4rem)}}@media (width<=360px){.fc-study-tools{gap:6px}.fc-study-tools span,.fc-study-tools .fc-ai-tool span{width:48px;height:48px}.fc-study-tools button,.fc-study-tools .fc-ai-tool{font-size:.72rem}.fc-srs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-srs-grid button{min-height:76px}}@media (width<=420px){.fc-mobile-page{padding-left:16px;padding-right:16px}.fc-hero-head{align-items:flex-start}.fc-hero-pills{max-width:92px}.fc-metric-grid,.fc-srs-grid{gap:8px}.fc-review-banner{grid-template-columns:88px 1fr 28px;padding:16px}.fc-review-stack{width:66px;height:66px}.fc-card-form label{grid-template-columns:1fr;gap:8px}.fc-level-picker span{width:100%}.fc-srs-grid button{min-height:86px;padding:8px 4px;font-size:.78rem}}@media (width<=390px){.fc-mobile-shell,.fc-mobile-page,.fc-card-form,.fc-deck-card,.fc-deck-summary,.fc-study-card,.settings-row{box-sizing:border-box;max-width:100%}.fc-hero-head,.fc-panel-top,.fc-study-topbar,.fc-review-banner,.fc-deck-card,.fc-deck-summary,.settings-row{min-width:0}.fc-hero-head{grid-template-columns:auto minmax(0,1fr)}.fc-hero-pills{grid-column:1/-1;justify-self:stretch;max-width:none}.fc-metric-grid,.fc-study-tools,.fc-srs-grid,.fc-deck-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-card-form input,.fc-quick-add-panel textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.fc-deck-title,.fc-word-row,.settings-row__left{min-width:0}.fc-deck-title strong,.fc-word-row strong,.settings-row__label{overflow-wrap:anywhere}.fc-floating-add{width:auto;left:12px;right:12px}}.fc-study-tools span,.fc-study-tools .fc-ai-tool span{color:#a66bff;background:#2b14696b;border:1px solid #7d4cff8a;border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.4rem;display:grid;box-shadow:0 0 20px #7530ff3d}.fc-srs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fc-srs-grid button{background:#081224b8;border-radius:16px;min-height:94px;font-weight:800}.fc-srs-grid strong,.fc-srs-grid small{display:block}.fc-srs-grid strong{margin-bottom:7px}.fc-srs-grid small{margin-top:4px;font-size:.72rem}.fc-srs-grid .forgot{color:#ff6a83;border:1px solid #ff466d}.fc-srs-grid .hard{color:#ffae4a;border:1px solid #ff9c32}.fc-srs-grid .ok{color:#27ccff;border:1px solid #14b8ff}.fc-srs-grid .easy{color:#5bea97;border:1px solid #31d877}.fc-panel-top{justify-content:space-between;gap:12px;margin-bottom:22px}.fc-panel-top span{width:46px}.fc-card-form{border-radius:14px;gap:14px;padding:18px;display:grid}.fc-add-mode-tabs{background:#050c1cad;border:1px solid #6277aa2e;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:5px;display:grid}.fc-add-mode-tabs button{color:#e8eeffa8;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:40px;font-weight:800}.fc-add-mode-tabs button.active{color:#fff;background:linear-gradient(135deg,#a526ffdb,#0e5bffc7);box-shadow:0 0 18px #8b5cf647}.fc-card-form label{color:#f3f7ffeb;grid-template-columns:124px 1fr;align-items:center;gap:12px;font-size:.9rem;font-weight:800;display:grid}.fc-card-form input{color:#fff;background:#050c1cad;border:1px solid #6277aa42;border-radius:10px;outline:none;width:100%;min-height:48px;padding:0 14px}.fc-level-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fc-level-picker span{color:#f3f7ffeb;width:124px;font-size:.9rem;font-weight:800}.fc-level-picker button{color:#e7edffe6;background:#050c1cad;border:1px solid #6277aa42;border-radius:9px;min-width:54px;min-height:34px}.fc-level-picker button.active{color:#fff;background:#5e2aceb3;border-color:#935cff;box-shadow:0 0 16px #7e48ff5c}.fc-save-card{background:linear-gradient(135deg,#a725ff,#0d58ff);border-radius:10px;min-height:58px;margin-top:12px;font-size:1rem}.fc-quick-add-panel,.fc-ai-add-panel{gap:12px;display:grid}.fc-quick-add-panel p,.fc-ai-add-panel p,.fc-quick-add-panel small{color:#e8eeffb8;margin:0;font-size:.82rem;line-height:1.5}.fc-quick-add-panel b{color:#d8c8ff}.fc-quick-add-panel textarea{color:#fff;resize:vertical;background:#050c1cad;border:1px solid #6277aa42;border-radius:12px;outline:none;width:100%;min-height:180px;padding:14px;font-family:inherit;line-height:1.55}.fc-ai-add-panel .ai-vocab-extractor-btn{border-radius:12px;width:100%;min-height:54px;font-weight:900;box-shadow:0 0 22px #8b5cf657;color:#fff!important;background:linear-gradient(135deg,#a725ff,#0d58ff)!important;border:1px solid #8b5cf673!important}.fc-form-error{color:#ff6d84;text-align:center;margin:0;font-weight:800}.fc-deck-summary{border-radius:14px;grid-template-columns:76px 1fr;gap:18px;margin-bottom:14px;padding:18px;display:grid}.fc-deck-summary h2{color:#fff;margin:0;font-size:1.28rem}.fc-deck-summary small{color:#7696ff;justify-content:space-between;gap:8px;margin-top:10px;display:flex}.fc-deck-summary em{color:#ff5d75;font-style:normal}.fc-deck-tabs{background:#081122db;border:1px solid #667eb329;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;display:grid;overflow:hidden}.fc-deck-tabs button{color:#e5ebff9e;background:0 0;border-bottom:2px solid #0000;min-height:48px}.fc-deck-tabs button.active{color:#af72ff;border-bottom-color:#8d40ff}.fc-deck-review-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.fc-deck-review-actions button{color:#e9ddff;cursor:pointer;background:#5d2ace38;border:1px solid #8b5cf657;border-radius:10px;min-height:42px;font-size:.78rem;font-weight:900}.fc-deck-review-actions button:first-child{background:linear-gradient(135deg,#a526ffc7,#0e5bffad);border-color:#8b5cf680;box-shadow:0 0 18px #8b5cf63d}.fc-word-list{gap:10px;display:grid}.fc-word-row{background:#070f21db;border:1px solid #5d72a22e;border-radius:14px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.fc-word-row button{color:#9c55ff;background:#713bff29;border:0;border-radius:50%;width:30px;height:30px}.fc-word-row strong{color:#fff;font-size:1.08rem}.fc-word-row p,.fc-word-row small{color:#e5ebff9e;margin:3px 0 0;display:block}.fc-word-row>span{text-align:center;border-radius:10px;padding:8px 12px;font-size:.82rem;font-weight:800}.fc-word-row>span.due{color:#ff6f89;background:#64162a47;border:1px solid #ff506e80}.fc-word-row>span.mastered{color:#62e99b;background:#155b3740;border:1px solid #48e08580}.fc-deck-add-btn{float:right;margin-top:22px;position:sticky;bottom:82px}.fc-empty-state,.fc-empty-study{text-align:center;border-radius:14px;padding:28px}.fc-empty-state p,.fc-empty-study p{color:#e5ebffa3}.fc-empty-study button{background:linear-gradient(135deg,#9b2eff,#1669ff);border-radius:12px;min-height:44px;padding:0 20px}@media (width<=420px){.fc-mobile-page{padding-left:16px;padding-right:16px}.fc-hero-head{align-items:flex-start}.fc-hero-pills{max-width:92px}.fc-metric-grid,.fc-srs-grid{gap:8px}.fc-review-banner{grid-template-columns:88px 1fr 28px;padding:16px}.fc-review-stack{width:66px;height:66px}.fc-card-form label{grid-template-columns:1fr;gap:8px}.fc-add-mode-tabs,.fc-deck-review-actions{grid-template-columns:1fr}.fc-level-picker span{width:100%}.fc-srs-grid button{min-height:86px;padding:8px 4px;font-size:.78rem}}.exam-option-btn{transition:transform .15s,box-shadow .2s,border-color .2s,background .2s;position:relative;overflow:hidden;background:linear-gradient(135deg,#1e2a47e6,#0f172af2)!important;border:1px solid #ffffff14!important;border-radius:14px!important}.exam-option-btn:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff0a 50%,#0000 70%);transition:transform .4s;position:absolute;inset:0;transform:translate(-100%)}.exam-option-btn:hover:not(:disabled):before{transform:translate(100%)}.exam-option-btn:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#2dd4bf14,#1e2a47f2)!important;border-color:#2dd4bf73!important;box-shadow:0 4px 20px #2dd4bf26,0 0 0 1px #2dd4bf33!important}.exam-option-btn:active:not(:disabled){transform:scale(.98)translateY(0)}.exam-option-btn.correct{background:linear-gradient(135deg,#22c55e26,#0f172af2)!important;border-color:#22c55e99!important;box-shadow:0 4px 20px #22c55e33,0 0 0 1px #22c55e4d!important}.exam-option-btn.wrong{background:linear-gradient(135deg,#ef44441f,#0f172af2)!important;border-color:#ef444499!important;box-shadow:0 4px 16px #ef444426!important}.exam-option-btn.selected{background:linear-gradient(135deg,#2dd4bf1f,#1e2a47f2)!important;border-color:#2dd4bfb3!important;box-shadow:0 4px 20px #2dd4bf33,0 0 0 1px #2dd4bf4d!important}.exam-option-btn .exam-option-num{width:26px;height:26px;color:var(--accent);background:#2dd4bf1f;border:1px solid #2dd4bf40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;font-size:.78rem;font-weight:700;transition:background .2s,border-color .2s;display:inline-flex}.exam-option-btn:hover:not(:disabled) .exam-option-num{background:#2dd4bf38;border-color:#2dd4bf80}.exam-option-btn.correct .exam-option-num{color:var(--success);background:#22c55e33;border-color:#22c55e80}.exam-option-btn.wrong .exam-option-num{color:var(--danger);background:#ef444426;border-color:#ef444466}.exam-header-timer{letter-spacing:.04em;text-align:center;min-width:80px;transition:all .3s;box-shadow:0 0 12px #2dd4bf1a;color:var(--accent)!important;background:#2dd4bf1a!important;border:1px solid #2dd4bf4d!important;border-radius:10px!important;padding:5px 14px!important;font-size:1.15rem!important;font-weight:800!important}.exam-header-timer.warn{box-shadow:0 0 14px #f59e0b26;color:var(--warning)!important;background:#f59e0b1f!important;border-color:#f59e0b66!important}.exam-header-timer.critical{animation:.7s ease-in-out infinite timer-pulse;box-shadow:0 0 18px #ef444433;color:var(--danger)!important;background:#ef44441f!important;border-color:#ef444480!important;font-weight:900!important}.lb-entry{transition:transform .18s,box-shadow .2s;position:relative;overflow:hidden;border-radius:14px!important}.lb-entry:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 40%,#ffffff06 60%,#0000 80%);position:absolute;inset:0}.lb-entry:hover{transform:translate(4px);box-shadow:0 4px 20px #0000004d!important}.lb-entry.rank-1{background:linear-gradient(135deg,#facc1514,#0f172af2)!important;border-color:#facc1580!important;box-shadow:0 4px 20px #facc151a!important}.lb-entry.rank-2{background:linear-gradient(135deg,#94a3b812,#0f172af2)!important;border-color:#94a3b873!important}.lb-entry.rank-3{background:linear-gradient(135deg,#b4780a12,#0f172af2)!important;border-color:#b4780a73!important}.lb-entry.is-me{background:linear-gradient(135deg,#2dd4bf14,#0f172af2)!important;border-color:#2dd4bf80!important;box-shadow:0 4px 20px #2dd4bf1a!important}.lb-rank-badge{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:800;display:inline-flex}.lb-rank-badge.rank-1{color:#facc15;background:linear-gradient(135deg,#facc1540,#b4780a26);border:1px solid #facc1566;font-size:1.1rem}.lb-rank-badge.rank-2{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b859;font-size:1.1rem}.lb-rank-badge.rank-3{color:#b4780a;background:#b4780a1f;border:1px solid #b4780a59;font-size:1.1rem}.lb-rank-badge.rank-other{color:var(--text-dim);background:#ffffff0a;border:1px solid #ffffff14;font-size:.78rem}.lb-score{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;padding:3px 10px;font-size:1.05rem;font-weight:800}.lb-score.pass{color:var(--success);background:#22c55e14;border-color:#22c55e40}.lb-score.fail{color:var(--text-secondary)}.lb-realm-badge{letter-spacing:.03em;border-radius:20px;margin-top:4px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}html[data-theme=light] .exam-option-btn{background:linear-gradient(135deg,#faf8f3f2,#e8e3d8e6)!important;border-color:#00000014!important}html[data-theme=light] .exam-option-btn:hover:not(:disabled){background:linear-gradient(135deg,#0d94880f,#faf8f3f2)!important;border-color:#0d948873!important;box-shadow:0 4px 16px #0d94881f!important}html[data-theme=light] .exam-header-timer{color:var(--accent)!important;background:#0d948814!important;border-color:#0d94884d!important}html[data-theme=light] .lb-entry.rank-1{background:linear-gradient(135deg,#facc1512,#faf8f3f2)!important}.admin-dashboard,.exam-page,.exam-home{font-family:var(--font-ui);color:var(--text-secondary)}.admin-dashboard button,.admin-dashboard input,.admin-dashboard select,.admin-dashboard textarea,.exam-page button,.exam-page input,.exam-page select,.exam-page textarea,.exam-home button,.exam-home input,.exam-home select,.exam-home textarea{font-family:inherit}.admin-dashboard .input,.exam-page .input,.exam-home .input{background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--text-bright);box-shadow:none;background-image:none}.admin-dashboard .input:focus,.exam-page .input:focus,.exam-home .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.modern-btn{cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.modern-btn:active{transform:scale(.97)}.modern-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.modern-btn-primary:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.modern-btn-secondary{background:var(--surface-hover);color:var(--text-muted);border:1px solid var(--border-strong)}.modern-btn-secondary:hover{background:var(--surface-active);color:var(--text-secondary);border-color:var(--border-accent)}.modern-btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.modern-btn-danger:hover{background:#ef44442e}.modern-btn-success{background:linear-gradient(135deg, var(--success), #16a34a);color:#fff;box-shadow:0 4px 16px var(--success-bg)}.modern-btn-sm{border-radius:10px;min-height:38px;padding:8px 14px;font-size:13px}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface-raised);border:1px solid var(--border-default);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:24px;padding:32px 28px}.modal-box h3{color:var(--text-bright);margin:0 0 8px;font-size:20px;font-weight:800}.modal-box p{color:var(--text-muted);margin:0 0 24px;font-size:14px;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.admin-dashboard{background:var(--page-bg);min-height:100dvh}.admin-header{background:var(--sticky-header-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--border-subtle);z-index:100;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));position:sticky;top:0}.admin-header-inner{flex-wrap:wrap;align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.admin-brand{color:var(--text-bright);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;padding:4px;display:flex}.admin-brand-icon{background:linear-gradient(135deg, var(--accent), var(--accent-hover));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.admin-brand-text{text-align:left}.admin-brand-text strong{letter-spacing:-.3px;color:var(--text-bright);font-size:15px;font-weight:700;display:block}.admin-brand-text small{color:var(--text-muted);font-size:11px;font-weight:500;display:block}.admin-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:2px;margin-left:auto;display:flex;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-btn{color:var(--text-dim);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.admin-nav-btn:hover{background:var(--surface-hover);color:var(--text-secondary)}.admin-nav-btn.active{background:var(--accent-bg);color:var(--accent)}.admin-nav-btn.danger{color:var(--danger)}.admin-nav-btn.danger:hover{background:var(--danger-bg)}.admin-content{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:20px 16px 100px}.admin-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.admin-hero-text h1{color:var(--text-bright);letter-spacing:-.5px;margin:0 0 8px;font-size:clamp(20px,5vw,30px);font-weight:800}.admin-hero-text p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6}.admin-hero-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.admin-pill{letter-spacing:.5px;text-transform:uppercase;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.admin-stat-card{background:var(--surface-raised);border:1px solid var(--border-default);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;min-width:140px;padding:20px 28px}.admin-stat-card strong{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:900;line-height:1;display:block}.admin-stat-card span{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.admin-stat-card small{color:var(--text-dim);margin-top:6px;font-size:11px;line-height:1.4;display:block}.admin-level-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:20px;padding:4px 0;display:flex;overflow-x:auto}.admin-level-tabs::-webkit-scrollbar{display:none}.admin-level-tab{border:1px solid var(--border-subtle);background:var(--surface-hover);color:var(--text-dim);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:12px;min-height:36px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s}.admin-level-tab:hover{background:var(--surface-active);color:var(--text-muted)}.admin-level-tab.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.admin-exam-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.admin-exam-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:20px;padding:20px;transition:all .25s;position:relative;overflow:hidden}.admin-exam-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-hover));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.admin-exam-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-exam-card:hover:before{opacity:1}.admin-exam-card-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-exam-card-level{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);letter-spacing:1px;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.admin-exam-card-realm{color:var(--text-dim);font-size:11px;font-weight:500}.admin-exam-card h3{color:var(--text-bright);margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.4}.admin-exam-card p{color:var(--text-dim);margin:0 0 16px;font-size:13px}.admin-exam-card-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-card{background:var(--surface-hover);border:1px solid var(--border-subtle);border-radius:16px;margin-bottom:16px;padding:20px}.admin-card.error-card{background:var(--danger-bg);border-color:var(--danger-border)}.admin-upload-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-upload-header-text h2{color:var(--text-bright);margin:0 0 6px;font-size:clamp(18px,4vw,26px);font-weight:800}.admin-upload-header-text p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.admin-input-group{margin-bottom:18px}.admin-input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.admin-input{box-sizing:border-box;background:var(--surface-hover);border:1px solid var(--border-strong);width:100%;color:var(--text-bright);border-radius:12px;outline:none;padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.admin-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}html[data-theme=light] .admin-input{color:var(--text-primary);background:#fffc}.admin-textarea{resize:vertical;min-height:110px;line-height:1.6}.admin-upload-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.draft-section{background:var(--surface-soft);border:1px solid var(--border-default);border-radius:16px;margin-bottom:14px;overflow:hidden}html[data-theme=light] .draft-section{background:var(--surface-hover)}.draft-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;padding:14px 18px;transition:background .2s;display:flex}.draft-section-header:hover{background:var(--surface-hover)}.draft-section-header-left{align-items:center;gap:12px;display:flex}.draft-section-title{color:var(--text-secondary);font-size:14px;font-weight:700}html[data-theme=light] .draft-section-title{color:var(--text-primary)}.draft-section-count{color:var(--text-dim);font-size:12px;font-weight:600}.draft-section-body{border-top:1px solid var(--border-subtle);padding:0 16px 16px}.draft-question-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:14px;margin-bottom:10px;padding:14px}html[data-theme=light] .draft-question-card{background:#fff9}.draft-question-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.draft-question-num{color:var(--accent);font-size:13px;font-weight:700}.draft-options-grid{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.draft-option-input{background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--text-bright);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s}.draft-option-input:focus{border-color:var(--accent)}html[data-theme=light] .draft-option-input{color:var(--text-primary);background:#fffc}.answer-select{background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--text-bright);cursor:pointer;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:13px}html[data-theme=light] .answer-select{color:var(--text-primary);background:#fffc}.drop-zone{border:2px dashed var(--border-strong);text-align:center;cursor:pointer;border-radius:16px;margin-bottom:14px;padding:28px 20px;transition:all .25s;position:relative}.drop-zone:hover{border-color:var(--accent-border);background:var(--surface-active)}.drop-zone.has-preview{border-color:var(--accent-border)}.drop-zone-icon{margin-bottom:8px;font-size:30px}.drop-zone-text{color:var(--text-muted);font-size:14px;font-weight:600}.drop-zone-hint{color:var(--text-dim);margin-top:4px;font-size:12px}.drop-zone input{display:none}.image-preview-grid{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.image-preview-item{border:1px solid var(--border-strong);border-radius:12px;width:90px;height:90px;position:relative;overflow:hidden}.image-preview-item img{object-fit:cover;width:100%;height:100%}.image-preview-remove{color:#fff;cursor:pointer;background:#ef4444e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.upload-preview{object-fit:contain;border-radius:10px;max-width:100%;max-height:180px;margin-top:10px}.cloud-status-badge{background:var(--surface-hover);color:var(--text-dim);border:1px solid var(--border-subtle);border-radius:20px;align-items:center;gap:6px;margin-bottom:14px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.cloud-status-badge.synced{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.cloud-status-badge.loading{background:var(--warning-bg);color:var(--warning);border-color:#f59e0b4d}.cloud-status-badge.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.section-title{color:var(--accent);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.chip{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.chip.ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.chip.not-ok{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.gen-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.gen-input{background:var(--surface-hover);border:1px solid var(--border-strong);width:88px;color:var(--text-bright);text-align:center;box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:15px}.gen-input:focus{border-color:var(--accent)}html[data-theme=light] .gen-input{color:var(--text-primary);background:#fffc}.answer-sheet-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.answer-btns-row{gap:4px;display:flex}.answer-option{background:var(--surface-hover);width:36px;height:36px;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:900;transition:all .15s}.answer-option.selected{background:linear-gradient(135deg, var(--success), #16a34a);color:#fff}.answer-option-lg{width:44px;height:44px;font-size:15px}.level-picker{flex-wrap:wrap;gap:8px;display:flex}.level-pill{border:2px solid var(--border-subtle);background:var(--surface-hover);min-width:48px;color:var(--text-dim);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:10px;flex:1;padding:10px 0;font-family:inherit;font-size:14px;font-weight:900;transition:all .15s}.level-pill:hover{background:var(--surface-active)}.level-pill.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.part-tabs-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.part-tab{border:2px solid var(--border-subtle);background:var(--surface-hover);min-width:80px;color:var(--text-dim);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:12px;flex:1;padding:11px 8px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.part-tab:hover{background:var(--surface-active)}.part-tab.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.v2-wrap{min-height:100vh}.v2-header .admin-header-inner,.v2-content{max-width:960px}.toast{bottom:max(32px, calc(16px + env(safe-area-inset-bottom)));color:#fff;z-index:9999;max-width:360px;box-shadow:var(--shadow-lg);border-radius:14px;margin:0 auto;padding:14px 20px;font-size:14px;font-weight:700;position:fixed;left:16px;right:16px}.toast.success{background:var(--toast-success-bg)}.toast.error{background:var(--toast-error-bg)}.exam-page{background:var(--exam-page-bg);min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);color:var(--text-secondary);flex-direction:column;display:flex}.exam-home{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;padding:20px}.exam-home-hero{text-align:center;margin-bottom:20px;padding:32px 16px}.exam-home-hero .hero-icon{margin-bottom:14px;font-size:44px}.exam-home-hero h1{color:var(--text-bright);letter-spacing:-.5px;margin:0 0 12px;font-size:clamp(22px,5vw,30px);font-weight:800}.exam-home-hero p{color:var(--text-muted);max-width:400px;margin:0 auto 20px;font-size:14px;line-height:1.6}.exam-home-stats{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px;display:flex}.exam-home-stat{background:var(--surface-raised);border:1px solid var(--border-default);text-align:center;border-radius:16px;min-width:90px;padding:14px 20px}.exam-home-stat strong{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:900;display:block}.exam-home-stat span{color:var(--text-dim);font-size:12px;font-weight:600}.exam-home-grid{flex-direction:column;gap:10px;display:flex}.exam-home-card{background:var(--surface-raised);border:1px solid var(--border-default);cursor:pointer;border-radius:18px;padding:18px;transition:all .25s}.exam-home-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.exam-home-card:active{transform:scale(.99)}.exam-home-card-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.exam-home-card-level{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);letter-spacing:1px;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.exam-home-card-realm{color:var(--text-dim);font-size:11px}.exam-home-card h3{color:var(--text-bright);margin:0 0 4px;font-size:15px;font-weight:700;line-height:1.4}.exam-home-card p{color:var(--text-dim);margin:0;font-size:13px}.exam-home-card-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.exam-sticky-header{z-index:100;background:var(--sticky-header-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--border-subtle);padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));position:sticky;top:0}.exam-header-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.exam-header-title{color:var(--text-secondary);font-size:13px;font-weight:700}.exam-header-timer{color:var(--accent);font-variant-numeric:tabular-nums;font-size:16px;font-weight:900}.exam-header-timer.warning{color:var(--warning)}.exam-header-timer.danger{color:var(--danger);border:2px solid var(--danger);box-shadow:0 0 12px var(--danger-bg);border-radius:8px;padding:2px 8px;animation:1s infinite pulse-danger}@keyframes pulse-danger{0%,to{opacity:1;box-shadow:0 0 12px var(--danger-bg)}50%{opacity:.6;box-shadow:0 0 24px #ef444466}}.exam-progress-track{background:var(--border-subtle);border-radius:4px;width:100%;height:4px;overflow:hidden}.exam-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:4px;height:100%;transition:width .4s}.exam-part-tabs{scrollbar-width:none;background:var(--surface-hover);border-bottom:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;gap:6px;padding:10px 14px;display:flex;overflow-x:auto}.exam-part-tabs::-webkit-scrollbar{display:none}.exam-part-tab-btn{border:1px solid var(--border-subtle);background:var(--surface-hover);color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:10px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:all .2s;display:flex}.exam-part-tab-btn.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.exam-part-tab-btn small{opacity:.7;font-size:10px;font-weight:600}.question-grid-toggle{right:14px;bottom:calc(72px + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;z-index:150;width:48px;height:48px;box-shadow:0 4px 16px var(--accent-glow);-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:flex;position:fixed}.question-grid-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;padding:20px;padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.question-grid-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.question-grid-header h3{color:var(--text-bright);margin:0;font-size:18px;font-weight:800}.question-grid-close{background:var(--surface-hover);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.question-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;width:100%;max-width:500px;margin:0 auto;display:grid}.question-grid-item{aspect-ratio:1;border:2px solid var(--border-strong);background:var(--surface-hover);width:100%;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;min-height:44px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:flex}.question-grid-item.answered{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.question-grid-item.current{background:var(--gold-bg);color:#facc15;box-shadow:0 0 16px var(--gold-glow);border-color:#facc15}.question-grid-item:active{transform:scale(.92)}.exam-content{box-sizing:border-box;flex:1;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 90px;overflow-y:auto}.exam-section-title{color:var(--text-bright);margin:0 0 4px;font-size:17px;font-weight:800}.exam-section-subtitle{color:var(--text-dim);margin:0 0 4px;font-size:13px}.exam-instruction-text{color:var(--text-muted);background:var(--surface-hover);border-left:3px solid var(--accent);border-radius:12px;margin:0 0 16px;padding:14px 16px;font-size:13px;line-height:1.6}.exam-audio-player{background:var(--surface-hover);border:1px solid var(--border-subtle);border-radius:12px;width:100%;margin-bottom:14px}.exam-audio-player audio{border-radius:12px;width:100%}.exam-passage-text{background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:16px;margin-bottom:18px;padding:18px;font-size:14px;line-height:1.8}html[data-theme=light] .exam-passage-text{color:var(--text-primary);background:#ffffff80}.exam-question-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:18px;margin-bottom:14px;padding:20px}html[data-theme=light] .exam-question-card{background:#fff9}.exam-question-number{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;font-size:13px;font-weight:900;display:inline-flex}.exam-question-text{color:var(--text-bright);margin:0 0 14px;font-size:16px;font-weight:600;line-height:1.6}html[data-theme=light] .exam-question-text{color:var(--text-primary)}.exam-question-image{border:1px solid var(--border-subtle);border-radius:12px;width:100%;margin-bottom:14px}.exam-options-list{flex-direction:column;gap:10px;display:flex}.exam-option-btn{border:2px solid var(--border-default);background:var(--surface-soft);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:14px;min-height:52px;padding:15px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex}html[data-theme=light] .exam-option-btn{color:var(--text-primary);border-color:var(--border-default);background:#ffffff80}.exam-option-btn:active{transform:scale(.99)}.exam-option-btn .option-label{background:var(--surface-active);width:34px;height:34px;color:var(--text-dim);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:900;transition:all .2s;display:flex}.exam-option-btn:hover{border-color:var(--accent-border);background:var(--surface-active)}.exam-option-btn.selected{border-color:var(--accent);background:var(--accent-bg)}.exam-option-btn.selected .option-label{background:var(--accent);color:#fff}.exam-option-btn.correct{border-color:var(--success);background:var(--success-bg)}.exam-option-btn.correct .option-label{background:var(--success);color:#fff}.exam-option-btn.wrong{border-color:var(--danger);background:var(--danger-bg)}.exam-option-btn.wrong .option-label{background:var(--danger);color:#fff}.exam-nav-bar{padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:var(--nav-bar-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);border-top:1px solid var(--border-subtle);z-index:200;box-sizing:border-box;gap:8px;width:100%;max-width:640px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.exam-nav-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;flex:1;min-height:48px;padding:13px 10px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.exam-nav-btn:active{transform:scale(.97)}.exam-nav-btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.exam-nav-btn.secondary{background:var(--surface-hover);color:var(--text-muted);border:1px solid var(--border-strong)}.exam-nav-btn.secondary:hover{background:var(--surface-active);color:var(--text-secondary)}.exam-nav-btn.danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.exam-nav-btn.success{background:linear-gradient(135deg, var(--success), #16a34a);color:#fff}.exam-result-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.exam-result-icon{margin-bottom:16px;font-size:60px}.exam-result-score{color:var(--text-bright);margin-bottom:8px;font-size:clamp(44px,10vw,68px);font-weight:900;line-height:1}.exam-result-percent{margin-bottom:24px;font-size:18px;font-weight:700}.exam-result-percent.pass{color:var(--success)}.exam-result-percent.fail{color:var(--danger)}.exam-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.empty-state{text-align:center;padding:48px 20px}.empty-state-icon{opacity:.5;margin-bottom:14px;font-size:44px}.empty-state h3{color:var(--text-dim);margin:0 0 8px;font-size:17px;font-weight:700}.empty-state p{color:var(--text-dim);margin:0;font-size:14px}@media (width>=641px){.admin-content{padding:28px 28px 100px}.exam-home{padding:40px 32px}.admin-hero{flex-wrap:nowrap}.admin-exam-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.toast{max-width:320px;margin:0;left:auto;right:32px}}@media (width<=640px){.admin-header-inner{flex-wrap:wrap;gap:8px}.admin-nav{order:3;width:100%}.admin-nav-btn{padding:8px 10px;font-size:12px}.admin-brand-text strong{font-size:14px}.admin-content{padding:14px 12px 90px}.admin-card{padding:16px}.admin-hero{flex-direction:column;align-items:stretch}.admin-stat-card{min-width:auto;padding:16px 18px}.admin-stat-card strong{font-size:28px}.admin-exam-grid{grid-template-columns:1fr}.admin-exam-card-actions{flex-wrap:wrap}.admin-hero-text h1{font-size:20px}.admin-upload-header,.admin-upload-actions{flex-direction:column}.admin-upload-actions .modern-btn{width:100%}.exam-home{padding:14px}.exam-home-hero{padding:24px 0}.exam-home-stats{gap:8px}.exam-home-card{padding:16px}.exam-home-card-actions{flex-wrap:wrap}.exam-home-card-actions .modern-btn{flex:1}.exam-sticky-header{padding:8px 12px}.exam-content{padding:12px 12px 90px}.exam-question-card{padding:16px}.exam-nav-bar{padding:8px 12px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:6px}.exam-part-tabs{padding:8px 12px}.modern-btn{padding:11px 16px;font-size:13px}.modern-btn-sm{min-height:40px;padding:9px 12px}.modal-box{padding:24px 18px}.draft-options-grid{grid-template-columns:1fr}.part-tabs-row{flex-direction:column}.answer-sheet-grid{grid-template-columns:repeat(2,1fr)}.gen-row{flex-direction:column;align-items:stretch}.gen-input{width:100%}.v2-content{padding:12px}}@media (width<=390px){.admin-header{padding:8px 10px;padding-top:max(8px, env(safe-area-inset-top))}.admin-brand-icon{width:32px;height:32px;font-size:16px}.admin-brand-text strong{font-size:13px}.admin-brand-text small{font-size:10px}.admin-nav-btn{padding:7px 8px;font-size:11px}.admin-content{padding:12px 10px 80px}.admin-card,.admin-exam-card{padding:14px}.admin-exam-card h3{font-size:14px}.admin-exam-card p{font-size:12px}.admin-hero-text h1{font-size:18px}.exam-part-tab-btn{min-height:48px;padding:9px 10px}.exam-part-tab-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:68px;font-size:11px;overflow:hidden}.exam-part-tab-btn small{font-size:9px}.exam-question-card{border-radius:14px;padding:14px}.exam-question-text{font-size:15px}.exam-question-number{width:28px;height:28px;font-size:12px}.exam-option-btn{min-height:52px;padding:14px 12px;font-size:14px}.exam-option-btn .option-label{border-radius:8px;width:30px;height:30px;font-size:12px}.exam-nav-btn{border-radius:10px;min-height:50px;padding:13px 8px;font-size:13px}.exam-nav-bar{padding:8px 10px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:5px}.modern-btn{min-height:48px;padding:12px 14px;font-size:13px}.modern-btn-sm{min-height:42px;padding:10px 12px;font-size:12px}.exam-home{padding:12px 10px}.exam-home-hero{padding:20px 0}.exam-home-hero h1{font-size:20px}.exam-home-card{border-radius:14px;padding:14px}.exam-home-card h3{font-size:14px}.exam-home-card p{font-size:12px}.exam-home-card-actions .modern-btn{width:100%}.exam-home-stat{padding:12px 14px}.exam-home-stat strong{font-size:22px}.v2-content .admin-card{padding:13px}.v2-content .section-title{font-size:12px}.answer-option{width:38px;height:38px}.answer-option-lg{width:44px;height:44px}.exam-result-icon{font-size:48px}.exam-result-score{font-size:44px}.exam-result-percent{font-size:16px}.exam-result-actions{flex-direction:column}.exam-result-actions .modern-btn{width:100%}.modal-box{border-radius:20px;padding:22px 16px}.modal-actions{flex-direction:column}.modal-actions .modern-btn{width:100%}.question-grid-toggle{width:44px;height:44px;right:10px}.question-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.question-grid-item{min-height:42px;font-size:13px}}.ai-explain-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:3px;padding:2px 8px;font-size:.72rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.ai-explain-btn:hover{background:var(--accent-dim);transform:scale(1.05)}.ai-explain-btn:active{transform:scale(.97)}.ai-explain-modal{width:92vw;max-width:440px;max-height:80vh;overflow-y:auto;padding:0!important}.ai-explain-header{border-bottom:1px solid var(--border-subtle);color:var(--accent);justify-content:space-between;align-items:center;padding:16px 20px 12px;font-size:.95rem;font-weight:700;display:flex}.ai-explain-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:1rem}.ai-explain-close:hover{background:var(--surface-hover)}.ai-explain-chip{background:var(--gold-bg);border:1px solid var(--gold-border);color:var(--gold);border-radius:99px;margin:12px 20px 0;padding:4px 14px;font-size:1rem;font-weight:700;display:inline-block}@media (width<=390px){html,body,#root{max-width:100%;overflow-x:hidden}.admin-dashboard,.admin-content,.admin-card,.modal-box,.exam-page,.exam-content,.exam-question-card,.v2-wrap,.v2-content{box-sizing:border-box;max-width:100%}.admin-header-inner{min-width:0}.admin-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;display:flex;overflow-x:auto}.admin-nav-btn{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:118px;overflow:hidden}.admin-upload-header-actions,.admin-hero-actions,.admin-exam-card-actions,.modal-actions,.exam-home-card-actions{flex-wrap:wrap;display:flex}.admin-upload-header-actions>*,.admin-hero-actions>*,.admin-exam-card-actions>*,.modal-actions>*,.exam-home-card-actions>*{flex:100%;min-width:0}.admin-input,.admin-textarea,.gen-input,input,textarea,select{box-sizing:border-box;min-width:0;max-width:100%}.level-picker,.admin-level-tabs,.part-tabs-row,.exam-part-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.exam-option-btn,.exam-nav-btn,.modern-btn{overflow-wrap:anywhere;min-width:0}.ai-explain-modal,.ai-vocab-modal{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important}}.ai-explain-body{padding:14px 20px 20px}.ai-explain-loading{align-items:center;padding:12px 0;display:flex}.ai-explain-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:5px;animation:1.2s ease-in-out infinite ai-dot-bounce}@keyframes ai-dot-bounce{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.ai-explain-text{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.ai-explain-text p{margin:4px 0}.exam-header-timer.critical{color:#f44;font-weight:800;animation:.7s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}.exam-header-meta{color:var(--text-muted);letter-spacing:.02em;justify-content:space-between;padding:2px 16px 4px;font-size:.72rem;display:flex}.exam-part-tab-btn.done{border-color:var(--success-border);color:var(--success)}.exam-part-tab-btn.done small{color:var(--success)}.exam-part-tab-btn.submitted{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.exam-part-tab-btn.submitted small{color:var(--accent);font-weight:700}.exam-nav-btn.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.exam-nav-btn.done{border-color:var(--success-border);color:var(--success)}.exam-paused-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.exam-paused-box{background:var(--surface-raised);border:1px solid var(--border-accent);text-align:center;box-shadow:var(--shadow-lg);border-radius:20px;padding:40px 48px}.exam-paused-box h3{color:var(--text-bright);margin:12px 0 6px;font-size:1.4rem}.exam-paused-box p{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.question-grid-legend{color:var(--text-muted);gap:16px;padding:0 16px 10px;font-size:.75rem;display:flex}.question-grid-legend .ql-answered{color:var(--accent)}.question-grid-legend .ql-current{color:var(--gold)}.question-grid-legend .ql-empty{color:var(--text-dim)}.question-grid-overlay{z-index:150;background:var(--modal-overlay);padding-bottom:env(safe-area-inset-bottom,0px);align-items:flex-end;display:flex;position:fixed;inset:0}.question-grid-overlay>div{background:var(--surface-raised);border-top:1px solid var(--border-accent);border-radius:20px 20px 0 0;width:100%;max-height:70vh;padding-bottom:24px;overflow-y:auto}.exam-result-breakdown{background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:12px;width:100%;max-width:380px;margin:16px auto;overflow:hidden}.exam-result-part-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 16px;font-size:.85rem;display:flex}.exam-result-part-row:last-child{border-bottom:none}.exam-result-part-title{color:var(--text-secondary);flex:1}.exam-result-part-score{font-size:.9rem;font-weight:700}.exam-result-part-score.pass{color:var(--success)}.exam-result-part-score.fail{color:var(--danger)}.exam-option-btn:disabled{cursor:default;opacity:.85}.exam-option-btn:disabled:not(.correct):not(.wrong):not(.selected){opacity:.6}.exam-page,.admin-dashboard{background:var(--page-bg);color:var(--text-secondary)}.exam-page:before,.admin-dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 18% 4%,#a526ff2e,#0000 22rem),radial-gradient(circle at 88% 14%,#0e5bff1f,#0000 20rem);position:fixed;inset:0}.exam-page>*,.admin-dashboard>*{z-index:1;position:relative}.admin-header,.exam-sticky-header{background:#050a18d1;border-bottom:1px solid #7093ff2e;box-shadow:0 18px 40px #0000002e}.admin-brand-icon,.hero-icon{color:#fff;text-shadow:0 0 22px #a526ffb8}.modern-btn-primary,.question-grid-toggle,.exam-nav-btn.active{background:var(--brand-gradient);color:#fff;border-color:#8b5cf666;box-shadow:0 0 24px #8b5cf657}.modern-btn-secondary,.admin-nav-btn,.admin-level-tab,.exam-part-tab-btn,.exam-home-card,.exam-home-stat,.exam-question-card,.exam-passage-text,.exam-instruction-text,.question-grid-item,.modal-box{background:linear-gradient(#0c1428db,#060c1abd);border-color:#7093ff33;box-shadow:inset 0 1px #ffffff0a}.exam-home-card,.exam-question-card{border-radius:16px}.exam-home-card:hover,.exam-question-card:focus-within{border-color:#8b5cf68c;box-shadow:0 0 28px #8b5cf629}.exam-home-card-level,.admin-level-tab.active,.exam-part-tab-btn.active,.exam-part-tab-btn.submitted,.exam-question-number,.question-grid-item.answered{color:#d8c8ff;background:#5d2ace5c;border-color:#8b5cf68c}.exam-header-timer{color:var(--accent-cyan);background:#28c4ff1a;border:1px solid #28c4ff52;border-radius:10px;padding:4px 12px;box-shadow:0 0 14px #28c4ff2e}.exam-progress-track,.exam-deck-progress,.exam-home-card .exam-progress-track{background:#303a63b8}.exam-progress-fill{background:linear-gradient(90deg,#a848ff,#28c4ff);box-shadow:0 0 16px #a848ff85}.exam-part-tabs{background:#050a1894;border-bottom-color:#7093ff24}.exam-option-btn{background:linear-gradient(135deg,#0b142bf0,#080f21eb);border-color:#7093ff33}.exam-option-btn:hover:not(:disabled),.exam-option-btn.selected{background:linear-gradient(135deg,#5d2ace3d,#0a193af0);border-color:#8b5cf69e;box-shadow:0 0 20px #8b5cf62e}.exam-option-btn .option-label,.exam-option-btn .exam-option-num{color:#d8c8ff;background:#5d2ace52;border:1px solid #8b5cf66b}.exam-result-screen,.exam-paused-box,.question-grid-overlay>div{background:radial-gradient(circle at 20% 0,#8b5cf62e,#0000 34%),linear-gradient(#0c1428f5,#050a18f5);border-color:#8b5cf657}html[data-theme=light] .exam-page,html[data-theme=light] .admin-dashboard{background:var(--page-bg)}html[data-theme=light] .admin-header,html[data-theme=light] .exam-sticky-header{background:#faf8f3e6}html[data-theme=light] .modern-btn-secondary,html[data-theme=light] .admin-nav-btn,html[data-theme=light] .admin-level-tab,html[data-theme=light] .exam-part-tab-btn,html[data-theme=light] .exam-home-card,html[data-theme=light] .exam-home-stat,html[data-theme=light] .exam-question-card,html[data-theme=light] .exam-passage-text,html[data-theme=light] .exam-instruction-text,html[data-theme=light] .question-grid-item,html[data-theme=light] .modal-box{background:#faf8f3d6;border-color:#6d28d929}.exam-page{--app-bottom-nav-height:92px;--exam-action-bar-height:64px}.exam-page>.exam-nav-bar{left:0;right:0;bottom:calc(var(--app-bottom-nav-height) + env(safe-area-inset-bottom,0px));z-index:9000;position:fixed}.exam-page>.question-grid-toggle{right:14px;bottom:calc(var(--app-bottom-nav-height) + var(--exam-action-bar-height) + 14px + env(safe-area-inset-bottom,0px));z-index:9010;position:fixed}.exam-page>.exam-paused-overlay,.exam-page>.question-grid-overlay{position:fixed}.exam-page .exam-content{padding-bottom:calc(var(--app-bottom-nav-height) + var(--exam-action-bar-height) + 44px + env(safe-area-inset-bottom,0px))}.st-page{background:var(--bg-primary,#0d0f14);min-height:100vh;color:var(--text-primary,#e8dfc8);font-family:var(--font-body,"Noto Serif SC", "Noto Serif JP", serif);padding:0 0 96px;overflow-x:hidden}.st-hero{border-bottom:1px solid #d4b45026;flex-direction:column;align-items:center;gap:12px;padding:32px 20px 24px;display:flex;position:relative;overflow:hidden}.st-hero-bg{background:radial-gradient(ellipse 70% 60% at 50% 0%, color-mix(in srgb, var(--rank-color,#4a9eff) 18%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.st-avatar-wrap{z-index:1;position:relative}.st-avatar{object-fit:cover;border:2.5px solid #d4b45099;border-radius:50%;width:88px;height:88px;box-shadow:0 0 24px #d4b45040}.st-avatar--placeholder{color:#d4b450;background:linear-gradient(135deg,#1e2535,#2a3245);justify-content:center;align-items:center;font-size:36px;font-weight:700;display:flex}.st-rank-badge{filter:drop-shadow(0 2px 6px #0009);font-size:22px;position:absolute;bottom:-4px;right:-4px}.st-hero-info{z-index:1;flex-direction:column;align-items:center;gap:4px;display:flex}.st-username{letter-spacing:.04em;color:#f0e6c0;margin:0;font-size:22px;font-weight:700}.st-rank-label{letter-spacing:.08em;font-size:14px;font-weight:600}.st-score{color:#9aa0b0;font-size:13px}.st-jlpt-chip{color:#d4b450;letter-spacing:.04em;background:#d4b4501f;border:1px solid #d4b45059;border-radius:20px;padding:3px 12px;font-size:12px}.st-breakthrough{z-index:1;width:100%;max-width:340px}.st-breakthrough-label{color:#6b7490;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.st-progress-track{background:#ffffff14;border-radius:3px;height:6px;position:relative;overflow:hidden}.st-progress-fill{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px}.st-progress-pct{float:right;color:#6b7490;margin-top:4px;font-size:11px}.st-section{border-bottom:1px solid #ffffff0d;margin:0 16px;padding:20px 0}.st-section-title{letter-spacing:.12em;text-transform:uppercase;color:#8890a8;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:600;display:flex}.st-section-icon{font-size:15px}.st-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=360px){.st-stats-grid{grid-template-columns:repeat(2,1fr)}}.st-stat{background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;transition:background .2s;display:flex}.st-stat:active{background:#ffffff12}.st-stat--locked{opacity:.5;border-style:dashed}.st-stat-icon{font-size:20px}.st-stat-label{color:#7880a0;text-align:center;letter-spacing:.04em;font-size:10px;line-height:1.3}.st-stat-value{color:#e8dfc8;text-align:center;font-size:13px;font-weight:700}.st-stat-value--soon{color:#5a607a;font-size:11px;font-weight:500}.st-dev-note{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px}.st-dev-note summary{cursor:pointer;font-weight:600}.st-dev-note ul{margin:6px 0 0 16px}.st-dev-note code{background:#0000004d;border-radius:3px;padding:1px 4px}.st-cloud-row{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.st-cloud-status{align-items:center;gap:8px;font-size:14px;display:flex}.st-cloud-actions{gap:10px;display:flex}.st-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:12px;padding:12px 0;display:flex}.st-row:last-child{border-bottom:none}.st-row--disabled{opacity:.45;pointer-events:none}.st-row-icon{text-align:center;flex-shrink:0;width:28px;font-size:20px}.st-row-text{flex-direction:column;flex:1;gap:2px;display:flex}.st-row-label{color:#e0d8c4;font-size:15px;font-weight:500}.st-row-sub{color:#6b7490;font-size:12px}.st-toggle{cursor:pointer;background:#ffffff1a;border:1.5px solid #ffffff1f;border-radius:13px;flex-shrink:0;width:48px;height:26px;padding:0;transition:background .25s,border-color .25s;position:relative}.st-toggle--on{background:#d4b450;border-color:#d4b450}.st-toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0006}.st-toggle--on .st-toggle-thumb{transform:translate(22px)}.st-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.st-btn--ghost{color:#c8c0a8;background:#ffffff0f;border:1px solid #ffffff1a;flex:1}.st-btn--ghost:active{background:#ffffff1a}.st-btn--full{flex:none;width:100%;margin-top:10px}.st-row-label-only{color:#8890a8;margin-bottom:8px;font-size:13px;font-weight:500}.st-chip-group{flex-wrap:wrap;gap:8px;display:flex}.st-chip{color:#9aa0b0;cursor:pointer;background:#ffffff0f;border:1.5px solid #ffffff1a;border-radius:20px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.st-chip--active{color:#d4b450;background:#d4b4502e;border-color:#d4b450;box-shadow:0 0 10px #d4b45026}.st-chip:active{transform:scale(.96)}.st-footer{color:#44495a;justify-content:center;align-items:center;gap:8px;padding:24px 16px 8px;font-size:12px;display:flex}.st-footer-sep{color:#2e3342}.st-footer-ver{color:#3a3f52}:root.light .st-page,[data-theme=light] .st-page{color:#1a1614;background:#f5f0e8}:root.light .st-hero-bg,[data-theme=light] .st-hero-bg{background:radial-gradient(ellipse 70% 60% at 50% 0%, color-mix(in srgb, var(--rank-color,#4a9eff) 12%, transparent), transparent 70%)}:root.light .st-username,[data-theme=light] .st-username{color:#1a1614}:root.light .st-score,:root.light .st-stat-label,:root.light .st-row-sub,:root.light .st-section-title,[data-theme=light] .st-score,[data-theme=light] .st-stat-label{color:#6b6560}:root.light .st-stat,[data-theme=light] .st-stat{background:#0000000a;border-color:#00000014}:root.light .st-stat-value,[data-theme=light] .st-stat-value{color:#1a1614}:root.light .st-progress-track,[data-theme=light] .st-progress-track{background:#00000014}:root.light .st-row,[data-theme=light] .st-row{border-color:#0000000f}:root.light .st-row-label,[data-theme=light] .st-row-label{color:#1a1614}:root.light .st-toggle,[data-theme=light] .st-toggle{background:#0000001a;border-color:#0000001f}:root.light .st-btn--ghost,[data-theme=light] .st-btn--ghost{color:#3a3530;background:#0000000d;border-color:#0000001a}:root.light .st-chip,[data-theme=light] .st-chip{color:#5a5550;background:#0000000d;border-color:#0000001a}:root.light .st-footer,[data-theme=light] .st-footer{color:#b0a89a}.settings-page{overflow-x:hidden}.settings-ambient{opacity:.96}.settings-content{box-sizing:border-box;width:min(100%,480px)}.settings-profile-card,.st-section-card,.st-achievement-card{-webkit-backdrop-filter:blur(18px)}.settings-profile-card{background:linear-gradient(180deg, #ffffff0f, #ffffff06), var(--app-panel-bg)!important;border-radius:18px!important}.st-section-block{margin-bottom:14px}.st-section-header{align-items:center;gap:9px;margin-bottom:8px;padding:0 4px;display:flex}.st-section-header-icon{background:#ffffff0e;border:1px solid #ffffff13;border-radius:10px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.st-section-kicker{letter-spacing:0;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:800}.st-section-subtitle{color:var(--text-dim);letter-spacing:0;margin-top:2px;font-size:10px}.st-section-card{background:linear-gradient(180deg, #ffffff0b, #ffffff05), var(--app-panel-bg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.st-setting-row{border-bottom:1px solid var(--border-subtle);cursor:default;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:13px 16px;transition:background .15s,border-color .15s;display:flex}.st-setting-row--last{border-bottom:0}.st-setting-row--clickable{cursor:pointer}.st-setting-row--pressed,.st-setting-row--clickable:hover{background:var(--surface-hover)}.st-setting-row__main{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.st-setting-row__main>div{min-width:0}.st-setting-row__icon{background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:.95rem;display:grid}.st-setting-row__label{color:var(--text-primary);font-size:.9rem;font-weight:650;line-height:1.28}.st-setting-row__sub{color:var(--text-dim);margin-top:2px;font-size:.72rem;line-height:1.35}.st-setting-row__right{text-align:right;flex:0 46%;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.st-setting-row__right span{overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.25}.st-setting-row--danger .st-setting-row__icon{background:#f871711a;border-color:#f8717138}.st-setting-row--danger .st-setting-row__label{color:#f87171}.settings-theme-value{min-width:34px;color:var(--text-dim);text-align:right;font-size:.72rem}.st-toggle-modern{cursor:pointer;background:#ffffff1a;border:1.5px solid #ffffff1f;border-radius:999px;flex:none;width:52px;height:30px;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.st-toggle-modern--on{background:linear-gradient(90deg, var(--accent-primary), var(--accent-cyan));border-color:#0ea5e98c;box-shadow:0 0 14px #0ea5e93d}.st-toggle-modern__thumb{background:#ffffff7a;border-radius:50%;width:22px;height:22px;position:absolute;top:3px}.st-toggle-modern--on .st-toggle-modern__thumb{background:#fff;box-shadow:0 2px 8px #00000047}.st-achievement-card{border:1px solid var(--border-subtle);background:linear-gradient(#ffffff0a,#ffffff05),#ffffff05;border-radius:12px;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:14px 10px;display:flex}.st-achievement-card--empty{opacity:.46;border-style:dashed}.st-achievement-card__icon{font-size:20px;line-height:1}.st-achievement-card__value{max-width:100%;color:var(--text-primary);text-align:center;overflow-wrap:anywhere;font-size:13px;font-weight:800}.st-achievement-card--empty .st-achievement-card__value{color:var(--text-dim);font-size:11px;font-weight:600}.st-achievement-card__label{color:var(--text-dim);text-align:center;font-size:10px;line-height:1.3}[data-theme=light] .settings-profile-card{background:linear-gradient(#ffffffe6,#ffffffad),#ffffffc2!important}[data-theme=light] .st-section-card,[data-theme=light] .st-achievement-card{background:linear-gradient(#ffffffd1,#ffffff94),#ffffffb8;border-color:#2230481a}[data-theme=light] .st-section-header-icon,[data-theme=light] .st-setting-row__icon{background:#0f172a0b;border-color:#0f172a14}[data-theme=light] .st-setting-row{border-color:#0f172a14}[data-theme=light] .st-toggle-modern{background:#0f172a1a;border-color:#0f172a1f}@media (width<=380px){.st-setting-row{padding:12px 13px}.st-setting-row__icon{width:32px;height:32px}}.home-card-frame{margin:0 var(--page-padding) var(--section-gap)}.home-cultivation-frame{padding:0 var(--page-padding) var(--section-gap)}.home-profile-strip{align-items:center;gap:var(--space-3);display:flex}.home-profile-avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;flex-shrink:0}.home-learning-grid{gap:10px;display:flex}.home-goal-ring{width:var(--home-ring-size);height:var(--home-ring-size)}.hard-boss-arena{z-index:2;border:1px solid var(--boss-border);background:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--boss-tone) 32%, transparent), transparent 36%), linear-gradient(155deg, var(--boss-tint), #080c18f0 54%, #050810fa);min-height:198px;box-shadow:0 18px 44px #00000075, 0 0 0 1px #ffffff0a inset, 0 0 34px color-mix(in srgb, var(--boss-tone) 26%, transparent);border-radius:18px;margin:12px 14px 0;padding:10px 12px 12px;position:relative;overflow:hidden}.hard-boss-arena:before,.hard-boss-arena:after{content:"";pointer-events:none;position:absolute;inset:-30%}.hard-boss-arena:before{background:conic-gradient(from 0deg, transparent, color-mix(in srgb, var(--boss-tone) 18%, transparent), transparent 32%), repeating-radial-gradient(circle at 50% 44%, transparent 0 24px, #ffffff09 25px 26px);opacity:.68;animation:30s linear infinite hardBossRuneSpin}.hard-boss-arena:after{background:radial-gradient(circle,#0000 0 34%,#00000061 72%)}.hard-boss-phase-rage{box-shadow:0 18px 44px #0000007a,inset 0 0 0 1px #ffffff0d,0 0 44px #f43f5e52}.hard-boss-phase-demon{box-shadow:0 18px 48px #00000085,inset 0 0 0 1px #ffffff0f,0 0 58px #c084fc5c}.hard-boss-bg-rune{border:1px dashed color-mix(in srgb, var(--boss-tone) 38%, transparent);opacity:.54;border-radius:50%;width:190px;height:190px;animation:42s linear infinite reverse hardBossRuneSpin;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.hard-boss-topline,.hard-boss-bars,.hard-boss-avatar-wrap{z-index:1;position:relative}.hard-boss-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.hard-boss-kicker{color:color-mix(in srgb, var(--boss-tone) 78%, #fff);letter-spacing:.14em;font-size:.58rem;font-weight:900}.hard-boss-name{color:#fff;text-shadow:0 0 18px color-mix(in srgb, var(--boss-tone) 56%, transparent);margin-top:2px;font-size:.92rem;font-weight:900}.hard-boss-phase-pill{border:1px solid color-mix(in srgb, var(--boss-tone) 46%, transparent);background:color-mix(in srgb, var(--boss-tone) 13%, #080c18d1);color:color-mix(in srgb, var(--boss-tone) 82%, #fff);border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.64rem;font-weight:900}.hard-boss-avatar-wrap{place-items:center;height:102px;margin-top:0;display:grid}.hard-boss-avatar-wrap.is-hit{animation:.42s cubic-bezier(.36,.07,.19,.97) hardBossShake}.hard-boss-aura{pointer-events:none;border-radius:50%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.hard-boss-aura-outer{background:radial-gradient(circle, color-mix(in srgb, var(--boss-tone) 30%, transparent) 0%, transparent 67%);filter:blur(9px);width:138px;height:138px;animation:2.8s ease-in-out infinite hardBossAuraPulse}.hard-boss-aura-inner{border:1px solid color-mix(in srgb, var(--boss-tone) 44%, transparent);width:94px;height:94px;box-shadow:0 0 24px color-mix(in srgb, var(--boss-tone) 44%, transparent);animation:1.9s ease-in-out infinite reverse hardBossAuraPulse}.hard-boss-phase-rage .hard-boss-aura-outer,.hard-boss-phase-rage .hard-boss-svg{animation-duration:2.05s}.hard-boss-phase-demon .hard-boss-aura-outer,.hard-boss-phase-demon .hard-boss-svg{animation-duration:1.45s}.hard-boss-svg{width:118px;height:118px;color:var(--boss-tone);filter:drop-shadow(0 0 20px color-mix(in srgb, var(--boss-tone) 52%, transparent));animation:2.8s ease-in-out infinite hardBossIdle}.hard-boss-svg svg{width:100%;height:100%;overflow:visible}.hard-boss-wing{fill:#4c0519db;stroke:color-mix(in srgb, var(--boss-tone) 45%, #1f1020);stroke-width:2px;transform-origin:85px 86px;animation:3.2s ease-in-out infinite hardBossWing}.hard-boss-wing-left{transform-origin:70px 84px}.hard-boss-wing-right{transform-origin:100px 84px;animation-delay:-.25s}.hard-boss-horn{fill:url(#bossHorn);stroke:#ffffff2e;stroke-width:1px}.hard-boss-body{fill:url(#bossCoreGlow);stroke:color-mix(in srgb, var(--boss-tone) 68%, #fff);stroke-width:2px}.hard-boss-mask{fill:#0c0814db;stroke:#ffffff1f}.hard-boss-eye{fill:color-mix(in srgb, var(--boss-tone) 82%, #fff);animation:1.5s ease-in-out infinite hardBossEye}.hard-boss-eye-right{animation-delay:-.2s}.hard-boss-mouth{fill:none;stroke:#fee2e2;stroke-width:3px;stroke-linecap:round}.hard-boss-rune,.hard-boss-core{fill:color-mix(in srgb, var(--boss-tone) 84%, #fff);filter:drop-shadow(0 0 10px);animation:1.7s ease-in-out infinite hardBossCore}.hard-boss-claw{fill:#4c0519e6;stroke:color-mix(in srgb, var(--boss-tone) 36%, #fff)}.hard-boss-shadow{fill:#00000070}.hard-boss-damage{text-align:center;color:#fde68a;background:#1c1917e6;border:1px solid #fbbf248c;border-radius:12px;min-width:118px;padding:6px 10px;font-size:.76rem;font-weight:950;position:absolute;top:34px;right:18px;box-shadow:0 0 24px #fbbf2461}.hard-boss-damage span{color:#fff7ed;letter-spacing:.12em;font-size:.56rem;display:block}.hard-boss-damage.is-crit{color:#1c1917;text-shadow:none;background:linear-gradient(135deg,#fbbf24f5,#f43f5eeb);border-color:#ffffffb8}.hard-boss-bars{gap:7px;display:grid}.hard-boss-bar-row,.hard-player-label{color:#e2e8f0a8;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.58rem;font-weight:900;display:flex}.hard-boss-bar-row b,.hard-player-label b{color:#ffffffd1;letter-spacing:0}.hard-boss-hp-track,.hard-player-track{background:#ffffff13;border:1px solid #ffffff14;border-radius:999px;height:10px;overflow:hidden}.hard-boss-hp-fill{border-radius:inherit;background:linear-gradient(90deg, #7f1d1d, var(--boss-tone), #fbbf24);height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--boss-tone) 54%, transparent)}.hard-player-row{gap:5px;display:grid;position:relative}.hard-player-row.is-hit{animation:.36s ease-out hardPlayerShake}.hard-player-track{height:7px}.hard-player-fill{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#4ade80);height:100%;box-shadow:0 0 10px #4ade8061}.hard-player-backlash{color:#fecaca;background:#450a0ae0;border:1px solid #f871716b;border-radius:10px;gap:1px;padding:6px 9px;font-size:.62rem;font-weight:900;display:grid;position:absolute;bottom:12px;right:0;box-shadow:0 0 18px #f8717147}.hard-player-backlash b{color:#fff;font-size:.68rem}@keyframes hardBossIdle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.025)}}@keyframes hardBossWing{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(2.5deg)scale(1.03)}}@keyframes hardBossAuraPulse{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.95)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes hardBossEye{0%,to{opacity:.78}50%{opacity:1;filter:drop-shadow(0 0 8px)}}@keyframes hardBossCore{0%,to{opacity:.68}50%{opacity:1}}@keyframes hardBossShake{0%,to{transform:translate(0)rotate(0)}16%{transform:translate(-8px)rotate(-1.5deg)}32%{transform:translate(8px)rotate(1.5deg)}48%{transform:translate(-6px)rotate(-1deg)}64%{transform:translate(5px)rotate(1deg)}82%{transform:translate(-2px)rotate(-.5deg)}}@keyframes hardPlayerShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes hardBossRuneSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (width>=520px){.hard-boss-arena{max-width:520px;margin-left:auto;margin-right:auto}}@media (width<=380px){.hard-boss-arena{min-height:188px;padding-left:10px;padding-right:10px}.hard-boss-avatar-wrap{height:96px}.hard-boss-svg{width:108px;height:108px}}.ai-vocab-modal::-webkit-scrollbar{width:5px}.ai-vocab-modal::-webkit-scrollbar-track{background:0 0}.ai-vocab-modal::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:4px}.ai-vocab-extractor-btn{letter-spacing:.02em;cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:filter .18s,transform .14s;display:inline-flex}.ai-vocab-extractor-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.ai-vocab-extractor-btn:active{transform:scale(.96)}.ai-floating-btn:after{content:"";border:2px solid var(--accent);pointer-events:none;border-radius:50%;animation:2.4s ease-in-out infinite ai-btn-ring;position:absolute;inset:-4px}@keyframes ai-btn-ring{0%{opacity:.7;transform:scale(1)}60%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}.btn.btn-ai-quiz{flex:unset;min-height:30px;font-family:var(--font-button);white-space:nowrap;border:1px solid var(--gold-border);background:linear-gradient(180deg, #450a0ab8, var(--surface-overlay)) padding-box, linear-gradient(135deg, #facc15d9, var(--border-accent)) border-box;color:var(--gold-bright);text-shadow:0 0 10px var(--gold-glow);border-radius:6px;gap:4px;padding:5px 8px;font-size:.76rem;font-weight:400;line-height:1}.btn.btn-ai-quiz span{font-size:.8rem}.btn.btn-ai-quiz:hover,.btn.btn-ai-quiz:active{color:#fff;filter:brightness(1.1);border-color:#facc15;box-shadow:0 0 18px #facc154d}html[data-theme=light] .btn.btn-ai-quiz{border-color:var(--gold-border);color:var(--gold);text-shadow:none;background:#fbbf241f}.ai-explain-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin:0 2px;animation:1s ease-in-out infinite ai-dot-bounce;display:inline-block}.ai-explain-dot:nth-child(2){animation-delay:.18s}.ai-explain-dot:nth-child(3){animation-delay:.36s}
