.navbar{-webkit-backdrop-filter:blur(28px)saturate(180%);z-index:100;transform-origin:bottom;opacity:0;visibility:hidden;pointer-events:none;background:#ffffffb8;border:.5px solid #00000014;border-radius:33px;flex-direction:column;align-items:center;width:96px;padding:12px;transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .3s cubic-bezier(.22,.61,.36,1),visibility .42s;display:flex;position:fixed;bottom:120px;left:14px;transform:translateY(20px)scale(.75);box-shadow:0 8px 32px #00000012,0 2px 6px #0000000a,inset 0 1px #ffffff8c}.navbar.expanded{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.navbar-links{flex-direction:column;align-items:center;gap:30px;width:100%;display:flex}.navbar-link{color:#86868b;letter-spacing:-.01em;border-radius:21px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:72px;height:72px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.22,.61,.36,1);display:flex}.navbar-link:hover{color:#1d1d1f;background:#0000000d}.navbar-link.active{color:#1d1d1f;background:#0000000f}.navbar-link.active:hover{background:#0000001a}.nav-icon{color:currentColor;flex-shrink:0;width:33px;height:33px}.nav-icon-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-badge{background:#ff3b30;border:1.5px solid #ffffffe6;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px;box-shadow:0 0 0 .5px #0000000f}.nav-label{line-height:1}.navbar-toggle{-webkit-backdrop-filter:blur(28px)saturate(180%);color:#1d1d1f;cursor:pointer;z-index:102;background:#ffffffb8;border:.5px solid #0000001a;border-radius:36px;outline:none;justify-content:center;align-items:center;width:66px;height:66px;padding:0;transition:all .35s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;bottom:30px;left:29px;box-shadow:0 4px 16px #00000014,0 1px 3px #0000000a,inset 0 1px #fff9}.navbar-toggle:hover{background:#ffffffe0;border-color:#00000026;transform:scale(1.08);box-shadow:0 6px 24px #0000001a,0 2px 6px #0000000d,inset 0 1px #ffffffb3}.navbar-toggle:active{background:#ffffffe6;transform:scale(.94)}.navbar-toggle.connected{color:#1d1d1f;background:#0000000f;border-color:#0000001f}.navbar-toggle.connected:hover{color:#1d1d1f;background:#00000014}.navbar-fullscreen-btn{-webkit-backdrop-filter:blur(28px)saturate(180%);color:#1d1d1f;cursor:pointer;z-index:102;-webkit-tap-highlight-color:transparent;background:#ffffffb8;border:.5px solid #0000001a;border-radius:18px;outline:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .35s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 16px #00000014,0 1px 3px #0000000a,inset 0 1px #fff9}.navbar-fullscreen-btn:hover{background:#ffffffe0;transform:scale(1.08)}.navbar-fullscreen-btn:active{transform:scale(.94)}.navbar-backdrop{z-index:99;-webkit-tap-highlight-color:transparent;background:0 0;position:fixed;inset:0}@media (width<=640px){.navbar{border-radius:27px;width:84px;padding:9px;bottom:108px;left:8px}.navbar-link{border-radius:18px;gap:4px;width:66px;height:66px;font-size:13px}.nav-icon{width:30px;height:30px}.navbar-toggle{border-radius:33px;width:60px;height:60px;bottom:24px;left:20px}:is(.app:has(.review-card-area) .navbar-toggle,.app:has(.review-card-area) .navbar){display:none}}.login-overlay{z-index:1100;-webkit-backdrop-filter:blur(40px)saturate(90%);background:#1c1c1e7a;justify-content:center;align-items:center;height:100dvh;padding:24px;animation:.18s ease-out login-overlay-in;display:flex;position:fixed;inset:0}.login-dialog{color:#1d1d1f;background:#f9f9fb;border:1px solid #0000001a;border-radius:24px;width:min(560px,100vw - 48px);max-height:calc(100dvh - 32px);animation:.26s cubic-bezier(.2,.8,.2,1) login-dialog-in;position:relative;overflow:hidden auto;box-shadow:0 32px 90px #00000047,0 10px 28px #00000021,inset 0 1px #ffffffe6}.login-dialog.is-login{padding-bottom:28px}.login-close-btn,.login-password-toggle,.login-username-clear{color:#6e6e73;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.login-close-btn{z-index:1;background:#76768024;border-radius:50%;width:36px;height:36px;transition:background .16s,color .16s,transform .16s;position:absolute;top:18px;right:18px}.login-close-btn:hover{color:#1d1d1f;background:#7676803d}.login-close-btn:active{transform:scale(.92)}.login-intro{text-align:left;background:#efeff1;border-bottom:1px solid #00000012;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:18px;margin:0;padding:30px 76px 26px 38px;display:grid}.login-mark{color:#fff;background:#3a3a3c;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 8px 18px #0000002e}.login-mark svg{width:31px;height:31px}.login-header h2{color:#1d1d1f;letter-spacing:0;align-items:center;gap:9px;margin:0;font-size:33px;font-weight:650;line-height:1.15;display:flex}.login-title-icon{stroke-width:2px;flex:none;width:27px;height:27px}.login-header p{color:#6e6e73;margin:7px 0 0;font-size:20px;line-height:1.35}.login-form{margin:26px 38px 0}.login-fields{background:#fff;border:1px solid #d2d2d7;border-radius:16px;transition:border-color .16s,box-shadow .16s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.login-fields:focus-within{border-color:#6e6e73;box-shadow:0 0 0 4px #00000014,0 2px 8px #0000000a}.login-field{color:#6e6e73;grid-template-columns:28px minmax(0,1fr) 40px;align-items:center;min-height:62px;padding:0 14px 0 18px;display:grid}.login-field>svg{width:22px;height:22px}.login-field input{color:#1d1d1f;width:100%;min-width:0;height:60px;font:inherit;letter-spacing:0;background:0 0;border:0;outline:0;padding:0 14px;font-size:23px}.login-field input::placeholder{color:#98989d;opacity:1}.login-field-divider{background:#e5e5ea;height:1px;margin-left:60px}.login-password-toggle,.login-username-clear{border-radius:10px;width:40px;height:44px}.login-username-clear{border-radius:50%;width:40px;height:40px}.login-password-toggle svg,.login-username-clear svg{width:21px;height:21px}.login-password-toggle:hover,.login-username-clear:hover{color:#1d1d1f;background:#f2f2f4}.login-error{color:#3a3a3c;visibility:hidden;opacity:0;justify-content:center;align-items:center;gap:7px;height:30px;margin:6px 0 0;font-size:16px;line-height:1.3;transition:opacity .16s;display:flex}.login-error.is-visible{visibility:visible;opacity:1}.login-error.is-visible>svg{color:#ff3b30;flex:none}.login-submit-btn{color:#fff;letter-spacing:0;cursor:pointer;background:#3a3a3c;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;width:50%;height:54px;margin:5px auto 0;font-size:22px;font-weight:600;transition:background .16s,transform .12s,box-shadow .16s;display:flex;box-shadow:0 6px 14px #00000029}.login-submit-btn:hover:not(:disabled){background:#1d1d1f;box-shadow:0 8px 18px #00000038}.login-submit-btn:active:not(:disabled){transform:scale(.985)}.login-submit-btn:disabled{color:#8e8e93;box-shadow:none;cursor:default;background:#e5e5ea}.login-spinner{animation:.8s linear infinite login-spin}.login-logout-btn{color:#5f5f64;cursor:pointer;background:#efeff1;border:1px solid #dedee2;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:calc(50% - 38px);min-height:44px;margin:20px auto 28px;padding:0 14px;font-size:16px;font-weight:500;transition:background .16s,color .16s,border-color .16s;display:flex}.login-logout-btn:hover{color:#1d1d1f;background:#e5e5ea;border-color:#c7c7cc}@keyframes login-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes login-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes login-spin{to{transform:rotate(360deg)}}@media (width<=520px){.login-overlay{justify-content:center;align-items:center;padding:16px}.login-dialog{border-radius:22px;width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);animation-name:login-dialog-in}.login-dialog.is-login{padding-bottom:20px}.login-close-btn{top:16px;right:16px}.login-intro{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:24px 66px 22px 24px}.login-mark{border-radius:16px;width:54px;height:54px}.login-mark svg{width:27px;height:27px}.login-header h2{gap:7px;font-size:29px}.login-title-icon{width:24px;height:24px}.login-header p{margin-top:5px;font-size:19px}.login-form{margin:20px 24px 0}.login-field{grid-template-columns:26px minmax(0,1fr) 38px;min-height:60px;padding:0 12px 0 16px}.login-field input{height:58px;padding:0 12px;font-size:22px}.login-field-divider{margin-left:52px}.login-password-toggle,.login-username-clear{width:38px}.login-username-clear{height:38px}.login-submit-btn{height:50px;margin-top:5px;font-size:21px}.login-logout-btn{gap:4px;width:calc(50% - 24px);margin-top:16px;margin-bottom:20px;padding-left:0;padding-right:0;font-size:12px}}@media (prefers-reduced-motion:reduce){.login-overlay,.login-dialog,.login-spinner{animation:none}}.sentence-tts-row{align-items:center;gap:8px;display:inline-flex}.tts-btn{box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#4f46e5;background:#fff;border:1px solid;border-radius:22px;outline:none;flex:none;align-self:flex-start;align-items:center;gap:6px;min-height:30px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;line-height:1;transition:background .2s,border-color .2s,color .2s,opacity .16s;display:inline-flex}.tts-btn:disabled{cursor:default;opacity:.55}.tts-btn:focus-visible{outline-offset:2px;outline:2px solid #a5b4fc}.tts-btn:hover:not(:disabled):not(.is-playing){background:#eef2ff}.tts-label{color:inherit;flex-shrink:0;font-size:13px;font-weight:600}.tts-sub{color:inherit;flex-shrink:0;font-family:Lucida Grande,Segoe UI,Arial Unicode MS,sans-serif;font-size:14px;font-weight:500}.tts-uk,.tts-youdao{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.tts-uk:hover:not(:disabled):not(.is-playing),.tts-youdao:hover:not(:disabled):not(.is-playing){background:#e0e7ff}.tts-us{color:#0d9488;background:#f0fdfa;border-color:#99f6e4}.tts-us:hover:not(:disabled):not(.is-playing){background:#ccfbf1}.tts-edge{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.tts-edge:hover:not(:disabled):not(.is-playing){background:#d1fae5}.tts-google{color:#d97706;background:#fffbeb;border-color:#fde68a}.tts-google:hover:not(:disabled):not(.is-playing){background:#fef3c7}.tts-uk.is-playing,.tts-youdao.is-playing{color:#fff;background:#4f46e5;border-color:#4f46e5}.tts-us.is-playing{color:#fff;background:#0d9488;border-color:#0d9488}.tts-edge.is-playing{color:#fff;background:#059669;border-color:#059669}.tts-google.is-playing{color:#fff;background:#d97706;border-color:#d97706}.tts-btn.is-loading{opacity:.7;cursor:progress}.tts-btn.is-shaking{color:#dc2626;background:#fef2f2;border-color:#fca5a5;animation:.5s ease-in-out tts-shake}@keyframes tts-shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}.pron-wave-bar{transform-box:fill-box;transform-origin:50%}.pron-wave-bar.is-playing{animation:.9s ease-in-out infinite pron-wave-jump}@keyframes pron-wave-jump{0%,to{transform:scaleY(.45)}25%{transform:scaleY(1)}50%{transform:scaleY(.6)}75%{transform:scaleY(.95)}}.word-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow var(--transition);margin-bottom:16px;padding:24px}.word-card:hover{box-shadow:var(--shadow-lg)}.word-card.compact{box-shadow:none;background:0 0;margin-bottom:0;padding:0}.word-card.compact.review-compact .word-section{margin-bottom:6px}.word-card.compact.review-compact .word-section h3{margin-bottom:3px;padding-bottom:2px;font-size:16px}.word-card.compact.review-compact .definition-item{margin-bottom:2px;font-size:18px;line-height:1.5}.word-card.compact.review-compact .pos{font-size:17px}.word-card.compact.review-compact .word-forms{gap:5px}.word-card.compact.review-compact .word-form-item{padding:2px 8px;font-size:17px}.word-card.compact.review-compact .phrase-item{margin-bottom:2px;font-size:18px}.word-card.compact.review-compact .example-item{margin-bottom:4px;padding-left:6px}.word-card.compact.review-compact .example-source{margin-bottom:1px;font-size:18px}.word-card.compact.review-compact .example-translation{font-size:17px}.word-card.compact.review-compact .exam-tags.inline{margin-left:8px}.word-card.compact.review-compact .exam-tag{padding:1px 7px;font-size:16px}@media (width<=640px){.word-card.compact.review-compact .definition-item,.word-card.compact.review-compact .example-source{font-size:17px}.word-card.compact.review-compact .example-translation{font-size:16px}}.word-card-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.word-card-header .collect-btn{margin-left:auto}.word-title-group{flex-direction:column;gap:2px;display:flex}.word-title{color:var(--primary-dark);text-transform:lowercase;font-size:38px;font-weight:700}.word-syllable{color:var(--text-secondary);letter-spacing:1px;margin:0;font-size:16px;font-weight:400;line-height:1.4}.word-syllable .stressed{color:#f59e0b;font-weight:600}.exam-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.exam-tags.inline{vertical-align:middle;letter-spacing:0;color:#86868b;text-transform:none;border-bottom:none;margin:0 0 0 12px;padding-bottom:0;font-size:12px;font-weight:400;display:inline-flex}.exam-tags.inline .exam-tag{text-transform:none;letter-spacing:0;font-weight:500}.exam-tag{color:#6e6e73;background:#f0f0f2;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500}.word-section{margin-bottom:12px}.word-section:last-child{margin-bottom:0}.word-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:3px;font-size:17px;font-weight:600}.definition-item{margin-bottom:3px;font-size:19px;line-height:1.6}.pos{color:var(--text-secondary);margin-right:4px;font-size:18px;font-style:italic}.word-forms{flex-wrap:wrap;gap:8px;display:flex}.word-form-item{border-radius:var(--radius-sm);background:#f1f5f9;padding:4px 10px;font-size:18px}.phrase-item{margin-bottom:4px;font-size:19px}.example-item{border-left:2px solid var(--border);margin-bottom:8px;padding-left:8px}.example-source{color:var(--text);margin-bottom:2px;font-size:19px}.example-translation{color:var(--text-secondary);font-size:18px}.pro-wrap{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.collect-btn{color:var(--warning);border:1px solid var(--warning);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:20px;padding:4px 12px;font-size:14px;font-weight:500}.collect-btn:hover,.collect-btn.collected{background:var(--warning);color:#fff}.home-page{flex-direction:column;max-width:960px;height:100%;margin:0 auto;padding:48px 0 64px;transition:max-width .45s cubic-bezier(.4,0,.2,1),padding .45s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-y:auto}.home-page.has-results{max-width:none;padding:0;overflow:hidden}.hero-section{flex-direction:column;align-items:center;gap:22px;width:100%;padding:0 20px 22px;transition:all .45s cubic-bezier(.4,0,.2,1);display:flex}.home-page.has-results .hero-section{flex-shrink:0;gap:6px;padding:6px 16px 4px}.brand-mark{-webkit-backdrop-filter:blur(20px);opacity:1;background:#ffffff8c;border:1px solid #0000000f;border-radius:27px;justify-self:center;align-items:center;gap:15px;width:fit-content;max-width:100%;max-height:120px;margin:0;padding:12px 36px 12px 30px;transition:all .5s cubic-bezier(.22,.61,.36,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000a,0 1px 3px #00000008,inset 0 1px #ffffffb3}.brand-mark:hover{border-color:#0000001a;transform:translateY(-1px);box-shadow:0 8px 32px #00000012,0 2px 6px #0000000a,inset 0 1px #fffc}.brand-mark.focused{transform:scale(1.04)}.home-page.has-results .brand-mark{opacity:0;max-height:0;margin:0;padding:0;transform:scale(.8)}.brand-icon{flex-shrink:0;width:54px;height:45px;position:relative}.brand-icon-luna{z-index:2;background:linear-gradient(135deg,#4f46e5 0%,#818cf8 100%);border-radius:50%;width:33px;height:33px;transition:transform .4s cubic-bezier(.22,.61,.36,1);position:absolute;top:6px;left:0;box-shadow:0 2px 6px #4f46e533,inset 0 1px #ffffff59}.brand-icon-sol{opacity:.88;z-index:1;background:linear-gradient(135deg,#f59e0b 0%,#f97316 100%);border-radius:50%;width:33px;height:33px;transition:transform .4s cubic-bezier(.22,.61,.36,1);position:absolute;top:6px;left:21px;box-shadow:0 2px 6px #f59e0b33,inset 0 1px #ffffff59}.brand-mark:hover .brand-icon-luna{transform:translate(-2px)}.brand-mark:hover .brand-icon-sol{transform:translate(2px)}.brand-text{letter-spacing:-.02em;align-items:baseline;gap:6px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:36px;font-style:normal;font-weight:600;line-height:1;display:flex}.brand-luna,.brand-sol{display:inline;position:static}.brand-luna{background:linear-gradient(135deg,#4f46e5 0%,#6366f1 40%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-sol{background:linear-gradient(135deg,#f59e0b 0%,#f97316 50%,#fbbf24 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-luna:before,.brand-luna:after,.brand-sol:before,.brand-sol:after,.brand-mark:after{content:none!important}.home-quiet-space{min-height:220px}.home-page.has-results .home-quiet-space{display:none}.home-page .search-bar{width:100%;max-width:640px;margin:0 auto;transition:max-width .45s cubic-bezier(.4,0,.2,1);position:relative}.home-page.has-results .search-bar{max-width:880px;margin:0 auto}.home-page .search-input-wrapper{width:100%;display:block;position:relative}.home-page .search-input-box{position:relative}.home-page .search-input{color:#172033;background:#fff;border:1px solid #94a3b82e;border-radius:999px;width:100%;height:60px;padding:0 72px 0 32px;font-size:28px;line-height:normal;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 16px #0f172a0f,inset 0 1px #ffffffd1}.home-page .search-input:hover{border-color:#64748b3d}.home-page .search-input:focus{border-color:#5d70886b;box-shadow:0 0 0 4px #7eac7524,inset 0 1px #ffffffdb}.home-page .search-input::placeholder{color:#a1a9b5;font-size:20px;line-height:normal}.home-page .search-btn{color:#657386;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.home-page .search-btn:before{content:"";border-radius:50%;position:absolute;inset:-8px}.home-page .search-btn svg{z-index:1;position:relative}.home-page .search-btn:hover{color:#4f5d70;background:#eef2f6}.home-page .search-btn:active{background:#e2e8f0}.home-page .search-clear-btn{color:#64748b;cursor:pointer;z-index:2;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;right:70px;transform:translateY(-50%)}.home-page .search-clear-btn:hover{color:#334155;background:#cbd5e1}.results-section{max-width:640px;margin:18px auto 0;animation:.35s both resultFadeIn}@keyframes resultFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-page.has-results .results-section{flex:1;width:100%;max-width:880px;min-height:0;margin:0 auto;padding:4px 16px 12px;overflow-y:auto}.home-page .word-card,.sentence-card{border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 10px 28px #0f172a12}.home-page .word-card{padding:4.4px 24px 22px}.sentence-card{background:#fff;overflow:hidden}.sentence-card-header{flex-direction:column;align-items:stretch;gap:14px;padding:22px 24px;display:flex}.sentence-text-block{min-width:0}.sentence-text{color:#172033;word-break:break-word;margin:0;font-size:22px;font-weight:680;line-height:1.45}.sentence-translation{color:#5f6f86;word-break:break-word;margin:0;padding-top:4px;font-size:15px;line-height:1.55}.sentence-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.sentence-actions .collect-btn{margin-left:auto}.home-page .loading{text-align:center;color:#64748b;padding:18px 0}.home-page .error-message{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:14px 0 0;display:flex}.retry-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:7px 16px;font-size:14px;font-weight:620}.retry-btn:hover:not(:disabled){background:#4338ca}.retry-btn:disabled{opacity:.6;cursor:not-allowed}.suggestions-dropdown{z-index:1000;transform-origin:top;background:#fff;border:1px solid #dbe3ef;border-radius:8px;max-height:360px;padding:6px 0;animation:.18s ease-out both dropdownFadeIn;position:absolute;top:calc(100% + 10px);left:0;right:74px;overflow-y:auto;box-shadow:0 16px 32px #0f172a1f}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)scaleY(.96)}to{opacity:1;transform:translateY(0)scaleY(1)}}.history-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:2px;padding:6px 14px 8px;display:flex}.history-title{color:#94a3b8;letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:620}.history-item{padding-right:8px}.history-icon{color:#94a3b8!important}.history-item.selected .history-icon{color:#4f46e5!important}.history-word{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.history-remove-btn{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.suggestion-item:hover .history-remove-btn,.suggestion-item.selected .history-remove-btn{opacity:1}.history-remove-btn:hover{color:#ef4444;background:#fee2e2}.suggestion-item{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;min-height:42px;padding:8px 14px;transition:background .15s;display:flex}.suggestion-phonetic .phonetic-accent{color:#64748b;background:#e7edf5;border-radius:3px;margin:0 3px 0 0;padding:1px 4px;font-size:10px;font-style:normal}@media (width<=760px){.home-page{padding:32px 0 44px}.brand-mark{gap:4px;font-size:34px;transform:none}.home-page .search-btn{width:52px}.home-page.has-results .search-btn{width:34px;height:34px}.home-page.has-results .search-input{height:36px;padding:0 32px 0 14px;font-size:15px}.home-page.has-results .results-section{padding:4px 10px 8px}.suggestions-dropdown{right:64px}.sentence-card-header{grid-template-columns:1fr}.sentence-actions{justify-content:flex-start}}.collect-popover{z-index:1000;-webkit-backdrop-filter:blur(24px)saturate(180%);background:#ffffffeb;border:.5px solid #00000014;border-radius:12px;min-width:160px;max-width:220px;padding:6px;animation:.15s ease-out collectPopoverIn;position:fixed;box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f}@keyframes collectPopoverIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.collect-popover-header{color:#86868b;letter-spacing:.02em;padding:4px 10px 2px;font-size:11px;font-weight:600}.collect-popover-list{flex-direction:column;gap:2px;display:flex}.collect-popover-empty{text-align:center;color:#94a3b8;margin:0;padding:12px 8px;font-size:13px}.collect-popover-item{color:#1d1d1f;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:460;transition:background .1s;display:flex}.collect-popover-item:hover{background:#0000000d}.collect-popover-item:active{background:#0000001a}.collect-popover-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.collect-popover-check{color:#f59e0b;flex-shrink:0;font-size:14px;font-weight:600}.move-to-book-wrap{flex:0 auto;position:relative}.drawer-move-btn{color:#334155;letter-spacing:.02em;cursor:pointer;background:#f0f0f2;border:none;border-radius:999px;align-items:center;gap:4px;padding:9px 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;font-weight:590;transition:all .2s;display:inline-flex}.drawer-move-btn:hover{background:#e5e5ea}.move-book-list{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:180px;padding:4px;animation:.15s menuIn;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 16px #0000001a}.move-book-item{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.move-book-item:hover{background:#f1f5f9}.wordbook-title{color:#26315f;letter-spacing:0;text-align:center;text-shadow:0 8px 18px #26315f1a;width:fit-content;max-width:100%;margin:0 auto 12px;padding:0 4px 6px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-style:italic;font-weight:740;line-height:1;position:relative}.wordbook-title:after{content:"";background:linear-gradient(90deg,#4f46e500,#4f46e559,#f59e0b57,#f59e0b00);border-radius:999px;height:2px;position:absolute;bottom:0;left:12px;right:10px}.wordbook-stats{margin-bottom:10px;display:block;position:relative}.wordbook-search .search-bar{width:100%;max-width:100%;margin:0;position:relative}.wordbook-search .search-input-wrapper{width:100%;display:block;position:relative}.search-input-wrap{flex:1;display:flex;position:relative}.search-input-wrap .search-input{width:100%}.search-clear-btn{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;right:56px;transform:translateY(-50%)}.search-clear-btn:hover{color:#334155;background:#cbd5e1}.wordbook-search .search-input{color:#172033;background:#fff;border:1px solid #94a3b82e;border-radius:999px;width:100%;height:48px;padding:0 58px 0 25px;font-size:20px;box-shadow:0 4px 16px #0f172a0f,inset 0 1px #ffffffd1}.wordbook-search .search-input:hover{border-color:#64748b3d}.wordbook-search .search-input:focus{border-color:#5d70886b;box-shadow:0 0 0 4px #7eac7524,inset 0 1px #ffffffdb}.wordbook-search .search-input::placeholder{color:#a1a9b5;font-size:15px}.wordbook-search .search-btn{color:#657386;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.wordbook-search .search-btn:before{content:"";border-radius:50%;position:absolute;inset:-8px}.wordbook-search .search-btn svg{z-index:1;position:relative}.wordbook-search .search-btn:hover{color:#4f5d70;background:#eef2f6}.wordbook-search .search-btn:active{background:#e2e8f0}.wordbook-stats{color:var(--text-secondary);text-align:left;align-items:center;gap:10px;margin-bottom:8px;padding:3px 0;font-size:14px;display:flex}.wordbook-stats>span{text-align:left;white-space:nowrap;margin-left:auto}.review-link{color:#1d1d1f;align-items:center;gap:5px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.review-link:hover{color:#6e6e73}.review-link svg{color:#86868b;flex-shrink:0;transition:color .15s,transform .15s}.review-link:hover svg{color:#6e6e73;transform:translateY(-1px)}.wordbook-stats-actions{align-items:center;gap:4px;display:flex}.action-menu{position:relative}.menu-trigger{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.menu-trigger:hover{color:var(--primary);background:#eef2f6}.menu-dropdown{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:max-content;min-width:110px;padding:4px;animation:.15s menuIn;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #00000014}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.menu-item{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:13px;transition:background .12s;display:flex}.menu-item:hover{background:#f1f5f9}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item svg{color:#94a3b8;flex-shrink:0}.import-toast{z-index:500;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;max-width:420px;padding:10px 16px;font-size:13px;animation:.25s ease-out toastSlideIn;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0f172a1f}.import-toast-text{flex:1;line-height:1.4}.import-toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;line-height:1;transition:background .12s,color .12s;display:flex}.import-toast-close:hover{color:#475569;background:#f1f5f9}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.wordbook-page{justify-content:center;height:100%;display:flex;overflow:hidden}.wordbook-left{flex-direction:column;flex-shrink:0;width:600px;height:100%;display:flex;overflow:hidden}.wordbook-header{flex-shrink:0;width:min(520px,100%);margin:0 auto 4px}.collection-list{flex-direction:column;flex:1;min-height:200px;padding:6px 0 10px;display:flex;overflow-y:auto}.type-filter{appearance:none;color:#1d1d1f;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2386868b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #e2e8f0;border-radius:8px;padding:5px 26px 5px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.type-filter:hover{border-color:#cbd5e1}.type-filter:focus{border-color:#94a3b8;outline:none;box-shadow:0 0 0 3px #94a3b826}.collection-row{cursor:default;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0cc;border-radius:6px;align-items:center;margin:0 6px 3px;padding:8px 12px;transition:background .15s,border-color .15s,box-shadow .2s,transform .2s cubic-bezier(.2,0,0,1);display:flex;position:relative;box-shadow:0 1px 2px #0f172a0a,inset 0 1px #ffffffb3}.collection-row:nth-child(2n){background:linear-gradient(#f8fafc 0%,#f1f5f9 100%)}.collection-row:hover{background:linear-gradient(#fff 0%,#f1f5f9 100%);border-color:#cbd5e1e6;transform:translateY(-2px);box-shadow:0 4px 10px #0f172a12,inset 0 1px #fffc}.collection-row.active{background:#0000000a;border-color:#0000001a;box-shadow:0 1px 2px #0000000a,inset 0 1px #fff9}.row-index{color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0;width:34px;font-size:12px}.row-text{color:var(--text,#1e293b);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:20px;font-weight:500;overflow:hidden}.row-phonetic{color:#94a3b8;letter-spacing:.02em;flex-shrink:0;margin-left:8px;margin-right:10px;font-family:Lucida Grande,Segoe UI,sans-serif;font-size:12px}.badge-stage{flex-shrink:0;justify-content:center;align-items:center;width:42px;margin-left:auto;display:inline-flex}.badge-new-text{color:#94a3b8;font-size:12px;font-weight:500}.delete-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;line-height:1;transition:all .15s;display:inline-flex}.delete-btn:hover{color:#ef4444;background:#fef2f2}.detail-drawer{background:#fff;border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;flex:auto;min-width:360px;max-width:760px;height:calc(100% - 16px);margin:8px 8px 8px 16px;padding:8px 26px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 8px 28px #00000014,0 2px 6px #0000000a}.drawer-empty{color:#94a3b8;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.drawer-empty-icon{color:#94a3b8;opacity:.35;justify-content:center;align-items:center;display:flex}.wordbook-spacer{min-width:0}.list-load-more,.list-end{text-align:center;color:#94a3b8;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:12px 0 16px;font-size:13px}.list-load-more{justify-content:center;align-items:center;gap:8px;display:flex}.list-load-more:before{content:"";border:2px solid #cbd5e1;border-top-color:#6366f1;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite listSpin}@keyframes listSpin{to{transform:rotate(360deg)}}.detail-drawer>*{flex-shrink:0}.detail-drawer .drawer-section{scrollbar-width:none;flex:auto;min-height:0;overflow-y:auto}.detail-drawer .drawer-section::-webkit-scrollbar{display:none}@keyframes drawerSlideIn{0%{opacity:0}to{opacity:1}}.drawer-close{color:#64748b;cursor:pointer;z-index:10;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .15s;display:none;position:absolute;top:16px;right:16px}.drawer-close:hover{background:#e2e8f0}.drawer-mobile-backdrop{display:none}.drawer-title{color:#1e293b;word-break:break-word;margin:0 0 2px;font-size:28px;font-weight:700;line-height:1.25}.drawer-syllable{color:#64748b;letter-spacing:.5px;margin:0 0 6px;font-size:14px;font-weight:400;line-height:1.3}.drawer-syllable .stressed{color:#f59e0b;font-weight:600}.drawer-audio-row{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;margin-bottom:4px;display:flex}.drawer-audio-row .drawer-syllable{flex-shrink:0;margin:0}.drawer-audio-row .drawer-star-btn{margin-left:auto}.drawer-audio-row .drawer-phonetic{margin:0}.drawer-phonetic{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.sentence-drawer-actions{flex-shrink:0;align-items:center;gap:8px;margin-top:12px;margin-bottom:12px;display:flex}.sentence-drawer-actions .drawer-star-btn{margin-left:auto}.drawer-section{margin-bottom:12px}.drawer-section h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.drawer-def,.drawer-trans{color:#334155;word-break:break-word;margin:0;font-size:14px;line-height:1.6}.drawer-edit-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:#000;border:none;border-radius:999px;flex:0 120px;padding:9px 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;font-weight:590;transition:transform .2s,box-shadow .25s,background .2s;box-shadow:0 2px 8px #00000026}.drawer-edit-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 12px #00000038}.drawer-edit-row{flex-direction:column;gap:8px;display:flex}.drawer-edit-input{border-radius:var(--radius-sm,8px);color:#334155;resize:vertical;border:1px solid #e2e8f0;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:15px;line-height:1.6;transition:border-color .15s}.drawer-edit-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.drawer-edit-actions{justify-content:flex-end;gap:8px;display:flex}.drawer-save-btn,.drawer-cancel-btn{border-radius:var(--radius-sm,6px);cursor:pointer;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.drawer-save-btn{background:var(--primary);color:#fff;border:none}.drawer-save-btn:hover{background:var(--primary-dark)}.drawer-cancel-btn{color:#64748b;background:#fff;border:1px solid #e2e8f0}.drawer-cancel-btn:hover{background:#f1f5f9}.drawer-meta{color:#94a3b8;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:flex-start;gap:4px 14px;margin-top:4px;padding-top:8px;font-size:12px;display:flex}.drawer-meta.inline{color:#94a3b8;border:none;border-left:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:12px;margin:0 0 0 auto;padding:0 0 0 14px;font-size:12px;display:inline-flex}.drawer-footer{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;margin-top:10px;padding-top:10px;display:flex}.drawer-star-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex}.drawer-star-btn:hover{background:#f59e0b1a;transform:scale(1.12)}.drawer-star-btn:active{transform:scale(.95)}.empty-state{text-align:center;color:#94a3b8;padding:60px 20px;font-size:15px}.go-search{background:var(--primary);color:#fff;border-radius:var(--radius-sm);margin-top:8px;padding:8px 20px;font-weight:500;text-decoration:none;display:inline-block}@media (width<=1024px){.wordbook-page{flex-direction:column}.wordbook-left{width:100%;height:auto;max-height:50vh}.detail-drawer{border-radius:16px;flex:none;width:100%;min-width:0;max-width:100%;height:auto;margin:8px 0;box-shadow:0 1px 2px #0000000a,0 6px 18px #00000012}.wordbook-spacer{display:none}}@media (width<=640px){.wordbook-page{justify-content:flex-start}.wordbook-left{flex:1;max-height:none}.wordbook-page{padding-top:50px}.detail-drawer{display:none}.detail-drawer.is-open{z-index:200;border-radius:16px;width:calc(100vw - 32px);max-width:440px;max-height:calc(100vh - 80px);margin:0;animation:.2s ease-out drawerSlideIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.drawer-mobile-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:199;background:#0f172a66;animation:.15s ease-out fadeIn;display:block;position:fixed;inset:0}.drawer-close{display:flex}.drawer-title{padding-right:40px}.row-index{width:28px;font-size:12px}.row-text{font-size:17px}.badge-stage{flex-shrink:0;width:32px}}.wordbook-search{position:relative}.suggestions-dropdown{z-index:1000;background:#fff;border:1px solid #dbe3ef;border-radius:16px;max-height:360px;padding:6px 0;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #0f172a21}.suggestion-item{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:10px 16px;transition:background .15s;display:flex}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background:#eef2ff}.suggestion-icon{color:#94a3b8;flex-shrink:0}.suggestion-item.selected .suggestion-icon{color:var(--primary)}.suggestion-word{color:var(--text);text-align:left;flex-shrink:0;min-width:80px;font-size:15px;font-weight:600}.suggestion-phonetic{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:120px;font-family:Segoe UI,Lucida Sans Unicode,sans-serif;font-size:12px;font-style:italic;overflow:hidden}.suggestion-meaning{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.suggestion-star{color:#f59e0b;flex-shrink:0;margin-left:auto}.suggestion-sentence .suggestion-word{text-overflow:ellipsis;white-space:nowrap;min-width:100px;max-width:240px;overflow:hidden}.confirm-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:16px;width:360px;max-width:90vw;padding:28px 32px;animation:.2s ease-out confirmSlideUp;box-shadow:0 25px 60px #00000026}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-text{color:#1e293b;margin:0 0 6px;font-size:16px;line-height:1.6}.confirm-text strong{color:#0f172a}.confirm-hint{color:#94a3b8;margin:0 0 24px;font-size:13px}.confirm-actions{justify-content:center;gap:10px;display:flex}.confirm-cancel,.confirm-delete{letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;padding:10px 48px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:590;transition:all .25s cubic-bezier(.22,.61,.36,1)}.confirm-cancel{color:#1d1d1f;background:#f0f0f2}.confirm-cancel:hover{background:#e5e5ea}.confirm-delete{color:#fff;background:#000}.confirm-delete:hover{background:#1a1a1a}.row-drag-handle{color:#cbd5e1;cursor:grab;-webkit-user-select:none;user-select:none;opacity:.55;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:34px;margin-left:-8px;margin-right:4px;padding:0 6px;line-height:0;transition:opacity .15s,color .15s;display:inline-flex}.collection-row:hover .row-drag-handle{opacity:1;color:#94a3b8}.row-drag-handle:active{cursor:grabbing}.collection-list.is-dragging .collection-row{will-change:transform;transition:transform .18s cubic-bezier(.2,0,0,1)}.collection-list.is-dragging .collection-row:hover{background:linear-gradient(#fff 0%,#f8fafc 100%);border-color:#e2e8f0cc;transform:none;box-shadow:0 1px 2px #0f172a0a,inset 0 1px #ffffffb3}.collection-row[draggable=false] .row-drag-handle{opacity:.2;cursor:default}.collection-row.dragging{opacity:.45;box-shadow:none;background:#f1f5f9;border:1px dashed #c7d2fe;transform:none}.collection-row.dragging .row-index,.collection-row.dragging .row-drag-handle,.collection-row.dragging .row-text,.collection-row.dragging .row-phonetic,.collection-row.dragging .badge-stage{visibility:hidden}.collection-row.drag-overlay{opacity:.96;cursor:grabbing;background:#fff;border:1px solid #6366f14d;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 8px 24px -4px #0000002e}.row-drag-handle.disabled{opacity:.25;cursor:not-allowed}.booklist-page{height:100%;padding:8px 0;overflow-y:auto}.booklist-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.booklist-header h1{color:#1e293b;margin:0;font-size:26px;font-weight:700}.booklist-create-btn{background:var(--primary);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 20px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:590;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #4f46e533}.booklist-create-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.booklist-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.book-card{cursor:pointer;background:#fff;border:1px solid #94a3b81f;border-top:3px solid #6366f1;border-radius:16px;padding:20px;transition:all .2s cubic-bezier(.2,0,0,1);position:relative;box-shadow:0 1px 3px #0f172a0a,0 4px 12px #0f172a0f}.book-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px #0f172a0f,0 8px 20px #0f172a1a}.book-card:active{transform:translateY(-1px)}.book-card-cover{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.book-card-emoji{justify-content:center;align-items:center;display:flex;color:#1d1d1f!important}.book-card-menu-wrap{position:relative}.book-card-menu-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;transition:all .15s;display:flex}.book-card-menu-btn:hover{color:#475569;background:#f1f5f9}.book-card-menu{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:120px;padding:4px;animation:.15s menuIn;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #00000014}.book-card-menu button{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:13px;transition:background .12s;display:flex}.book-card-menu button:hover{background:#f1f5f9}.book-card-menu button.danger{color:#ef4444}.book-card-menu button.danger:hover{background:#fef2f2}.book-card-body{margin-bottom:12px}.book-card-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:18px;font-weight:600;overflow:hidden}.book-card-desc{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.book-card-stats{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.stat-item{color:#64748b;align-items:center;gap:4px;font-size:12px;display:inline-flex}.stat-due{color:#d97706;background:#fef3c7;border-radius:999px;align-items:center;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.stat-mastered{color:#059669;background:#d1fae5;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.modal-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:#fff;border-radius:16px;width:420px;max-width:90vw;padding:28px 32px;animation:.2s ease-out confirmSlideUp;box-shadow:0 25px 60px #00000026}.modal-dialog h2{color:#1e293b;margin:0 0 16px;font-size:20px;font-weight:700}.modal-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.modal-input{color:#334155;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-option{cursor:pointer;color:#64748b;background:#f8fafc;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.emoji-option:hover{color:#1d1d1f;background:#f0f0f2}.emoji-option.selected{color:#1d1d1f;background:#f0f0f2;border-color:#1d1d1f}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-cancel,.modal-save{letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;padding:10px 28px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:590;transition:all .25s cubic-bezier(.22,.61,.36,1)}.modal-cancel{color:#1d1d1f;background:#f0f0f2}.modal-cancel:hover{background:#e5e5ea}.modal-save{color:#fff;background:#000}.modal-save:hover{background:#1a1a1a}.modal-save:disabled{opacity:.4;cursor:not-allowed}.book-selector{display:inline-flex;position:relative}.book-selector-trigger{cursor:pointer;letter-spacing:-.01em;color:#1d1d1f;white-space:nowrap;width:130px;height:25px;box-shadow:none;background:#0000000a;border:none;border-radius:6px;outline:none;align-items:center;gap:5px;padding:0 10px 0 6px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;font-weight:400;transition:background .2s;display:inline-flex}.book-selector-trigger:focus,.book-selector-trigger:focus-visible{box-shadow:none;border:none;outline:none}.book-selector-trigger:hover{background:#00000014}.book-selector-trigger:active{background:#0000001f}.selector-emoji{flex-shrink:0;align-items:center;display:inline-flex}.selector-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;flex:1;min-width:0;font-weight:400;overflow:hidden}.selector-arrow{color:#86868b;flex-shrink:0;transition:transform .25s cubic-bezier(.22,.61,.36,1)}.selector-arrow.open{transform:rotate(180deg)}.book-selector-dropdown{z-index:100;background:#fff;border:.5px solid #00000014;border-radius:16px;padding:6px;position:fixed;box-shadow:0 0 0 .5px #0000000a,0 4px 16px #00000014,0 12px 40px #0000001a}@keyframes appleDropdownIn{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.book-selector-item{color:#1d1d1f;letter-spacing:-.01em;cursor:pointer;text-align:left;width:100%;height:36px;box-shadow:none;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:8px;padding:0 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:400;transition:background .12s;display:flex}.book-selector-item:hover{background:#0000000d}.book-selector-item:active{background:#0000001a}.book-selector-item.active{color:#1d1d1f;box-shadow:none;background:#0000000f;border-bottom:none;outline:none;font-weight:500;text-decoration:none}.book-selector-item.active:focus,.book-selector-item.active:focus-visible{box-shadow:none;border-bottom:none;outline:none;text-decoration:none}.selector-due{color:#ff9500;letter-spacing:.01em;background:#ff950026;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:590;display:inline-flex}.selector-meta{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.selector-count{color:#3a3a3c;font-size:13px;font-weight:500}.selector-check{color:#1d1d1f;flex-shrink:0;margin-left:2px}.book-selector-divider{background:#00000014;height:1px;margin:4px 6px}.book-selector-add-btn{color:#1d1d1f;font-weight:500}.book-selector-add-btn:hover{background:#0000000d}.book-selector-add-btn:active{background:#0000001a}.review-loading{flex:1;justify-content:center;align-items:center;display:flex}.review-page{flex-direction:column;height:100%;display:flex}.review-topbar{flex-shrink:0;justify-content:space-between;align-items:center;min-height:32px;padding:0 4px 6px;display:flex}.review-topbar-left{align-items:baseline;gap:10px;margin-left:108px;display:flex}.review-exit-btn{color:#86868b;cursor:pointer;background:0 0;border:1px solid #d2d2d7;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:2px 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.review-exit-btn:hover{color:#1d1d1f;background:#0000000a;border-color:#86868b}.review-exit-btn:active{background:#00000014}.review-topbar-right{align-items:center;gap:12px;padding-right:40px;display:flex}.review-book-filter-wrap{display:inline-flex;position:relative}.review-book-filter-trigger{letter-spacing:-.01em;color:#1d1d1f;cursor:pointer;width:130px;height:32px;box-shadow:none;background:#0000000a;border:none;border-radius:999px;outline:none;align-items:center;gap:6px;padding:0 12px 0 14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:400;transition:background .2s;display:inline-flex}.review-book-filter-trigger:hover{background:#00000014}.review-book-filter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:400;overflow:hidden}.review-book-filter-arrow{flex-shrink:0;transition:transform .25s cubic-bezier(.22,.61,.36,1)}.review-book-filter-arrow.open{transform:rotate(180deg)}.review-book-filter-dropdown{z-index:100;background:#fff;border:.5px solid #00000014;border-radius:16px;min-width:180px;padding:6px;animation:.22s cubic-bezier(.22,.61,.36,1) appleDropdownIn;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 0 0 .5px #0000000a,0 4px 16px #00000014,0 12px 40px #0000001a}.review-book-filter-item{color:#1d1d1f;letter-spacing:-.01em;cursor:pointer;text-align:left;width:100%;height:36px;box-shadow:none;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:8px;margin:3px 0;padding:0 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:400;transition:background .12s;display:flex}.review-book-filter-item:hover{background:#0000000d}.review-book-filter-item.active{background:#0000000f;font-weight:500}.review-book-filter-item:active{background:#0000001a}.review-book-filter-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.review-book-filter-item-due{color:#3a3a3c;flex-shrink:0;margin-left:auto;font-size:12px;font-weight:500;position:relative}.review-book-filter-item-dot{background:#ef4444;border-radius:50%;width:5px;height:5px;position:absolute;top:-1px;right:-6px}.review-title-topbar{color:#1e293b;margin:0;font-size:15px;font-weight:700;line-height:1}.review-stats{color:#94a3b8;white-space:nowrap;font-size:12px;font-weight:500}.review-live-count{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.auto-play-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:#94a3b8;flex-shrink:0;align-items:center;gap:8px;font-size:12px;transition:color .2s;display:inline-flex}.auto-play-toggle:hover{color:#64748b}.auto-play-toggle input{display:none}.toggle-slider{background:#d1d5db;border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background .25s,box-shadow .25s;position:relative}.auto-play-toggle input:checked+.toggle-slider{background:#22c55e}.toggle-icon{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .28s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:2px;transform:translateY(-50%);box-shadow:0 1px 3px #0f172a33}.auto-play-toggle input:checked+.toggle-slider .toggle-icon{left:18px}.toggle-label{white-space:nowrap;font-weight:600}.toggle-slider-purple{background:#d1d5db}.auto-play-toggle input:checked+.toggle-slider-purple{background:#7c3aed}.review-card-area{flex-direction:column;flex:1;align-items:stretch;gap:4px;min-height:0;padding-left:108px;padding-right:28px;display:flex}.review-card-row{flex-direction:row;flex:1;gap:10px;width:100%;min-height:0;margin:0 auto;display:flex}.review-card{background:linear-gradient(#ffffffe6 0%,#fafafaf2 100%);border:1px solid #00000026;border-radius:24px;flex-direction:column;flex:1;min-height:0;animation:.4s cubic-bezier(.2,.8,.2,1) backwards cardDealIn;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a,0 8px 32px #0000000f,inset 0 1px #ffffffb3}.review-card:hover{box-shadow:0 4px 16px #0000000f,0 12px 40px #00000014,inset 0 1px #fffc}@keyframes cardDealIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.review-card-top{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;min-height:0;padding:18px 32px 40px;display:flex;position:relative}.review-card-top.compact{flex:none;padding:18px 32px 6px}.review-card-top.compact .review-word-row{align-items:center}.review-word-row{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;display:flex}.review-word{color:#1e293b;word-break:break-word;letter-spacing:-.02em;margin:0;font-size:52px;font-weight:750;line-height:1.1}.review-word.sentence-word{font-size:52px;font-weight:700;line-height:1.25}.review-syllable{color:#94a3b8;letter-spacing:.04em;margin:0;font-size:16px;line-height:1.5}.review-syllable .stressed{color:#e2a30a;font-weight:700}.review-pron-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:10px 0 0;display:flex}.review-pron-row.sentence-audio{gap:8px;margin-top:8px}.first-pass-indicator{color:#86868b;background:#34c7590f;border:1px solid #34c7591f;border-radius:8px;justify-content:center;align-items:center;gap:3px;margin:0 0 6px;padding:4px 8px;font-size:12px;font-weight:500;transition:color .3s;display:flex}.first-pass-indicator svg{flex-shrink:0;transition:stroke .3s}.review-center-controls{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.circular-countdown{opacity:0;flex-shrink:0;width:48px;height:48px;transition:opacity .2s;transform:rotate(-90deg)}.circular-countdown.counting{opacity:1}.circular-countdown-track{fill:none;stroke:#e2e8f0;stroke-width:4px}.circular-countdown-progress{fill:none;stroke:#1d1d1f;stroke-width:4px;stroke-linecap:round;stroke-dasharray:126}.show-meaning-btn{color:#fff;letter-spacing:.04em;cursor:pointer;pointer-events:auto;background:#000;border:none;border-radius:999px;padding:16px 60px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;font-weight:590;transition:transform .2s,box-shadow .25s,background .2s;position:relative;box-shadow:0 4px 16px #0003}.show-meaning-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 6px 20px #00000047}.show-meaning-btn:active{background:#000;transform:translateY(0)scale(.98);box-shadow:0 2px 8px #0003}.review-meaning{text-align:left;flex:1;min-height:0;padding:0 24px 4px;animation:.25s both meaningFadeIn;overflow-y:auto}@keyframes meaningFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.review-meaning::-webkit-scrollbar{width:4px}.review-meaning::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.review-sentence-trans{justify-content:center;align-items:center;min-height:80px;padding:8px 0;display:flex}.sentence-trans-text{color:#334155;text-align:center;font-size:18px;line-height:1.7}.review-actions-side{flex-direction:column;flex-shrink:0;justify-content:center;gap:100px;width:120px;padding:10px 0;animation:.35s cubic-bezier(.2,.8,.2,1) both actionsSlideIn;display:flex}.review-actions-side.hidden{pointer-events:none;opacity:0;visibility:hidden;gap:0;width:0;min-width:0;margin:0;padding:0;overflow:hidden}@keyframes actionsSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.action-btn-side{letter-spacing:normal;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#1d1d1f;background:linear-gradient(#fff 0%,#f5f5f7 50%,#ebebed 100%);border:none;border-radius:28px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:142px;padding:14px 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;font-weight:590;transition:transform .22s cubic-bezier(.22,.61,.36,1),background .2s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 .5px 1px #0000001a,0 4px 12px #00000014,0 12px 32px #00000014,inset 0 1px #fffffff2,inset 0 -1px 1px #0000000f}.action-btn-side:hover{background:linear-gradient(#fcfcfd 0%,#f0f0f2 50%,#e4e4e8 100%);box-shadow:0 .5px 1px #0000001f,0 6px 16px #0000001a,0 16px 40px #0000001a,inset 0 1px #fffffff2,inset 0 -1px 1px #00000012}.action-btn-side:active{background:linear-gradient(#ebebed 0%,#e0e0e4 50%,#d8d8dc 100%);transition:transform .1s;transform:scale(.96);box-shadow:inset 0 2px 4px #0000001a,0 1px 4px #0000000d}.btn-icon-side{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex}.action-btn-side.pass-btn .btn-icon-side{background:linear-gradient(#5dcc63 0%,#34c759 55%,#2aab47 100%);box-shadow:inset 0 5px 10px #00000038,inset 0 -3px 6px #ffffff47,0 3px 10px #34c75952,0 1px 2px #0000001a}.action-btn-side.fail-btn .btn-icon-side{background:linear-gradient(#ff625a 0%,#ff3b30 55%,#d72b20 100%);box-shadow:inset 0 5px 10px #00000038,inset 0 -3px 6px #ffffff47,0 3px 10px #ff3b3052,0 1px 2px #0000001a}.btn-icon-side svg{width:38px;height:38px;display:block}.ripple{pointer-events:none;background:#0000001f;border-radius:50%;animation:.55s ease-out forwards rippleEffect;position:absolute;transform:scale(0)}@keyframes rippleEffect{to{opacity:0;transform:scale(3)}}.action-btn-side .btn-label{color:#3a3a3c;letter-spacing:.02em;font-size:20px;font-weight:620}.action-btn-side.pass-btn.flash{animation:.5s ease-out passFlash}.action-btn-side.fail-btn.flash{animation:.5s ease-out failFlash}@keyframes failFlash{0%{box-shadow:0 0 #ff3b3059,0 0 24px #ff3b3033,inset 0 1px #ffffffe6}to{box-shadow:0 0 0 24px #ff3b3000,0 0 48px #ff3b3000,inset 0 1px #ffffffe6}}@keyframes passFlash{0%{box-shadow:0 0 #34c75959,0 0 24px #34c75933,inset 0 1px #ffffffe6}to{box-shadow:0 0 0 24px #34c75900,0 0 48px #34c75900,inset 0 1px #ffffffe6}}.review-progress-mini{background:#e2e8f0;border-radius:4px;flex-shrink:0;height:8px;margin-top:12px;overflow:hidden}.progress-mini-fill{background:#10b981;border-radius:4px;min-width:0;height:100%;transition:width .35s}.review-intro{text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:24px;padding:14vh 24px 24px;animation:.45s cubic-bezier(.2,.8,.2,1) backwards cardDealIn;display:flex}.intro-summary{color:#1d1d1f;justify-content:center;align-items:center;min-height:110px;margin:8px 0 2px;font-size:48px;font-weight:700;display:flex}.review-done-hero{margin-bottom:2px;animation:.55s cubic-bezier(.2,.8,.2,1) both doneHeroIn}@keyframes doneHeroIn{0%{opacity:0;transform:scale(.88)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.review-done-badge{flex-shrink:0;width:140px;height:140px;display:block}.done-glow{animation:2.5s ease-in-out infinite doneGlowPulse}@keyframes doneGlowPulse{0%,to{opacity:.7;r:64}50%{opacity:1;r:68}}.done-ring{stroke-dasharray:327;stroke-dashoffset:327px;animation:.8s cubic-bezier(.65,0,.35,1) .1s both doneRingDraw}@keyframes doneRingDraw{to{stroke-dashoffset:0}}.done-check{stroke-dasharray:70;stroke-dashoffset:70px;animation:.45s cubic-bezier(.65,0,.35,1) .55s both doneCheckDraw}@keyframes doneCheckDraw{to{stroke-dashoffset:0}}.start-review-btn{color:#fff;letter-spacing:.04em;cursor:pointer;background:#000;border:none;border-radius:999px;padding:16px 75px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:18px;font-weight:590;transition:transform .2s,box-shadow .25s,background .2s;box-shadow:0 4px 16px #0003}.start-review-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 6px 20px #00000047}.start-review-btn:active:not(:disabled){background:#000;transform:translateY(0)scale(.98);box-shadow:0 2px 8px #0003}.start-review-btn:disabled{color:#fff;box-shadow:none;cursor:not-allowed;opacity:1;background:#c7c7cc}.intro-autoplay{align-items:center;gap:24px;margin-top:24px;display:flex}.intro-autoplay .auto-play-toggle{font-size:14px}.intro-empty{color:#94a3b8;margin:12px 0 0;font-size:15px}.intro-empty-placeholder{visibility:hidden;margin:12px 0 0;font-size:15px}.review-finished{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.finished-badge{width:112px;height:112px;margin-bottom:4px;position:relative}.finished-svg{filter:drop-shadow(0 4px 24px #34c7594d);width:100%;height:100%}.badge-glow{fill:#34c75914;animation:2.5s ease-in-out infinite badgeGlowPulse}@keyframes badgeGlowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.badge-circle{fill:none;stroke:url(#finishGrad);stroke-width:5px;stroke-linecap:round;stroke-dasharray:289;stroke-dashoffset:289px;animation:.7s cubic-bezier(.65,0,.35,1) .1s both badgeCircleDraw}.badge-check{fill:none;stroke:#34c759;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70px;animation:.4s cubic-bezier(.65,0,.35,1) .55s both badgeCheckDraw}@keyframes badgeCircleDraw{to{stroke-dashoffset:0}}@keyframes badgeCheckDraw{to{stroke-dashoffset:0}}.finished-particle{color:#34c759;opacity:0;pointer-events:none;font-size:14px;animation:2s ease-out .8s both particleFloat;position:absolute}.finished-particle-1{font-size:16px;animation-delay:.8s;top:-4px;left:50%;transform:translate(-50%)}.finished-particle-2{color:#30d158;font-size:12px;animation-delay:1s;bottom:6px;right:-6px}.finished-particle-3{color:#34c759;font-size:18px;animation-delay:1.15s;bottom:10px;left:-4px}@keyframes particleFloat{0%{opacity:0;transform:translate(-50%)scale(.5)}30%{opacity:.9}to{opacity:0;transform:translate(-50%,-16px)scale(1)}}.finished-particle-2{animation-name:particleFloatRight}@keyframes particleFloatRight{0%{opacity:0;transform:translate(0)scale(.5)}30%{opacity:.8}to{opacity:0;transform:translate(10px,-12px)scale(1)}}.finished-particle-3{animation-name:particleFloatLeft}@keyframes particleFloatLeft{0%{opacity:0;transform:translate(0)scale(.5)}30%{opacity:.7}to{opacity:0;transform:translate(-10px,-14px)scale(1)}}.finished-title{letter-spacing:-.03em;color:#1d1d1f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:12px 0 4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-size:28px;font-weight:700;animation:.5s .7s both finishedFadeUp}.finished-stats{justify-content:center;align-items:baseline;gap:6px;margin:2px 0 0;animation:.5s .85s both finishedFadeUp;display:flex}.finished-stat-num{letter-spacing:-.03em;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;font-size:40px;font-weight:800;line-height:1}.finished-stat-label{color:#86868b;font-size:15px;font-weight:500}.finished-stat-sep{color:#d2d2d7;margin:0 2px;font-weight:300}.finished-stat-sub{color:#86868b;font-size:14px;font-weight:400}.finished-tip{color:#86868b;margin-top:8px;font-size:14px;font-weight:400;animation:.5s 1s both finishedFadeUp}.finished-exit-btn{color:#1d1d1f;letter-spacing:.02em;cursor:pointer;background:#f0f0f2;border:none;border-radius:999px;justify-content:center;align-items:center;margin-top:32px;padding:12px 48px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;font-weight:590;transition:all .2s;animation:.5s 1.1s both finishedFadeUp;display:inline-flex}.finished-exit-btn:hover{background:#e5e5ea;transform:translateY(-1px)}.finished-exit-btn:active{background:#dcdce0;transform:translateY(0)}@keyframes finishedFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mid-encourage-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000047;justify-content:center;align-items:center;animation:.25s both midOverlayIn;display:flex;position:fixed;inset:0}.mid-encourage-card{text-align:center;background:#fff;border-radius:26px;flex-direction:column;align-items:center;width:300px;padding:36px 32px 28px;animation:.38s cubic-bezier(.2,.8,.2,1) both midCardIn;display:flex;box-shadow:0 20px 60px #00000047}.mid-encourage-svg{width:100px;height:100px;margin-bottom:4px}.mid-ring-bg{fill:none;stroke:#e8e8ed;stroke-width:6px}.mid-ring-fg{fill:none;stroke:#34c759;stroke-width:6px;stroke-linecap:round;stroke-dasharray:276.46;stroke-dashoffset:138.23px;transform-origin:50px 50px;animation:.7s cubic-bezier(.65,0,.35,1) .1s both midRingDraw;transform:rotate(-90deg)}.mid-arrow{fill:none;stroke:#34c759;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60px;animation:.4s .5s both midArrowDraw}@keyframes midOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes midCardIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes midRingDraw{0%{stroke-dashoffset:276.46px}to{stroke-dashoffset:138.23px}}@keyframes midArrowDraw{to{stroke-dashoffset:0}}.mid-encourage-title{letter-spacing:-.02em;color:#1d1d1f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:14px 0 4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-size:24px;font-weight:700}.mid-encourage-stats{justify-content:center;align-items:baseline;gap:6px;margin:2px 0 0;display:flex}.mid-encourage-num{letter-spacing:-.03em;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;font-size:34px;font-weight:800;line-height:1}.mid-encourage-label{color:#86868b;font-size:15px;font-weight:500}.mid-encourage-tip{color:#86868b;margin-top:10px;font-size:14px;font-weight:400;line-height:1.5}.mid-encourage-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:#000;border:none;border-radius:999px;margin-top:22px;padding:13px 44px;font-size:16px;font-weight:590;transition:transform .2s,background .2s}.mid-encourage-btn:hover{background:#1a1a1a}.mid-encourage-btn:active{background:#000;transform:scale(.97)}.retry-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;margin:16px auto;padding:10px 24px;font-size:14px;display:block}.review-word-row .stage-info{margin-top:0}@media (width<=1024px){.review-word{font-size:42px}.review-card-top{padding:20px 24px 32px}.review-card-top.compact{padding:14px 24px 6px}.review-meaning{padding:0 18px 4px}.review-actions{padding:8px 18px 10px}.intro-summary{font-size:38px}}@media (width<=640px){.review-topbar{min-height:28px;padding:0 2px 4px}.review-card-area{padding-left:16px;padding-right:16px}.review-topbar-left{gap:6px;margin-left:0}.review-topbar{flex-wrap:nowrap}.review-title-topbar{white-space:nowrap;font-size:13px}.review-page{padding-top:50px}.review-stats{font-size:11px}.review-live-count{font-size:12px}.auto-play-toggle .toggle-label{white-space:nowrap;font-size:11px;display:inline}.auto-play-toggle{gap:5px}.toggle-slider{width:34px;height:20px}.toggle-icon{width:16px;height:16px}.auto-play-toggle input:checked+.toggle-slider .toggle-icon{left:16px}.review-topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}.review-word{font-size:32px}.review-word.sentence-word{font-size:32px;line-height:1.3}.review-syllable{font-size:14px}.review-card{border-radius:12px}.review-card-top{padding:16px 16px 28px}.review-card-top.compact{padding:12px 16px 4px}.review-pron-row{gap:8px;margin-top:8px}.show-meaning-btn{margin-top:20px;padding:9px 32px;font-size:13px}.review-meaning{padding:0 12px 2px}.review-actions{gap:12px;padding:6px 12px 10px}.action-btn{max-width:140px;padding:10px 20px;font-size:15px}.sentence-trans-text{font-size:16px}.intro-summary{font-size:34px}.start-review-btn{padding:12px 44px;font-size:16px}.review-card-row{flex-direction:column;gap:0}.review-actions-side{flex-direction:row;justify-content:center;gap:84px;width:100%;padding:10px 0 6px;animation:none}.review-actions-side.hidden{display:none}.action-btn-side{border-radius:18px;flex-direction:row;flex:0 auto;gap:10px;width:auto;min-height:114px;padding:14px 32px;font-size:17px}.btn-icon-side{width:22px;height:22px}.finished-badge{width:88px;height:88px}.finished-title{font-size:24px}.finished-stat-num{font-size:32px}.finished-stats{gap:4px}.finished-stat-label{font-size:14px}.finished-stat-sub{font-size:13px}}:root{--primary:#4f46e5;--primary-light:#818cf8;--primary-dark:#3730a3;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg:#f8fafc;--bg-card:#fff;--text:#1e293b;--text-secondary:#64748b;--border:#e2e8f0;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 4px 6px #00000012, 0 2px 4px #0000000f;--radius:12px;--radius-sm:8px;--transition:.2s ease}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#d8e4ec 0%,#d4dce8 30%,#e8e0d4 70%,#ece4d0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}html{overflow-y:auto}.app{flex-direction:row;height:100vh;display:flex;overflow:hidden}.main-content{flex:1;min-height:0;padding:20px 28px 24px;overflow:hidden}.global-login-trigger{z-index:103;-webkit-backdrop-filter:blur(24px)saturate(180%);color:#1d1d1f;cursor:pointer;background:#ffffffc2;border:.5px solid #0000001a;border-radius:18px;justify-content:center;align-items:center;gap:7px;min-width:74px;max-width:min(180px,100vw - 88px);height:36px;padding:0 13px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;font-weight:560;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex;position:fixed;top:16px;left:16px;overflow:hidden;box-shadow:0 4px 16px #00000014,inset 0 1px #ffffffad}.global-login-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-login-trigger:hover{background:#ffffffeb;transform:translateY(-1px);box-shadow:0 6px 20px #0000001a,inset 0 1px #ffffffc7}.global-login-trigger:active{transform:scale(.97)}.global-login-trigger:focus-visible{outline-offset:2px;outline:3px solid #0000002e}@media (width<=1024px){.main-content{padding:16px 20px}}@media (width<=640px){.global-login-trigger{border-radius:17px;min-width:70px;height:34px;top:12px;left:12px}}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.loading{text-align:center;color:var(--text-secondary);padding:40px;font-size:16px}.error-message{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin:16px 0;padding:12px 16px}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-state p{margin-bottom:16px;font-size:18px}.search-input{border:2px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);outline:none;flex:1;padding:12px 16px;font-size:16px}.search-input:focus{border-color:var(--primary)}.search-input:focus::placeholder{color:#0000}.search-input::-webkit-search-cancel-button{display:none}.search-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);border:none;padding:12px 24px;font-size:16px;font-weight:600}.search-btn:hover{background:var(--primary-dark)}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.pagination button{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);padding:8px 16px;font-size:14px}.pagination button:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.delete-btn{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;padding:4px 12px;font-size:13px}.delete-btn:hover{background:var(--danger);color:#fff}
