:root{--ink:#0f172a;--ink-secondary:#334155;--muted:#64748b;--blue:#4f46e5;--blue-hover:#4338ca;--blue-light:#eef2ff;--line:#e2e8f0;--line-light:#f1f5f9;--paper:#f8fafc;--card-bg:#ffffff;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(15,23,42,0.08),0 1px 2px -1px rgba(15,23,42,0.06);--shadow-md:0 4px 16px -2px rgba(15,23,42,0.08),0 2px 6px -2px rgba(15,23,42,0.04);--shadow-lg:0 12px 32px -4px rgba(15,23,42,0.12),0 4px 12px -2px rgba(15,23,42,0.06);--shadow-glow:0 8px 24px -4px rgba(79,70,229,0.35);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}html.is-visitor-page,html:has(.visitor-landing){scroll-snap-type:y proximity}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.35;letter-spacing:-.8px;margin-bottom:12px;color:var(--ink)}h1,h2{font-weight:700}h2{letter-spacing:-.4px}p{line-height:1.8;color:var(--ink-secondary)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#ffffff;border-right:1px solid var(--line);padding:36px 20px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;margin-left:8px;width:-moz-fit-content;width:fit-content}.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#4f46e5,#3b82f6);box-shadow:0 4px 14px rgba(79,70,229,.35);color:white;width:42px;height:44px;border-radius:13px 13px 13px 4px;transition:transform .2s ease}.brand:hover .brand-mark{transform:rotate(-3deg) scale(1.04)}.brand-logo{display:block;flex-shrink:0;width:48px;height:34px;padding:2px;object-fit:contain;background:#fff;border-radius:4px}.brand>span:last-child{font-size:23px;font-weight:800;letter-spacing:1.5px;display:flex;align-items:center;color:var(--ink);white-space:nowrap}.sidebar-caption{font-size:12px;letter-spacing:1.2px;font-weight:500;color:var(--muted);margin:18px 0 32px 8px}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.nav-item{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border-radius:10px;padding:12px 14px;background:transparent;color:var(--muted);font-size:14.5px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-item:hover{background:#f1f5f9;color:var(--ink);transform:translateX(3px)}.nav-item.active{background:var(--blue-light);color:var(--blue);font-weight:600;box-shadow:inset 3px 0 0 var(--blue)}.nav-item span{flex:1 1}.nav-item b{font-size:11px;font-weight:600;border-radius:6px;background:#e0e7ff;color:var(--blue);padding:2px 7px}.sidebar-separator{height:1px;background:var(--line);margin:26px 8px 20px}.sidebar-label{font-size:11px;letter-spacing:1.8px;font-weight:600;color:#94a3b8;margin:0 12px 10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.small-note{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid var(--line);border-radius:12px;padding:16px 14px;margin-bottom:20px;box-shadow:var(--shadow-xs)}.little-spark{display:block;color:var(--blue);font-size:24px;margin-bottom:8px}.small-note b{font-size:13.5px;font-weight:600;color:var(--ink)}.small-note p{font-size:12.5px;color:var(--muted);margin:6px 0 14px;line-height:1.8}.small-note>span:last-child{font-size:11px;color:var(--muted);border:1px solid var(--line);background:#ffffff;border-radius:5px;padding:3px 7px;font-weight:500}.profile{display:flex;align-items:center;gap:10px;background:none;width:100%;padding:8px 4px;text-align:left;border-radius:10px;transition:background .15s}.profile:hover{background:#f1f5f9}.avatar{width:36px;height:36px;display:grid;place-items:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:50%;font-size:15px;font-weight:600;color:var(--blue)}.profile>span:nth-child(2){flex:1 1;display:grid;grid-gap:3px;gap:3px}.profile b{font-size:13px;font-weight:600;color:var(--ink)}.profile small{font-size:11px;color:var(--muted)}.profile svg{color:#94a3b8}.auth-link-btn{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;font-size:inherit;cursor:pointer;transition:color .15s ease}.auth-link-btn:hover{color:var(--primary,#6366f1);text-decoration:underline}.auth-divider{margin:0 4px;color:var(--muted,#94a3b8);-webkit-user-select:none;-moz-user-select:none;user-select:none}.main{margin-left:232px}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted);background:rgba(248,250,252,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar>span{color:var(--ink);font-weight:600;font-size:15px}.topbar-right{gap:12px;font-size:13px}.date,.topbar-right{display:flex;align-items:center}.date{gap:8px;margin-right:16px;color:var(--muted)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.3)}}.sync-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.6);animation:pulse-dot 2.2s ease-in-out infinite}.content{max-width:1320px;margin:auto;padding:36px 48px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--blue);margin-bottom:10px;text-transform:uppercase}.page-heading h1{margin-bottom:8px;font-size:32px;font-weight:750;letter-spacing:-.6px}.lead,.page-heading p{color:var(--muted);font-size:14.5px;margin-bottom:0}.heading-mark{font-family:Georgia,serif;font-size:52px;font-style:italic;color:#cbd5e1;line-height:1;margin-right:4px;display:flex;align-items:center;gap:16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.heading-mark span{font-family:var(--font);font-style:normal;writing-mode:vertical-rl;font-size:9px;font-weight:600;letter-spacing:3px;color:#94a3b8}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr);grid-gap:24px;gap:24px}.study-card{border:1px solid rgba(199,210,254,.7);background:linear-gradient(135deg,#eef2ff,#e0e7ff 50%,#f5f3ff);border-radius:20px;padding:26px 32px 24px;overflow:hidden;position:relative;box-shadow:0 10px 30px -5px rgba(79,70,229,.12),0 4px 12px -2px rgba(79,70,229,.05);transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;justify-content:space-between}.study-card:hover{box-shadow:0 16px 38px -6px rgba(79,70,229,.18),0 6px 16px -2px rgba(79,70,229,.08)}.study-card.theme-blue{background:linear-gradient(135deg,#eef2ff,#e0e7ff 50%,#f5f3ff);border-color:rgba(199,210,254,.8)}.study-card.theme-green{background:linear-gradient(135deg,#ecfdf5,#d1fae5 50%,#f0fdf4);border-color:rgba(167,243,208,.8)}.study-card.theme-peach{background:linear-gradient(135deg,#fff7ed,#ffedd5 50%,#fef2f2);border-color:rgba(254,215,170,.8)}.study-card.theme-purple{background:linear-gradient(135deg,#faf5ff,#f3e8ff 50%,#fdf4ff);border-color:rgba(233,213,255,.8)}.study-card-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.95);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.1);transition:all .25s cubic-bezier(.34,1.56,.64,1);opacity:.85}.study-card-arrow:hover{opacity:1;transform:translateY(-50%) scale(1.15);background:#ffffff;color:var(--blue);box-shadow:0 6px 20px rgba(79,70,229,.25)}.study-card-arrow.prev{left:10px}.study-card-arrow.next{right:10px}.study-card-top{justify-content:space-between;gap:12px;margin-bottom:12px}.study-card-top,.study-card-top-left{display:flex;align-items:center;flex-wrap:wrap}.study-card-top-left{gap:8px}.study-card-stage-tag{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.85);color:#3730a3;border:1px solid rgba(199,210,254,.8);box-shadow:0 1px 4px rgba(15,23,42,.04)}.study-card-top-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.study-category-segmented{display:inline-flex;align-items:center;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:3px;border-radius:20px;border:1px solid rgba(199,210,254,.7);gap:2px}.cat-segment-tab{border:none;background:transparent;padding:4px 11px;border-radius:16px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.cat-segment-tab:hover{color:#1e1b4b}.cat-segment-tab.active{background:#ffffff;color:#4338ca;box-shadow:0 2px 6px rgba(67,56,202,.15);font-weight:700}.study-all-books-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;color:#4338ca;background:rgba(255,255,255,.85);border:1px solid rgba(199,210,254,.9);border-radius:18px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px rgba(79,70,229,.08);white-space:nowrap}.study-all-books-btn:hover{background:#ffffff;box-shadow:0 3px 10px rgba(79,70,229,.18);transform:translateY(-1px)}.study-category-books-row{display:flex;align-items:center;width:100%;margin-bottom:8px}.study-book-pills{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.6);padding:4px 6px;border-radius:20px;border:1px solid rgba(199,210,254,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-x:auto;max-width:100%;scrollbar-width:none;flex-wrap:nowrap}.study-book-pills::-webkit-scrollbar{display:none}.book-pill-tab{display:inline-flex;align-items:center;gap:4px;padding:5px 13px;font-size:12.5px;font-weight:600;color:#64748b;background:transparent;border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:0;white-space:nowrap;flex-shrink:0}.book-pill-tab:hover{color:#1e1b4b;background:rgba(255,255,255,.6)}.book-pill-tab.active{background:#ffffff;color:#4338ca;box-shadow:0 2px 8px rgba(79,70,229,.18);font-weight:700}.pill-sparkle{color:#fbbf24}.study-card-body{display:flex;justify-content:space-between;align-items:center;position:relative;flex:1 1;min-height:220px;padding:16px 8px 14px;transition:transform .2s ease-out;gap:20px}@keyframes slideInRight{0%{opacity:0;transform:translateX(45px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-45px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}.study-card-body.slide-left{animation:slideInRight .35s cubic-bezier(.34,1.56,.64,1) forwards}.study-card-body.slide-right{animation:slideInLeft .35s cubic-bezier(.34,1.56,.64,1) forwards}.study-card-info{flex:1 1;min-width:0}.study-card-eyebrow-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.card-eyebrow{font-size:11px;color:#6366f1;font-weight:700;letter-spacing:1.2px;display:inline-block;margin:0;text-transform:uppercase}.card-book-count-badge{font-size:10.5px;font-weight:600;color:#64748b;background:rgba(255,255,255,.8);padding:1px 7px;border-radius:999px;border:1px solid rgba(226,232,240,.8)}.study-card-title{font-size:24px;line-height:1.35;letter-spacing:-.3px;font-weight:800;margin:0 0 8px;color:#1e1b4b;word-break:break-word}.study-card-meta-line{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.study-meta-chip{font-size:11.5px;font-weight:600;color:#4338ca;background:rgba(224,231,255,.7);padding:3px 9px;border-radius:6px;border:1px solid rgba(199,210,254,.7);display:inline-flex;align-items:center;gap:4px}.study-meta-chip.muted{color:#475569;background:rgba(241,245,249,.85);border-color:rgba(226,232,240,.85)}.study-card-desc{font-size:13px;color:#475569;line-height:1.7;margin:0 0 10px}.study-card-progress{margin-top:14px;display:flex;flex-direction:column;gap:6px;max-width:280px}.study-progress-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.learned-label{color:#047857;font-weight:600}.learned-label,.unlearned-label{display:flex;align-items:center;gap:5px}.unlearned-label{color:#64748b;font-weight:500}.dot-indicator{width:7px;height:7px;display:inline-block}.dot-indicator.green{background:#10b981}.dot-indicator.gray{background:#cbd5e1}.progress-dual-bar{height:8px;background:rgba(226,232,240,.8);border-radius:6px;overflow:hidden;border:1px solid rgba(199,210,254,.6)}.bar-learned{display:block;height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:6px;transition:width .4s cubic-bezier(.4,0,.2,1)}.study-progress-total{font-size:11px;font-weight:600;color:#94a3b8}.progress-dual-hint{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.progress-dual-hint .text-learned{color:#047857}.progress-dual-hint .text-unlearned{color:#64748b}.notebook-art{height:206px;width:158px;transform:rotate(8deg);border-radius:4px 10px 10px 4px;position:relative;margin:0 12px 5px 0;color:#e0e7ff;padding:20px 18px 15px 23px;flex-shrink:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.notebook-art,.notebook-art.notebook-blue{background:linear-gradient(145deg,#4338ca,#312e81);box-shadow:8px 12px 0 rgba(199,210,254,.85),16px 26px 36px rgba(67,56,202,.28)}.notebook-art.notebook-green{background:linear-gradient(145deg,#047857,#064e3b);box-shadow:8px 12px 0 rgba(167,243,208,.85),16px 26px 36px rgba(4,120,87,.28)}.notebook-art.notebook-peach{background:linear-gradient(145deg,#c2410c,#7c2d12);box-shadow:8px 12px 0 rgba(254,215,170,.85),16px 26px 36px rgba(194,65,12,.28)}.notebook-art.notebook-purple{background:linear-gradient(145deg,#6d28d9,#4c1d95);box-shadow:8px 12px 0 rgba(221,214,254,.85),16px 26px 36px rgba(109,40,217,.28)}.notebook-art:hover{transform:rotate(3deg) translateY(-8px) scale(1.05);box-shadow:10px 16px 0 rgba(199,210,254,.95),20px 32px 42px rgba(67,56,202,.35)}.notebook-swipe-hint{position:absolute;bottom:8px;right:12px;font-size:8px;letter-spacing:.8px;opacity:.6;transition:opacity .2s}.notebook-art:hover .notebook-swipe-hint{opacity:1}.notebook-spine{position:absolute;left:8px;top:0;bottom:0;width:3px;background:rgba(255,255,255,.18)}.notebook-art>span{font-size:7px;line-height:1.6;letter-spacing:2px;opacity:.85}.notebook-art>b{font-family:Georgia,serif;font-size:88px;display:block;line-height:1.15;letter-spacing:-7px;font-weight:400}.notebook-art i{color:#a5b4fc;font-style:normal}.notebook-line{height:2px;background:rgba(255,255,255,.3);margin:4px 0 8px;width:48px}.notebook-art small{font-size:6px;letter-spacing:1px;opacity:.75;display:block}.study-card-dots{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:nowrap!important;flex-shrink:0!important}.card-dot{width:7px;height:7px;border-radius:4px;background:rgba(79,70,229,.25);border:0;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.card-dot:hover{background:rgba(79,70,229,.5);transform:scale(1.2)}.card-dot.active{width:18px;background:#4338ca;box-shadow:0 2px 6px rgba(79,70,229,.35)}.study-footer{border-top:1px solid rgba(199,210,254,.8);display:flex;justify-content:space-between;align-items:center;padding-top:18px;gap:14px;margin-top:auto}.study-footer-unit-info{display:flex;flex-direction:column;gap:4px;min-width:0}.study-footer-unit-info b{font-size:14px;font-weight:700;color:#312e81;letter-spacing:.2px}.study-footer-unit-info span{font-size:12px;color:#64748b}.study-start-btn{flex-shrink:0;box-shadow:0 4px 14px rgba(15,23,42,.15);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.study-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(15,23,42,.25)}.study-picker-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.study-picker-modal{background:#ffffff;border-radius:24px;width:100%;max-width:760px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 25px 60px -15px rgba(15,23,42,.3),0 0 0 1px rgba(226,232,240,.8);overflow:hidden;animation:modalScaleUp .25s cubic-bezier(.34,1.56,.64,1)}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.study-picker-header{padding:20px 24px;border-bottom:1px solid rgba(226,232,240,.9);display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.study-picker-header-title{display:flex;align-items:center;gap:12px}.study-picker-header-title .header-icon{color:#4f46e5;background:rgba(79,70,229,.1);padding:8px;width:38px;height:38px;border-radius:12px}.study-picker-header-title h3{font-size:18px;font-weight:700;color:var(--ink);margin:0}.study-picker-header-title small{font-size:12px;color:var(--muted);display:block;margin-top:2px}.study-picker-close-btn{background:transparent;border:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:all .2s ease}.study-picker-close-btn:hover{background:var(--line-light);color:var(--ink)}.study-picker-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.study-picker-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.study-picker-section-title h4{font-size:15px;font-weight:700;color:#1e293b;margin:0}.study-picker-section-title .section-count{font-size:11px;font-weight:600;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:999px;margin-left:auto}.study-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:10px;gap:10px}.study-picker-card{border:1px solid rgba(226,232,240,.9);background:#ffffff;border-radius:14px;padding:12px 14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.study-picker-card:hover{border-color:#c7d2fe;background:#f8faff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(79,70,229,.08)}.study-picker-card.is-active{border-color:#4f46e5;background:#eef2ff;box-shadow:0 2px 10px rgba(79,70,229,.15)}.picker-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.picker-card-name{font-size:13.5px;font-weight:600;color:#1e293b;line-height:1.4}.study-picker-card.is-active .picker-card-name{color:#3730a3;font-weight:700}.picker-active-badge{font-size:11px;font-weight:600;color:#4338ca;background:#e0e7ff;padding:2px 7px;border-radius:999px;display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.picker-card-meta{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#64748b}.picker-pct-learned{color:#059669;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:10px;font-size:13.5px;font-weight:600;padding:12px 20px;min-height:42px;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.button:hover{transform:translateY(-1.5px)}.button:active{transform:translateY(0) scale(.98)}.button.primary{background:linear-gradient(135deg,#4f46e5,#3b82f6);color:white;box-shadow:0 4px 14px -1px rgba(79,70,229,.35)}.button.primary:hover{filter:brightness(1.06);box-shadow:0 8px 22px -2px rgba(79,70,229,.45)}.button.dark{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;box-shadow:0 4px 14px -1px rgba(15,23,42,.25)}.button.dark:hover{filter:brightness(1.1);box-shadow:0 8px 22px -2px rgba(15,23,42,.35)}.button.secondary{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.button.secondary:hover{background:#e2e8f0;color:#0f172a}.full{width:100%}.daily-side{display:grid;grid-template-rows:1.2fr 1fr;grid-gap:20px;gap:20px}.progress-card,.review-card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow-xs);transition:all .2s cubic-bezier(.4,0,.2,1)}.progress-card:hover,.review-card:hover{border-color:#cbd5e1;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-title{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600}.icon-tile{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--blue);background:var(--blue-light);transition:transform .2s ease}.progress-card:hover .icon-tile,.review-card:hover .icon-tile{transform:scale(1.08)}.due-number{font-size:46px;line-height:1.15;letter-spacing:-2px;font-weight:700;margin:18px 0 8px;color:var(--ink)}.due-number span{font-size:13px;color:var(--muted);letter-spacing:0;font-weight:400;margin-left:12px}.review-card p{font-size:12.5px;color:var(--muted);margin-bottom:14px}.text-button{display:inline-flex;align-items:center;gap:6px;color:var(--blue);background:none;padding:0;font-size:13.5px;font-weight:600;line-height:1.6;transition:gap .2s ease}.text-button:hover{gap:9px;color:var(--blue-hover)}.review-card .text-button{width:100%;justify-content:space-between}.progress-card{padding-top:22px}.progress-card .card-title svg{color:#d97706}.progress-card strong{font-size:36px;font-weight:700;display:block;margin:14px 0 5px;letter-spacing:-1px;color:var(--ink)}.progress-card small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:10px}.progress-card p{color:var(--muted);font-size:12.5px;margin:0}.book-section{margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{font-size:18px;margin:0;font-weight:700;letter-spacing:-.2px;color:var(--ink)}.section-heading h2 span{font-size:12.5px;color:var(--muted);font-weight:400;margin-left:12px}.section-heading>svg{color:#94a3b8}.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.book-card{display:flex;gap:18px;position:relative;align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:14px;padding:20px 18px;text-align:left;box-shadow:var(--shadow-xs);transition:all .25s cubic-bezier(.4,0,.2,1)}.book-card:hover{border-color:#c7d2fe;transform:translateY(-4px);box-shadow:var(--shadow-md)}.book-cover{height:102px;flex:0 0 70px;padding:12px 10px;border-radius:3px 8px 8px 3px;position:relative;border-left:3px solid rgba(0,0,0,.12);display:flex;flex-direction:column;box-shadow:2px 4px 10px rgba(0,0,0,.08)}.blue .book-cover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.green .book-cover{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.peach .book-cover{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#9a3412}.book-cover>span{font-size:7px;letter-spacing:1px;font-weight:600;text-transform:uppercase}.book-cover strong{font-size:22px;font-weight:700;letter-spacing:2px;margin-top:10px}.book-cover small{font-size:6px;white-space:nowrap;margin-top:4px;opacity:.85}.book-cover i{width:18px;height:2px;background:currentColor;margin-top:auto;border-radius:1px}.book-info{min-width:0;flex:1 1}.book-info h3{font-size:14px;font-weight:600;margin:0 0 8px;line-height:1.6;color:var(--ink)}.book-info p{color:var(--muted);font-size:11.5px;white-space:nowrap;margin:0 0 14px}.book-info p span{margin:0 6px}.mini-progress{height:4px;background:#edf2f7;border-radius:4px;margin-bottom:8px;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#3b82f6);border-radius:4px;transition:width .3s ease}.book-info>small{font-size:11px;color:var(--muted)}.book-card>svg{position:absolute;right:14px;top:14px;color:#94a3b8;width:13px;transition:transform .2s ease,color .2s ease}.book-card:hover>svg{color:var(--blue);transform:translate(2px,-2px)}.activity{margin-top:36px}.activity-empty{border:1px dashed #cbd5e1;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:18px;padding:28px;color:var(--muted);background:#ffffff}.activity-empty p{font-size:13.5px;color:var(--ink-secondary);margin:0}.activity-empty p span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.activity-row{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);width:100%;padding:16px 0;background:none;text-align:left;transition:background .15s}.activity-icon{display:grid;place-items:center;width:34px;height:34px;color:#059669;background:#d1fae5;border-radius:10px}.activity-row>div{flex:1 1}.activity-row b{font-size:13.5px;font-weight:600;color:var(--ink)}.activity-row small{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}.activity-row>strong{font-weight:600;font-size:14px;color:var(--ink)}.activity-row>svg,.footer{color:#94a3b8}.footer{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.6px;border-top:1px solid var(--line);padding:24px 0;margin-top:40px;flex-wrap:wrap;gap:12px}.footer>span:first-child{font-weight:600;letter-spacing:1.5px}.footer .icp-filing{flex-basis:100%;text-align:center;font-size:12px;line-height:1.8;color:var(--muted);text-decoration:none}.footer .icp-filing:hover{text-decoration:underline}.icon-button.mobile-toggle{display:none}.icon-button{display:grid;place-items:center;background:none;padding:8px;color:#64748b;border-radius:8px;transition:all .15s ease}.icon-button:hover{background:#f1f5f9;color:var(--ink)}.lead{margin-bottom:30px;font-size:15px}.book-category-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.category-pills,.order-toggle-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:white;border:1px solid var(--line);border-radius:20px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.category-pill-btn:hover{border-color:#cbd5e1;color:var(--ink)}.category-pill-btn.active{background:var(--blue);border-color:var(--blue);color:white;font-weight:600;box-shadow:0 2px 8px rgba(79,70,229,.25)}.category-pill-btn .cat-count{display:inline-block;font-size:11px;padding:1px 6px;border-radius:10px;background:#f1f5f9;color:#64748b;transition:all .2s ease}.category-pill-btn.active .cat-count{background:rgba(255,255,255,.25);color:white}.order-pill-btn{padding:7px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.order-pill-btn:hover{background:white;border-color:#cbd5e1;color:var(--ink)}.order-pill-btn.active{background:white;border-color:var(--blue);color:var(--blue);font-weight:600;box-shadow:0 1px 4px rgba(79,70,229,.1)}.book-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin:18px 0 24px}.book-card-tab{display:flex;flex-direction:column;gap:8px;text-align:left;padding:16px 18px;background:white;border:1.5px solid var(--line);border-radius:14px;font-size:15px;font-weight:600;color:var(--ink);box-shadow:var(--shadow-xs);cursor:pointer;transition:all .2s ease}.book-card-tab:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06)}.book-card-tab.selected{border-color:var(--blue);background:#f8faff;box-shadow:0 4px 18px rgba(79,70,229,.14)}.book-card-header{gap:8px}.exam-tag{font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;color:#475569}.exam-tag,.order-tag{font-size:11px;padding:2px 8px;border-radius:6px}.order-tag{font-weight:600}.order-tag.ordered{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.order-tag.scrambled{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.book-card-name{font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}.book-card-tab.selected .book-card-name{color:var(--blue)}.book-card-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:400}.book-card-meta .dot{opacity:.5}.book-card-meta .learned-stat{color:#059669;font-weight:600}.visitor-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:12px;margin-bottom:22px}.visitor-notice-content{display:flex;align-items:center;gap:12px}.notice-icon-badge{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:white;color:var(--blue);box-shadow:0 2px 6px rgba(59,130,246,.15);flex-shrink:0}.visitor-notice-content strong{display:block;font-size:14px;color:#1e3a8a;margin-bottom:2px}.visitor-notice-content p{margin:0;font-size:13px;color:#475569}.slider-category-bar{display:flex;align-items:center;gap:8px;margin:12px 0 16px;flex-wrap:wrap}.slider-cat-pill{padding:6px 14px;background:white;border:1px solid var(--line);border-radius:18px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.slider-cat-pill:hover{border-color:#cbd5e1;color:var(--ink)}.slider-cat-pill.active{background:var(--blue);border-color:var(--blue);color:white;font-weight:600;box-shadow:0 2px 8px rgba(79,70,229,.25)}.source-note{display:flex;gap:16px;padding:20px;background:#f0f4ff;border-radius:12px;border:1px solid #dbeafe;color:#3b547e;margin-bottom:26px}.source-note>svg{flex-shrink:0;color:var(--blue)}.source-note b{font-size:15px;color:#1e3a8a}.source-note p{font-size:13.5px;margin:6px 0}.source-note small{font-size:12px;color:#64748b}.book-showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:20px;gap:20px;margin-top:20px}.book-showcase-card{background:white;border:1.5px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-xs);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;cursor:pointer}.book-showcase-card:hover{border-color:#cbd5e1;transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.07)}.book-showcase-card.selected{border-color:var(--blue);background:#fafcff;box-shadow:0 8px 24px rgba(79,70,229,.12)}.book-card-tags{display:flex;align-items:center;gap:8px}.book-card-counts{font-size:12px;color:var(--muted);font-weight:500;background:#f8fafc;padding:3px 8px;border-radius:6px;border:1px solid #f1f5f9}.book-showcase-card .book-card-name{font-size:17px;font-weight:700;color:var(--ink);margin:0;line-height:1.4}.book-showcase-card.selected .book-card-name{color:var(--blue)}.book-card-desc{font-size:13.5px;color:#475569;line-height:1.5;margin:0;flex:1 1}.book-card-progress{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border-radius:10px;padding:10px 12px;border:1px solid #f1f5f9}.progress-info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.progress-info-row .progress-text{font-weight:600;color:#059669}.progress-bar-track{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:999px;transition:width .3s ease}.book-card-actions{margin-top:6px;padding-top:14px;border-top:1px solid #f1f5f9}.book-actions-group{display:flex;align-items:center;gap:10px}.group-picker-inline{flex:1 1}.group-select-dropdown{width:100%;padding:8px 12px;font-size:13px;font-weight:500;color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s ease}.group-select-dropdown:focus,.group-select-dropdown:hover{border-color:var(--blue)}.start-learn-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600}.start-learn-btn.guest-btn{width:100%;justify-content:center}@media (max-width:640px){.book-showcase-grid{grid-template-columns:1fr}.book-actions-group{flex-direction:column;align-items:stretch}.start-learn-btn{width:100%;justify-content:center}}.empty-state{text-align:center;border:1px dashed #cbd5e1;background:#fff;border-radius:16px;padding:68px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--muted)}.empty-state h2{font-size:24px;margin:5px 0;color:var(--ink)}.empty-state p{font-size:14.5px;margin:0 0 5px;color:var(--muted)}.review-controls{display:flex;gap:16px;align-items:center;margin:28px 0}.review-summary{text-align:center;display:flex;align-items:center;flex-direction:column;padding:50px!important;color:var(--muted)}.review-summary strong{font-size:68px;line-height:1.3;font-weight:700;color:var(--blue)}.review-summary h2{font-size:20px;color:var(--ink);margin-top:10px}.review-summary p{font-size:14.5px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);padding:26px;border-radius:14px;box-shadow:var(--shadow-xs)}.wrong-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.wrong-card h2{font-family:Georgia,serif;font-size:32px;font-weight:500;overflow-wrap:anywhere;color:var(--ink)}.wrong-card p{font-size:14.5px;color:var(--ink-secondary)}.wrong-card>div{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;font-size:13px;gap:10px}.wrong-card small{color:var(--muted);white-space:nowrap}.wrong-card b{font-weight:600}.import-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:26px;gap:26px}.import-guide p{font-size:14.5px;color:var(--muted);line-height:1.9}.import-guide h3{font-size:20px;margin:16px 0;color:var(--ink)}.import-guide svg{color:var(--blue)}.import-guide code{color:var(--blue);background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:13px}.upload{border:2px dashed #93c5fd;background:#f8fafc;border-radius:12px;position:relative;display:flex!important;align-items:center;flex-direction:column;padding:30px;gap:12px;color:#3b82f6!important;cursor:pointer;transition:all .2s ease}.upload:hover{background:#eff6ff;border-color:#3b82f6}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload span{font-size:12.5px;color:var(--muted)}.upload strong{font-size:15px;color:var(--blue)}.preview{margin-top:22px}.preview h2{font-size:20px;color:var(--ink)}.preview p{display:flex;gap:16px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.preview p b{min-width:75px;color:var(--ink)}.preview p span{color:var(--muted)}label{display:block;font-size:13.5px;font-weight:500;color:var(--ink-secondary);margin-bottom:20px}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #cbd5e1;background:#ffffff;border-radius:9px;padding:12px 14px;color:var(--ink);margin-top:8px;font-size:15px;transition:all .2s ease}input[type=checkbox],input[type=radio]{display:inline-block!important;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;cursor:pointer;vertical-align:middle;accent-color:var(--primary,#2563eb);flex-shrink:0}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,70,229,.15);outline:none}textarea{resize:vertical;font-family:monospace;font-size:13.5px}select{width:auto;max-width:100%;margin:0;cursor:pointer}.panel select{width:100%;margin-top:8px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;display:grid;place-items:center;padding:20px}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal{background:#ffffff;border-radius:20px;max-width:420px;width:100%;padding:38px 36px;position:relative;box-shadow:0 25px 60px -12px rgba(15,23,42,.25),0 0 0 1px rgba(255,255,255,.2);animation:modal-in .25s cubic-bezier(.16,1,.3,1)}.close{position:absolute;right:14px;top:14px}.modal h2{font-size:28px;margin:16px 0 10px;color:var(--ink);letter-spacing:-.4px}.modal .muted{font-size:13.5px;margin-bottom:24px}.modal .muted,.muted{color:var(--muted)}.auth-switch{margin:20px auto 0;display:block}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:13px 15px;border-radius:9px;font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}.banner{display:flex;justify-content:space-between;margin-bottom:22px}.success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;padding:13px 15px;border-radius:9px;font-size:13.5px}.loading{padding:80px 0;text-align:center;color:var(--muted)}.practice-top{gap:15px;font-size:14px;color:var(--muted)}.back-button{display:flex;align-items:center;gap:8px;background:none;color:var(--muted);font-size:13.5px;font-weight:500;padding:8px 0;transition:color .15s}.back-button:hover{color:var(--ink)}.practice-progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 20px 12px;margin:8px 0 16px;box-shadow:0 2px 12px -4px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:10px}.practice-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.practice-book-info{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1e293b}.practice-book-name{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-mode-tag{display:inline-flex;align-items:center;padding:2px 8px;background:#eef2ff;color:#4f46e5;border-radius:6px;font-size:11.5px;font-weight:700}.practice-header-badge{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;padding:4px 12px;border-radius:20px}.practice-header-badge .badge-pct{font-weight:800;font-size:13.5px;color:#4f46e5}.practice-header-badge .badge-text{font-size:12px;color:#64748b}.practice-header-badge .badge-text strong{color:#1e293b;font-weight:700}.practice-visual-progress{display:flex;flex-direction:column;gap:6px}.practice-track-bar{height:8px;background:#f1f5f9;border-radius:6px;overflow:hidden;display:flex;position:relative;border:1px solid #e2e8f0}.track-fill-correct{background:linear-gradient(90deg,#10b981,#059669)}.track-fill-correct,.track-fill-half{height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.track-fill-half{background:linear-gradient(90deg,#f59e0b,#d97706)}.track-fill-wrong{height:100%;background:linear-gradient(90deg,#f43f5e,#e11d48);transition:width .3s cubic-bezier(.4,0,.2,1)}.practice-progress-legend{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:#64748b;padding-top:1px}.legend-item{display:flex;gap:5px}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.legend-dot.green{background:#10b981}.legend-dot.blue{background:#6366f1}.legend-dot.gray{background:#cbd5e1}.legend-item strong{color:#1e293b;font-weight:700}.legend-detail,.legend-pct{color:#94a3b8;font-size:10.5px}.question{max-width:640px;margin:48px auto 60px;text-align:center}.question .eyebrow{margin-bottom:24px}.question h1{font-size:32px;line-height:1.65;font-weight:600;letter-spacing:.5px;margin-bottom:14px;color:var(--ink)}.part-of-speech{display:inline-block;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:6px 16px;color:#4338ca;font-size:15.5px;font-weight:600;box-shadow:0 1px 3px rgba(79,70,229,.08)}.practice-prompt-card{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px}.practice-prompt-meaning-wrapper{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.practice-prompt-meaning-text{font-size:30px;line-height:1.45;font-weight:700;letter-spacing:.3px;margin:0;color:var(--ink)}.practice-hint-actions{display:inline-flex;align-items:center;gap:8px;background:rgba(241,245,249,.9);padding:4px 6px;border-radius:20px;border:1px solid rgba(203,213,225,.7);box-shadow:0 1px 3px rgba(0,0,0,.04)}.practice-hint-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:500;border-radius:14px;border:1px solid transparent;background:#ffffff;color:#475569;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px rgba(0,0,0,.05);-webkit-user-select:none;-moz-user-select:none;user-select:none}.practice-hint-btn:hover{background:#f8fafc;color:#1e293b;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 3px 6px rgba(0,0,0,.08)}.practice-hint-btn:active{transform:translateY(0)}.practice-hint-btn.audio-hint-btn:hover{color:#2563eb;border-color:#93c5fd;background:#eff6ff}.practice-hint-btn.audio-hint-btn.playing{background:#dbeafe;color:#1d4ed8;border-color:#60a5fa}.practice-hint-btn.phonetic-hint-btn:hover{color:#7c3aed;border-color:#c4b5fd;background:#f5f3ff}.practice-hint-btn.phonetic-hint-btn.is-active{background:#ede9fe;color:#6d28d9;border-color:#a78bfa}.practice-prompt-subinfo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.practice-revealed-phonetic{display:inline-flex;align-items:center;background:#fdf4ff;border:1px solid #f0abfc;color:#a21caf;font-size:16px;font-weight:600;padding:4px 14px;border-radius:8px;font-family:SF Pro Text,-apple-system,system-ui,sans-serif;letter-spacing:.5px;box-shadow:0 1px 3px rgba(217,70,239,.08)}.practice-hint-banner{display:inline-flex;align-items:center;gap:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:20px;padding:6px 14px;margin-top:4px;box-shadow:0 1px 3px rgba(245,158,11,.08)}.practice-hint-banner .hint-pill{font-size:12px;font-weight:700;color:#b45309;background:#fef3c7;padding:2px 8px;border-radius:10px}.practice-hint-banner .hint-desc{font-size:13px;color:#92400e}.practice-hint-banner .hint-desc strong{color:#b45309;font-weight:700}.mastery-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;width:100%;max-width:680px;margin:32px auto 0}.score-stat-box{background:white;border-radius:14px;padding:20px 16px;border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s ease,box-shadow .2s ease}.score-stat-box:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}.score-stat-box .stat-num{font-size:38px;font-weight:800;line-height:1;letter-spacing:-1px}.score-stat-box .stat-label{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.score-stat-box .stat-sub{font-size:12px;color:var(--muted)}.score-stat-box.full-box{border-color:#a7f3d0;background:linear-gradient(180deg,#ecfdf5,#ffffff)}.score-stat-box.full-box .stat-label,.score-stat-box.full-box .stat-num{color:#059669}.score-stat-box.half-box{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#ffffff)}.score-stat-box.half-box .stat-label,.score-stat-box.half-box .stat-num{color:#d97706}.score-stat-box.wrong-box{border-color:#fecdd3;background:linear-gradient(180deg,#fff1f2,#ffffff)}.score-stat-box.wrong-box .stat-label,.score-stat-box.wrong-box .stat-num{color:#e11d48}.answer-cell-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.used-hint-indicator-badge{display:inline-block;font-size:10.5px;font-weight:600;background:#fef3c7;color:#b45309;border:1px solid #fde68a;border-radius:6px;padding:1px 6px;line-height:1.4}.mastery-table-badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.mastery-table-badge.full{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.mastery-table-badge.half{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.mastery-table-badge.wrong{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}[data-theme=dark] .practice-prompt-meaning-text{color:var(--ink)}[data-theme=dark] .practice-hint-actions{background:rgba(30,41,59,.85);border-color:rgba(51,65,85,.8)}[data-theme=dark] .practice-hint-btn{background:#1e293b;color:#cbd5e1;border-color:#334155}[data-theme=dark] .practice-hint-btn:hover{background:#334155;color:#f8fafc}[data-theme=dark] .practice-hint-btn.audio-hint-btn:hover{background:#1e3a8a;color:#93c5fd;border-color:#3b82f6}[data-theme=dark] .practice-hint-btn.phonetic-hint-btn:hover{background:#3b0764;color:#d8b4fe;border-color:#8b5cf6}[data-theme=dark] .practice-hint-btn.phonetic-hint-btn.is-active{background:#4c1d95;color:#e9d5ff;border-color:#8b5cf6}[data-theme=dark] .practice-hint-banner{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.3)}[data-theme=dark] .practice-hint-banner .hint-pill{background:rgba(245,158,11,.25);color:#fde68a}[data-theme=dark] .practice-hint-banner .hint-desc{color:#fcd34d}[data-theme=dark] .practice-revealed-phonetic{background:rgba(217,70,239,.15);border-color:rgba(217,70,239,.35);color:#f0abfc}[data-theme=dark] .score-stat-box{background:#1e293b;border-color:#334155}[data-theme=dark] .score-stat-box.full-box{background:linear-gradient(180deg,rgba(16,185,129,.12),#1e293b);border-color:rgba(16,185,129,.35)}[data-theme=dark] .score-stat-box.half-box{background:linear-gradient(180deg,rgba(245,158,11,.12),#1e293b);border-color:rgba(245,158,11,.35)}[data-theme=dark] .score-stat-box.wrong-box{background:linear-gradient(180deg,rgba(244,63,94,.12),#1e293b);border-color:rgba(244,63,94,.35)}[data-theme=dark] .used-hint-indicator-badge{background:rgba(245,158,11,.18);color:#fde68a;border-color:rgba(245,158,11,.3)}[data-theme=dark] .mastery-table-badge.full{background:rgba(16,185,129,.18);color:#6ee7b7;border-color:rgba(16,185,129,.35)}[data-theme=dark] .mastery-table-badge.half{background:rgba(245,158,11,.18);color:#fcd34d;border-color:rgba(245,158,11,.35)}[data-theme=dark] .mastery-table-badge.wrong{background:rgba(244,63,94,.18);color:#fda4af;border-color:rgba(244,63,94,.35)}.question input{border:0;border-bottom:2px solid #cbd5e1;background:transparent;border-radius:0;text-align:center;font-size:28px;letter-spacing:2px;padding:14px 6px;color:var(--ink);transition:all .2s ease}.question input:focus{border-bottom-color:var(--blue);box-shadow:none;filter:drop-shadow(0 4px 10px rgba(79,70,229,.3));outline:none}.question input::placeholder{font-size:16px;letter-spacing:1px;color:#94a3b8}.question-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.question-actions .button{min-width:150px}.practice-note{font-size:12.5px;color:var(--muted);margin-top:40px;display:flex;justify-content:center;align-items:center;gap:8px}.result-header{text-align:center;padding:36px 0}.result-header h1{font-size:32px;color:var(--ink)}.result-header>p{font-size:14.5px;color:var(--muted)}.score{display:flex;align-items:center;justify-content:center;gap:48px;margin:32px 0 0}.score>strong{font-size:58px;letter-spacing:-2px;font-weight:700;color:var(--ink)}.score>strong>span{font-size:26px;color:#94a3b8;letter-spacing:0}.score>div{display:grid;grid-gap:8px;gap:8px;text-align:left}.score b{font-weight:700;font-size:26px;color:var(--ink)}.score>div span{font-size:12.5px;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;font-weight:600;letter-spacing:1px;color:var(--muted);background:#f8fafc}td,th{padding:16px}td{border-top:1px solid var(--line);line-height:1.7;min-width:100px}td:first-child{max-width:360px}td small{color:var(--muted)}td:nth-child(2),td:nth-child(3){font-family:Georgia,serif;font-size:18px;overflow-wrap:anywhere}.answer-correct{color:#15803d;font-weight:600}.answer-wrong{color:#b91c1c;font-weight:600}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.result-actions p{font-size:13.5px;margin:0;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:1500px){.content{padding-top:50px}.study-card-body{min-height:270px}.notebook-art{margin-right:40px}.book-card{padding:24px}.book-cover{height:110px;flex-basis:76px}.book-info h3{font-size:15.5px}}@media (max-width:1150px){.sidebar{width:200px;padding-inline:16px}.main{margin-left:200px}.content{padding:30px}.topbar{padding:0 30px}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:18px}.study-card{padding:22px}.notebook-art{width:130px;height:184px;margin-right:3px;padding:18px 15px 12px 20px}.notebook-art>b{font-size:72px}.notebook-art small{font-size:5px}.study-card h2{font-size:30px}.study-card-body{min-height:230px}.books-grid{gap:12px}.book-card{padding:16px 14px;gap:12px}.book-cover{flex-basis:56px;height:92px;padding:10px 6px}.book-cover strong{font-size:19px}.book-info h3{font-size:13px}.book-info p{font-size:9px}.groups-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-side{gap:16px}.progress-card,.review-card{padding:20px}.section-heading h2 span{display:none}.study-footer .button{gap:10px;padding-inline:14px}.study-footer span{font-size:9px}}@media (max-width:900px){.sidebar{width:178px;padding-inline:12px}.main{margin-left:178px}.sidebar-caption{font-size:11px}.brand>span:last-child{font-size:21px}.brand-mark{width:36px;height:38px}.content{padding:28px 24px 0}.topbar{padding:0 24px}.date{display:none}.dashboard-grid{grid-template-columns:1fr}.daily-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.study-card-body{min-height:225px}.notebook-art{margin-right:45px;width:143px;height:189px}.books-grid{grid-template-columns:1fr}.book-card{padding:18px 20px;gap:20px}.book-cover{height:86px;flex-basis:62px}.book-info h3{font-size:15px}.book-info p{font-size:12px}.mini-progress{max-width:260px}.heading-mark{display:none}.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.import-grid,.wrong-grid{grid-template-columns:1fr}.question{margin-top:36px}.page-heading h1{font-size:28px}}@media (max-width:640px){.sidebar{transform:translateX(-100%);transition:transform .25s ease;width:240px;padding:30px 20px 20px}.sidebar.is-open{transform:translateX(0)}.sidebar-scrim{position:fixed;inset:0;z-index:25;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.main{margin-left:0}.icon-button.mobile-toggle{display:grid}.topbar{height:65px;padding:0 16px;gap:12px}.topbar>span{margin-right:auto;font-size:14px}.topbar-right{font-size:12px}.content{padding:24px 18px 0}.page-heading{margin-bottom:22px}.page-heading h1,h1{font-size:26px;letter-spacing:-.4px}.page-heading p{font-size:13px}.eyebrow{font-size:9px;letter-spacing:1.5px}.study-card{padding:20px}.study-card-body{min-height:220px}.study-card h2{font-size:28px}.notebook-art{width:120px;height:168px;margin-right:4px;padding:16px 12px 10px 18px}.notebook-art>b{font-size:60px}.notebook-art small{font-size:4px}.study-card-body p{font-size:11.5px}.card-eyebrow{font-size:9px}.study-footer{gap:8px}.study-footer .button{font-size:12px;padding:10px 14px}.study-footer>div{gap:4px}.study-footer span{font-size:9px}.daily-side{gap:12px}.progress-card,.review-card{padding:16px}.card-title{font-size:12.5px;gap:8px}.icon-tile{width:28px;height:28px}.due-number{font-size:36px;margin-top:14px}.due-number span{display:block;font-size:11px;margin:4px 0}.review-card p{font-size:11.5px;margin-top:8px}.review-card .text-button{font-size:12.5px}.progress-card strong{font-size:34px;margin-top:22px}.progress-card small{display:block;font-size:11px;margin:8px 0}.progress-card p{font-size:11.5px;margin-top:14px}.section-heading h2{font-size:16px}.section-heading .text-button{font-size:12px}.book-section{margin-top:28px}.book-info h3{font-size:14px}.activity-empty{padding:22px 16px;gap:12px}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-tabs{gap:8px}.book-tabs button{min-width:0;flex:1 1;padding:12px 10px;font-size:13px}.book-tabs button span{font-size:11px}.lead{font-size:13px}.review-controls{flex-direction:column;align-items:stretch}.review-controls select{width:100%}.group-card,.source-note{padding:16px}.practice-progress-card{padding:14px 16px 12px;margin:8px 0 20px}.practice-top{flex-wrap:wrap;gap:10px}.practice-book-info{font-size:13px}.practice-header-badge{padding:3px 8px}.practice-progress-legend{flex-wrap:wrap;gap:8px;font-size:11.5px}.question{margin:28px auto 40px}.question .eyebrow{font-size:9px;margin-bottom:16px}.question h1{margin-bottom:28px}.question h1,.question input{font-size:24px}.question input::placeholder{font-size:15px}.question-actions .button{min-width:120px}.practice-note{font-size:11.5px;line-height:1.8;margin-top:28px}.score{gap:24px}.score>strong{font-size:44px}.score>strong>span{font-size:20px}.score b{font-size:24px}.score>div span{font-size:11.5px}.result-header h1{font-size:26px}.result-actions{align-items:stretch;flex-direction:column;gap:16px}.result-actions p{text-align:center;font-size:12.5px}.result-actions-buttons{flex-direction:column;width:100%}.result-actions-buttons .button{width:100%;justify-content:center}.mistake-reinforce-card{padding:18px}.mistake-reinforce-actions{justify-content:stretch}.mistake-reinforce-actions .reinforce-btn{width:100%;justify-content:center}.modal{padding:30px 22px}.import-grid .panel{padding:18px}.footer{font-size:8px}.wrong-card>div{flex-direction:column}.table-wrap td,.table-wrap th{padding:12px;font-size:13px}.table-wrap td:first-child{min-width:130px}.table-wrap td:nth-child(2),.table-wrap td:nth-child(3){font-size:16px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.invite-help{display:block;color:var(--muted);font-size:12px;line-height:1.8;margin-top:8px}.admin-access{max-width:700px;margin:60px auto;padding:25px}.admin-access>.back-button{margin-bottom:25px}.admin-security{display:flex;align-items:center;gap:7px;font-size:13px}.admin-content{min-height:calc(100vh - 83px)}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin:28px 0}.admin-stats .panel>span{font-size:13px;color:var(--muted)}.admin-stats strong{display:block;font-size:36px;font-weight:700;margin-top:14px;color:var(--ink)}.admin-quick{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:25px}.admin-quick>button{text-align:left}.admin-quick svg{color:var(--blue)}.admin-quick h2{font-size:22px;margin:18px 0 8px;color:var(--ink)}.admin-quick p{font-size:13.5px;color:var(--muted)}.admin-quick span{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:13.5px;font-weight:600}.invite-form{display:grid;grid-template-columns:1fr 1fr 1fr 2fr auto;grid-gap:14px;gap:14px;align-items:end;margin-bottom:22px}.invite-form label{margin:0}.invite-form input{min-width:0}@media (max-width:900px){.invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-form label:last-of-type{grid-column:1/-1}}@media (max-width:480px){.invite-form{grid-template-columns:minmax(0,1fr)}}.invite-actions-row{display:flex;align-items:center;gap:12px;grid-column:1/-1;margin-top:6px;flex-wrap:wrap}.quick-link-btn{background:#f0fdf4!important;color:#15803d!important;border-color:#86efac!important;font-weight:600!important;transition:all .2s ease!important}.quick-link-btn:hover{background:#dcfce7!important;border-color:#4ade80!important}.generated-codes{margin-bottom:24px;border-color:#c7d2fe;background:#f5f7ff}.generated-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.generated-header h2{font-size:18px;margin:0;color:var(--ink)}.generated-format-tabs{display:flex;align-items:center;gap:4px;background:#e0e7ff;padding:3px;border-radius:10px}.tab-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:none;background:transparent;color:#4338ca;font-size:12.5px;font-weight:600;border-radius:7px;cursor:pointer;transition:all .15s ease}.tab-pill:hover{color:#312e81}.tab-pill.active{background:#fff;color:#4338ca;box-shadow:0 1px 3px rgba(0,0,0,.1)}.generated-codes textarea{font-size:14.5px;letter-spacing:.5px;margin:16px 0 10px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;width:100%}.invitation-code-cell{min-width:260px}.invitation-code-block{display:grid;justify-items:start;grid-gap:9px;gap:9px;min-width:0}.invitation-code-block .invitation-code-value{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.3px;white-space:normal;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.invitation-code-block .invitation-code-copy{color:#2563eb;max-width:100%;text-align:left;gap:8px}.invitation-code-block .invitation-code-copy:hover{color:#1d4ed8;text-decoration:underline}.invitation-code-block .invitation-code-copy svg{flex-shrink:0}.invitation-code-block .invitation-code-copy:focus-visible{outline:2px solid #2563eb;outline-offset:4px;border-radius:3px}[data-theme=dark] .invitation-code-block .invitation-code-copy{color:#60a5fa}[data-theme=dark] .invitation-code-block .invitation-code-copy:hover{color:#93c5fd}.invitation-code-block small{max-width:250px;line-height:1.6}.invitation-code-block textarea{width:100%;min-width:180px;box-sizing:border-box;overflow-wrap:anywhere;resize:vertical}.generated-tip{margin-top:10px;font-size:12.5px;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;padding:8px 14px;border-radius:8px;line-height:1.5}.generated-codes small{color:var(--muted);font-size:12.5px}.invite-auto-badge{display:inline-flex;align-items:center;gap:4px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:600}.label-title-row{width:100%}.invite-redeem-banner,.label-title-row{display:flex;align-items:center;justify-content:space-between}.invite-redeem-banner{gap:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:12px 18px;border-radius:12px;margin-bottom:20px}.invite-redeem-info{display:flex;align-items:center;gap:10px;font-size:14px}.invite-redeem-info code{background:#dbeafe;color:#1e3a8a;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px}.invite-redeem-actions{display:flex;align-items:center;gap:10px}.admin-table td{font-family:var(--font)!important;font-size:14px!important;min-width:100px}.admin-table td small{display:block;font-size:12px;margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.admin-table td b{font-weight:600}.admin-table th{white-space:nowrap}.admin-table code{font-size:14px;letter-spacing:1px}.status-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;background:#f1f5f9;color:var(--muted)}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.revoked{background:#fee2e2;color:#b91c1c}.status-badge.exhausted{background:#e0e7ff;color:#4338ca}.row-actions{display:flex;align-items:center;gap:16px}.danger-text{color:#dc2626}.secondary{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.admin-pagination{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:13px;color:var(--muted);gap:15px}.admin-pagination>div{display:flex;gap:10px}.admin-pagination .button{padding:8px 14px;font-size:12px;min-height:34px}.admin-empty{padding:30px;color:var(--muted);text-align:center;font-size:14px}.admin-search{display:flex;align-items:center;gap:10px;background:white;border:1px solid #cbd5e1;border-radius:9px;padding:6px 12px;margin:22px 0;max-width:600px}.admin-search>svg{color:#94a3b8;margin-left:2px;flex-shrink:0}.admin-search input{margin:0;border:0;min-width:0;padding:8px;background:none}.admin-search input:focus{box-shadow:none}.admin-search button{min-height:36px;padding:8px 18px}.admin-book-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:25px}.admin-book-title{display:flex;align-items:center;gap:12px}.admin-book-title>div{flex:1 1}.admin-book-title h2{font-size:17px;line-height:1.6;margin:0 0 6px;color:var(--ink)}.admin-book-title small{font-size:12px;color:var(--muted)}.admin-book-list .panel>p{color:var(--muted);font-size:13px;line-height:1.9;margin:16px 0}.admin-book-list .row-actions{padding-top:15px;border-top:1px solid var(--line);justify-content:space-between}.admin-modal{max-width:600px}.usage-list{max-height:50vh;overflow:auto}.usage-list>div{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;padding:14px 0;border-top:1px solid var(--line);font-size:13.5px}.usage-list small{grid-column:1/-1;color:var(--muted);font-size:12px}.usage-list span{overflow-wrap:anywhere}.usage-record-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.usage-source{flex-shrink:0;padding:3px 8px;border-radius:6px;background:var(--blue-light);color:var(--blue);font-size:12px}.usage-record-details{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:8px 12px;gap:8px 12px;margin:4px 0}.usage-record-details dt{color:var(--muted)}.usage-record-details dd{margin:0;overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-words-modal{max-width:950px;max-height:90vh;overflow:auto}.admin-words-modal h2{font-size:22px;max-width:90%;color:var(--ink)}.admin-words-modal .muted{font-size:13px}.admin-loading{font-size:13px;color:var(--blue);margin-top:12px}.admin-content>.error,.admin-content>.success{margin-bottom:20px}.admin-content>.error .text-button{margin-left:16px}.admin-shell .nav-item{font-size:14px}.admin-shell .sidebar-caption{font-size:12px}.admin-shell .row-actions .text-button{white-space:nowrap}.spelling-feedback{margin:16px 0;text-align:left;max-width:100%}.spelling-line{display:flex;align-items:baseline;gap:16px;margin:12px 0}.spelling-line>small{flex-shrink:0;color:var(--muted);font-size:14px;font-weight:500}.spelling-letters{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;letter-spacing:2px;overflow-wrap:anywhere;min-width:0;color:var(--ink)}.letter-extra,.letter-missing,.letter-replace{color:#b91c1c;background:#fef2f2;border-radius:4px;padding:1px 3px}.letter-extra{text-decoration:line-through;text-decoration-thickness:2px}.letter-missing{border-bottom:2px dashed #b91c1c}.letter-correction{color:#15803d;background:#f0fdf4;border-radius:4px;padding:1px 3px}.spelling-legend{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.results .spelling-letters{font-size:19px}.results .spelling-line{gap:8px}.revealed-answer{margin:20px auto;padding:22px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px -4px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;transition:all .2s ease}.revealed-answer>.button{margin-top:10px}.retype-container{width:100%;max-width:480px;margin:14px 0 8px;display:flex;flex-direction:column;gap:6px;text-align:left}.retype-label{font-size:13.5px;font-weight:600;color:#475569;display:flex;align-items:center;gap:6px}.retype-input-wrapper{position:relative;width:100%;display:flex;align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.04)}.retype-input-wrapper:focus-within{border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.15)}.retype-input-wrapper.is-correct{border-color:#10b981;background:#f0fdf4;box-shadow:0 0 0 4px rgba(16,185,129,.15)}.retype-input-wrapper.has-error{border-color:#ef4444;background:#fef2f2;box-shadow:0 0 0 4px rgba(239,68,68,.15);animation:retype-shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes retype-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.retype-input-wrapper input{width:100%;border:none!important;background:transparent!important;padding:12px 42px 12px 16px!important;font-size:20px!important;letter-spacing:1px!important;text-align:center!important;font-weight:600;color:#1e293b;outline:none!important;box-shadow:none!important;filter:none!important}.retype-input-wrapper input::placeholder{font-size:14px;font-weight:400;letter-spacing:.5px;color:#94a3b8}.retype-check-badge{position:absolute;right:14px;display:flex;align-items:center;justify-content:center;color:#10b981;animation:retype-pop .25s cubic-bezier(.175,.885,.32,1.275)}@keyframes retype-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.retype-error-hint{font-weight:500;color:#dc2626}.retype-error-hint,.retype-success-hint{font-size:13px;display:flex;align-items:center;gap:4px;padding-left:2px}.retype-success-hint{font-weight:600;color:#059669}.retype-pending-btn{opacity:.85;cursor:pointer}.mistake-reinforce-card{margin:32px 0 24px;padding:24px 28px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-radius:18px;box-shadow:0 10px 25px -5px rgba(249,115,22,.1),0 8px 10px -6px rgba(249,115,22,.1);display:flex;flex-direction:column;gap:18px;text-align:left;animation:fadeIn .3s ease-out}.mistake-reinforce-info{display:flex;flex-direction:column;gap:10px}.mistake-title-row{display:flex;align-items:center;gap:10px}.mistake-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#ea580c;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;border-radius:20px;text-transform:uppercase}.mistake-title-row h3{margin:0;font-size:18px;font-weight:700;color:#9a3412}.mistake-reinforce-info p{margin:0;font-size:14.5px;color:#7c2d12;line-height:1.5}.mistake-word-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.mistake-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #fed7aa;padding:5px 12px;border-radius:8px;font-size:13.5px;color:#9a3412;box-shadow:0 1px 2px rgba(0,0,0,.05)}.mistake-chip strong{font-weight:600;letter-spacing:.2px}.mistake-chip small{color:#a8a29e;font-size:12px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mistake-reinforce-actions{display:flex;justify-content:flex-end}.reinforce-btn{background:linear-gradient(135deg,#ea580c,#c2410c)!important;border-color:#c2410c!important;color:#fff!important;font-weight:600!important;padding:12px 24px!important;font-size:15px!important;box-shadow:0 4px 14px rgba(234,88,12,.35)!important;transition:all .2s ease!important}.reinforce-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(234,88,12,.45)!important}.result-actions-buttons{display:flex;align-items:center;gap:12px}.checkin-section{margin:34px 0}.checkin-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.checkin-summary{padding:32px;background:linear-gradient(135deg,#f5f7ff,#ede9fe)}.checkin-streak{display:flex;align-items:baseline;gap:10px;margin-top:22px}.checkin-streak>svg{color:#f59e0b;align-self:center}.checkin-streak strong{font-size:56px;font-weight:800;line-height:1.15;letter-spacing:-2px;color:var(--ink)}.checkin-streak>span{font-size:14px;font-weight:500;color:var(--muted)}.checkin-summary>p{font-size:14px;color:var(--muted);margin:14px 0 22px}.checkin-totals{display:flex;gap:36px;margin:24px 0}.checkin-totals>div{display:grid;grid-gap:6px;gap:6px}.checkin-totals b{font-size:26px;font-weight:700;color:var(--ink)}.checkin-totals small{font-weight:400}.checkin-totals small,.checkin-totals span{font-size:13px;color:var(--muted)}.checkin-summary .checkin-rule{font-size:13px;line-height:1.9;margin-bottom:0}.checkin-summary>.button{margin-top:20px}.checkin-calendar{padding:26px 32px}.checkin-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:18px}.checkin-toolbar h3{margin:0;font-size:17px;font-weight:700;color:var(--ink)}.checkin-toolbar>.text-button{margin-left:auto;font-size:13.5px}.checkin-grid,.checkin-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.checkin-week{color:var(--muted);text-align:center;font-size:12.5px;font-weight:600;margin-bottom:10px}.checkin-day{min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#f8fafc;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:500;transition:all .2s ease}.checkin-day:hover:not(:disabled){background:#f1f5f9;transform:scale(1.04)}.checkin-day i{height:12px}.checkin-day.checked{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;font-weight:700}.checkin-day.today>span{font-weight:800}.checkin-day.today{border-color:#818cf8}.checkin-day.selected{box-shadow:inset 0 0 0 2px var(--blue);border-color:var(--blue)}.checkin-day:disabled{opacity:.35;cursor:default}.checkin-detail{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:flex;gap:12px;align-items:baseline;font-size:13.5px;line-height:1.8}.checkin-detail b{white-space:nowrap;color:var(--ink)}.agreement-check,.checkin-detail span{color:var(--muted)}.agreement-check{display:flex;align-items:flex-start;gap:10px;line-height:1.8;font-size:13px}.agreement-check input{width:18px;height:18px;margin:4px 0 0;flex-shrink:0;accent-color:var(--blue)}.agreement-check a,.legal-page a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:500}.user-id{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.history-link{display:block;margin-bottom:12px;white-space:nowrap}.agreement-record{display:block;font-size:12px;color:var(--muted);margin-top:8px}.user-history h3{margin-top:24px}.ip-badge{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.ip-badge-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ip-region-badge{font-size:11px;padding:2px 6px;border-radius:4px;background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe;white-space:nowrap}.ip-region-badge,.ip-region-text{display:inline-block;font-weight:500}.ip-region-text{font-size:13px;color:var(--ink)}.ip-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ip-time{font-size:11px;color:var(--muted)}.user-agent-cell{max-width:320px;font-size:12px;color:var(--muted)}.user-agent-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-history-header-box{margin:12px 0 18px;padding:12px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.user-history-user-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;color:var(--ink)}.user-history-ip-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:white;padding:4px 10px;border-radius:6px;border:1px solid #e2e8f0}.user-sub-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.user-sub-tab{padding:7px 16px;border-radius:8px;font-size:13.5px;font-weight:500;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:all .15s ease}.user-sub-tab:hover{background:#f1f5f9;color:var(--ink)}.user-sub-tab.active{background:#0f172a;color:white}.user-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%}.duration-badge,.user-history-validity-tag{display:inline-flex;align-items:center}.duration-badge{gap:5px;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.3}.duration-badge.permanent{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.duration-badge.active{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.duration-badge.expired{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.validity-cell{display:flex;flex-direction:column;gap:3px}.validity-expiry{font-size:11px;color:var(--muted)}.action-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569}.action-type-badge.extend{background:#eff6ff;color:#1d4ed8}.action-type-badge.set{background:#fef3c7;color:#b45309}.action-type-badge.permanent{background:#f0fdf4;color:#15803d}.action-type-badge.invitation{background:#faf5ff;color:#7e22ce}.action-type-badge.register{background:#ecfdf5;color:#047857}.text-success{color:#16a34a!important}.text-danger{color:#dc2626!important}.extend-modal{max-width:520px;width:90%;padding:28px}.extend-form{display:flex;flex-direction:column;gap:16px;margin-top:14px}.extend-current-info{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;font-size:13.5px}.extend-mode-select{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px;padding:0}.radio-label{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:13.5px!important;cursor:pointer!important;white-space:nowrap!important;margin-bottom:0!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-label span{white-space:nowrap!important;display:inline-block!important;line-height:1.4}.radio-label input[type=radio]{margin:0!important;padding:0!important;width:16px!important;height:16px!important;flex-shrink:0!important}.extend-days-section{display:flex;flex-direction:column;gap:12px}.quick-days-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-days-buttons .button{padding:6px 14px;font-size:13px}.quick-days-buttons .button.active-quick{background:#0f172a;color:white;border-color:#0f172a}.admin-status-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.admin-status-tab{background:transparent;border:1px solid #e2e8f0;border-radius:20px;padding:5px 14px;font-size:13px;color:var(--ink-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.admin-status-tab:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--ink)}.admin-status-tab.active{background:#0f172a;border-color:#0f172a;color:#ffffff;font-weight:500}.export-users-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:500;white-space:nowrap}.button.danger{background:#dc2626;color:white;border-color:#dc2626}.button.danger:hover{background:#b91c1c;border-color:#b91c1c}.confirm-modal,.reset-password-modal{max-width:480px;width:92%;padding:28px}.reset-password-form{display:flex;flex-direction:column;gap:16px;margin-top:14px}.highlight-pwd{background:#f0fdf4;padding:8px 12px;border-radius:6px;border:1px dashed #86efac}.text-primary{color:var(--primary,#2563eb)}.admin-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.admin-actions-bar .admin-search{flex:1 1;min-width:260px;margin-bottom:0}.admin-actions-group{display:flex;align-items:center;gap:10px}.batch-import-trigger-btn,.create-user-trigger-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;font-size:14px;font-weight:500;white-space:nowrap}.create-user-modal{max-width:560px;width:92%;max-height:90vh;overflow-y:auto;padding:30px}.create-user-form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:580px){.form-row{grid-template-columns:1fr}}.create-user-duration-box{display:flex;flex-direction:column;gap:12px;padding:14px 18px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.duration-box-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.duration-box-title{font-size:13.5px;font-weight:600;color:var(--ink-secondary);white-space:nowrap}.quick-days-horizontal-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.custom-days-inline-input{display:inline-flex;align-items:center;gap:6px}.custom-days-inline-input input{width:85px!important;margin-top:0!important;padding:6px 10px!important;font-size:13.5px!important;height:34px!important}.custom-days-inline-input .unit{font-size:13px;color:var(--muted);white-space:nowrap}.create-user-success-view{display:flex;flex-direction:column;gap:18px;margin-top:16px}.created-user-info-card{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.info-row{display:flex;align-items:center;justify-content:space-between;font-size:14px}.info-label{color:var(--muted)}.info-value{color:var(--ink)}.batch-import-modal{max-width:680px;width:92%;max-height:90vh;overflow-y:auto;padding:30px}.batch-import-form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.batch-input-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.batch-label{display:flex;flex-direction:column;gap:4px}.batch-hint{font-size:12px;color:var(--muted)}.file-upload-btn{cursor:pointer}.batch-textarea{width:100%;font-family:var(--font-mono,monospace);font-size:13px;line-height:1.5;padding:12px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;resize:vertical}.batch-textarea:focus{outline:none;border-color:#3b82f6;background:white}.batch-config-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}@media (max-width:640px){.batch-config-grid{grid-template-columns:1fr}}.batch-days-section,.batch-duration-config{display:flex;flex-direction:column;gap:8px}.batch-preview-section{display:flex;flex-direction:column;gap:10px;margin-top:4px}.batch-preview-header{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}.batch-count-badge{font-size:12px;color:var(--muted)}.batch-preview-table{max-height:200px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}.batch-preview-table table{margin:0;font-size:12.5px}.batch-preview-table tr.row-error{background:#fef2f2}.modal-footer-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px;padding-top:14px;border-top:1px solid #e2e8f0}.batch-result-container{display:flex;flex-direction:column;gap:16px;margin-top:16px}.batch-summary-badge.success{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534}.batch-skipped-box{padding:10px 14px;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;color:#92400e;font-size:12.5px}.batch-skipped-tag{display:inline-block;margin:2px 6px;padding:2px 6px;background:white;border-radius:4px;border:1px solid #fde68a}.batch-result-table{max-height:260px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px}.batch-result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px}.legal-page{max-width:850px;margin:0 auto;padding:40px 28px 60px;background:white;min-height:100vh;font-size:16px;line-height:1.9}.legal-page header{margin:32px 0}.legal-page header p{color:var(--muted);font-size:14px}.legal-page h2{font-size:22px;margin-top:32px;color:var(--ink)}.legal-page li{margin-bottom:10px}.legal-highlight{border:1px solid #c7d2fe;background:#f5f7ff;border-radius:12px;padding:0 22px 8px}.legal-page footer{margin-top:36px;font-size:14px}.email-code-row{display:flex;align-items:center;gap:10px}.email-code-row input{min-width:0;flex:1 1}.email-code-row button{margin-top:8px;flex-shrink:0;font-size:12.5px;padding:12px 14px}.modal:has(.agreement-check){max-height:92vh;overflow-y:auto}.captcha-row{display:flex;align-items:center;gap:10px}.captcha-row input{min-width:0;flex:1 1}.captcha-image{margin-top:8px;flex-shrink:0;height:44px;width:124px;border-radius:9px;border:1px solid #cbd5e1;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8fafc;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.captcha-image:hover{opacity:.9;border-color:var(--blue);box-shadow:0 2px 8px rgba(79,70,229,.2);transform:scale(1.02)}.captcha-image svg{width:100%;height:100%}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}.skeleton-container{padding:10px 0}.skeleton-line{height:14px;background:#e2e8f0;border-radius:6px;margin-bottom:14px;animation:skeleton-pulse 1.6s ease-in-out infinite}.skeleton-line.skeleton-sm{height:10px}.skeleton-line.skeleton-lg{height:22px}.skeleton-line.skeleton-md{height:16px}.skeleton-heading{margin-bottom:29px}.skeleton-card{background:#e8ecf4;border-radius:14px;min-height:160px;animation:skeleton-pulse 1.6s ease-in-out infinite}.skeleton-card-lg{min-height:320px}.skeleton-card-book{min-height:120px}.skeleton-row{height:52px;background:#edf0f6;border-radius:8px;margin-bottom:10px;animation:skeleton-pulse 1.6s ease-in-out infinite}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px}.error-boundary-content{text-align:center;max-width:420px}.error-boundary-content h2{font-size:24px;margin-bottom:12px;color:var(--ink)}.error-boundary-content p{color:var(--muted);font-size:15px;margin-bottom:24px;line-height:1.8}.phonetic{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;letter-spacing:.3px}.phonetic,.revealed-phonetic{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.revealed-phonetic{font-size:16px;color:#475569;margin:4px 0 10px;letter-spacing:.5px}.expected-word{font-weight:700;color:var(--ink)}.shortcut-hint{font-size:10px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:var(--muted);margin-left:6px;line-height:1.4}.shortcut-hint,.shortcut-hint-dark{display:inline-block;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;vertical-align:middle}.shortcut-hint-dark{font-size:11px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;margin:0 4px;line-height:1.3}.auth-sub-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.auth-sub-actions .text-button{font-size:13px}.audio-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;background:#eef2ff;color:var(--blue);box-shadow:0 2px 6px rgba(79,70,229,.15);transition:all .2s cubic-bezier(.4,0,.2,1);vertical-align:middle;flex-shrink:0}.audio-button:hover{background:#e0e7ff;color:var(--blue-hover);transform:scale(1.1);box-shadow:0 4px 12px rgba(79,70,229,.25)}.audio-button:active{transform:scale(.95)}.audio-button.playing{background:#e0e7ff;color:var(--blue);box-shadow:0 0 0 4px rgba(79,70,229,.25)}.audio-button.sm{width:28px;height:28px}.word-with-audio{display:inline-flex;align-items:center;gap:10px}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.icon-pulse{animation:icon-pulse .8s ease-in-out infinite}.clickable-note{cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.clickable-note:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(79,70,229,.12);border-color:#c7d2fe}.dashboard-curve-banner{background:linear-gradient(135deg,#f8fafc,#eef2ff 50%,#f0fdf4);border:1px solid #e0e7ff;border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.dashboard-curve-banner:hover{transform:translateY(-2px);box-shadow:0 10px 24px -4px rgba(79,70,229,.12);border-color:#c7d2fe}.dashboard-curve-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#4f46e5,#10b981)}.curve-banner-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--blue);background:#ffffff;padding:4px 10px;border-radius:20px;box-shadow:var(--shadow-xs);margin-bottom:8px}.dashboard-curve-banner h3{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 6px;letter-spacing:-.3px}.dashboard-curve-banner p{font-size:13.5px;color:var(--ink-secondary);line-height:1.6;margin:0 0 14px;max-width:680px}.curve-banner-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12.5px}.meta-tag{padding:3px 10px;border-radius:12px;font-weight:600}.meta-tag.eb{background:#fef2f2;color:#ef4444}.meta-tag.fsrs{background:#ecfdf5;color:#059669}.banner-link{display:inline-flex;align-items:center;gap:4px;color:var(--blue);font-weight:600;margin-left:auto}.curve-banner-visual{flex-shrink:0;width:160px;height:80px;background:#ffffff;border-radius:var(--radius-md);border:1px solid #e2e8f0;padding:6px;box-shadow:var(--shadow-xs)}.mini-curve-svg{width:100%;height:100%}.memory-curve-page{display:flex;flex-direction:column;gap:32px;padding-bottom:60px}.curve-header-actions{display:flex;align-items:center;gap:12px}.curve-highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.curve-stat-card{background:#ffffff;border-radius:var(--radius-lg);padding:24px;border:1px solid var(--line);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.curve-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.curve-stat-card.eb{border-top:4px solid #ef4444}.curve-stat-card.fsrs{border-top:4px solid #10b981}.curve-stat-card.boost{border-top:4px solid #4f46e5;background:linear-gradient(180deg,#ffffff,#f8fafc)}.stat-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px}.stat-badge.danger{background:#fef2f2;color:#dc2626}.stat-badge.success{background:#ecfdf5;color:#059669}.stat-badge.primary{background:#eef2ff;color:#4f46e5}.stat-main{display:flex;align-items:baseline;gap:8px}.stat-value{font-size:38px;font-weight:800;letter-spacing:-1.2px;line-height:1}.curve-stat-card.eb .stat-value{color:#ef4444}.curve-stat-card.fsrs .stat-value{color:#10b981}.curve-stat-card.boost .stat-value{color:#4f46e5}.stat-label{font-size:13px;font-weight:600;color:var(--muted)}.stat-desc{font-size:13px;color:var(--ink-secondary);line-height:1.6;margin:0}.stat-bar-container{width:100%;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin-top:auto}.stat-bar{height:100%;border-radius:3px}.stat-bar.danger{background:#ef4444}.stat-bar.success{background:#10b981}.stat-tags{display:flex;gap:8px;font-size:12px;font-weight:600;color:var(--ink-secondary);margin-top:auto}.curve-chart-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px}.chart-toolbar{justify-content:space-between;flex-wrap:wrap;gap:16px}.chart-title,.chart-toolbar{display:flex;align-items:center}.chart-title{gap:12px}.chart-title .title-icon{color:var(--blue);background:var(--blue-light);padding:6px;border-radius:var(--radius-sm);box-sizing:content-box}.chart-title h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.chart-title span{font-size:12.5px;color:var(--muted)}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.legend-item{display:inline-flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--line);padding:6px 12px;border-radius:20px;font-size:12.5px;font-weight:600;color:var(--ink);transition:all .2s ease}.legend-item:hover{background:#f1f5f9}.legend-item.dimmed{opacity:.45}.legend-line{width:14px;height:3px;border-radius:2px}.legend-line.eb{background:#ef4444;border-top:1px dashed #ef4444}.legend-line.fsrs{background:linear-gradient(90deg,#4f46e5,#10b981)}.legend-line.user{background:#0284c7}.simulator-bar{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.simulator-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.simulator-label b{font-weight:700}.simulator-label span{color:var(--muted);font-size:12px}.simulator-pills{display:flex;flex-wrap:wrap;gap:6px}.sim-pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;background:#ffffff;border:1px solid var(--line);color:var(--ink-secondary);transition:all .15s ease}.sim-pill:hover{border-color:var(--blue);color:var(--blue)}.sim-pill.active{background:var(--blue);color:#ffffff;border-color:var(--blue);box-shadow:0 2px 6px rgba(79,70,229,.3)}.svg-container{position:relative;width:100%;overflow:hidden;background:radial-gradient(circle at 50% 0,#ffffff 0,#fcfdfe 100%);border-radius:var(--radius-md);border:1px solid var(--line-light)}.curve-svg{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-tooltip{position:absolute;pointer-events:none;background:rgba(15,23,42,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffff;border-radius:var(--radius-md);padding:12px 16px;font-size:12px;box-shadow:0 10px 25px -3px rgba(0,0,0,.3);z-index:10;min-width:210px;border:1px solid rgba(255,255,255,.12);transition:left .08s ease,top .08s ease}.tooltip-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:6px;margin-bottom:8px}.tooltip-header b{font-size:14px;color:#f8fafc}.tooltip-header span{font-size:11px;color:#94a3b8}.tooltip-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:#cbd5e1}.tooltip-row strong{margin-left:auto;color:#ffffff;font-size:13px}.tooltip-row .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tooltip-row .dot.eb{background:#ef4444}.tooltip-row .dot.fsrs{background:#10b981}.tooltip-diff{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:center;color:#38bdf8}.tooltip-diff b{font-size:13.5px;color:#34d399}.chart-footer-note{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);line-height:1.6}.memory-stages-section{display:flex;flex-direction:column;gap:16px}.stages-layout{display:grid;grid-template-columns:340px 1fr;grid-gap:20px;gap:20px}.memory-health-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-xs)}.health-score-row{display:flex;align-items:center;gap:18px}.health-circle{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#eef2ff,#ecfdf5);border:3px solid #6366f1;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue)}.health-circle strong{font-size:20px;font-weight:800;line-height:1.1;color:var(--ink)}.health-circle small{font-size:10px;color:var(--muted)}.health-summary h3{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}.health-summary p{font-size:13px;color:var(--ink-secondary);line-height:1.55;margin:0 0 10px}.health-tip{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#047857;background:#f0fdf4;border:1px solid #bbf7d0;padding:10px 14px;border-radius:var(--radius-md);line-height:1.5;margin-top:auto}.stages-bars-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;justify-content:space-around;gap:18px;box-shadow:var(--shadow-xs)}.stage-item,.stages-bars-card{display:flex;flex-direction:column}.stage-item{gap:8px}.stage-header{justify-content:space-between}.stage-header,.stage-title{display:flex;align-items:center}.stage-title{gap:8px}.stage-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stage-dot.fragile{background:#f43f5e}.stage-dot.consolidating{background:#f59e0b}.stage-dot.proficient{background:#3b82f6}.stage-dot.mastered{background:#10b981}.stage-title b{font-size:14px;color:var(--ink)}.stage-title small{font-size:12px;color:var(--muted)}.stage-count{font-size:13.5px;font-weight:700;color:var(--ink)}.stage-bar-bg{width:100%;height:10px;background:#f1f5f9;border-radius:5px;overflow:hidden}.stage-bar-fill{height:100%;border-radius:5px;transition:width .4s ease}.stage-bar-fill.fragile{background:linear-gradient(90deg,#fb7185,#f43f5e)}.stage-bar-fill.consolidating{background:linear-gradient(90deg,#fcd34d,#f59e0b)}.stage-bar-fill.proficient{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.stage-bar-fill.mastered{background:linear-gradient(90deg,#34d399,#10b981)}.milestones-section{display:flex;flex-direction:column;gap:16px}.table-responsive{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-xs)}.comparison-table{width:100%;border-collapse:collapse;text-align:left;font-size:13.5px}.comparison-table th{background:#f8fafc;color:var(--muted);font-weight:600;padding:14px 18px;border-bottom:1px solid var(--line);white-space:nowrap}.comparison-table td{padding:14px 18px;border-bottom:1px solid var(--line-light);color:var(--ink-secondary)}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:hover td{background:#f8fafc}.time-col b{color:var(--ink);font-weight:700}.eb-col{color:#dc2626;font-weight:600}.fsrs-col{color:#059669;font-weight:700}.boost-badge{display:inline-block;padding:2px 8px;background:#eef2ff;color:#4f46e5;border-radius:12px;font-weight:700;font-size:12px}.principle-col{font-size:13px;color:var(--ink)}.action-col{font-size:12.5px;color:var(--muted)}.curve-cta{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#ffffff;border-radius:var(--radius-xl);padding:32px 36px;justify-content:space-between;flex-wrap:wrap;gap:20px;box-shadow:var(--shadow-lg)}.cta-content,.curve-cta{display:flex;align-items:center}.cta-content{gap:18px}.cta-sparkle{color:#fbbf24;flex-shrink:0}.curve-cta h3{font-size:20px;font-weight:800;margin:0 0 6px;color:#ffffff}.curve-cta p{font-size:14px;color:#cbd5e1;margin:0}.curve-cta .button.dark{background:#ffffff;color:var(--ink);font-weight:700;padding:12px 24px;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px rgba(0,0,0,.2)}.curve-cta .button.dark:hover{background:#f1f5f9;transform:translateY(-2px)}@media (max-width:960px){.curve-highlights-grid,.stages-layout{grid-template-columns:1fr}.dashboard-curve-banner{flex-direction:column;align-items:flex-start}.curve-banner-visual{display:none}}@media (max-width:640px){.curve-chart-card{padding:18px}.chart-title h2{font-size:18px}.curve-cta,.simulator-bar{flex-direction:column;align-items:flex-start}.curve-cta{padding:24px}.stage-title{flex-direction:column;align-items:flex-start;gap:2px}}.book-slider-section{margin-top:36px;margin-bottom:24px;position:relative}.book-slider-container,.slider-heading-actions{display:flex;align-items:center}.book-slider-container{position:relative;width:100%;min-height:580px;justify-content:center;overflow:hidden;perspective:1400px;padding:25px 0 35px;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.book-slider-container:active{cursor:-webkit-grabbing;cursor:grabbing}.slider-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:30;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.9);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(15,23,42,.12),0 1px 3px rgba(15,23,42,.06);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.slider-nav-btn:hover{background:#ffffff;color:var(--blue);transform:translateY(-50%) scale(1.12);box-shadow:0 8px 24px rgba(79,70,229,.25);border-color:#c7d2fe}.slider-nav-btn:active{transform:translateY(-50%) scale(.95)}.slider-nav-btn.prev{left:12px}.slider-nav-btn.next{right:12px}.slider-stage{position:relative;width:100%;max-width:860px;height:530px;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}.slider-card-wrapper{position:absolute;width:350px;max-width:88vw;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .4s ease,filter .4s ease;will-change:transform,opacity}.slider-card-wrapper.is-adjacent{cursor:pointer}.slider-card-wrapper.is-adjacent:hover{opacity:.92!important;filter:brightness(1.03)}.slider-book-card{background:#ffffff;border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:0 6px 20px -2px rgba(15,23,42,.08);padding:20px 22px;display:flex;flex-direction:column;gap:14px;transition:all .35s ease;position:relative;overflow:hidden}.slider-book-card.active-glow{border-color:#818cf8;box-shadow:0 20px 40px -8px rgba(79,70,229,.22),0 0 0 2px #6366f1}.card-top-status{display:flex;align-items:center;justify-content:space-between}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:20px}.status-pill.current{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca;box-shadow:0 1px 3px rgba(79,70,229,.12)}.status-pill.idle{background:#f1f5f9;color:var(--muted)}.exam-type-badge{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--muted);background:#f8fafc;border:1px solid var(--line);padding:3px 8px;border-radius:6px;text-transform:uppercase}.slider-book-cover-wrap{display:flex;justify-content:center;padding:4px 0 2px;perspective:600px}.slider-book-cover{width:124px;height:165px;border-radius:4px 12px 12px 4px;box-shadow:6px 12px 28px -4px rgba(15,23,42,.28),2px 4px 10px rgba(0,0,0,.15);color:#ffffff;padding:16px 14px;position:relative;display:flex;flex-direction:column;transform:rotateY(-8deg) rotateX(4deg);transition:transform .4s cubic-bezier(.34,1.56,.64,1);border-left:5px solid rgba(0,0,0,.22)}.slider-book-card:hover .slider-book-cover{transform:rotateY(-2deg) rotateX(0deg) translateY(-4px);box-shadow:8px 18px 36px -4px rgba(15,23,42,.35)}.cover-spine{position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.1) 40%,rgba(0,0,0,.2));border-radius:4px 0 0 4px}.cover-ribbon{position:absolute;right:14px;top:0;color:rgba(255,255,255,.9);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.cover-tag{font-size:8.5px;font-weight:700;letter-spacing:1.5px;opacity:.85}.cover-title{font-size:24px;font-weight:800;letter-spacing:2px;margin-top:14px;line-height:1.2}.cover-subtitle{font-size:9px;opacity:.85;letter-spacing:1px;margin-top:5px}.cover-bottom-mark{margin-top:auto;display:flex;gap:4px}.cover-bottom-mark span{height:2px;background:rgba(255,255,255,.6);border-radius:1px}.cover-bottom-mark span:first-child{width:24px}.cover-bottom-mark span:last-child{width:8px}.slider-card-body{display:flex;flex-direction:column;gap:10px}.card-title{font-size:16px;font-weight:700;color:var(--ink)}.card-meta,.card-title{margin:0;text-align:center}.card-meta{font-size:12.5px;color:var(--muted)}.card-meta b{color:var(--ink)}.card-meta .dot-sep{margin:0 6px}.card-progress-wrap{background:#f8fafc;border:1px solid var(--line-light);border-radius:var(--radius-md);padding:8px 12px;display:flex;flex-direction:column;gap:5px}.progress-header{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted)}.progress-header b{color:var(--ink);font-size:12.5px}.progress-track{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.progress-hint{font-size:11px;color:var(--muted);text-align:center}.slider-start-btn{width:100%;padding:10px 14px;font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);box-shadow:0 4px 14px rgba(79,70,229,.35);animation:pulse-glow 2.5s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 14px rgba(79,70,229,.35)}50%{box-shadow:0 6px 20px rgba(79,70,229,.55)}}.slider-indicators{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.slider-indicator-dot{background:transparent;border:0;padding:4px;cursor:pointer;display:flex;align-items:center}.dot-inner{width:8px;height:8px;border-radius:4px;background:#cbd5e1;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.slider-indicator-dot.active .dot-inner{width:26px;background:linear-gradient(90deg,#4f46e5,#3b82f6);box-shadow:0 2px 6px rgba(79,70,229,.4)}.slider-indicator-dot:hover:not(.active) .dot-inner{background:#94a3b8}@media (max-width:640px){.book-slider-container{min-height:500px;padding:15px 0 25px}.slider-stage{height:460px}.slider-card-wrapper{width:290px}.slider-book-card{padding:16px;gap:12px}.slider-book-cover-wrap{padding:2px 0}.slider-book-cover{width:105px;height:140px;padding:12px 10px}.cover-title{font-size:20px;margin-top:10px}.card-title{font-size:15px}.slider-nav-btn{width:36px;height:36px}.slider-nav-btn.prev{left:4px}.slider-nav-btn.next{right:4px}}.daily-task-queue-section{margin-top:10px;margin-bottom:28px}.task-queue-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.task-queue-title-wrap{display:flex;align-items:center;gap:10px}.task-queue-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:4px 10px;border-radius:20px;border:1px solid #c7d2fe}.task-queue-title{font-size:18px;font-weight:800;color:var(--ink);margin:0}.task-queue-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.queue-rule-hint{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#64748b;background:#f8fafc;padding:4px 10px;border-radius:6px;border:1px solid var(--line-light)}.queue-rule-hint b{color:#4338ca}.plan-adjust-link{font-size:12.5px;font-weight:600;color:#4f46e5;background:#ffffff;border:1px solid #c7d2fe;padding:4px 12px;border-radius:16px;cursor:pointer;transition:all .2s ease}.plan-adjust-link:hover{background:#eef2ff;border-color:#818cf8}.plan-adjust-link b{color:#312e81}.task-queue-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}@media (max-width:1200px){.task-queue-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.task-queue-grid{grid-template-columns:1fr}}.task-queue-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:all .25s ease;box-shadow:0 2px 8px rgba(15,23,42,.04);position:relative;overflow:hidden}.task-queue-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.08)}.task-queue-card.review-task.is-priority{border-color:#818cf8;background:linear-gradient(180deg,#ffffff,#f8faff);box-shadow:0 4px 16px rgba(79,70,229,.1)}.task-queue-card.review-task.is-completed{border-color:#86efac;background:linear-gradient(180deg,#ffffff,#f0fdf4)}.task-queue-card.leech-task.has-leech{border-color:#fca5a5;background:linear-gradient(180deg,#ffffff,#fff1f2)}.task-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.task-icon-tile{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center}.task-icon-tile.review-icon{background:#e0e7ff;color:#4338ca}.task-icon-tile.learn-icon{background:#f1f5f9;color:var(--ink)}.task-icon-tile.leech-icon{background:#ffe4e6;color:#e11d48}.priority-pill{color:#4338ca;background:#e0e7ff}.completed-pill,.priority-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px}.completed-pill{display:inline-flex;align-items:center;gap:4px;color:#15803d;background:#dcfce7}.quota-tag{font-size:11px;font-weight:600;color:#64748b;background:#f8fafc;border:1px solid var(--line);padding:3px 8px;border-radius:6px}.leech-alert-pill{font-weight:700;color:#be123c;background:#ffe4e6}.leech-alert-pill,.safe-pill{font-size:11px;padding:3px 8px;border-radius:12px}.safe-pill{font-weight:600;color:#059669;background:#ecfdf5}.task-card-body{margin-bottom:14px}.task-stat-number{font-size:28px;font-weight:800;color:var(--ink);line-height:1.1;display:flex;align-items:baseline;gap:5px}.task-stat-number small{font-size:13px;font-weight:600;color:var(--muted)}.stat-sep{font-size:20px;color:#cbd5e1;margin:0 1px}.stat-target{font-size:20px;color:var(--muted)}.task-mini-progress{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:6px}.task-progress-track{flex:1 1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.task-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:3px;transition:width .4s ease}.task-progress-text{font-size:11.5px;font-weight:700;color:#6366f1}.task-desc{font-size:12.5px;color:var(--muted);line-height:1.45;margin:6px 0 0;min-height:36px}.task-card-footer{margin-top:auto}.task-action-btn{width:100%;padding:9px 12px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md)}.leech-btn{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#ffffff;border:none}.leech-btn:hover{background:linear-gradient(135deg,#e11d48,#be123c);box-shadow:0 4px 12px rgba(225,29,72,.35)}.task-queue-card.test-task.is-ready{border-color:#c4b5fd;background:linear-gradient(180deg,#ffffff,#fbf9ff);box-shadow:0 4px 16px rgba(139,92,246,.08)}.task-queue-card.test-task.is-completed{border-color:#a78bfa;background:linear-gradient(180deg,#ffffff,#f5f3ff)}.task-icon-tile.test-icon{background:#ede9fe;color:#7c3aed}.priority-pill.test-priority-pill{color:#6d28d9;background:#ede9fe}.task-progress-fill.test-fill{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.button.primary.test-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#ffffff;border:none}.button.primary.test-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 4px 14px rgba(109,40,217,.25)}.progress-card-weekly{font-size:13px;color:var(--muted);margin-top:5px;margin-bottom:2px}.progress-card-weekly b{color:#4338ca;font-weight:700}.test-result-header{margin-bottom:24px}.test-eyebrow{color:#7c3aed!important;font-weight:800;letter-spacing:.1em}.test-score-hero-card{display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,#f5f3ff,#faf5ff 50%,#ffffff);border:1.5px solid #ddd6fe;border-radius:20px;padding:24px 32px;max-width:680px;margin:24px auto 0;box-shadow:0 8px 24px rgba(124,58,237,.08);text-align:left}.test-score-circle{flex-shrink:0;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(124,58,237,.3)}.test-score-num{font-size:38px;font-weight:900;line-height:1}.test-score-unit{font-size:13px;font-weight:700;opacity:.9}.test-score-details{flex:1 1}.test-score-grade{margin-bottom:8px}.grade-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:4px 12px;border-radius:14px}.grade-badge.excellent{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.grade-badge.good{background:#e0e7ff;color:#4338ca;border:1px solid #c7d2fe}.grade-badge.pass{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.grade-badge.need-work{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.test-score-desc{font-size:13px;color:#64748b;line-height:1.6;margin:0}.result-category-tabs{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px auto 16px;max-width:700px}.res-tab-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 16px;border-radius:20px;border:1px solid var(--line);background:#ffffff;color:var(--ink);cursor:pointer;transition:all .2s ease}.res-tab-btn:hover{border-color:var(--ink-light);background:#f8fafc}.res-tab-btn.active{background:var(--ink);color:#ffffff;border-color:var(--ink);box-shadow:0 2px 8px rgba(15,23,42,.12)}.res-tab-btn.full-tab.active{background:#059669;border-color:#059669}.res-tab-btn.half-tab.active{background:#d97706;border-color:#d97706}.res-tab-btn.wrong-tab.active{background:#e11d48;border-color:#e11d48}.score-stat-box.is-selected{outline:2.5px solid var(--ink);outline-offset:2px}.score-stat-box.full-box.is-selected{outline-color:#059669}.score-stat-box.half-box.is-selected{outline-color:#d97706}.score-stat-box.wrong-box.is-selected{outline-color:#e11d48}@media (max-width:640px){.test-score-hero-card{flex-direction:column;text-align:center;gap:16px;padding:20px 16px}}.target-plan-card{background:linear-gradient(145deg,#1e1b4b,#312e81);color:#ffffff;border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 24px -4px rgba(49,46,129,.3)}.target-plan-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -4px rgba(49,46,129,.45)}.target-plan-card .card-title{display:flex;align-items:center;gap:8px;color:#c7d2fe;font-size:13.5px;font-weight:700}.plan-edit-pill{margin-left:auto;font-size:11px;font-weight:600;color:#e0e7ff;background:rgba(255,255,255,.15);padding:2px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.2)}.countdown-number{display:flex;align-items:baseline;gap:4px}.countdown-number b{font-size:38px;font-weight:900;line-height:1;letter-spacing:-1px;color:#ffffff}.countdown-number span{font-size:16px;font-weight:600;color:#a5b4fc}.plan-exam-label{font-size:13px;color:#c7d2fe;margin:0;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-mini-stats{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border-radius:var(--radius-md);padding:8px 12px;font-size:12px}.plan-mini-stats div{display:flex;flex-direction:column;gap:2px}.plan-mini-stats small{font-size:10.5px;color:#a5b4fc}.plan-mini-stats b{font-size:13px;color:#ffffff}.dot-divider{color:rgba(255,255,255,.3);font-weight:700}.plan-progress-wrap{display:flex;flex-direction:column;gap:6px;margin-top:2px}.plan-progress-track{height:6px;background:rgba(255,255,255,.15);border-radius:3px;overflow:hidden}.plan-progress-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:3px;transition:width .4s ease}.plan-progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a5b4fc}.plan-progress-meta b{color:#ffffff}.study-plan-modal{background:var(--card-bg,#ffffff);border-radius:20px!important;max-width:600px!important;width:92vw;max-height:88vh;overflow-y:auto;padding:30px 32px!important;position:relative;box-shadow:0 25px 60px -12px rgba(15,23,42,.35),0 0 0 1px rgba(0,0,0,.08)!important;color:var(--ink);z-index:1000}.study-plan-modal .modal-header{margin-bottom:6px}.study-plan-modal .modal-header h2{font-size:22px!important;margin:6px 0 0!important;color:var(--ink);letter-spacing:-.3px}.study-plan-modal .close{position:absolute;top:18px;right:18px;color:var(--muted);background:#f1f5f9;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s ease}.study-plan-modal .close:hover{background:#e2e8f0;color:var(--ink)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-light)}.modal-title-wrap{display:flex;flex-direction:column;gap:4px}.modal-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:#4f46e5;background:#eef2ff;padding:2px 8px;border-radius:12px;width:-moz-fit-content;width:fit-content}.plan-form{gap:18px;margin-top:16px}.form-field,.plan-form{display:flex;flex-direction:column}.form-field{gap:6px}.form-field label{font-size:13.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.form-field label small{font-size:11.5px;font-weight:400;color:var(--muted)}.form-field input[type=date],.form-field input[type=number],.form-field input[type=text],.form-field select{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff;font-size:14px;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus,.form-field select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}.quick-tags{display:flex;flex-wrap:wrap;gap:8px}.quick-tag{font-size:12px;font-weight:600;padding:5px 10px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .2s ease}.quick-tag:hover{background:#f1f5f9;border-color:#cbd5e1}.quick-tag.active{background:#eef2ff;color:#4338ca;border-color:#818cf8}.quota-input-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quota-input-wrap input{width:100px}.quota-chips{display:flex;gap:6px;flex-wrap:wrap}.quota-chip{font-size:12px;font-weight:600;padding:5px 10px;border-radius:14px;background:#f1f5f9;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .2s ease}.quota-chip:hover{background:#e2e8f0}.quota-chip.active{background:#4f46e5;color:#ffffff;border-color:#4f46e5}.plan-prediction-card{background:linear-gradient(135deg,#f8faff,#eef2ff);border:1px solid #c7d2fe;border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.prediction-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#4338ca}.prediction-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;background:#ffffff;padding:12px;border-radius:var(--radius-md);border:1px solid #e0e7ff}.prediction-item{display:flex;flex-direction:column;gap:3px;text-align:center}.prediction-item small{font-size:11px;color:var(--muted)}.prediction-item b{font-size:14px;color:var(--ink)}.highlight-text{color:var(--blue)!important;font-weight:800!important}.prediction-summary{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#475569;line-height:1.5}.prediction-summary b{color:#1e1b4b}.prediction-summary svg{flex-shrink:0;color:#6366f1;margin-top:2px}.wrong-tab-filter{display:inline-flex;background:#f1f5f9;padding:3px;border-radius:var(--radius-md);gap:4px}.tab-btn{border:none;background:transparent;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--muted);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px}.tab-btn.active,.tab-btn:hover{color:var(--ink)}.tab-btn.active{background:#ffffff;box-shadow:0 1px 4px rgba(15,23,42,.08)}.tab-btn.leech-tab.active{color:#e11d48}.wrong-card.is-leech-card{border-color:#fecdd3;background:linear-gradient(180deg,#ffffff,#fff5f5);box-shadow:0 4px 14px rgba(225,29,72,.08)}.wrong-card-top-tags{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.leech-tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#e11d48;background:#ffe4e6;padding:2px 7px;border-radius:10px}.text-danger{color:#e11d48!important;font-weight:700!important}.wrong-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px}.visitor-landing{position:relative;max-width:1140px;margin:0 auto;padding:8px 0 64px;scroll-snap-type:y proximity}.visitor-ambient-bg{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;max-width:1400px;height:100%;pointer-events:none;z-index:0;overflow:hidden}.ambient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;mix-blend-mode:multiply}.ambient-orb-1{width:520px;height:520px;top:40px;left:8%;background:radial-gradient(circle,rgba(99,102,241,.28) 0,rgba(99,102,241,0) 70%);animation:floatSlow 14s ease-in-out infinite alternate}.ambient-orb-2{width:460px;height:460px;top:280px;right:6%;background:radial-gradient(circle,rgba(14,165,233,.22) 0,rgba(14,165,233,0) 70%);animation:floatSlow 18s ease-in-out infinite alternate-reverse}.ambient-orb-3{width:560px;height:560px;top:1200px;left:16%;background:radial-gradient(circle,rgba(168,85,247,.18) 0,rgba(168,85,247,0) 70%)}@keyframes floatSlow{0%{transform:translate(0) scale(1)}50%{transform:translate(24px,-18px) scale(1.05)}to{transform:translate(-20px,20px) scale(.96)}}.visitor-section{position:relative;z-index:1;scroll-snap-align:start;scroll-margin-top:96px;opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.visitor-section.is-visible{opacity:1;transform:translateY(0)}.visitor-section.is-visible .stagger-1{transition:all .65s cubic-bezier(.16,1,.3,1) .05s}.visitor-section.is-visible .stagger-2{transition:all .65s cubic-bezier(.16,1,.3,1) .12s}.visitor-section.is-visible .stagger-3{transition:all .65s cubic-bezier(.16,1,.3,1) .19s}.visitor-section.is-visible .stagger-4{transition:all .65s cubic-bezier(.16,1,.3,1) .26s}.visitor-section.is-visible .stagger-5{transition:all .65s cubic-bezier(.16,1,.3,1) .33s}.visitor-section.is-visible .stagger-6{transition:all .65s cubic-bezier(.16,1,.3,1) .4s}.visitor-scroll-nav{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.nav-dots-container{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 8px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.9);border-radius:30px;box-shadow:0 8px 24px -4px rgba(15,23,42,.08);pointer-events:auto;transition:all .25s ease}.nav-arrow-btn{background:none;border:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#94a3b8;cursor:pointer;transition:all .2s ease;padding:0}.nav-arrow-btn:hover{color:var(--blue);background:rgba(79,70,229,.1);transform:scale(1.15)}.visitor-nav-dot{display:flex;align-items:center;justify-content:flex-end;gap:10px;background:none;border:none;padding:4px;cursor:pointer;position:relative;transition:all .2s ease}.dot-indicator{width:8px;height:8px;border-radius:50%;background:#cbd5e1;transition:all .3s cubic-bezier(.16,1,.3,1)}.visitor-nav-dot:hover .dot-indicator{background:var(--blue);transform:scale(1.3)}.visitor-nav-dot.is-active .dot-indicator{background:var(--blue);width:10px;height:10px;box-shadow:0 0 0 4px rgba(79,70,229,.22);transform:scale(1.1)}.dot-label{position:absolute;right:26px;display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--ink);color:#ffffff;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;transform:translateX(8px);pointer-events:none;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px rgba(15,23,42,.15)}.dot-num{color:#a5b4fc;font-size:10px;font-family:monospace}.visitor-nav-dot:hover .dot-label{opacity:1;transform:translateX(0)}.visitor-invite-alert{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#eef2ff,#f0fdf4);border:1px solid #c7d2fe;padding:14px 22px;border-radius:var(--radius-md);margin-bottom:32px;box-shadow:var(--shadow-sm);animation:slideDown .3s ease}.visitor-invite-text{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink)}.invite-tag{font-size:12px;padding:3px 9px;border-radius:20px;border:1px solid #c7d2fe}.invite-tag,.visitor-invite-text code{font-weight:700;color:var(--blue);background:#ffffff}.visitor-invite-text code{padding:2px 7px;border-radius:6px;border:1px solid #e2e8f0;letter-spacing:.5px}.visitor-hero{text-align:center;max-width:880px;margin:0 auto 90px;padding:24px 0 32px}.visitor-hero,.visitor-hero-content{display:flex;flex-direction:column;align-items:center}.visitor-hero-content{width:100%}.visitor-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #e0e7ff;box-shadow:0 2px 10px rgba(79,70,229,.08);border-radius:30px;font-size:13px;font-weight:600;color:var(--blue);width:-moz-fit-content;width:fit-content;margin-bottom:24px}.sparkle-icon{color:#6366f1;animation:pulse 2s ease-in-out infinite}.visitor-title{font-size:42px;line-height:1.38;letter-spacing:-1px;font-weight:800;color:var(--ink);margin-bottom:20px}.gradient-text{background:linear-gradient(135deg,#4f46e5,#3b82f6 50%,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.visitor-subtitle{font-size:17.5px;line-height:1.8;color:#475569;margin-bottom:32px;max-width:740px}.visitor-subtitle strong{color:var(--ink);font-weight:600}.visitor-metrics-row{display:flex;align-items:center;justify-content:center;gap:32px;padding:16px 36px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin-bottom:36px;width:-moz-fit-content;width:fit-content}.visitor-metric-item{display:flex;flex-direction:column}.metric-num{font-size:26px;font-weight:800;color:var(--blue);letter-spacing:-.5px;line-height:1.1}.metric-num small{font-size:14px;font-weight:600;margin-left:2px}.metric-desc{font-size:12px;color:var(--muted);margin-top:4px}.metric-divider{width:1px;height:32px;background:var(--line)}.visitor-hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.hero-cta-btn{box-shadow:0 8px 24px -4px rgba(79,70,229,.45);transition:all .25s cubic-bezier(.16,1,.3,1)}.hero-cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px -4px rgba(79,70,229,.6)}.hero-sec-btn{transition:all .2s ease}.hero-sec-btn:hover{transform:translateY(-2px);border-color:#cbd5e1}.visitor-trust-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:#64748b}.visitor-scroll-down-cue{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin-top:42px;background:transparent;color:#94a3b8;cursor:pointer;transition:all .25s ease;padding:8px 16px;border-radius:20px}.visitor-scroll-down-cue:hover{color:var(--blue);transform:translateY(2px)}.cue-text{font-size:12.5px;font-weight:600;letter-spacing:.6px}.cue-mouse{width:18px;height:28px;border:1.5px solid;border-radius:12px;position:relative;display:flex;justify-content:center}.cue-wheel{width:3px;height:5px;background:currentColor;border-radius:2px;position:absolute;top:5px;animation:mouseScroll 1.6s cubic-bezier(.65,0,.35,1) infinite}.cue-arrow{animation:arrowBounce 1.6s ease-in-out infinite}@keyframes mouseScroll{0%{opacity:1;transform:translateY(0)}60%{opacity:0;transform:translateY(8px)}to{opacity:0;transform:translateY(0)}}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.visitor-playground-section{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,250,252,.95));border:1px solid var(--line);border-radius:28px;padding:48px 36px;margin-bottom:84px;box-shadow:0 10px 32px -4px rgba(15,23,42,.05)}.section-header-tag{text-align:center;max-width:680px;margin:0 auto 34px}.section-header-tag h2{font-size:28px;font-weight:800;margin:8px 0 10px;color:var(--ink);letter-spacing:-.5px}.section-header-tag p{font-size:15.5px;color:var(--muted);margin:0}.playground-card{max-width:640px;margin:0 auto;background:#ffffff;border:1.5px solid #e2e8f0;border-radius:22px;padding:30px 34px;box-shadow:0 12px 36px -4px rgba(15,23,42,.07)}.playground-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.demo-badge-wrap{display:flex;align-items:center;gap:8px}.demo-live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.2);animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}.demo-badge{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-light);padding:4px 10px;border-radius:20px}.switch-word-btn{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);font-weight:600;transition:all .2s ease}.switch-word-btn:hover{color:var(--blue);transform:translateX(2px)}.playground-word-display{text-align:center}.playground-prompt-card,.playground-word-display{display:flex;flex-direction:column;align-items:center}.playground-prompt-card{gap:12px;margin-bottom:20px;width:100%}.playground-meaning-wrapper{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.playground-meaning-main{display:flex;align-items:center;gap:10px}.pos-pill{font-size:12px;font-weight:700;color:#3b82f6;background:#eff6ff;padding:2px 8px;border-radius:6px}.meaning-text{font-size:19px;font-weight:700;color:var(--ink)}.playground-subinfo{display:flex;align-items:center;justify-content:center;gap:10px}.playground-spelling-box{position:relative;width:100%;padding:24px 18px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;cursor:text;transition:all .25s ease;margin-bottom:22px}.playground-spelling-box:hover{border-color:#94a3b8;background:#f1f5f9}.playground-spelling-box.correct{border-color:#10b981;background:#f0fdf4}.playground-spelling-box.wrong{border-color:#f87171;background:#fff1f2}.playground-spelling-box.revealed{border-color:#94a3b8;background:#f8fafc}.letter-slots{gap:9px;flex-wrap:wrap}.letter-slot,.letter-slots{display:flex;align-items:center;justify-content:center}.letter-slot{width:38px;height:46px;font-size:22px;font-weight:800;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;border-radius:10px;background:#ffffff;border:1.5px solid #cbd5e1;box-shadow:0 2px 4px rgba(0,0,0,.04);transition:all .15s ease}.slot-empty{color:#cbd5e1}.slot-cursor{border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 3px rgba(79,70,229,.18);animation:blinkCursor 1s infinite}.slot-correct{background:#dcfce7;border-color:#10b981;color:#15803d;animation:popIn .25s cubic-bezier(.16,1,.3,1)}.slot-wrong{background:#fee2e2;border-color:#ef4444;color:#b91c1c;animation:shake .3s ease}.slot-revealed{background:#f1f5f9;border-color:#94a3b8;color:#334155;animation:popIn .25s cubic-bezier(.16,1,.3,1)}.sr-only-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:auto}.playground-feedback{width:100%}.feedback-result-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 20px;border-radius:16px;width:100%;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.04)}.feedback-result-card.full{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.feedback-result-card.half{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.feedback-result-card.wrong{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.feedback-result-top{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.feedback-word-row{display:inline-flex;align-items:center;gap:8px}.revealed-word-text{font-size:20px;font-weight:800;letter-spacing:.5px;color:var(--ink);font-family:SF Pro Display,-apple-system,sans-serif}.revealed-phonetic-text{font-size:14px;color:#64748b;font-family:SF Pro Text,-apple-system,sans-serif}.feedback-result-desc{font-size:13.5px;line-height:1.55;margin:0;max-width:520px}.feedback-result-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}.next-word-btn{margin-left:8px;flex-shrink:0}.feedback-wrong{display:flex;flex-direction:column;align-items:center;gap:8px}.feedback-wrong-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#b91c1c;font-size:13.5px;font-weight:600}.give-up-btn{font-size:12.5px;color:#64748b;margin-top:4px}.feedback-typing{display:flex;flex-direction:column;align-items:center;gap:6px;color:#94a3b8;font-size:13px}.give-up-hint-link{font-size:12px;color:#94a3b8;display:inline-flex;align-items:center;gap:4px}.give-up-hint-link:hover{color:var(--blue)}[data-theme=dark] .playground-card{background:#1e293b;border-color:#334155;box-shadow:0 12px 36px -4px rgba(0,0,0,.35)}[data-theme=dark] .playground-spelling-box{background:#0f172a;border-color:#334155}[data-theme=dark] .playground-spelling-box:hover{background:#1e293b;border-color:#475569}[data-theme=dark] .playground-spelling-box.correct{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.4)}[data-theme=dark] .playground-spelling-box.wrong{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}[data-theme=dark] .playground-spelling-box.revealed{background:rgba(148,163,184,.1);border-color:#475569}[data-theme=dark] .letter-slot{background:#1e293b;border-color:#334155;color:#f1f5f9}[data-theme=dark] .slot-empty{color:#475569}[data-theme=dark] .slot-correct{background:rgba(16,185,129,.2);border-color:#10b981;color:#4ade80}[data-theme=dark] .slot-wrong{background:rgba(239,68,68,.2);border-color:#ef4444;color:#f87171}[data-theme=dark] .slot-revealed{background:#334155;border-color:#64748b;color:#e2e8f0}[data-theme=dark] .feedback-result-card.full{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#6ee7b7}[data-theme=dark] .feedback-result-card.half{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.3);color:#fcd34d}[data-theme=dark] .feedback-result-card.wrong{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3);color:#fca5a5}[data-theme=dark] .revealed-word-text{color:#f8fafc}[data-theme=dark] .revealed-phonetic-text{color:#94a3b8}.section-footer-cue{display:flex;justify-content:center;margin-top:36px}.section-next-cue-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:20px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xs)}.section-next-cue-btn:hover{color:var(--blue);border-color:#cbd5e1;background:#ffffff;transform:translateY(2px);box-shadow:0 6px 16px -2px rgba(15,23,42,.08)}.section-next-cue-btn svg{color:var(--blue);transition:transform .2s ease}.section-next-cue-btn:hover svg{transform:translateY(2px)}.topbar-visitor-actions{display:flex;align-items:center;gap:10px}.visitor-features-section{margin-bottom:84px}.section-title-wrap{text-align:center;max-width:720px;margin:0 auto 46px}.section-title-wrap h2{font-size:32px;font-weight:800;letter-spacing:-.8px;color:var(--ink);margin:8px 0 12px}.section-title-wrap p{font-size:16px;color:#64748b;margin:0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:26px;gap:26px}.feature-card{background:#ffffff;border:1px solid var(--line);border-radius:20px;padding:30px 26px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:all .25s cubic-bezier(.16,1,.3,1)}.feature-card:hover{transform:translateY(-4px);border-color:#cbd5e1;box-shadow:0 16px 36px -4px rgba(15,23,42,.08)}.feature-icon-wrap{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px}.feature-icon-wrap.blue{background:#eff6ff;color:#2563eb}.feature-icon-wrap.indigo{background:#eef2ff;color:#4f46e5}.feature-icon-wrap.emerald{background:#ecfdf5;color:#059669}.feature-icon-wrap.rose{background:#fff1f2;color:#e11d48}.feature-icon-wrap.amber{background:#fffbeb;color:#d97706}.feature-icon-wrap.purple{background:#faf5ff;color:#9333ea}.feature-tag{font-size:11.5px;font-weight:700;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.feature-card h3{font-size:19px;font-weight:700;color:var(--ink);margin:0 0 10px;line-height:1.4}.feature-card p{font-size:14px;line-height:1.7;color:#64748b;margin-bottom:20px;flex:1 1}.feature-highlight{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:14px;border-top:1px solid var(--line-light);font-size:12.5px;font-weight:600;color:var(--ink-secondary)}.feature-curve-preview{margin-top:10px;padding:12px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.curve-compare-labels{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;margin-bottom:8px}.curve-lbl.red{color:#dc2626}.curve-lbl.green{color:#16a34a}.curve-mini-svg{width:100%;height:52px;display:block}.visitor-compare-section{margin-bottom:84px}.compare-table-wrap{background:#ffffff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px -4px rgba(15,23,42,.06)}.compare-table{width:100%;border-collapse:collapse;text-align:left}.compare-table th{padding:18px 24px;font-size:14px;font-weight:700;color:var(--ink);background:#f8fafc;border-bottom:1px solid var(--line)}.compare-table th.highlight-col{background:#eef2ff;border-left:2px solid #6366f1;border-right:2px solid #6366f1}.table-brand-header{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:16px;font-weight:800}.compare-table td{padding:20px 24px;font-size:14px;line-height:1.65;color:#64748b;border-bottom:1px solid var(--line-light);vertical-align:top}.compare-table tr:last-child td{border-bottom:none}.compare-table td.dim-title{font-weight:700;color:var(--ink);background:#fcfdfe}.compare-table td.highlight-col{background:#fdfefe;border-left:2px solid #6366f1;border-right:2px solid #6366f1}.text-blue{color:var(--blue)}.visitor-books-section{margin-bottom:84px}.visitor-books-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.visitor-book-card{background:#ffffff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;transition:all .25s cubic-bezier(.16,1,.3,1)}.visitor-book-card:hover{transform:translateY(-3px);border-color:#cbd5e1;box-shadow:0 12px 28px -4px rgba(15,23,42,.08)}.book-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.book-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#f1f5f9;color:#475569}.book-words-count{font-size:12.5px;font-weight:700;color:var(--blue)}.visitor-book-card h3{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 8px}.book-desc{font-size:13.5px;color:#64748b;line-height:1.6;margin-bottom:20px;flex:1 1}.book-card-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line-light)}.group-info{font-size:12px;color:#94a3b8}.visitor-faq-section{margin-bottom:84px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.faq-item{background:#ffffff;border:1px solid var(--line);border-radius:18px;padding:24px 26px;transition:all .2s ease}.faq-item:hover{border-color:#cbd5e1;box-shadow:0 6px 18px rgba(15,23,42,.04)}.faq-item h4{display:flex;align-items:flex-start;gap:10px;font-size:16px;font-weight:700;color:var(--ink);margin:0 0 10px;line-height:1.45}.faq-icon{color:var(--blue);flex-shrink:0;margin-top:2px}.faq-item p{font-size:14px;color:#64748b;line-height:1.7;margin:0}.visitor-bottom-cta{background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4338ca);border-radius:28px;padding:60px 40px;text-align:center;color:#ffffff;box-shadow:0 20px 48px -8px rgba(30,27,75,.38)}.cta-content{max-width:680px;margin:0 auto}.eyebrow-white{display:inline-block;font-size:12px;font-weight:700;letter-spacing:2px;color:#a5b4fc;margin-bottom:12px}.visitor-bottom-cta h2{font-size:34px;font-weight:800;letter-spacing:-.8px;color:#ffffff;margin:0 0 14px}.visitor-bottom-cta p{font-size:16.5px;color:#c7d2fe;margin:0 0 32px}.cta-buttons{display:flex;align-items:center;justify-content:center;gap:16px}.cta-primary{background:#ffffff;color:#1e1b4b;font-weight:700;box-shadow:0 4px 20px rgba(0,0,0,.15);transition:all .25s cubic-bezier(.16,1,.3,1)}.cta-primary:hover{background:#f1f5f9;color:#0f172a;transform:translateY(-2px)}.cta-secondary{background:rgba(255,255,255,.12);color:#ffffff;border:1px solid rgba(255,255,255,.25);transition:all .2s ease}.cta-secondary:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}@keyframes blinkCursor{0%,to{opacity:1}50%{opacity:.3}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width:1200px){.visitor-scroll-nav{display:none}}@media (max-width:960px){.features-grid{grid-template-columns:1fr 1fr}.faq-grid,.visitor-books-grid{grid-template-columns:1fr}}@media (max-width:640px){.visitor-title{font-size:32px;letter-spacing:-.8px}.visitor-metrics-row{flex-direction:column;align-items:flex-start;gap:12px;width:100%;padding:16px 20px}.metric-divider{display:none}.visitor-hero-actions{flex-direction:column;width:100%}.visitor-hero-actions .button{width:100%;justify-content:center}.features-grid{grid-template-columns:1fr}.letter-slot{width:32px;height:40px;font-size:18px}.cta-buttons{flex-direction:column;width:100%}.cta-buttons .button{width:100%;justify-content:center}.visitor-bottom-cta{padding:40px 20px}}@media (max-width:800px){.task-queue-grid{grid-template-columns:1fr}.prediction-grid{grid-template-columns:repeat(2,1fr)}}.word-search-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding-top:min(15vh,120px);animation:fadeIn .15s ease}.word-search-modal{width:min(640px,92vw);max-height:70vh;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 24px 64px -12px rgba(15,23,42,.25);display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.word-search-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.word-search-header .search-icon{color:var(--muted);flex-shrink:0}.word-search-input{flex:1 1;border:none;outline:none;font-size:16px;background:transparent;color:var(--ink)}.word-search-input::placeholder{color:var(--muted)}.search-shortcuts kbd{display:inline-block;padding:2px 6px;border-radius:4px;background:var(--line-light);color:var(--muted);font-size:11px;font-family:var(--font);border:1px solid var(--line)}.search-close-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;display:flex}.search-close-btn:hover{background:var(--line-light);color:var(--ink)}.search-auth-required-body{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.search-auth-icon-wrap{width:56px;height:56px;border-radius:50%;background:rgba(14,165,233,.1);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:4px}.search-auth-required-body h3{margin:0;font-size:18px;color:var(--ink);font-weight:600}.search-auth-required-body p{margin:0;font-size:14px;color:var(--muted);max-width:360px;line-height:1.6}.search-auth-actions{margin-top:8px}.word-search-results{flex:1 1;overflow-y:auto;padding:8px}.search-empty,.search-hint,.search-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;color:var(--muted);text-align:center}.preview-loading .search-spinner,.search-loading .search-spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.search-empty p,.search-hint p{margin:4px 0;font-size:15px;font-weight:500;color:var(--ink-secondary)}.search-empty small,.search-hint small{font-size:13px;color:var(--muted)}.search-hint kbd{display:inline-block;padding:1px 5px;border-radius:4px;background:var(--line-light);color:var(--muted);font-size:11px;border:1px solid var(--line)}.search-result-item{display:flex;flex-direction:column;width:100%;text-align:left;padding:12px 16px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s;gap:6px}.search-result-item:hover{background:var(--line-light)}.search-result-item.expanded{background:var(--blue-light)}.search-result-main{display:flex;flex-direction:column;gap:4px}.search-result-word{display:flex;align-items:center;gap:8px}.search-spelling{font-size:17px;font-weight:600;color:var(--ink)}.search-phonetic{font-size:13px;color:var(--muted)}.search-result-meaning{font-size:14px;color:var(--ink-secondary);display:flex;gap:6px;align-items:baseline}.search-pos{font-size:12px;color:var(--blue);font-weight:500;flex-shrink:0}.search-result-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-book-tag{gap:4px;background:var(--line-light);color:var(--muted)}.search-book-tag,.search-memory-badge{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:20px}.search-memory-badge{gap:3px;font-weight:500}.search-memory-badge.mastered{background:#dcfce7;color:#15803d}.search-memory-badge.wrong{background:#fef2f2;color:#dc2626}.search-memory-badge.learning{background:#eff6ff;color:#2563eb}.search-result-detail{margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.detail-grid{display:flex;gap:20px;flex-wrap:wrap}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item small{font-size:11px;color:var(--muted)}.detail-item span{font-size:14px;font-weight:500}.detail-item .text-success{color:#15803d}.detail-item .text-danger{color:#dc2626}.search-nav-item{position:relative}.nav-kbd{margin-left:auto;font-size:11px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.06);color:var(--muted);font-weight:500;font-family:var(--font);border:1px solid rgba(0,0,0,.06)}.queue-duration-badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--blue);font-weight:500;padding:4px 12px;background:var(--blue-light);border-radius:20px}.queue-duration-badge b{font-weight:600}.word-preview{max-width:640px;margin:0 auto;padding:16px}.preview-error,.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;color:var(--muted)}.preview-progress-bar{margin-bottom:24px}.preview-top-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.preview-counter{font-size:14px;font-weight:600;color:var(--ink-secondary)}.preview-track{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.preview-fill{height:100%;background:var(--blue);border-radius:2px;transition:width .3s ease}.preview-card-area{perspective:1000px;margin-bottom:32px}.preview-card{position:relative;width:100%;min-height:320px;cursor:pointer;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-lg)}.preview-card.is-flipped{transform:rotateY(180deg)}.preview-card-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;text-align:center;box-shadow:var(--shadow-md);gap:12px}.preview-card-front{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid rgba(79,70,229,.15)}.preview-card-back{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid rgba(22,163,74,.15);transform:rotateY(180deg)}.card-face-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.preview-card-front h1{font-size:36px;margin:8px 0;color:var(--ink);font-weight:700;letter-spacing:-.5px}.preview-phonetic{font-size:16px;color:var(--muted)}.flip-hint{font-size:13px;color:var(--muted);margin-top:16px}.preview-pos{font-size:14px;color:#15803d;font-weight:600;background:rgba(22,163,74,.1);padding:2px 10px;border-radius:12px}.preview-card-back h2{font-size:24px;margin:8px 0;color:var(--ink);font-weight:600}.preview-back-word{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;background:rgba(0,0,0,.04);border-radius:var(--radius-sm)}.preview-back-word span{font-size:18px;font-weight:600;color:var(--ink)}.preview-back-word small{font-size:13px;color:var(--muted)}.preview-mark-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.preview-mark-btn{display:flex;align-items:center;gap:8px;padding:14px 32px;border-radius:var(--radius-md);font-size:16px;font-weight:600;border:2px solid transparent;cursor:pointer;transition:all .2s}.preview-mark-btn kbd{font-size:12px;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,.3)}.unknown-btn{background:#fef2f2;color:#dc2626;border-color:#fecaca}.unknown-btn:hover{background:#fee2e2;border-color:#fca5a5}.known-btn{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.known-btn:hover{background:#dcfce7;border-color:#86efac}.preview-key-hint{text-align:center;font-size:13px;color:var(--muted)}.preview-key-hint kbd{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--line-light);border:1px solid var(--line);font-size:12px;margin:0 2px}.preview-summary{text-align:center;padding:32px 0}.preview-summary-header{margin-bottom:32px}.preview-summary-header h1{font-size:24px;margin:8px 0}.preview-summary-stats{display:flex;justify-content:center;gap:32px;margin-bottom:32px}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 28px;border-radius:var(--radius-md)}.summary-stat strong{font-size:32px;font-weight:700}.summary-stat span{font-size:13px;color:var(--muted)}.summary-stat.known{background:#f0fdf4;color:#15803d}.summary-stat.unknown{background:#fef2f2;color:#dc2626}.summary-stat.total{background:var(--blue-light);color:var(--blue)}.preview-unknown-list{text-align:left;margin-bottom:32px;padding:20px;background:#fef2f2;border-radius:var(--radius-md);border:1px solid #fecaca}.preview-unknown-list h3{font-size:15px;margin:0 0 12px;color:#dc2626}.unknown-chips{display:flex;flex-wrap:wrap;gap:8px}.unknown-chip{display:inline-flex;flex-direction:column;padding:6px 12px;background:white;border-radius:var(--radius-sm);border:1px solid #fecaca}.unknown-chip strong{font-size:14px;color:var(--ink)}.unknown-chip small{font-size:12px;color:var(--muted)}.preview-summary-actions{display:flex;justify-content:center;gap:12px}[data-theme=dark]{--ink:#e2e8f0;--ink-secondary:#cbd5e1;--muted:#94a3b8;--blue:#818cf8;--blue-hover:#6366f1;--blue-light:rgba(129,140,248,0.12);--line:#334155;--line-light:#1e293b;--paper:#0f172a;--card-bg:#1e293b;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.3),0 1px 2px -1px rgba(0,0,0,0.2);--shadow-md:0 4px 16px -2px rgba(0,0,0,0.3),0 2px 6px -2px rgba(0,0,0,0.15);--shadow-lg:0 12px 32px -4px rgba(0,0,0,0.4),0 4px 12px -2px rgba(0,0,0,0.2);--shadow-glow:0 8px 24px -4px rgba(129,140,248,0.3);color-scheme:dark}[data-theme=dark] .sidebar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .topbar{background:rgba(15,23,42,.85);border-color:#1e293b}[data-theme=dark] .study-card{background:linear-gradient(135deg,#1e293b,#1e3a5f)}[data-theme=dark] .study-card.theme-green{background:linear-gradient(135deg,#1e293b,#1a3a2a)}[data-theme=dark] .study-card.theme-peach{background:linear-gradient(135deg,#1e293b,#3a2a1a)}[data-theme=dark] .progress-card,[data-theme=dark] .review-card,[data-theme=dark] .target-plan-card{background:#1e293b;border-color:#334155}[data-theme=dark] .notebook-art{background:#2d3748!important}[data-theme=dark] .panel,[data-theme=dark] .question,[data-theme=dark] .wrong-card{background:#1e293b;border-color:#334155}[data-theme=dark] .wrong-card.is-leech-card{border-color:#92400e}[data-theme=dark] .results .table-wrap table{background:#1e293b}[data-theme=dark] .results .table-wrap th{background:#0f172a}[data-theme=dark] .banner.error{background:#451a1a;color:#fca5a5;border-color:#7f1d1d}[data-theme=dark] .banner.success{background:#14532d;color:#86efac;border-color:#166534}[data-theme=dark] .banner.info{background:#1e3a5f;color:#93c5fd;border-color:#1e40af}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f172a;color:var(--ink);border-color:#334155}[data-theme=dark] input::placeholder{color:#64748b}[data-theme=dark] .button.outline{border-color:#475569;color:var(--ink)}[data-theme=dark] .button.outline:hover{background:#334155}[data-theme=dark] .button.secondary{background:#334155;color:var(--ink)}[data-theme=dark] .button.dark{background:#e2e8f0;color:#0f172a}[data-theme=dark] .nav-item.active,[data-theme=dark] .nav-item:hover{background:#334155}[data-theme=dark] .nav-kbd{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.06);color:#94a3b8}[data-theme=dark] .profile{border-color:#334155}[data-theme=dark] .practice-progress-card{background:#1e293b;border-color:#334155}[data-theme=dark] .eyebrow{color:#94a3b8}[data-theme=dark] .footer{border-color:#1e293b;color:#64748b}[data-theme=dark] .revealed-answer{background:rgba(254,202,202,.08);border-color:rgba(220,38,38,.2)}[data-theme=dark] .retype-container{background:rgba(255,255,255,.03)}[data-theme=dark] .retype-input-wrapper{background:#0f172a;border-color:#475569}[data-theme=dark] .mistake-reinforce-card{background:linear-gradient(135deg,#451a1a,#7f1d1d)}[data-theme=dark] .dashboard-curve-banner{background:linear-gradient(135deg,#1e293b,#312e81);border-color:#4338ca}[data-theme=dark] .task-queue-card{background:#1e293b;border-color:#334155}[data-theme=dark] .task-queue-card.is-priority{border-color:var(--blue)}[data-theme=dark] .book-showcase-card{background:#1e293b;border-color:#334155}[data-theme=dark] .book-showcase-card.selected{border-color:var(--blue)}[data-theme=dark] .visitor-notice-banner{background:#1e293b;border-color:#334155}[data-theme=dark] .book-pill-tab{background:rgba(255,255,255,.06);color:#94a3b8}[data-theme=dark] .book-pill-tab.active{background:rgba(129,140,248,.15);color:#818cf8}[data-theme=dark] .auth-modal,[data-theme=dark] .daily-task-queue-section{background:#1e293b;border-color:#334155}[data-theme=dark] .auth-overlay{background:rgba(0,0,0,.6)}[data-theme=dark] .word-search-modal{background:#1e293b;box-shadow:0 24px 64px -12px rgba(0,0,0,.5)}[data-theme=dark] .word-search-header{border-color:#334155}[data-theme=dark] .search-result-item:hover{background:#334155}[data-theme=dark] .search-result-item.expanded{background:rgba(129,140,248,.1)}[data-theme=dark] .search-book-tag{background:#334155}[data-theme=dark] .search-memory-badge.mastered{background:rgba(22,163,74,.15);color:#4ade80}[data-theme=dark] .search-memory-badge.wrong{background:rgba(220,38,38,.15);color:#f87171}[data-theme=dark] .search-memory-badge.learning{background:rgba(37,99,235,.15);color:#60a5fa}[data-theme=dark] .preview-card-front{background:linear-gradient(135deg,#1e293b,#312e81);border-color:rgba(129,140,248,.2)}[data-theme=dark] .preview-card-back{background:linear-gradient(135deg,#1e293b,#14532d);border-color:rgba(22,163,74,.2)}[data-theme=dark] .unknown-btn{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3);color:#f87171}[data-theme=dark] .known-btn{background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.3);color:#4ade80}[data-theme=dark] .preview-unknown-list{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.2)}[data-theme=dark] .preview-unknown-list h3{color:#f87171}[data-theme=dark] .unknown-chip{background:#1e293b;border-color:rgba(220,38,38,.2)}[data-theme=dark] .preview-back-word{background:rgba(255,255,255,.06)}[data-theme=dark] .queue-duration-badge{background:rgba(129,140,248,.1);color:#818cf8}[data-theme=dark] .summary-stat.known{background:rgba(22,163,74,.12);color:#4ade80}[data-theme=dark] .summary-stat.unknown{background:rgba(220,38,38,.12);color:#f87171}[data-theme=dark] .summary-stat.total{background:rgba(129,140,248,.12);color:#818cf8}@media (prefers-color-scheme:dark){[data-theme=auto]{--ink:#e2e8f0;--ink-secondary:#cbd5e1;--muted:#94a3b8;--blue:#818cf8;--blue-hover:#6366f1;--blue-light:rgba(129,140,248,0.12);--line:#334155;--line-light:#1e293b;--paper:#0f172a;--card-bg:#1e293b;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.3),0 1px 2px -1px rgba(0,0,0,0.2);--shadow-md:0 4px 16px -2px rgba(0,0,0,0.3),0 2px 6px -2px rgba(0,0,0,0.15);--shadow-lg:0 12px 32px -4px rgba(0,0,0,0.4),0 4px 12px -2px rgba(0,0,0,0.2);--shadow-glow:0 8px 24px -4px rgba(129,140,248,0.3);color-scheme:dark}}.theme-toggle{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--line-light);border:1px solid var(--line);margin:8px 14px}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;transition:all .2s}.theme-toggle-btn.active{background:var(--card-bg);color:var(--ink);box-shadow:var(--shadow-xs)}.theme-toggle-btn:hover:not(.active){color:var(--ink-secondary)}@media (max-width:640px){.word-search-modal{width:96vw;max-height:80vh;margin-top:0}.word-search-overlay{padding-top:24px}.preview-card-front h1{font-size:28px}.preview-mark-buttons{flex-direction:row;gap:8px}.preview-mark-btn{padding:12px 24px;font-size:14px;flex:1 1}.preview-summary-stats{gap:12px}.summary-stat{padding:16px 20px}.summary-stat strong{font-size:24px}}.progress-card-duration{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--blue);background:var(--blue-light);padding:3px 8px;border-radius:12px;margin:6px 0 8px;width:-moz-fit-content;width:fit-content}.progress-card-duration b{font-weight:600}.preview-open-btn{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--blue);background:var(--blue-light);border-radius:8px;padding:4px 10px;border:1px solid rgba(79,70,229,.15);cursor:pointer;transition:all .2s ease}.preview-open-btn:hover{background:var(--blue);color:#fff}[data-theme=dark] .preview-open-btn{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.3);color:#a5b4fc}[data-theme=dark] .preview-open-btn:hover{background:#6366f1;color:#fff}[data-theme=dark] .progress-card-duration{background:rgba(99,102,241,.15);color:#a5b4fc}.example-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-light);padding:2px 8px;border-radius:4px;letter-spacing:.5px}.example-target-word{color:var(--blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}.sentence-audio-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:50%;background:rgba(79,70,229,.08);color:var(--blue);border:none;cursor:pointer;transition:all .2s ease;vertical-align:middle}.sentence-audio-btn:hover{transform:scale(1.08)}.sentence-audio-btn.is-playing,.sentence-audio-btn.playing,.sentence-audio-btn:hover{background:var(--blue);color:#fff}.sentence-audio-btn.xs{width:18px;height:18px;margin-left:4px}.preview-examples-box{margin-top:18px;padding:14px 16px;background:rgba(248,250,252,.9);border:1px solid rgba(226,232,240,.9);border-radius:12px;text-align:left;transition:all .2s ease}.preview-example-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.preview-examples-box .example-en{font-size:14px;line-height:1.55;color:var(--ink);margin:0 0 4px;font-weight:450}.preview-examples-box .example-zh{font-size:13px;line-height:1.45;color:var(--muted);margin:0}.practice-revealed-example{margin:10px auto 12px;max-width:480px;padding:10px 14px;background:rgba(241,245,249,.8);border:1px solid rgba(203,213,225,.7);border-left:3px solid var(--blue);border-radius:8px;text-align:left}.revealed-example-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.practice-revealed-example .example-en{font-size:13.5px;line-height:1.5;color:var(--ink);margin:0 0 4px}.practice-revealed-example .example-zh{font-size:12.5px;color:var(--muted);margin:0}.result-example-snippet{margin-top:6px;padding:6px 10px;background:rgba(248,250,252,.8);border-left:2px solid var(--blue);border-radius:4px;font-size:12px;text-align:left}.result-example-snippet .example-en{display:flex;align-items:center;color:var(--ink);font-weight:450;margin-bottom:2px}.result-example-snippet .example-zh{display:block;color:var(--muted);font-size:11.5px}.search-detail-examples{margin-top:10px;padding:10px 12px;background:rgba(241,245,249,.7);border-radius:8px;border-left:2px solid var(--blue);text-align:left}.search-example-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.search-detail-examples .example-en{font-size:13px;line-height:1.45;color:var(--ink);margin:0 0 2px}.search-detail-examples .example-zh{font-size:12px;color:var(--muted);margin:0}[data-theme=dark] .example-badge{background:rgba(99,102,241,.2);color:#a5b4fc}[data-theme=dark] .example-target-word{color:#818cf8}[data-theme=dark] .sentence-audio-btn{background:rgba(99,102,241,.2);color:#a5b4fc}[data-theme=dark] .sentence-audio-btn:hover{background:#6366f1;color:#fff}[data-theme=dark] .preview-examples-box{background:rgba(15,23,42,.6);border-color:rgba(51,65,85,.6)}[data-theme=dark] .preview-examples-box .example-en{color:#f1f5f9}[data-theme=dark] .preview-examples-box .example-zh{color:#94a3b8}[data-theme=dark] .practice-revealed-example{background:rgba(15,23,42,.7);border-color:rgba(51,65,85,.7) rgba(51,65,85,.7) rgba(51,65,85,.7) #6366f1}[data-theme=dark] .practice-revealed-example .example-en{color:#f1f5f9}[data-theme=dark] .practice-revealed-example .example-zh{color:#94a3b8}[data-theme=dark] .result-example-snippet{background:rgba(15,23,42,.6);border-left-color:#6366f1}[data-theme=dark] .result-example-snippet .example-en{color:#f1f5f9}[data-theme=dark] .result-example-snippet .example-zh{color:#94a3b8}[data-theme=dark] .search-detail-examples{background:rgba(15,23,42,.6);border-left-color:#6366f1}[data-theme=dark] .search-detail-examples .example-en{color:#f1f5f9}[data-theme=dark] .search-detail-examples .example-zh{color:#94a3b8}.preview-back-tabs{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;background:rgba(0,0,0,.04);padding:4px;border-radius:10px}.back-tab-btn{padding:5px 12px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--muted);background:transparent;border:none;cursor:pointer;transition:all .18s ease}.back-tab-btn:hover{color:var(--ink);background:rgba(255,255,255,.6)}.back-tab-btn.active{color:var(--blue);background:#ffffff;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}.preview-tab-content{margin-top:10px;min-height:100px}.etymology-box{padding:14px 16px;background:rgba(248,250,252,.9);border:1px solid rgba(226,232,240,.9);border-radius:12px;text-align:left}.etymology-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.etymology-badge{font-size:11px;font-weight:600;color:#7c3aed;background:rgba(124,58,237,.1);padding:2px 8px;border-radius:4px;letter-spacing:.5px}.etymology-origin{font-size:11.5px;color:var(--muted);font-style:italic}.etymology-parts-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.etymology-part-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:12.5px;border:1px solid transparent}.etymology-part-chip.prefix{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#1d4ed8}.etymology-part-chip.root{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.2);color:#6d28d9}.etymology-part-chip.suffix{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2);color:#b45309}.etymology-part-chip .part-label{font-size:10.5px;font-weight:600;opacity:.8}.etymology-part-chip .part-text{font-family:var(--font-mono,monospace);font-weight:700}.etymology-part-chip .part-meaning{font-size:11.5px;color:var(--ink);opacity:.85}.etymology-formula-box{background:rgba(255,255,255,.8);border:1px dashed rgba(203,213,225,.8);border-radius:8px;padding:8px 12px}.formula-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:2px}.formula-text{font-size:13px;line-height:1.5;color:var(--ink);margin:0;font-weight:500}.etymology-empty-box{padding:16px;text-align:center;background:rgba(248,250,252,.6);border-radius:8px;border:1px dashed rgba(203,213,225,.6)}.etymology-empty-box p{margin:0;font-size:12.5px}.mnemonic-box{padding:14px 16px;background:rgba(248,250,252,.9);border:1px solid rgba(226,232,240,.9);border-radius:12px;text-align:left}.mnemonic-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mnemonic-title-badge{font-size:11px;font-weight:600;color:#059669;background:rgba(5,150,105,.1);padding:2px 8px;border-radius:4px;letter-spacing:.5px}.ai-generate-btn{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#7c3aed;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.2);border-radius:14px;padding:3px 10px;cursor:pointer;transition:all .2s ease}.ai-generate-btn:hover{background:#7c3aed;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px rgba(124,58,237,.25)}.ai-generate-btn.is-loading{opacity:.7;cursor:wait}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mnemonic-cards-list{display:flex;flex-direction:column;gap:8px}.mnemonic-card-item{padding:10px 12px;background:rgba(255,255,255,.95);border-radius:8px;border-left:3px solid #059669;box-shadow:0 1px 3px rgba(0,0,0,.04)}.mnemonic-card-item.harmonic{border-left-color:#f59e0b}.mnemonic-card-item.story{border-left-color:#3b82f6}.mnemonic-card-item.root{border-left-color:#8b5cf6}.mnemonic-card-item.visual{border-left-color:#ec4899}.mnemonic-card-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.mnemonic-tag{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px}.mnemonic-tag.harmonic{background:rgba(245,158,11,.1);color:#b45309}.mnemonic-tag.story{background:rgba(59,130,246,.1);color:#1d4ed8}.mnemonic-tag.root{background:rgba(139,92,246,.1);color:#6d28d9}.mnemonic-tag.visual{background:rgba(236,72,153,.1);color:#be185d}.mnemonic-card-title{font-size:12.5px;color:var(--ink)}.mnemonic-card-content{font-size:13px;line-height:1.5;color:var(--ink);margin:0}.mnemonic-empty{padding:14px;text-align:center;font-size:12.5px}.mnemonic-error-hint{font-size:12px;color:#ef4444;margin:4px 0 8px}.practice-revealed-memory-hints{display:flex;flex-direction:column;gap:8px;max-width:480px;margin:8px auto;text-align:left}.result-etymology-snippet{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;color:var(--muted)}.search-etymology-box,.search-mnemonic-box{margin-top:10px}[data-theme=dark] .preview-back-tabs{background:rgba(255,255,255,.06)}[data-theme=dark] .back-tab-btn{color:#94a3b8}[data-theme=dark] .back-tab-btn:hover{color:#f1f5f9;background:rgba(255,255,255,.1)}[data-theme=dark] .back-tab-btn.active{color:#a5b4fc;background:#1e293b;box-shadow:0 1px 4px rgba(0,0,0,.3)}[data-theme=dark] .etymology-box,[data-theme=dark] .mnemonic-box{background:rgba(15,23,42,.65);border-color:rgba(51,65,85,.7)}[data-theme=dark] .etymology-badge{background:rgba(139,92,246,.2);color:#c4b5fd}[data-theme=dark] .etymology-origin{color:#94a3b8}[data-theme=dark] .etymology-part-chip.prefix{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#93c5fd}[data-theme=dark] .etymology-part-chip.root{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3);color:#c4b5fd}[data-theme=dark] .etymology-part-chip.suffix{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3);color:#fcd34d}[data-theme=dark] .etymology-part-chip .part-meaning{color:#e2e8f0}[data-theme=dark] .etymology-formula-box{background:rgba(30,41,59,.7);border-color:rgba(71,85,105,.6)}[data-theme=dark] .formula-text{color:#f1f5f9}[data-theme=dark] .etymology-empty-box{background:rgba(15,23,42,.5);border-color:rgba(51,65,85,.5)}[data-theme=dark] .mnemonic-title-badge{background:rgba(16,185,129,.2);color:#6ee7b7}[data-theme=dark] .ai-generate-btn{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3);color:#c4b5fd}[data-theme=dark] .ai-generate-btn:hover{background:#8b5cf6;color:#fff}[data-theme=dark] .mnemonic-card-item{background:rgba(30,41,59,.85);box-shadow:0 1px 3px rgba(0,0,0,.2)}[data-theme=dark] .mnemonic-card-content,[data-theme=dark] .mnemonic-card-title{color:#f1f5f9}.sidebar-membership-card{margin:8px 0;padding:10px 12px;border-radius:10px;background-color:var(--bg-subtle,rgba(0,0,0,.03));border:1px solid var(--border,rgba(0,0,0,.08))}.sidebar-membership-card .membership-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.sidebar-membership-card .membership-label{font-size:11px;color:var(--text-muted,#64748b)}.sidebar-membership-card .membership-renew{font-size:11.5px;color:#16a34a;font-weight:600;padding:0}.sidebar-membership-card .membership-status{font-size:12px;font-weight:500}[data-theme=dark] .sidebar-membership-card{background-color:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}[data-theme=dark] .sidebar-membership-card .membership-label{color:#94a3b8}.sidebar-user-row{display:flex;align-items:center;gap:6px;width:100%}.sidebar-user-row .profile{flex:1 1;cursor:pointer;text-align:left;margin:0}.sidebar-user-row .profile-detail,.sidebar-user-row .profile-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-btn{flex-shrink:0;width:38px;height:38px;border-radius:10px;border:1px solid var(--border-color,#e2e8f0);background:var(--bg-subtle,#f8fafc);color:var(--text-muted,#94a3b8);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.sidebar-logout-btn:hover{color:#ef4444;border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}[data-theme=dark] .sidebar-logout-btn{border-color:#334155;background:rgba(255,255,255,.04);color:#64748b}[data-theme=dark] .sidebar-logout-btn:hover{color:#f87171;border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1)}.ai-study-container{max-width:980px;margin:0 auto;padding:8px 0 48px;display:flex;flex-direction:column;gap:20px}.ai-study-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(168,85,247,.06));border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);position:relative;overflow:hidden}.ai-study-header:before{content:"";position:absolute;top:-50%;right:-10%;width:260px;height:260px;background:radial-gradient(circle,rgba(168,85,247,.15) 0,transparent 70%);pointer-events:none}.ai-header-left{display:flex;flex-direction:column;gap:4px}.ai-title-row{display:flex;align-items:center;gap:10px}.ai-badge-glow{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#ffffff;font-size:11px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 10px rgba(99,102,241,.35)}.ai-page-title{margin:0;font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-.5px}.ai-subtitle{margin:0;font-size:13px;color:var(--muted)}.ai-engine-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;background:rgba(255,255,255,.85);border:1px solid rgba(99,102,241,.25);font-size:12px;font-weight:600;color:#4f46e5;box-shadow:0 2px 8px rgba(99,102,241,.08)}.ai-status-pulse{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:pulseGreen 2s ease-in-out infinite}@keyframes pulseGreen{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{transform:scale(1.05);box-shadow:0 0 0 6px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.ai-model-tag{font-size:11px;color:#6366f1;background:#eef2ff;padding:2px 6px;border-radius:6px}.ai-control-bar{justify-content:space-between;gap:16px}.ai-control-bar,.ai-selectors-group{display:flex;align-items:center;flex-wrap:wrap}.ai-selectors-group{gap:12px}.ai-select-wrap{display:flex;align-items:center;gap:8px;background:#ffffff;border:1px solid var(--line);padding:4px 12px;border-radius:var(--radius-md);box-shadow:0 1px 3px rgba(15,23,42,.04)}.ai-select-wrap label{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.ai-select-wrap select{border:none;background:transparent;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;outline:none}.ai-mode-switcher{display:inline-flex;background:#f1f5f9;padding:3px;border-radius:var(--radius-md);gap:4px}.ai-mode-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:calc(var(--radius-md) - 2px);border:none;background:transparent;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s ease}.ai-mode-btn:hover{color:var(--ink)}.ai-mode-btn.active{background:#ffffff;color:#4f46e5;box-shadow:0 2px 6px rgba(15,23,42,.08)}.ai-card-top-progress{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ai-progress-text{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--muted)}.ai-progress-text b{color:#4f46e5}.ai-keyboard-hint{font-size:11.5px;color:var(--muted)}.ai-keyboard-hint kbd{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:1px 5px;font-size:10.5px;font-family:inherit;color:var(--ink)}.ai-progress-track{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.ai-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:3px;transition:width .3s cubic-bezier(.16,1,.3,1)}.ai-hero-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 4px 20px rgba(15,23,42,.06);transition:border-color .2s ease}.ai-hero-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ai-hero-left{display:flex;flex-direction:column;gap:6px}.ai-word-title-row{display:flex;align-items:center;gap:12px}.ai-word-spelling{margin:0;font-size:36px;font-weight:800;color:var(--ink);letter-spacing:-.5px;line-height:1.15}.ai-word-meta{display:flex;align-items:center;gap:8px}.ai-phonetic{font-size:15px;color:var(--muted);font-family:inherit}.ai-pos-badge{font-size:12px;font-weight:700;color:#4f46e5;background:#eef2ff;padding:2px 8px;border-radius:6px}.ai-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:12px}.ai-status-badge.mastered{background:#dcfce7;color:#15803d}.ai-status-badge.review{background:#fee2e2;color:#dc2626}.ai-status-badge.new{background:#f1f5f9;color:#64748b}.ai-mark-btn-group{display:flex;gap:6px}.ai-mark-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid var(--line);background:#ffffff;color:var(--ink)}.ai-mark-btn.good.active,.ai-mark-btn.good:hover{background:#10b981;color:#ffffff;border-color:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.3)}.ai-mark-btn.again.active,.ai-mark-btn.again:hover{background:#f43f5e;color:#ffffff;border-color:#f43f5e;box-shadow:0 2px 8px rgba(244,63,94,.3)}.ai-meaning-box{background:#f8fafc;border-radius:var(--radius-md);padding:12px 16px;border-left:4px solid #6366f1}.ai-meaning-text{margin:0;font-size:16px;font-weight:500;color:var(--ink);line-height:1.5}.ai-card-tabs{display:flex;align-items:center;gap:8px;border-bottom:2px solid #e2e8f0;padding-bottom:2px;overflow-x:auto}.ai-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px 8px 0 0;border:none;background:transparent;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;position:relative;transition:all .2s ease;white-space:nowrap}.ai-tab-btn:hover{color:var(--ink)}.ai-tab-btn.active{color:#4f46e5;font-weight:700}.ai-tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#6366f1,#a855f7)}.tab-key-hint{font-size:10px;color:#94a3b8;background:rgba(0,0,0,.05);padding:1px 4px;border-radius:3px;font-family:inherit}.ai-tab-panel{display:flex;flex-direction:column;gap:16px;min-height:220px}.ai-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ai-panel-desc{font-size:12.5px;color:var(--muted)}.ai-action-btn{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.ai-mnemonic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.ai-mnemonic-card{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease}.ai-mnemonic-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,23,42,.06)}.ai-mnemonic-card.harmonic{border-left:3px solid #ec4899}.ai-mnemonic-card.story{border-left:3px solid #3b82f6}.ai-mnemonic-card.root{border-left:3px solid #10b981}.ai-mnemonic-card.visual{border-left:3px solid #f59e0b}.ai-mnemonic-card-top{display:flex;align-items:center;gap:8px}.ai-mnemonic-title{font-size:13.5px;font-weight:700;color:var(--ink)}.ai-mnemonic-content{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink)}.ai-etymology-snippet{margin-bottom:4px}.ai-analysis-content{display:flex;flex-direction:column;gap:14px}.ai-analysis-block{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ai-block-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#4338ca}.ai-block-body{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink)}.ai-collocations-list{display:flex;flex-direction:column;gap:8px}.ai-collocation-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;background:#ffffff;border-radius:6px;border:1px solid #e2e8f0}.collocation-en{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:#1e1b4b}.collocation-zh{font-size:13px;color:var(--muted)}.collocation-tip{font-size:11.5px;color:#6366f1}.ai-confusing-list{display:flex;flex-direction:column;gap:8px}.ai-confusing-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.confusing-header{display:flex;align-items:center;gap:8px}.confusing-vs{font-size:10px;font-weight:800;color:#ffffff;background:#6366f1;padding:1px 5px;border-radius:4px}.confusing-word{font-size:13.5px;font-weight:700;color:var(--ink)}.confusing-meaning{font-size:12.5px;color:var(--muted)}.confusing-diff{margin:0;font-size:13px;color:#475569;line-height:1.45}.ai-memory-hook-card{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:var(--radius-md);padding:12px 16px}.hook-icon{font-size:18px}.hook-label{font-size:12.5px;font-weight:700;color:#92400e;white-space:nowrap}.hook-text{margin:0;font-size:13.5px;font-weight:600;color:#78350f}.ai-sentences-group{display:flex;flex-direction:column;gap:10px}.ai-subhead{font-size:12.5px;font-weight:700;color:var(--muted)}.ai-sentence-card{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.ai-sentence-card.dynamic{background:linear-gradient(180deg,#ffffff,#f8faff);border-color:#c7d2fe}.sentence-top{display:flex;align-items:center;justify-content:space-between}.sentence-tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:4px}.sentence-tag.preset{background:#e2e8f0;color:#475569}.sentence-tag.dynamic{background:#e0e7ff;color:#4338ca}.sentence-en{margin:0;font-size:14px;color:var(--ink);line-height:1.5}.sentence-zh{margin:0;font-size:13px;color:var(--muted)}.sentence-grammar{font-size:11.5px;color:#6366f1}.ai-chat-container{display:flex;flex-direction:column;gap:14px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;min-height:380px}.ai-chat-welcome{display:flex;flex-direction:column;gap:8px;background:#ffffff;border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:12px 14px}.chat-welcome-text{margin:0;font-size:12.5px;color:var(--muted)}.chat-preset-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-chip{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:14px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s ease}.chat-chip:hover{background:#e0e7ff;border-color:#818cf8;color:#4338ca}.ai-messages-list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto;padding-right:4px}.chat-message-row{display:flex;align-items:flex-start;gap:10px}.chat-message-row.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-message-row.assistant .message-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#ffffff}.chat-message-row.user .message-avatar{background:#e2e8f0;color:var(--ink)}.message-bubble{max-width:80%;padding:10px 14px;border-radius:12px;font-size:13.5px;line-height:1.55}.chat-message-row.assistant .message-bubble{background:#ffffff;border:1px solid #e2e8f0;color:#0f172a;border-top-left-radius:2px;box-shadow:0 2px 8px -2px rgba(15,23,42,.05)}.chat-message-row.assistant .md-paragraph,.chat-message-row.assistant .message-bubble p{color:#1e293b}.chat-message-row.user .message-bubble{background:linear-gradient(135deg,#4f46e5,#4338ca);color:#ffffff;border-top-right-radius:2px;box-shadow:0 4px 14px -3px rgba(79,70,229,.35)}.chat-message-row.user .message-bubble-header{font-size:11.5px;font-weight:700;margin-bottom:4px;color:rgba(255,255,255,.9);letter-spacing:.2px}.chat-message-row.user .md-content-view,.chat-message-row.user .md-paragraph,.chat-message-row.user .message-bubble p,.chat-message-row.user .message-bubble-content{color:#ffffff!important}.message-bubble-header{font-size:11px;font-weight:700;margin-bottom:4px;opacity:.75}.message-bubble-content{white-space:pre-wrap}.message-bubble-content .md-paragraph,.message-bubble-content p{color:inherit}.is-loading-bubble{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.ai-chat-input-bar{display:flex;gap:8px;margin-top:auto}.ai-chat-input-bar input{flex:1 1;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff;font-size:13.5px;color:var(--ink)}.ai-chat-input-bar input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}.ai-card-bottom-nav{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);margin-top:8px}.ai-index-indicator{font-size:13.5px;font-weight:700;color:var(--muted)}.ai-card-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;animation:summaryFadeIn .4s ease-out}@keyframes summaryFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-summary-header{display:flex;flex-direction:column;align-items:center;gap:8px}.ai-summary-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--primary);background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(139,92,246,.12));padding:4px 14px;border-radius:20px}.ai-summary-title{margin:0;font-size:28px;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-summary-subtitle{margin:0;font-size:14px;color:var(--muted);font-weight:500}.ai-summary-stats{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.ai-summary-stat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 28px;border-radius:var(--radius);min-width:110px;transition:transform .2s ease}.ai-summary-stat:hover{transform:translateY(-2px)}.ai-summary-stat.mastered{background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(22,163,74,.08));border:1px solid rgba(34,197,94,.2);color:#16a34a}.ai-summary-stat.review{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(217,119,6,.08));border:1px solid rgba(245,158,11,.2);color:#d97706}.ai-summary-stat.new-stat{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.08));border:1px solid rgba(99,102,241,.2);color:var(--muted)}.ai-summary-stat strong{font-size:32px;font-weight:800;line-height:1}.ai-summary-stat span{font-size:13px;font-weight:600}.ai-summary-stat small{font-size:11px;opacity:.7}.ai-summary-review-list{width:100%;max-width:600px;text-align:left}.ai-summary-review-list h4{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--fg)}.ai-summary-word-chips{display:flex;flex-wrap:wrap;gap:8px}.ai-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;transition:transform .15s ease}.ai-summary-chip:hover{transform:scale(1.03)}.ai-summary-chip.review-chip{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(217,119,6,.08));border:1px solid rgba(245,158,11,.25)}.ai-summary-chip strong{font-weight:700;color:var(--fg)}.ai-summary-chip small{color:var(--muted);font-size:12px}.ai-summary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding-top:8px}.ai-summary-actions .button.primary{min-width:200px}.ai-progress-fill.complete{background:linear-gradient(90deg,#22c55e,#16a34a)!important;transition:width .5s ease,background .3s ease}@media (max-width:640px){.ai-card-summary{padding:28px 16px;gap:20px}.ai-summary-title{font-size:22px}.ai-summary-stats{gap:10px}.ai-summary-stat{padding:14px 18px;min-width:90px}.ai-summary-stat strong{font-size:24px}.ai-summary-actions{flex-direction:column;width:100%}.ai-summary-actions .button{width:100%}}.ai-story-workshop{display:flex;flex-direction:column;gap:16px}.story-intro-card{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#ffffff;border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 24px rgba(49,46,129,.25);flex-wrap:wrap}.intro-left h3{margin:0 0 6px;font-size:20px;font-weight:800;color:#ffffff}.intro-left p{margin:0;font-size:13.5px;color:#c7d2fe;max-width:580px;line-height:1.5}.ai-generate-story-btn{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;color:#ffffff;font-weight:700;padding:12px 22px;font-size:14px;white-space:nowrap}.ai-generate-story-btn:hover{box-shadow:0 4px 16px rgba(236,72,153,.4)}.story-word-selection-panel{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:12px}.selection-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.selection-title{font-size:13.5px;font-weight:700;color:var(--ink)}.selection-actions{display:flex;align-items:center;gap:12px}.story-chips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px}.story-word-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--line);background:#f8fafc;color:var(--ink);cursor:pointer;transition:all .15s ease;text-align:left}.story-word-chip:hover{border-color:#818cf8;background:#ffffff}.story-word-chip.is-selected{border-color:#6366f1;background:#eef2ff;color:#4338ca}.chip-check-icon{font-weight:800;font-size:13px;color:#6366f1}.chip-spelling{font-size:13.5px;font-weight:700}.chip-meaning{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.story-result-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 4px 20px rgba(15,23,42,.08)}.story-result-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.story-result-title-box{display:flex;align-items:center;gap:10px}.story-badge{font-size:11px;font-weight:700;color:#ec4899;background:#fdf2f8;padding:3px 8px;border-radius:6px}.story-title{margin:0;font-size:18px;font-weight:800;color:var(--ink)}.story-content-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:768px){.story-content-split{grid-template-columns:1fr}}.story-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.story-box.en{border-left:4px solid #6366f1}.story-box.zh{border-left:4px solid #10b981}.story-box-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted)}.story-paragraph{display:flex;flex-direction:column;gap:8px}.story-paragraph p{margin:0;font-size:14px;line-height:1.65;color:var(--ink)}.story-paragraph b,.story-paragraph strong{color:#4f46e5;background:#eef2ff;padding:1px 4px;border-radius:4px}.sidebar .ai-nav-item{position:relative}.sidebar .ai-nav-icon{color:#8b5cf6}.nav-ai-pill{font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#ffffff;margin-left:auto;letter-spacing:.5px;box-shadow:0 1px 6px rgba(139,92,246,.4)}.mnemonic-header-actions{display:flex;align-items:center;gap:8px}.ai-expand-analysis-btn{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:4px 8px;cursor:pointer;transition:all .15s ease}.ai-expand-analysis-btn:hover{background:#e0e7ff}.mnemonic-inline-analysis{background:#ffffff;border:1px solid #c7d2fe;border-radius:var(--radius-md);padding:12px 14px;margin-bottom:12px;font-size:13px;animation:fadeIn .25s ease}.inline-analysis-loading{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.inline-analysis-body{display:flex;flex-direction:column;gap:8px}.inline-tips{margin:0;line-height:1.5;color:var(--ink)}.inline-collocations{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-colloc-tag{background:#f1f5f9;border:1px solid #e2e8f0;padding:2px 6px;color:#1e1b4b}.inline-colloc-tag,.inline-hook{border-radius:4px;font-size:12px}.inline-hook{margin:0;color:#78350f;background:#fef3c7;padding:4px 8px}[data-theme=dark] .ai-study-header{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.1));border-color:rgba(99,102,241,.3)}[data-theme=dark] .ai-engine-status{background:rgba(30,41,59,.9);border-color:rgba(99,102,241,.4);color:#a5b4fc}[data-theme=dark] .ai-model-tag{background:rgba(99,102,241,.25);color:#c7d2fe}[data-theme=dark] .ai-select-wrap{background:#1e293b;border-color:#334155}[data-theme=dark] .ai-mode-switcher{background:#1e293b}[data-theme=dark] .ai-mode-btn.active{background:#334155;color:#c7d2fe}[data-theme=dark] .ai-hero-card{background:#0f172a;border-color:#334155}[data-theme=dark] .ai-meaning-box{background:rgba(255,255,255,.04)}[data-theme=dark] .ai-card-tabs{border-bottom-color:#334155}[data-theme=dark] .ai-tab-btn.active{color:#a5b4fc}[data-theme=dark] .ai-analysis-block,[data-theme=dark] .ai-mnemonic-card{background:rgba(255,255,255,.03);border-color:#334155}[data-theme=dark] .ai-collocation-item,[data-theme=dark] .ai-confusing-card{background:#1e293b;border-color:#334155}[data-theme=dark] .collocation-en{color:#e2e8f0}[data-theme=dark] .confusing-diff{color:#cbd5e1}[data-theme=dark] .ai-memory-hook-card{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3)}[data-theme=dark] .hook-label{color:#fde68a}[data-theme=dark] .hook-text{color:#fef3c7}[data-theme=dark] .ai-sentence-card{background:rgba(255,255,255,.03);border-color:#334155}[data-theme=dark] .ai-chat-container{background:#0f172a;border-color:#334155}[data-theme=dark] .ai-chat-welcome{background:#1e293b;border-color:#334155}[data-theme=dark] .chat-chip{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] .chat-chip:hover{background:#4338ca;color:#ffffff}[data-theme=dark] .chat-message-row.assistant .message-bubble{background:#1e293b;border-color:#334155;color:#f8fafc}[data-theme=dark] .chat-message-row.assistant .md-paragraph,[data-theme=dark] .chat-message-row.assistant .message-bubble p{color:#f1f5f9}[data-theme=dark] .ai-chat-input-bar input{background:#1e293b;border-color:#334155;color:#f8fafc}[data-theme=dark] .story-word-selection-panel{background:#0f172a;border-color:#334155}[data-theme=dark] .story-word-chip{background:#1e293b;border-color:#334155;color:#f8fafc}[data-theme=dark] .story-word-chip:hover{background:#334155}[data-theme=dark] .story-word-chip.is-selected{background:rgba(99,102,241,.25);border-color:#818cf8;color:#c7d2fe}[data-theme=dark] .story-result-card{background:#0f172a;border-color:#334155}[data-theme=dark] .story-box{background:#1e293b;border-color:#334155}[data-theme=dark] .story-paragraph b,[data-theme=dark] .story-paragraph strong{background:rgba(99,102,241,.3);color:#c7d2fe}[data-theme=dark] .mnemonic-inline-analysis{background:#1e293b;border-color:#4338ca}[data-theme=dark] .ai-expand-analysis-btn{background:rgba(99,102,241,.2);border-color:#6366f1;color:#c7d2fe}[data-theme=dark] .inline-colloc-tag{background:#334155;border-color:#475569;color:#f8fafc}.admin-ai-manager{display:flex;flex-direction:column;gap:24px}.ai-manager-header{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(168,85,247,.06));border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-lg);padding:20px 24px;display:flex;flex-direction:column;gap:6px}.ai-manager-title-row{display:flex;align-items:center;gap:12px}.ai-manager-pill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#ffffff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;box-shadow:0 2px 8px rgba(99,102,241,.3)}.ai-manager-header h2{margin:0;font-size:20px;font-weight:800;color:var(--ink)}.ai-manager-desc{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}.ai-admin-banner{margin-bottom:4px}.admin-loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--muted)}.ai-manager-body{display:flex;flex-direction:column;gap:24px}.ai-feature-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--card);transition:all .25s ease;box-shadow:0 2px 10px rgba(15,23,42,.04)}.ai-feature-toggle-card.is-enabled{background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(99,102,241,.04));border-color:rgba(16,185,129,.35)}.ai-feature-toggle-card.is-disabled{background:linear-gradient(135deg,rgba(241,245,249,.6),rgba(248,250,252,.8));border-color:var(--line)}.ai-toggle-left{display:flex;flex-direction:column;gap:6px;flex:1 1}.ai-toggle-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-toggle-title-row h3{margin:0;font-size:17px;font-weight:800;color:var(--ink)}.ai-toggle-title-row .toggle-icon{color:#6366f1}.ai-toggle-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;display:inline-flex;align-items:center}.ai-toggle-badge.enabled{background:rgba(16,185,129,.14);color:#059669;border:1px solid rgba(16,185,129,.25)}.ai-toggle-badge.disabled{background:rgba(100,116,139,.12);color:var(--muted);border:1px solid rgba(100,116,139,.2)}.ai-toggle-desc{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}.ai-toggle-right{display:flex;align-items:center;flex-shrink:0}.ai-toggle-action-btn{font-weight:700!important;white-space:nowrap}@media (max-width:768px){.ai-feature-toggle-card{flex-direction:column;align-items:flex-start}.ai-toggle-right,.ai-toggle-right button{width:100%}}.ai-status-summary-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.status-item{display:flex;flex-direction:column;gap:4px}.status-label{font-size:11.5px;font-weight:600;color:var(--muted)}.status-val{font-size:15px;font-weight:700;color:var(--ink)}.status-val.highlight{color:#4f46e5}.status-badge-pill{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;width:-moz-fit-content;width:fit-content}.status-badge-pill.dynamic{background:#dcfce7;color:#15803d}.status-badge-pill.env{background:#f1f5f9;color:#475569}.status-key-indicator{font-size:12.5px;font-weight:600}.status-key-indicator.has-key{color:#16a34a}.status-key-indicator.no-key{color:#ea580c}.ai-presets-section{display:flex;flex-direction:column;gap:14px}.section-title-wrap{display:flex;align-items:center;gap:8px;color:var(--ink)}.section-title-wrap h3{margin:0;font-size:16px;font-weight:700}.section-title-wrap small{font-size:12.5px;color:var(--muted);margin-left:6px}.current-preset-indicator{margin-left:auto;font-size:12px;color:var(--muted)}.current-preset-indicator b{color:#4f46e5}.presets-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.preset-card{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.preset-card:hover{transform:translateY(-2px);border-color:#818cf8;box-shadow:0 4px 14px rgba(99,102,241,.12)}.preset-card.is-selected{border-color:#6366f1;background:linear-gradient(180deg,#ffffff,#f8faff);box-shadow:0 0 0 2px #6366f1,0 4px 16px rgba(99,102,241,.15)}.preset-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.preset-name{font-size:14px;font-weight:700;color:var(--ink)}.preset-tag{font-size:10px;font-weight:700;color:#4f46e5;background:#eef2ff;padding:2px 6px;border-radius:4px;white-space:nowrap}.preset-desc{margin:0;font-size:12px;color:var(--muted);line-height:1.45;min-height:34px}.preset-free-hint{font-size:11px;color:#059669;background:#ecfdf5;padding:3px 6px;border-radius:4px;font-weight:600}.preset-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);font-size:11.5px}.preset-model-preview code{font-family:inherit;font-weight:700;color:#1e1b4b}.preset-doc-link{display:inline-flex;align-items:center;gap:3px;color:#6366f1;font-weight:600;text-decoration:none}.preset-doc-link:hover{text-decoration:underline}.ai-config-editor-section{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.ai-config-editor-section,.ai-config-form{display:flex;flex-direction:column;gap:18px}.input-with-action,.input-with-reset{display:flex;align-items:center;gap:8px}.input-with-action input,.input-with-reset input{flex:1 1}.model-chips-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.chips-label{font-size:11.5px;color:var(--muted)}.model-chip{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s ease}.model-chip:hover{background:#e2e8f0}.model-chip.active{background:#6366f1;color:#ffffff;border-color:#6366f1}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:640px){.form-row-2{grid-template-columns:1fr}}.test-result-box{border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:6px;animation:fadeIn .25s ease}.test-result-box.success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.test-result-box.failed{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.result-header{display:flex;align-items:center;gap:8px;font-size:14px}.latency-badge{display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#15803d;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px}.result-detail{margin:0;font-size:13px;line-height:1.5}.form-action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}.action-left,.action-right{display:flex;align-items:center;gap:10px}.ai-comparison-section{background:#ffffff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px;display:flex;flex-direction:column;gap:14px}.comparison-table code{font-weight:700;color:#4f46e5}.price-tag{font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block}.price-tag.free{background:#dcfce7;color:#15803d}.price-tag.low{background:#e0e7ff;color:#4338ca}.price-tag.normal{background:#f1f5f9;color:#475569}[data-theme=dark] .ai-manager-header{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.08));border-color:rgba(99,102,241,.35)}[data-theme=dark] .admin-loading-card,[data-theme=dark] .ai-comparison-section,[data-theme=dark] .ai-config-editor-section,[data-theme=dark] .ai-status-summary-card{background:#0f172a;border-color:#334155}[data-theme=dark] .preset-card{background:#1e293b;border-color:#334155}[data-theme=dark] .preset-card.is-selected{background:linear-gradient(180deg,#1e293b,#1e1b4b);border-color:#818cf8}[data-theme=dark] .preset-model-preview code{color:#e2e8f0}[data-theme=dark] .preset-footer{border-top-color:#334155}[data-theme=dark] .model-chip{background:#334155;border-color:#475569;color:#f8fafc}[data-theme=dark] .test-result-box.success{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#86efac}[data-theme=dark] .test-result-box.failed{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#fca5a5}[data-theme=dark] .latency-badge{background:rgba(16,185,129,.3);color:#a7f3d0}[data-theme=dark] .form-action-bar{border-top-color:#334155}.ai-guest-demo-banner{justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(234,88,12,.08));border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg);box-shadow:0 4px 16px rgba(245,158,11,.06)}.ai-guest-banner-left,.ai-guest-demo-banner{display:flex;align-items:center;flex-wrap:wrap}.ai-guest-banner-left{gap:14px}.ai-guest-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#ffffff;font-size:11.5px;font-weight:700;box-shadow:0 2px 8px rgba(245,158,11,.35);white-space:nowrap}.ai-guest-banner-text strong{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}.ai-guest-banner-text p{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.ai-guest-banner-actions{display:flex;align-items:center;gap:10px}.ai-select-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.guest-pill-micro{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:#d97706;background:#fef3c7;padding:1px 6px;border-radius:4px;cursor:help}.ai-guest-locked-select-box{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 8px;border-radius:var(--radius-sm);background:#fefce8;border:1px dashed #f59e0b;cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:600;color:#b45309}.ai-guest-locked-select-box:hover{background:#fef3c7;border-color:#d97706;transform:translateY(-1px)}.guest-lock-icon{color:#d97706;flex-shrink:0}.guest-action-btn{border-color:#f59e0b!important;color:#b45309!important;background:#fefce8!important}.guest-action-btn:hover{background:#fef3c7!important;border-color:#d97706!important}.ai-guest-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-top:20px;background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(168,85,247,.08));border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-lg);box-shadow:0 4px 16px rgba(99,102,241,.06)}.ai-guest-bottom-cta .cta-left{display:flex;align-items:center;gap:14px}.ai-guest-bottom-cta .cta-icon{color:#8b5cf6;flex-shrink:0}.ai-guest-bottom-cta h4{margin:0 0 3px;font-size:14.5px;font-weight:700;color:var(--ink)}.ai-guest-bottom-cta p{margin:0;font-size:12.5px;color:var(--muted)}.story-title-row{display:flex;align-items:center;gap:10px}.ai-demo-tag{font-size:11px;font-weight:700;color:#d97706;background:#fef3c7;padding:2px 8px;border-radius:6px;border:1px solid #fde68a}.ai-guest-modal{max-width:480px;width:90%;padding:24px;border-radius:var(--radius-lg)}.ai-guest-modal-header{display:flex;align-items:flex-start;gap:14px;position:relative;margin-bottom:16px}.ai-guest-modal-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#f3e8ff);color:#6366f1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-guest-modal-title-wrap{flex:1 1}.ai-guest-modal-sub{margin:4px 0 0;font-size:12.5px;color:#d97706;font-weight:600}.ai-guest-modal-body{margin-bottom:20px}.ai-guest-modal-desc{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:var(--ink)}.ai-guest-perks-box{display:flex;flex-direction:column;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}.perk-item{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--ink);line-height:1.4}.perk-item .perk-icon{color:#10b981;flex-shrink:0;margin-top:2px}.ai-guest-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}[data-theme=dark] .ai-guest-demo-banner{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(234,88,12,.1));border-color:rgba(245,158,11,.4)}[data-theme=dark] .guest-pill-micro{background:#78350f;color:#fef3c7}[data-theme=dark] .ai-guest-locked-select-box{background:#451a03;border-color:#b45309;color:#fde68a}[data-theme=dark] .guest-action-btn{background:#451a03!important;border-color:#b45309!important;color:#fde68a!important}[data-theme=dark] .ai-guest-bottom-cta{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.15));border-color:rgba(99,102,241,.4)}[data-theme=dark] .ai-demo-tag{background:#78350f;border-color:#b45309;color:#fef3c7}[data-theme=dark] .ai-guest-modal-icon{background:#1e1b4b;color:#a5b4fc}[data-theme=dark] .ai-guest-perks-box{background:#1e293b;border-color:#334155}.md-content-view{display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.6;color:inherit}.md-paragraph{margin:0;line-height:1.6;color:inherit}.md-content-view p{color:inherit}.md-strong{font-weight:700;color:#3730a3;background:rgba(99,102,241,.1);padding:1px 4px;border-radius:4px}.chat-message-row.user .md-strong{color:#ffffff!important;background:rgba(255,255,255,.25)}.md-em{font-style:italic;opacity:.9}.md-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;background:#f1f5f9;color:#0f172a;padding:1px 5px;border-radius:4px;border:1px solid #e2e8f0}.chat-message-row.user .md-inline-code{background:rgba(255,255,255,.22);color:#ffffff!important;border-color:rgba(255,255,255,.4)}.md-bracket-badge{display:inline-flex;align-items:center;padding:1px 5px;border-radius:4px;background:#eef2ff;color:#4f46e5;font-weight:700;font-size:12px;border:1px solid #c7d2fe}.chat-message-row.user .md-bracket-badge{background:rgba(255,255,255,.22);color:#ffffff!important;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-shadow:0 1px 2px rgba(0,0,0,.12);font-weight:700}.chat-message-row.user .message-bubble,.chat-message-row.user .message-bubble *{color:#ffffff!important}.md-link{color:#4f46e5;text-decoration:underline;text-underline-offset:3px}.md-heading{margin:6px 0 2px;font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:-.3px}.chat-message-row.user .md-heading{color:#ffffff}.md-blockquote{margin:4px 0;padding:6px 12px;border-left:3.5px solid #6366f1;background:rgba(99,102,241,.05);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink);font-size:13px}.chat-message-row.user .md-blockquote{border-left-color:#ffffff;background:rgba(255,255,255,.15);color:#ffffff}.md-quote-line{margin:0;line-height:1.5}.md-quote-line+.md-quote-line{margin-top:4px}.md-list{margin:2px 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.md-list-item{line-height:1.55}.md-callout{padding:8px 12px;border-radius:var(--radius-md);font-size:13px;line-height:1.5;border:1px solid transparent;margin:3px 0}.md-callout.callout-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.md-callout.callout-tip{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.md-callout.callout-guide{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.md-callout.callout-target{background:#faf5ff;border-color:#e9d5ff;color:#6b21a8}.md-codeblock{background:#0f172a;color:#e2e8f0;border-radius:var(--radius-md);padding:10px 14px;font-size:12.5px;overflow-x:auto;margin:4px 0}[data-theme=dark] .md-strong{color:#c7d2fe;background:rgba(99,102,241,.25)}[data-theme=dark] .md-inline-code{background:#1e293b;color:#f1f5f9;border-color:#334155}[data-theme=dark] .md-bracket-badge{background:#1e1b4b;color:#a5b4fc;border-color:#4338ca}[data-theme=dark] .md-blockquote{background:rgba(99,102,241,.12);border-left-color:#818cf8}[data-theme=dark] .md-callout.callout-warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.3);color:#fde68a}[data-theme=dark] .md-callout.callout-tip{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#a7f3d0}[data-theme=dark] .md-callout.callout-guide{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3);color:#bfdbfe}[data-theme=dark] .md-callout.callout-target{background:rgba(168,85,247,.12);border-color:rgba(168,85,247,.3);color:#e9d5ff}