@font-face{font-family:MiSans;src:url(/assets/MiSans%20VF-DESbBZLB.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{--color-container-bg: #FFFFFF;--color-container-subtle: rgba(0, 0, 0, .03);--color-page-bg: #F5F7F9;--color-icon-active: rgba(0, 0, 0, .6);--color-icon-inactive: rgba(0, 0, 0, .2);--color-primary: #55B685;--color-primary-hover: #4aa677;--color-primary-active: #3f9669;--color-text-base: #000000;--color-text-secondary: rgba(0, 0, 0, .4);--color-text-unselected: rgba(0, 0, 0, .2);--color-review: #FE9C07;--color-error: #F65D3A;--color-btn-disabled: rgba(0, 0, 0, .2);--color-btn-disabled-text: rgba(0, 0, 0, .3);--color-shadow-gray: rgba(230, 230, 230, .6);--color-shadow-primary: rgba(85, 182, 133, .3);--color-divider: rgba(0, 0, 0, .08);--color-card-hover: rgba(0, 0, 0, .06);font-family:MiSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;color-scheme:light dark}[data-theme=dark]{--color-container-bg: #2E2E2E;--color-container-subtle: rgba(255, 255, 255, .06);--color-page-bg: #262626;--color-icon-active: rgba(255, 255, 255, .6);--color-icon-inactive: rgba(255, 255, 255, .3);--color-primary: #55B685;--color-primary-hover: #66c494;--color-primary-active: #77d2a3;--color-text-base: #FFFFFF;--color-text-secondary: rgba(255, 255, 255, .5);--color-text-unselected: rgba(255, 255, 255, .2);--color-review: #FE9C07;--color-error: #F65D3A;--color-btn-disabled: rgba(255, 255, 255, .2);--color-btn-disabled-text: rgba(255, 255, 255, .3);--color-shadow-gray: rgba(0, 0, 0, .08);--color-shadow-primary: rgba(85, 182, 133, .3);--color-divider: rgba(255, 255, 255, .06);--color-card-hover: rgba(255, 255, 255, .1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body{height:100%;margin:0;overflow:hidden;background-color:var(--color-page-bg);color:var(--color-text-base);transition:background-color var(--transition-normal),color var(--transition-normal)}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-icon-inactive);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-icon-active)}::selection{background-color:#55b68540;color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-error{color:var(--color-error)}.text-review{color:var(--color-review)}.bg-container{background-color:var(--color-container-bg)}.bg-subtle{background-color:var(--color-container-subtle)}.bg-page{background-color:var(--color-page-bg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-page-bg);padding:var(--space-md);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-40%;right:-20%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(85,182,133,.12) 0%,transparent 70%);pointer-events:none;animation:floatBubble 8s ease-in-out infinite}.login-page:after{content:"";position:absolute;bottom:-30%;left:-15%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(85,182,133,.08) 0%,transparent 70%);pointer-events:none;animation:floatBubble 10s ease-in-out infinite reverse}@keyframes floatBubble{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-20px) scale(1.05)}}.login-card{width:100%;max-width:420px;background-color:var(--color-container-bg);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);box-shadow:0 8px 32px var(--color-shadow-gray);position:relative;z-index:1;animation:cardEnter .6s cubic-bezier(.16,1,.3,1) both}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:var(--space-xl)}.login-logo{width:72px;height:72px;border-radius:var(--radius-lg);object-fit:contain;margin:0 auto var(--space-md);display:block}.login-title{font-size:24px;font-weight:700;color:var(--color-text-base);margin-bottom:0}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.input-group{position:relative}.input-label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs);transition:color var(--transition-fast)}.input-group:focus-within .input-label{color:var(--color-primary)}.input-wrapper{display:flex;align-items:center;background:var(--color-container-subtle);border:1.5px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast);overflow:hidden}.input-wrapper:focus-within{border-color:var(--color-primary);background:var(--color-container-bg);box-shadow:0 0 0 3px var(--color-shadow-primary)}.input-wrapper.error{border-color:var(--color-error)}.input-wrapper.error:focus-within{box-shadow:0 0 0 3px #f65d3a26}.input-icon{display:flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;color:var(--color-icon-inactive);transition:color var(--transition-fast)}.input-wrapper:focus-within .input-icon{color:var(--color-primary)}.input-field{flex:1;border:none;background:transparent;outline:none;font-family:inherit;font-size:15px;color:var(--color-text-base);padding:13px 0;min-width:0}.input-field::placeholder{color:var(--color-text-unselected)}.send-code-btn{flex-shrink:0;padding:0 var(--space-md);border:none;background:transparent;color:var(--color-primary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);align-self:center;display:flex;align-items:center;line-height:1}.send-code-btn:hover:not(:disabled){color:var(--color-primary-hover)}.send-code-btn:disabled{color:var(--color-btn-disabled);cursor:not-allowed}.send-code-btn .countdown{color:var(--color-text-secondary);font-weight:500}.input-divider{width:1px;height:20px;background:var(--color-divider);flex-shrink:0}.login-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#55b685,#4aa677);color:#fff;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:var(--space-sm);transition:all var(--transition-fast);position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.15));opacity:0;transition:opacity var(--transition-fast)}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px var(--color-shadow-primary)}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px var(--color-shadow-primary)}.login-btn:disabled{background:var(--color-btn-disabled);cursor:not-allowed;transform:none;box-shadow:none}.login-btn:disabled:before{display:none}.btn-loading{display:inline-flex;align-items:center;gap:var(--space-sm)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#f65d3a14;border-radius:var(--radius-sm);color:var(--color-error);font-size:13px;animation:shakeIn .4s ease}@keyframes shakeIn{0%{transform:translate(-8px);opacity:0}25%{transform:translate(4px)}50%{transform:translate(-2px)}75%{transform:translate(1px)}to{transform:translate(0);opacity:1}}.error-icon{flex-shrink:0;font-size:16px}.login-footer{text-align:center;margin-top:var(--space-xl)}.login-agreement{font-size:12px;color:var(--color-text-unselected);line-height:1.8}.login-agreement a{color:var(--color-primary);font-weight:500}@media(max-width:480px){.login-card{padding:var(--space-xl) var(--space-md);border-radius:var(--radius-lg)}.login-page:before,.login-page:after{display:none}}.word-panel{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.word-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);display:flex;flex-direction:column;overflow:hidden;padding:24px 20px 0 24px;transition:background-color .2s ease}.word-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--color-divider);flex-shrink:0}.word-header-left{display:flex;align-items:center;gap:var(--space-sm)}.word-header-left h2{font-size:18px;font-weight:600;color:var(--color-text-base);margin:0}.word-count{font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:var(--color-container-subtle);padding:2px 10px;border-radius:var(--radius-full)}.word-book-selector{position:relative}.word-book-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-divider);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap}.word-book-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.word-book-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background-color:var(--color-container-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;z-index:50;padding:4px;animation:bookDropdownFadeIn .15s ease}@keyframes bookDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.word-book-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-base);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;text-align:left}.word-book-option:hover{background-color:var(--color-container-subtle)}.word-book-option.active{color:var(--color-primary);background-color:#55b68514}.word-book-option svg{color:var(--color-primary);flex-shrink:0}.word-content-wrapper{flex:1;overflow-y:auto;padding:16px 4px 24px 0;min-height:0;display:flex;flex-direction:column;gap:24px}.word-unit-section{display:flex;flex-direction:column;gap:12px}.word-unit-title{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin:0;padding-left:4px}.word-grid{display:flex;flex-direction:column;gap:8px}.word-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background-color:var(--color-container-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.word-card:hover{background-color:var(--color-card-hover)}.word-card-content{flex:1;min-width:0}.word-card-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.word-card-title{font-size:14px;font-weight:600;color:var(--color-text-base);transition:color .2s ease}.word-card-count{font-size:12px;color:var(--color-text-secondary);opacity:.8}.word-card-hook{font-size:13px;line-height:1.5;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-card-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);opacity:0;transition:all .2s ease;flex-shrink:0}.word-card:hover .word-card-arrow{opacity:1;color:var(--color-primary)}.word-card:hover .word-card-title{color:var(--color-primary)}.word-card-wrapper{display:flex;flex-direction:column}.podcast-player-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;margin-top:-2px;background-color:var(--color-container-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid var(--color-divider);transition:all .2s ease}.podcast-play-btn{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--color-text-base);cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0}.podcast-play-btn:hover{color:var(--color-primary);background-color:#55b6851a}.podcast-play-btn:active{transform:scale(.92)}.podcast-track-info{display:flex;align-items:center;gap:6px;min-width:0;flex-shrink:0}.podcast-track-word{font-size:12px;font-weight:600;color:var(--color-text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.podcast-track-pos{font-size:11px;color:var(--color-text-secondary);opacity:.7;white-space:nowrap}.podcast-progress-bar{flex:1;height:4px;background-color:var(--color-divider);border-radius:2px;cursor:pointer;position:relative;overflow:hidden;min-width:40px;transition:height .15s ease}.podcast-progress-bar:hover{height:6px}.podcast-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#6dd5a0);border-radius:2px;transition:width .1s linear}.podcast-speed-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;padding:2px 4px;flex-shrink:0;font-size:11px;font-weight:700;font-family:inherit;white-space:nowrap;min-width:28px;line-height:1}.podcast-speed-btn:hover{color:var(--color-primary);background-color:#55b6851a}.podcast-mode-btn{width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0;opacity:.7}.podcast-mode-btn:hover{background-color:var(--color-container-subtle);color:var(--color-text-base);opacity:1}.podcast-mode-btn.active{color:var(--color-primary);opacity:1}.word-card-wrapper .word-card{border-radius:var(--radius-md) var(--radius-md) 0 0}.word-card-wrapper .word-card:last-child{border-radius:var(--radius-md)}.word-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 0}.word-loading svg{animation:word-spin 1s linear infinite;color:var(--color-primary)}@keyframes word-spin{to{transform:rotate(360deg)}}.word-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:14px}.word-empty-icon{font-size:48px;margin-bottom:var(--space-sm)}.mode-modal-overlay{position:fixed;inset:0;background-color:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.mode-modal{background-color:var(--color-container-bg);border-radius:var(--radius-lg);padding:32px 36px;min-width:340px;box-shadow:0 16px 48px #0000002e;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1);text-align:center}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-modal-title{font-size:18px;font-weight:700;color:var(--color-text-base);margin-bottom:6px}.mode-modal-subtitle{font-size:13px;color:var(--color-text-secondary);margin-bottom:28px}.mode-modal-buttons{display:flex;gap:14px}.mode-modal-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;border:2px solid var(--color-divider);border-radius:var(--radius-md);background:transparent;color:var(--color-text-base);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.mode-modal-btn:hover{border-color:var(--color-primary);background-color:#55b6850f;color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px var(--color-shadow-primary)}.mode-modal-btn:active{transform:translateY(0)}.mode-modal-btn svg{opacity:.7;transition:opacity .2s ease}.mode-modal-btn:hover svg{opacity:1}.mode-modal-btn.targeted:not(.locked):hover{border-color:#e8a317;background-color:#e8a3170f;color:#e8a317;transform:translateY(-2px);box-shadow:0 4px 16px #e8a3172e}.mode-modal-btn.targeted.locked{opacity:.6;cursor:not-allowed;border-color:#ffffff0f;flex-direction:column;gap:6px;padding:14px 12px}.mode-modal-btn.targeted.locked:hover{transform:none;box-shadow:none;border-color:#ffffff14;background-color:#ffffff04}.mode-modal-btn.targeted.locked svg{opacity:.4}.targeted-progress{display:flex;align-items:center;gap:8px;width:100%;margin-top:2px}.targeted-progress-bar{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.targeted-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#e8a317,#f0c040);border-radius:2px;transition:width .5s ease}.targeted-progress-text{font-size:11px;color:#ffffff59;white-space:nowrap;font-variant-numeric:tabular-nums}.mode-modal-btn.favorite:not(.locked):hover{border-color:#f5a623;background-color:#f5a6230f;color:#f5a623;transform:translateY(-2px);box-shadow:0 4px 16px #f5a6232e}.mode-modal-btn.favorite:not(.locked) svg{color:#f5a623}.mode-modal-btn.favorite.locked{opacity:.6;cursor:not-allowed;border-color:#ffffff0f;flex-direction:column;gap:6px;padding:14px 12px}.mode-modal-btn.favorite.locked:hover{transform:none;box-shadow:none;border-color:#ffffff14;background-color:#ffffff04}.mode-modal-btn.favorite.locked svg{opacity:.4}.favorite-count-badge{font-size:11px;font-weight:600;color:#f5a623;background:#f5a6231f;padding:2px 8px;border-radius:10px;margin-top:2px}.favorite-empty-hint{font-size:10px;font-weight:400;color:#ffffff4d;margin-top:2px;line-height:1.3}.fav-sub-options{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-divider);animation:favSubSlideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes favSubSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fav-sub-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;border:1.5px solid var(--color-divider);border-radius:var(--radius-md);background:transparent;color:var(--color-text-base);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.fav-sub-btn:hover:not(.locked){transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.fav-sub-btn.full:hover{border-color:#f5a623;background-color:#f5a6230f;color:#f5a623;box-shadow:0 4px 12px #f5a62326}.fav-sub-btn.full svg{color:#f5a623}.fav-sub-btn.weak:not(.locked):hover{border-color:#e74c3c;background-color:#e74c3c0f;color:#e74c3c;box-shadow:0 4px 12px #e74c3c26}.fav-sub-btn.weak:not(.locked) svg{color:#e74c3c}.fav-sub-btn.locked{opacity:.5;cursor:not-allowed}.fav-sub-btn.locked:hover{transform:none;box-shadow:none}.fav-sub-btn.locked svg{opacity:.4}.fav-sub-desc{font-size:10px;font-weight:400;color:var(--color-text-secondary);opacity:.6;line-height:1.3}.fav-sub-count{font-size:10px;font-weight:600;color:#e74c3c;background:#e74c3c1a;padding:2px 8px;border-radius:10px}.phonetic-panel{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.phonetic-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);display:flex;flex-direction:column;overflow:hidden;padding:24px 20px 0 24px;transition:background-color .2s ease}.phonetic-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--color-divider);flex-shrink:0}.phonetic-header-left{display:flex;align-items:center;gap:var(--space-sm)}.phonetic-header-left h2{font-size:18px;font-weight:600;color:var(--color-text-base);margin:0}.phonetic-count{font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:var(--color-container-subtle);padding:2px 10px;border-radius:var(--radius-full)}.phonetic-mode-toggle{display:flex;align-items:center;gap:2px;background-color:var(--color-container-subtle);border-radius:var(--radius-sm);padding:3px}.phonetic-mode-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;background:transparent;color:var(--color-text-secondary);transition:all .25s ease;white-space:nowrap}.phonetic-mode-btn.active{background-color:var(--color-primary);color:#fff;box-shadow:0 1px 3px #55b6854d}.phonetic-mode-btn:not(.active):hover{color:var(--color-text-base)}.phonetic-mode-icon{width:15px;height:15px;flex-shrink:0}.phonetic-content-wrapper{flex:1;overflow-y:auto;padding:16px 4px 24px 0;min-height:0;display:flex;flex-direction:column;gap:24px}.phonetic-category-section{display:flex;flex-direction:column;gap:12px}.phonetic-category-title{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin:0;padding-left:4px}.phonetic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.phonetic-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;background-color:var(--color-container-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease;position:relative;-webkit-user-select:none;user-select:none}.phonetic-card:hover,.phonetic-card:active{background-color:var(--color-card-hover)}.phonetic-card.playing{background-color:#55b6851a}.phonetic-card.loading{background-color:#55b6850d;opacity:.8}.phonetic-symbol{font-size:24px;font-weight:600;color:var(--color-text-base);line-height:1.2;margin-bottom:2px;transition:color .2s ease}.phonetic-card.playing .phonetic-symbol{color:var(--color-primary)}.phonetic-ipa{font-size:12px;color:var(--color-text-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin-bottom:6px;opacity:.85;text-align:center;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phonetic-indicator{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color .2s ease}.phonetic-card:hover .phonetic-indicator{color:var(--color-text-base)}.phonetic-card.playing .phonetic-indicator{color:var(--color-primary)}.sound-wave{display:flex;align-items:flex-end;gap:2px;height:16px}.sound-wave-bar{width:2.5px;border-radius:1px;background-color:var(--color-primary);animation:soundWave .8s ease-in-out infinite}.sound-wave-bar:nth-child(1){height:6px;animation-delay:0s}.sound-wave-bar:nth-child(2){height:12px;animation-delay:.15s}.sound-wave-bar:nth-child(3){height:8px;animation-delay:.3s}.sound-wave-bar:nth-child(4){height:14px;animation-delay:.1s}.sound-wave-bar:nth-child(5){height:6px;animation-delay:.25s}@keyframes soundWave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.phonetic-video-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:#00000080;animation:phonetic-fade-in .2s ease}.phonetic-video-modal{background-color:var(--color-container-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 48px #0003;max-width:480px;width:90%;animation:phonetic-modal-in .3s cubic-bezier(.16,1,.3,1)}.phonetic-video-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.phonetic-video-title{font-size:20px;font-weight:600;color:var(--color-text-base)}.phonetic-video-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-container-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease;font-family:inherit}.phonetic-video-close:hover{background-color:var(--color-divider);color:var(--color-text-base)}.phonetic-video-body{padding:0 20px 20px}.phonetic-video-body video{width:100%;border-radius:var(--radius-sm);background:#000}.phonetic-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 0}.phonetic-loading svg{animation:phonetic-spin 1s linear infinite;color:var(--color-primary)}@keyframes phonetic-spin{to{transform:rotate(360deg)}}@keyframes phonetic-fade-in{0%{opacity:0}to{opacity:1}}@keyframes phonetic-modal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.phonetic-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:14px}.phonetic-empty-icon{font-size:48px;margin-bottom:var(--space-sm)}.grammar-panel{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.grammar-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);display:flex;flex-direction:column;overflow:hidden;padding:24px 20px 0 24px;transition:background-color .2s ease}.grammar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-left:-24px;margin-right:-20px;padding-left:24px;padding-right:20px;border-bottom:1px solid var(--color-divider);flex-shrink:0}.grammar-header-left{display:flex;align-items:center;gap:var(--space-sm)}.grammar-header-left h2{font-size:18px;font-weight:600;color:var(--color-text-base);margin:0}.grammar-header-badge{font-size:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary),#3a9d6a);padding:2px 10px;border-radius:var(--radius-full)}.grammar-content-wrapper{flex:1;overflow-y:auto;scrollbar-width:none;padding:20px 4px 32px 0;min-height:0;display:flex;flex-direction:column;gap:72px}.grammar-content-wrapper::-webkit-scrollbar{display:none}.grammar-section{display:flex;flex-direction:column;gap:0;animation:grammar-fade-in .4s ease both}.grammar-section:nth-child(2){animation-delay:.1s}.grammar-section:nth-child(3){animation-delay:.2s}.grammar-section:nth-child(4){animation-delay:.3s}.grammar-section-header{display:flex;flex-direction:column;gap:2px;padding:0 0 8px 10px}.grammar-section-title{font-size:20px;font-weight:600;color:var(--color-text-base);margin:0}.grammar-section-subtitle{font-size:14px;color:var(--color-text-secondary)}.grammar-section-body{overflow:visible}.grammar-section-content{padding:0;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.grammar-table-wrapper{overflow-x:auto}.grammar-ref-table{width:100%;border-collapse:collapse;font-size:13px}.grammar-ref-table thead th{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-align:left;padding:10px 14px;background-color:var(--color-container-subtle);border-bottom:1px solid var(--color-divider);border-right:1px solid var(--color-divider);white-space:nowrap;position:sticky;top:0;z-index:1}.grammar-ref-table thead th:last-child{border-right:none}.grammar-ref-table tbody td{padding:11px 14px;color:var(--color-text-base);border-bottom:1px solid var(--color-divider);border-right:1px solid var(--color-divider);vertical-align:middle;line-height:1.55}.grammar-ref-table tbody td:last-child{border-right:none}.grammar-ref-table tbody tr:last-child td{border-bottom:none}.grammar-ref-table tbody tr{transition:none}.grammar-ref-table tbody td{cursor:pointer;transition:background-color .15s ease}.grammar-ref-table tbody td:hover{background-color:var(--color-container-subtle)}.grammar-ref-table tbody td:active{background-color:#55b68526}.grammar-id-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-size:13px;font-weight:700;color:var(--color-primary);background-color:#55b6851a}.grammar-category-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap}.grammar-module-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap;color:#c77dba;background-color:#c77dba1a}.grammar-morph-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.grammar-morph-note{font-size:11px;color:var(--color-text-secondary);font-style:italic}.grammar-formula-code{font-family:Courier New,Consolas,monospace;font-weight:600;font-size:13px;color:var(--color-primary);background-color:#55b68514;padding:2px 8px;border-radius:4px;white-space:nowrap}.grammar-rust-code{font-family:Courier New,Consolas,monospace;font-size:12px;font-weight:500;color:#5b8def;background-color:#5b8def14;padding:2px 8px;border-radius:4px;white-space:pre-line;display:inline-block;line-height:1.5}.grammar-english-code{font-family:Courier New,Consolas,monospace;font-size:12px;font-weight:500;color:var(--color-text-base);background-color:var(--color-container-subtle);padding:2px 8px;border-radius:4px;white-space:nowrap}.grammar-example-code{font-family:Courier New,Consolas,monospace;font-size:12px;font-weight:500;color:var(--color-text-secondary);background-color:var(--color-container-subtle);padding:2px 8px;border-radius:4px;white-space:nowrap}.col-id{text-align:center;width:56px}.col-name{font-weight:600;white-space:nowrap}.col-logic{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.col-example{font-size:12px;color:var(--color-text-secondary);font-style:italic}.grammar-pos-cell{display:flex;flex-direction:column;gap:2px}.grammar-pos-cn{font-weight:600;color:var(--color-text-base);font-size:14px}.grammar-pos-en{font-size:11px;color:var(--color-text-secondary);font-family:Courier New,Consolas,monospace}@keyframes grammar-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.grammar-ref-table thead th,.grammar-ref-table tbody td{padding:8px 10px;font-size:12px}.grammar-formula-code,.grammar-rust-code,.grammar-english-code,.grammar-example-code{font-size:11px;padding:1px 6px}}.grammar-practice-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),#3a9d6a);color:#fff;font-size:13px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px #55b6854d}.grammar-practice-btn:hover{background:linear-gradient(135deg,#4aa677,#338e5e);transform:translateY(-1px);box-shadow:0 4px 16px #55b68566}.grammar-practice-btn:active{transform:translateY(0);box-shadow:0 2px 8px #55b6854d}.grammar-loading{display:flex;align-items:center;justify-content:center;padding:60px 0;color:var(--color-text-secondary);font-size:14px}.grammar-copy-toast{position:fixed;transform:translate(-50%,-100%);background:var(--color-container-bg);color:var(--color-text-secondary);font-size:12px;padding:4px 12px;border-radius:6px;pointer-events:none;z-index:9999;box-shadow:0 2px 8px #0000001f;animation:grammarCopyToastFade .9s ease forwards}@keyframes grammarCopyToastFade{0%{opacity:1;transform:translate(-50%,-100%)}70%{opacity:1;transform:translate(-50%,-110%)}to{opacity:0;transform:translate(-50%,-120%)}}.drawing-board{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--color-container-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--color-shadow-gray)}.drawing-toolbar{display:flex;align-items:center;gap:20px;padding:10px 16px;background:var(--color-container-bg);border-bottom:1px solid var(--color-divider);flex-shrink:0;flex-wrap:wrap}.drawing-toolbar-group{display:flex;align-items:center;gap:8px}.drawing-toolbar-label{font-size:12px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.drawing-size-control{display:flex;align-items:center;gap:8px}.drawing-size-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-divider);border-radius:2px;outline:none;cursor:pointer}.drawing-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-container-bg);box-shadow:0 1px 4px #00000026;transition:transform .1s ease}.drawing-size-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.drawing-size-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-container-bg);box-shadow:0 1px 4px #00000026}.drawing-size-value{font-size:11px;color:var(--color-text-secondary);min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.drawing-toolbar-btn{padding:5px 10px;border:1px solid var(--color-divider);border-radius:6px;background:var(--color-container-bg);color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.drawing-toolbar-btn:hover:not(:disabled){background:var(--color-container-subtle);border-color:var(--color-icon-inactive)}.drawing-toolbar-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.drawing-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.drawing-toolbar-btn.eraser-btn.active{background:var(--color-error);border-color:var(--color-error)}.drawing-toolbar-btn.clear-btn:hover:not(:disabled){background:#f65d3a1a;color:var(--color-error);border-color:var(--color-error)}.drawing-color-swatches{display:flex;gap:5px}.drawing-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;padding:0;outline:none}.drawing-color-swatch:hover{transform:scale(1.15)}.drawing-color-swatch.active{border-color:var(--color-container-bg);box-shadow:0 0 0 2px currentColor,0 0 8px var(--color-shadow-gray);transform:scale(1.15)}.drawing-canvas-wrapper{flex:1;min-height:0;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(0,0,0,.04) 19px,rgba(0,0,0,.04) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(0,0,0,.04) 19px,rgba(0,0,0,.04) 20px)}[data-theme=dark] .drawing-canvas-wrapper{background:repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(255,255,255,.06) 19px,rgba(255,255,255,.06) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(255,255,255,.06) 19px,rgba(255,255,255,.06) 20px)}.drawing-canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.drawing-status{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--color-container-bg);border-top:1px solid var(--color-divider);font-size:12px;color:var(--color-text-secondary);flex-shrink:0}.drawing-pressure-hint{font-size:11px;color:var(--color-text-secondary);opacity:.7;font-style:italic}.component-test-panel{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;overflow:hidden}.speaker-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);transition:color var(--transition-fast)}.speaker-icon:hover,.speaker-icon.playing,.speaker-icon.loading{color:var(--color-primary)}.speaker-loading-spinner{animation:speakerSpin 1s linear infinite}@keyframes speakerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.speaker-svg{flex-shrink:0;overflow:visible}.speaker-body{fill:currentColor}.sound-wave{fill:currentColor;opacity:.4;transition:opacity .4s ease-out,transform .4s ease-out;transform-origin:19px 14px;transform-box:fill-box}.speaker-icon:hover .sound-wave{opacity:.6}.speaker-svg.playing .wave-small{animation:speakerWaveSmall .8s cubic-bezier(.4,0,.2,1) infinite}.speaker-svg.playing .wave-large{animation:speakerWaveLarge .8s cubic-bezier(.4,0,.2,1) infinite;animation-delay:.15s}@keyframes speakerWaveSmall{0%{opacity:0;transform:translate(-3px) scale(.8)}30%{opacity:1;transform:translate(0) scale(1)}60%{opacity:.8;transform:translate(1px) scale(1.02)}to{opacity:0;transform:translate(2px) scale(.95)}}@keyframes speakerWaveLarge{0%{opacity:0;transform:translate(-4px) scale(.85)}30%{opacity:1;transform:translate(0) scale(1)}60%{opacity:.7;transform:translate(2px) scale(1.03)}to{opacity:0;transform:translate(3px) scale(.9)}}.word-card-container{display:flex;align-items:center;justify-content:space-between;width:300px;padding:22px 20px;background-color:var(--color-container-bg);border-radius:var(--radius-md);transition:background-color .2s ease}.word-card-left{display:flex;flex-direction:column;align-items:flex-start}.word-card-word{font-size:32px;font-weight:600;color:var(--color-text-base);line-height:1.2}.word-card-phonetic{margin-top:17px;font-size:24px;color:var(--color-text-secondary);line-height:1.2}.word-card-pos-tag{margin-top:17px;display:inline-flex;align-items:center;justify-content:center;padding:3.5px 15px;background-color:var(--color-container-subtle);border-radius:4px}.word-card-pos-tag span{font-size:16px;color:var(--color-text-secondary);line-height:1.4}.word-card-speaker-wrapper{width:60px;height:60px;border-radius:8px;background-color:#55b6851a;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s ease,transform .15s ease}.word-card-speaker-wrapper:hover{background-color:#55b68526}.word-card-speaker-wrapper:active{transform:scale(.95)}.word-card-speaker-icon{color:var(--color-primary)}.words-list{width:300px;height:100%;background-color:var(--color-container-bg);border-radius:12px 12px 0 0;padding:15px 0 0;display:flex;flex-direction:column;overflow:hidden}.words-list-header{flex-shrink:0;padding:0 15px}.words-list-tag{display:inline-block;background-color:var(--color-container-subtle);border-radius:6px;padding:4px 8px;font-size:14px;color:var(--color-text-secondary)}.words-list-divider{flex-shrink:0;height:1px;background-color:var(--color-divider);margin-top:15px}.words-list-content{flex:1;overflow-y:auto;padding:15px 15px 0;display:flex;flex-direction:column;gap:10px;scrollbar-width:none;-ms-overflow-style:none}.words-list-spacer{flex-shrink:0;height:20px}.words-list-content::-webkit-scrollbar{display:none}.words-list-item{width:100%;padding:10px 12px;font-size:14px;font-weight:500;border-radius:6px;background-color:var(--color-container-subtle);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.words-list-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.words-list-item:hover{background-color:var(--color-card-hover)}.words-list-item.selected{background-color:#55b6851a;color:var(--color-primary)}.words-list-fav-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:4px;cursor:pointer;padding:0;flex-shrink:0;color:var(--color-text-secondary);opacity:0;transition:opacity .15s ease,color .15s ease,transform .15s ease}.words-list-item:hover .words-list-fav-btn{opacity:.6}.words-list-fav-btn:hover{opacity:1!important;color:#f5a623}.words-list-fav-btn.favorited{opacity:1;color:#f5a623}.words-list-fav-btn.favorited svg path{fill:#f5a623;stroke:#f5a623}.words-list-fav-btn:not(.favorited) svg path{fill:none;stroke:var(--color-text-secondary)}.words-list-fav-btn:active{transform:scale(1.2)}.word-meaning{width:100%;background-color:var(--color-container-bg);border-radius:12px;padding:15px;overflow:hidden}.word-meaning.no-transition,.word-meaning.no-transition *{transition:none!important}.word-meaning-header{display:flex;align-items:center;justify-content:space-between}.word-meaning-tag{display:inline-block;background-color:var(--color-container-subtle);border-radius:6px;padding:4px 8px;font-size:14px;color:var(--color-text-secondary)}.word-meaning-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:0;border-radius:6px;transition:color .2s ease,background-color .2s ease}.word-meaning-toggle:hover{color:var(--color-text-base);background-color:var(--color-container-subtle)}.word-meaning-toggle-arrow{display:inline-block;font-size:16px;font-weight:600;line-height:1;transition:transform .3s cubic-bezier(.4,0,.2,1)}.word-meaning-toggle-arrow.down{transform:rotate(-90deg)}.word-meaning-toggle-arrow.up{transform:rotate(90deg)}.word-meaning-content{margin-top:12px;padding-left:5px;font-size:16px;color:var(--color-text-base);line-height:1.5}.word-meaning.has-analysis{height:auto;min-height:180px;max-height:280px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.word-meaning.has-analysis::-webkit-scrollbar{display:none}.word-meaning.expanded{overflow-y:auto;border-radius:12px 12px 0 0;scrollbar-width:none;-ms-overflow-style:none}.word-meaning.expanded::-webkit-scrollbar{display:none}.wm-analysis{margin-top:10px;display:flex;flex-direction:column;gap:8px;transition:gap .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-analysis{gap:16px}.wm-group{display:flex;flex-direction:column;gap:4px;transition:gap .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-group{gap:8px}.wm-pos{flex-shrink:0;display:inline-block;align-self:flex-start;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;letter-spacing:.3px;white-space:nowrap}.wm-defs{display:flex;flex-direction:column;gap:2px;transition:gap .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-defs{gap:10px}.wm-def-card{display:flex;flex-direction:column;padding:2px 0;background-color:transparent;border-radius:8px;transition:padding .4s cubic-bezier(.4,0,.2,1),background-color .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-def-card{padding:10px 12px;background-color:var(--color-container-subtle)}.wm-def-card.drag-over{outline:2px dashed var(--color-primary);outline-offset:-2px;background-color:color-mix(in srgb,var(--color-primary) 8%,transparent)!important}.wm-def-main{display:flex;align-items:center;gap:4px;line-height:1.5}.wm-ai-gen-mini{flex-shrink:0;width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:#a78bfa;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;margin-left:auto;padding:0}.wm-def-card:hover .wm-ai-gen-mini,.wm-ai-gen-mini.generating{opacity:1}.wm-ai-gen-mini:hover{background:color-mix(in srgb,#a78bfa 12%,transparent)}.wm-ai-gen-mini:disabled{cursor:not-allowed}.wm-def-delete-btn{flex-shrink:0;width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease;padding:0}.wm-def-card:hover .wm-def-delete-btn{opacity:1}.wm-def-delete-btn:hover{background:color-mix(in srgb,var(--color-text-tertiary) 12%,transparent);color:var(--color-text-secondary)}.wm-def-delete-btn.confirm{opacity:1;background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444}.wm-def-delete-btn.confirm:hover{background:color-mix(in srgb,#ef4444 25%,transparent)}.wm-def-delete-btn.deleting{opacity:1;cursor:not-allowed;pointer-events:none}.wm-ai-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,#a78bfa 5%,transparent),color-mix(in srgb,#a78bfa 5%,transparent) 8px,color-mix(in srgb,#a78bfa 10%,transparent) 8px 16px);border:1.5px dashed #a78bfa!important;animation:wmPlaceholderShimmer 1.5s linear infinite;background-size:200% 200%}@keyframes wmPlaceholderShimmer{0%{background-position:0% 0%}to{background-position:100% 100%}}.wm-ai-placeholder-text{font-size:11px;color:#a78bfa;font-weight:500}.wm-def-dot{flex-shrink:0;color:var(--color-text-tertiary);font-size:10px}.wm-def-text{font-size:14px;color:var(--color-text-base)}.wm-images-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-images-reveal{grid-template-rows:1fr}.wm-images-inner{overflow:hidden;min-height:0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:0;opacity:0;transition:opacity .35s cubic-bezier(.4,0,.2,1),padding-top .4s cubic-bezier(.4,0,.2,1)}.expanded .wm-images-inner{padding-top:8px;opacity:1}.wm-img-thumb{border-radius:8px;overflow:hidden;border:1px solid var(--color-divider);flex-shrink:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.wm-img-thumb:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.wm-img-thumb.deleting{opacity:.4;pointer-events:none}.wm-img-delete{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;padding:0}.wm-img-thumb{position:relative}.wm-img-thumb:hover .wm-img-delete{opacity:1}.wm-img-delete:hover{background:#dc2626d9}.wm-img-prompt-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 60%,transparent 100%);padding:24px 8px 6px;opacity:0;transition:opacity .2s ease;pointer-events:none;border-radius:0 0 8px 8px}.wm-img-thumb:hover .wm-img-prompt-overlay{opacity:1}.wm-img-prompt-text{display:block;font-size:11px;line-height:1.4;color:#ffffffeb;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-all}.wm-img-thumb img{width:100%;height:100%;object-fit:cover}.wm-img-uploading-indicator{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wm-img-ai-gen{width:56px;height:160px;border-radius:8px;border:1.5px dashed color-mix(in srgb,#a78bfa 50%,var(--color-divider));background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s ease,background-color .2s ease}.wm-img-ai-gen:hover{border-color:#a78bfa;background-color:color-mix(in srgb,#a78bfa 8%,transparent)}.wm-img-ai-gen:disabled{cursor:not-allowed;opacity:.4}.wm-img-ai-gen.generating{opacity:.7;border-color:#a78bfa;background-color:color-mix(in srgb,#a78bfa 5%,transparent)}.wm-ai-icon{font-size:18px;color:#a78bfa;font-weight:600;line-height:1}.wm-img-ai-gen:hover .wm-ai-icon{color:#8b5cf6}.wm-img-spinner{width:18px;height:18px;border:2px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;animation:wmSpin .8s linear infinite}@keyframes wmSpin{to{transform:rotate(360deg)}}.word-meaning-priority{flex-shrink:0;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;line-height:1.4;letter-spacing:.3px}.word-meaning-priority.p1{background-color:color-mix(in srgb,#aea1ff 15%,transparent);color:#aea1ff}.word-meaning-priority.p2{background-color:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.word-meaning-priority.p3{background-color:color-mix(in srgb,#9ca3af 15%,transparent);color:#9ca3af}.wm-preview-overlay{position:fixed;inset:0;z-index:9999;background:#000000bf;display:flex;align-items:center;justify-content:center;animation:wmFadeIn .2s ease}@keyframes wmFadeIn{0%{opacity:0}to{opacity:1}}.wm-preview-modal{position:relative;max-width:90vw;max-height:90vh}.wm-preview-modal img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 16px 48px #0006}.wm-preview-close{position:absolute;top:-36px;right:0;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.wm-preview-close:hover{background:#ffffff4d}.wm-add-def-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border:1.5px dashed var(--color-divider);border-radius:8px;background:none;color:var(--color-text-tertiary);font-size:13px;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.wm-add-def-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.wm-add-def-form{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;background-color:var(--color-container-subtle);border:1px solid var(--color-divider)}.wm-add-def-row{display:flex;gap:6px}.wm-add-def-input{flex:1;padding:6px 10px;border:1px solid var(--color-divider);border-radius:6px;background:var(--color-container-bg);color:var(--color-text-base);font-size:13px;outline:none;transition:border-color .2s ease}.wm-add-def-input:focus{border-color:var(--color-primary)}.wm-add-def-input::placeholder{color:var(--color-text-tertiary)}.wm-add-def-input.small{font-size:12px;padding:5px 8px}.wm-add-def-actions{display:flex;justify-content:flex-end;gap:8px}.wm-add-def-cancel,.wm-add-def-submit{padding:4px 14px;border-radius:6px;border:none;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease;display:flex;align-items:center;justify-content:center;min-height:28px}.wm-add-def-cancel{background:transparent;color:var(--color-text-secondary)}.wm-add-def-cancel:hover{background:color-mix(in srgb,var(--color-text-secondary) 10%,transparent)}.wm-add-def-submit{background:var(--color-primary);color:#fff}.wm-add-def-submit:hover{opacity:.85}.wm-add-def-submit:disabled{opacity:.4;cursor:not-allowed}.word-info{width:100%;background-color:var(--color-container-bg);border-radius:12px;padding:15px}.word-info-tag{display:inline-block;background-color:var(--color-container-subtle);border-radius:6px;padding:4px 8px;font-size:14px;color:var(--color-text-secondary)}.word-info-content{margin-top:12px;font-size:16px;color:var(--color-text-base);line-height:1.5}.word-info-highlight{color:var(--color-primary);font-weight:500}.word-popover-backdrop{position:fixed;inset:0;background-color:#0000004d;z-index:999;animation:wpBackdropIn .2s ease forwards}.word-popover-backdrop.closing{animation:wpBackdropOut .2s ease forwards}@keyframes wpBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes wpBackdropOut{0%{opacity:1}to{opacity:0}}.word-popover{position:fixed;background-color:var(--color-container-bg);border-radius:12px;box-shadow:0 8px 24px #00000026;padding:16px;z-index:1000;width:fit-content;max-width:320px}.word-popover.quadrant-bl,.word-popover.quadrant-br,.word-popover.quadrant-tl,.word-popover.quadrant-tr,.word-popover.bottom,.word-popover.top{animation:wpFadeIn .2s ease forwards}.word-popover.closing{animation:wpFadeOut .18s ease forwards!important}@keyframes wpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes wpFadeOut{0%{opacity:1}to{opacity:0}}.word-popover--pinned{box-shadow:0 8px 32px #00000038,0 0 0 1px #55b68540;cursor:grab;-webkit-user-select:none;user-select:none}.word-popover--pinned:active{cursor:grabbing}.word-popover-pin{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);opacity:0;transition:opacity .3s ease,background-color .2s ease,color .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;transform:rotate(0);animation:pinFadeIn .4s .2s ease forwards}@keyframes pinFadeIn{0%{opacity:0}to{opacity:1}}.word-popover-pin:hover{background-color:#55b6851a;color:var(--color-primary)}.word-popover-pin.pinned{opacity:1;color:var(--color-primary);background-color:#55b68526;transform:rotate(45deg)}.word-popover-header{display:flex;align-items:center;gap:8px}.word-popover-word{font-size:18px;font-weight:600;color:var(--color-text-base);flex-shrink:0}.word-popover-dots{display:inline-flex;align-items:center;gap:4px}.word-popover-dots .dot{width:5px;height:5px;border-radius:50%;background-color:var(--color-text-secondary);flex-shrink:0;animation:dotPulse 1.4s ease-in-out infinite both}.word-popover-dots .dot:nth-child(1){animation-delay:0s}.word-popover-dots .dot:nth-child(2){animation-delay:.16s}.word-popover-dots .dot:nth-child(3){animation-delay:.32s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.word-popover-meta{display:inline-flex;align-items:center;gap:8px;animation:metaFadeIn .3s ease forwards}@keyframes metaFadeIn{0%{opacity:0}to{opacity:1}}.word-popover-phonetic{font-size:14px;color:var(--color-text-secondary)}.word-popover-body-static{margin-top:12px;animation:bodyFadeIn .3s ease forwards}@keyframes bodyFadeIn{0%{opacity:0}to{opacity:1}}.word-popover-definitions{display:flex;flex-direction:column;gap:8px}.word-popover-def-item{display:flex;gap:8px;align-items:flex-start}.word-popover-pos{font-size:12px;color:var(--color-primary);background-color:#55b6851a;padding:2px 6px;border-radius:4px;flex-shrink:0}.word-popover-meaning{font-size:14px;color:var(--color-text-base);line-height:1.5}.word-popover-error{text-align:center;color:var(--color-text-secondary);padding:16px;font-size:14px}.word-popover-measure{position:fixed;visibility:hidden;pointer-events:none;top:-9999px;left:-9999px;padding:16px;width:fit-content;font-family:inherit}.example-sentences{width:100%;background-color:var(--color-container-bg);border-radius:12px;padding:15px;overflow:hidden}.example-sentences-tag{display:inline-block;background-color:var(--color-container-subtle);border-radius:6px;padding:4px 8px;font-size:14px;color:var(--color-text-secondary)}.example-sentences-content{margin-top:15px;padding-left:5px}.example-sentence-item{display:flex;flex-direction:column}.example-sentence-def-row{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;flex-wrap:wrap}.example-sentence-pos-tag{display:inline-block;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap;letter-spacing:.3px;flex-shrink:0}.example-sentence-definition{font-size:14px;color:var(--color-text-base);font-weight:500}.example-sentence-english{font-size:16px;color:var(--color-text-base);line-height:1.5}.example-sentence-english .speaker-icon{display:inline-flex;vertical-align:middle;margin-left:6px}.example-sentence-highlight{color:var(--color-primary);font-weight:500}.example-sentence-word{cursor:pointer;border-radius:3px;padding:1px 2px;transition:background-color .15s ease,color .15s ease}.example-sentence-word.selected{background-color:var(--color-primary);color:#fff}.example-sentence-meaning{margin-top:10px;font-size:16px;color:var(--color-text-secondary);line-height:1.5}.example-sentence-images{margin-top:10px;display:flex;gap:10px;overflow:hidden}.example-sentence-image{height:95px;width:auto;border-radius:6px;object-fit:cover;flex-shrink:0;cursor:pointer;transition:transform .15s ease}.example-sentence-image:hover{transform:scale(1.02)}.example-sentence-lightbox{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;animation:lightboxFadeIn .2s ease forwards}.example-sentence-lightbox.closing{animation:lightboxFadeOut .2s ease forwards}.example-sentence-lightbox-backdrop{position:absolute;inset:0;background-color:#000000d9}.example-sentence-lightbox-image{position:relative;max-width:90vw;max-height:90vh;border-radius:8px;object-fit:contain;animation:lightboxZoomIn .25s cubic-bezier(.32,.72,0,1) forwards}.example-sentence-lightbox.closing .example-sentence-lightbox-image{animation:lightboxZoomOut .2s ease forwards}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxFadeOut{0%{opacity:1}to{opacity:0}}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes lightboxZoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.example-sentence-divider{height:1px;background-color:var(--color-divider);margin:15px 0}.example-sentence-item{transition:box-shadow .2s ease,border-color .2s ease;border:2px solid transparent;border-radius:8px;padding:4px;margin:-4px}.example-sentence-drop-active{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent);background-color:color-mix(in srgb,var(--color-primary) 4%,transparent)}.example-sentence-item.uploading{opacity:.7;pointer-events:none}.example-sentence-upload-indicator{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--color-primary)}.example-sentence-upload-spinner{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:exUploadSpin .6s linear infinite}@keyframes exUploadSpin{to{transform:rotate(360deg)}}.related-words{width:240px;background-color:var(--color-container-bg);border-radius:12px;padding:15px 15px 0;flex-shrink:0}.related-words::-webkit-scrollbar{display:none}.related-words-content{display:flex;flex-direction:column;gap:32px}.related-words-group-tag{display:inline-block;background-color:var(--color-container-subtle);border-radius:6px;padding:4px 8px;font-size:14px;color:var(--color-text-secondary)}.related-words-group-list{margin-top:8px;padding-left:5px}.related-words-item-wrapper{position:relative}.related-words-item{display:flex;align-items:center;justify-content:space-between;padding:5px 0}.related-words-phrase{font-size:16px;color:var(--color-text-base);line-height:1.5}.related-words-word-wrapper{position:relative;display:inline}.related-words-word{cursor:pointer;border-radius:3px;padding:1px 2px;transition:background-color .15s ease,color .15s ease}.related-words-word.selected{background-color:var(--color-primary);color:#fff}.related-words-item-divider{height:1px;background-color:var(--color-divider);margin:5px 0}.related-words-spacer{height:20px;flex-shrink:0}.note-panel{width:100%;height:100%;display:flex;flex-direction:row;background-color:var(--color-container-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--color-shadow-gray)}.note-panel-left{display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:width .25s ease,min-width .25s ease,opacity .2s ease}.note-panel-left.no-transition{transition:none!important}.note-panel-left.collapsed{width:0!important;min-width:0!important;opacity:0;overflow:hidden}.note-panel-left-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px 18px;flex-shrink:0}.note-panel-left-header>div{display:flex;align-items:center}.note-panel-left-title{font-size:15px;font-weight:600;color:var(--color-text-base)}.note-panel-left-count{font-size:11px;color:var(--color-text-secondary);background-color:var(--color-container-subtle);padding:1px 7px;border-radius:8px;margin-left:6px}.note-panel-add-btn{width:28px;height:28px;border:none;border-radius:7px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.note-panel-add-btn:hover{background-color:var(--color-container-subtle);color:var(--color-primary)}.note-panel-add-btn svg{width:16px;height:16px}.note-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 8px}.note-list::-webkit-scrollbar{width:3px}.note-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.note-list-item{display:flex;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .15s ease;gap:8px;margin-bottom:2px}.note-list-item:hover,.note-list-item.active{background-color:var(--color-container-subtle)}.note-list-item-info{flex:1;min-width:0}.note-list-item-title{font-size:13px;font-weight:500;color:var(--color-text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-list-item-title-input{font-size:13px;font-weight:500;color:var(--color-text-base);border:1px solid var(--color-primary);background:var(--color-container-bg);border-radius:4px;padding:1px 6px;outline:none;width:100%;font-family:inherit}.note-list-item-time{font-size:11px;color:var(--color-text-secondary);opacity:.7;margin-top:2px}.note-list-item-delete{width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s ease;flex-shrink:0}.note-list-item:hover .note-list-item-delete{opacity:1}.note-list-item-delete:hover{background-color:#f65d3a1a;color:var(--color-error)}.note-list-item-delete svg{width:13px;height:13px}.note-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--color-text-secondary);padding:20px}.note-list-empty-icon{font-size:32px;opacity:.5}.note-list-empty-text{font-size:13px}.note-panel-divider{width:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize;position:relative;-webkit-user-select:none;user-select:none;z-index:2}.note-panel-divider:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background-color:var(--color-divider);transform:translate(-50%)}.note-panel-divider:hover:before,.note-panel-divider.dragging:before{width:2px;background-color:var(--color-primary);opacity:.5}.note-panel-divider-toggle{width:20px;height:40px;border:1px solid var(--color-divider);border-radius:6px;background:var(--color-container-bg);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:all .15s ease;padding:0}.note-panel-divider-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-container-subtle)}.note-panel-divider-toggle svg{width:14px;height:14px;transition:transform .25s ease}.note-panel-divider-toggle.collapsed svg{transform:rotate(180deg)}.note-panel-right{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.note-editor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-text-secondary)}.note-editor-empty-icon{font-size:40px;opacity:.4}.note-editor-empty-text{font-size:14px}.note-editor-empty-hint{font-size:12px;opacity:.6}.note-editor-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.note-editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--color-divider);background:var(--color-container-bg);flex-shrink:0}.note-toolbar-btn{width:32px;height:32px;border:none;border-radius:7px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease;padding:0}.note-toolbar-btn:hover{background-color:var(--color-container-subtle);color:var(--color-text-base)}.note-toolbar-btn:active{background-color:#55b6851f;color:var(--color-primary)}.note-toolbar-btn-active{background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)!important;color:var(--color-primary)!important}.note-toolbar-btn svg{width:16px;height:16px}.note-pixabay-search{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.note-pixabay-search-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-shrink:0}.note-pixabay-search-input{flex:1;height:34px;border:1.5px solid var(--color-divider);border-radius:8px;padding:0 12px;font-size:13px;font-family:inherit;color:var(--color-text-base);background:var(--color-container-bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.note-pixabay-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #55b6851f}.note-pixabay-search-input::placeholder{color:var(--color-text-secondary);opacity:.5}.note-pixabay-search-btn{width:34px;height:34px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease,transform .1s ease;flex-shrink:0}.note-pixabay-search-btn:hover{opacity:.88}.note-pixabay-search-btn:active{transform:scale(.95)}.note-pixabay-search-btn:disabled{opacity:.5;cursor:not-allowed}.note-pixabay-masonry{flex:1;min-height:0;overflow-y:auto;padding:0 14px 14px}.note-pixabay-masonry::-webkit-scrollbar{width:4px}.note-pixabay-masonry::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.note-pixabay-masonry-grid{display:flex;width:auto;margin-left:-10px}.note-pixabay-masonry-col{padding-left:10px;background-clip:padding-box}.note-pixabay-card{margin-bottom:10px;border-radius:10px;overflow:hidden;position:relative;cursor:grab;background:var(--color-container-subtle);transition:transform .2s ease,box-shadow .2s ease}.note-pixabay-card:active{cursor:grabbing}.note-pixabay-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.note-pixabay-card img{display:block;width:100%;height:auto;transition:opacity .3s ease}.note-pixabay-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 8px;background:linear-gradient(transparent,#0000008c);display:flex;align-items:center;justify-content:space-between;opacity:0;transition:opacity .2s ease}.note-pixabay-card:hover .note-pixabay-card-overlay{opacity:1}.note-pixabay-card-user{display:flex;align-items:center;gap:4px;font-size:11px;color:#ffffffe6;font-weight:500}.note-pixabay-card-stats{font-size:11px;color:#fffc}.note-pixabay-loading-center{display:flex;align-items:center;justify-content:center;padding:60px 0}.note-pixabay-sentinel{display:flex;align-items:center;justify-content:center;padding:16px 0;min-height:40px}.note-pixabay-end{font-size:12px;color:var(--color-text-secondary);opacity:.5}.note-pixabay-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--color-text-secondary);font-size:14px;opacity:.7}.note-pixabay-empty span:first-child{font-size:32px}.note-pixabay-attribution{flex-shrink:0;padding:6px 14px;text-align:right;font-size:11px;color:var(--color-text-secondary);opacity:.5;border-top:1px solid var(--color-divider)}.note-pixabay-attribution a{color:var(--color-primary);text-decoration:none}.note-pixabay-attribution a:hover{text-decoration:underline}.note-pixabay-preview-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:noteOverlayIn .2s ease}.note-pixabay-preview-modal{position:relative;max-width:90vw;max-height:85vh;border-radius:14px;overflow:hidden;background:var(--color-container-bg);box-shadow:0 12px 48px #0000004d;animation:noteModalIn .25s cubic-bezier(.34,1.56,.64,1)}.note-pixabay-preview-modal img{display:block;max-width:90vw;max-height:calc(85vh - 48px);object-fit:contain}.note-pixabay-preview-info{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:13px;color:var(--color-text-secondary)}.note-pixabay-preview-user{font-weight:500;color:var(--color-text-base)}.note-pixabay-preview-stats{font-size:12px;opacity:.7}.note-pixabay-preview-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.note-pixabay-preview-close:hover{background:#000000b3}.note-editor-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 24px;font-family:MiSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.75;color:var(--color-text-base);outline:none;cursor:text;word-wrap:break-word;overflow-wrap:break-word}.note-editor-content::-webkit-scrollbar{width:4px}.note-editor-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.note-editor-content:empty:before{content:attr(data-placeholder);color:var(--color-text-secondary);opacity:.45;font-style:italic;pointer-events:none}.note-editor-content ::selection{background-color:#55b68540}.note-editor-content b,.note-editor-content strong{font-weight:700}.note-editor-content mark{color:var(--color-primary);background-color:transparent}.note-editor-content i,.note-editor-content em{font-style:italic}.note-editor-content u{text-decoration:underline;text-underline-offset:2px}.note-editor-content hr{border:none;border-top:1px solid var(--color-divider);margin:14px 0}.note-toolbar-sep{width:1px;height:18px;background-color:var(--color-divider);margin:0 4px;flex-shrink:0}.note-toolbar-btn-red{position:relative}.note-toolbar-color-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:12px;height:2px;border-radius:1px}.note-editor-status{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;border-top:1px solid var(--color-divider);flex-shrink:0;background:var(--color-container-bg)}.note-editor-status-text{font-size:11px;color:var(--color-text-secondary);opacity:.7}.note-editor-status-saved{font-size:11px;color:var(--color-primary);opacity:.8}.note-delete-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:noteOverlayIn .2s ease}@keyframes noteOverlayIn{0%{opacity:0}to{opacity:1}}.note-delete-modal{background:var(--color-container-bg);border-radius:14px;padding:28px 32px 22px;min-width:300px;max-width:360px;text-align:center;box-shadow:0 8px 32px #0000002e;animation:noteModalIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes noteModalIn{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.note-delete-modal-icon{font-size:36px;margin-bottom:10px}.note-delete-modal-title{font-size:16px;font-weight:600;color:var(--color-text-base);margin-bottom:6px}.note-delete-modal-text{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:20px}.note-delete-modal-actions{display:flex;gap:10px;justify-content:center}.note-delete-modal-btn{flex:1;padding:8px 0;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.note-delete-modal-btn.cancel{background:var(--color-container-subtle);color:var(--color-text-base)}.note-delete-modal-btn.cancel:hover{background:var(--color-card-hover)}.note-delete-modal-btn.confirm{background:var(--color-error);color:#fff}.note-delete-modal-btn.confirm:hover{opacity:.88}.note-table-picker-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.note-table-picker{position:absolute;top:52px;right:12px;background:var(--color-container-bg);border:1px solid var(--color-divider);border-radius:10px;padding:12px 14px;box-shadow:0 6px 24px #00000024;z-index:1001;animation:noteTablePickerIn .15s ease}@keyframes noteTablePickerIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.note-table-picker-label{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-bottom:8px;font-weight:500;min-height:16px}.note-table-picker-grid{display:flex;flex-direction:column;gap:3px}.note-table-picker-row{display:flex;gap:3px}.note-table-picker-cell{width:20px;height:20px;border-radius:3px;border:1.5px solid var(--color-divider);cursor:pointer;transition:all .08s ease;background:transparent}.note-table-picker-cell:hover{border-color:#55b68580}.note-table-picker-cell.active{background:#55b6852e;border-color:var(--color-primary)}.note-editor-content .note-table-wrapper{margin:12px 20px 12px 0;border-radius:8px;border:1px solid var(--color-divider);position:relative;width:fit-content;max-width:calc(100% - 20px)}.note-editor-content .note-table-wrapper .note-table-scroll{overflow-x:auto;overflow-y:hidden;border-radius:8px;position:relative;z-index:1}.note-editor-content .note-table-wrapper .note-table-scroll::-webkit-scrollbar{height:5px}.note-editor-content .note-table-wrapper .note-table-scroll::-webkit-scrollbar-track{background:transparent}.note-editor-content .note-table-wrapper .note-table-scroll::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.note-editor-content .note-table-wrapper .note-table-scroll::-webkit-scrollbar-thumb:hover{background:#00000038}.note-editor-content table.note-table{border-collapse:collapse;table-layout:auto}.note-editor-content .note-table thead th{background:var(--color-container-subtle);font-weight:600;font-size:13px;color:var(--color-text-base);padding:8px 12px;border:1px solid var(--color-divider);text-align:left;outline:none;min-width:100px;position:relative;white-space:nowrap}.note-editor-content .note-table thead th:empty:before{content:attr(data-placeholder);color:var(--color-text-secondary);opacity:.4;font-weight:400;font-style:italic;pointer-events:none}.note-editor-content .note-table thead th.has-content:before{display:none}.note-editor-content .note-table tbody td{padding:7px 12px;border:1px solid var(--color-divider);font-size:14px;color:var(--color-text-base);outline:none;min-width:100px;transition:background .1s ease;vertical-align:top;white-space:nowrap}.note-editor-content .note-table tbody td:focus,.note-editor-content .note-table thead th:focus{background:#55b6850f;box-shadow:inset 0 0 0 1.5px #55b68559}.note-editor-content .note-table-wrapper .note-table-add-row-bar{position:absolute;left:0;right:0;bottom:-18px;height:16px;display:flex;align-items:center;justify-content:center;border:1px dashed transparent;border-radius:0 0 6px 6px;font-size:14px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:all .15s ease;-webkit-user-select:none;user-select:none}.note-editor-content .note-table-wrapper:hover .note-table-add-row-bar{opacity:.6;border-color:var(--color-divider)}.note-editor-content .note-table-wrapper .note-table-add-row-bar:hover{opacity:1;border-color:var(--color-primary);color:var(--color-primary);background:#55b6850f}.note-editor-content .note-table-wrapper .note-table-add-col-bar{position:absolute;top:0;right:-18px;width:16px;bottom:0;display:flex;align-items:center;justify-content:center;border:1px dashed transparent;border-radius:0 6px 6px 0;font-size:14px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:all .15s ease;-webkit-user-select:none;user-select:none;writing-mode:vertical-lr}.note-editor-content .note-table-wrapper:hover .note-table-add-col-bar{opacity:.6;border-color:var(--color-divider)}.note-editor-content .note-table-wrapper .note-table-add-col-bar:hover{opacity:1;border-color:var(--color-primary);color:var(--color-primary);background:#55b6850f}.note-table-lp-del-row{position:absolute;left:-22px;width:20px;display:flex;align-items:center;justify-content:center;background:#f65d3a1f;border:1px solid rgba(246,93,58,.3);border-radius:4px 0 0 4px;color:var(--color-error);font-size:16px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:10;animation:lpBtnIn .15s ease;transition:all .12s ease}.note-table-lp-del-row.active{background:#f65d3ad9;border-color:#f65d3ae6;color:#fff;transform:scaleX(1.15)}.note-table-lp-del-col{position:absolute;top:-22px;height:20px;display:flex;align-items:center;justify-content:center;background:#f65d3a1f;border:1px solid rgba(246,93,58,.3);border-radius:4px 4px 0 0;color:var(--color-error);font-size:16px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:10;animation:lpBtnIn .15s ease;transition:all .12s ease}.note-table-lp-del-col.active{background:#f65d3ad9;border-color:#f65d3ae6;color:#fff;transform:scaleY(1.15)}@keyframes lpBtnIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.note-editor-content .note-table-wrapper .note-table-fullscreen-btn{position:absolute;top:4px;right:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--color-container-bg);border:1px solid var(--color-divider);color:var(--color-text-secondary);cursor:pointer;opacity:0;pointer-events:none;transition:all .18s ease;z-index:5;box-shadow:0 1px 4px #00000014}.note-editor-content .note-table-wrapper:hover .note-table-fullscreen-btn{opacity:.7;pointer-events:auto}.note-editor-content .note-table-wrapper .note-table-fullscreen-btn:hover{opacity:1;background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #55b6854d;transform:scale(1.08)}.note-table-fs-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:noteTableFsOverlayIn .2s ease}@keyframes noteTableFsOverlayIn{0%{opacity:0}to{opacity:1}}.note-table-fs-modal{background:var(--color-container-bg);border-radius:12px;padding:0;width:96vw;max-height:90vh;overflow:auto;box-shadow:0 16px 64px #00000040;animation:noteTableFsModalIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes noteTableFsModalIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.note-table-fs-modal::-webkit-scrollbar{width:6px;height:6px}.note-table-fs-modal::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.note-table-fs-modal::-webkit-scrollbar-thumb:hover{background:#00000038}.note-table-fs-close{position:fixed;top:16px;right:16px;width:36px;height:36px;border:none;border-radius:50%;background:#00000073;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.note-table-fs-close:hover{background:var(--color-error);color:#fff;transform:scale(1.1)}.note-table-fs-content{width:100%;overflow-x:auto}.note-table-fs-content table.note-table{border-collapse:collapse;table-layout:auto;width:100%}.note-table-fs-content .note-table thead th{background:var(--color-container-subtle);font-weight:600;font-size:14px;color:var(--color-text-base);padding:10px 16px;border:1px solid var(--color-divider);text-align:left;white-space:nowrap}.note-table-fs-content .note-table tbody td{padding:9px 16px;border:1px solid var(--color-divider);font-size:14px;color:var(--color-text-base);vertical-align:top;white-space:nowrap}.note-table-fs-content .note-table tbody tr:hover td{background:#55b6850a}.note-slash-overlay{position:fixed;inset:0;z-index:999;background:transparent}.note-slash-popup{position:absolute;z-index:1000;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-container-bg);border:1px solid var(--color-divider);border-radius:8px;box-shadow:0 4px 16px #0000001f;animation:noteSlashIn .12s ease}@keyframes noteSlashIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.note-slash-label{font-size:12px;font-weight:600;color:var(--color-primary);white-space:nowrap}.note-slash-input{width:38px;padding:3px 6px;font-size:13px;font-family:inherit;border:1px solid var(--color-divider);border-radius:5px;outline:none;background:var(--color-container-bg);color:var(--color-text-base);text-align:center;-moz-appearance:textfield;appearance:textfield}.note-slash-input::-webkit-inner-spin-button,.note-slash-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.note-slash-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #55b68526}.note-slash-sep{font-size:12px;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.note-jimeng-panel{flex:1;display:flex;flex-direction:column;padding:16px;gap:12px;overflow-y:auto}.note-jimeng-form{display:flex;flex-direction:column;gap:14px}.note-jimeng-field{display:flex;flex-direction:column;gap:6px}.note-jimeng-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.5px}.note-jimeng-prompt{width:100%;padding:10px 12px;font-size:13px;line-height:1.5;border-radius:8px;border:1px solid var(--color-divider);background:var(--color-container-bg);color:var(--color-text-primary);resize:vertical;min-height:60px;transition:border-color .2s ease;font-family:inherit;box-sizing:border-box}.note-jimeng-prompt:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa26}.note-jimeng-prompt:disabled{opacity:.6}.note-jimeng-chips{display:flex;flex-wrap:wrap;gap:6px}.note-jimeng-chip{padding:4px 10px;font-size:12px;border-radius:14px;border:1px solid var(--color-divider);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.note-jimeng-chip:hover{border-color:#a78bfa;color:#a78bfa}.note-jimeng-chip.active{background:color-mix(in srgb,#a78bfa 15%,transparent);border-color:#a78bfa;color:#a78bfa;font-weight:500}.note-jimeng-chip:disabled{opacity:.5;cursor:not-allowed}.note-jimeng-gen-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 0;width:100%;font-size:13px;font-weight:600;border-radius:8px;border:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#8b5cf6,#a78bfa);transition:all .2s ease}.note-jimeng-gen-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#8b5cf6);box-shadow:0 4px 12px #8b5cf64d}.note-jimeng-gen-btn:disabled{opacity:.5;cursor:not-allowed}.note-jimeng-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:noteSpin .8s linear infinite}@keyframes noteSpin{to{transform:rotate(360deg)}}.note-jimeng-error{font-size:12px;color:#ef4444;padding:8px 12px;border-radius:6px;background:color-mix(in srgb,#ef4444 8%,transparent)}.note-jimeng-results{display:flex;flex-direction:column;gap:8px}.note-jimeng-results-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.5px}.note-jimeng-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.note-jimeng-result-card{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--color-divider);cursor:grab;transition:transform .15s ease,box-shadow .15s ease}.note-jimeng-result-card:active{cursor:grabbing}.note-jimeng-result-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.note-jimeng-result-card img{width:100%;display:block;object-fit:cover;aspect-ratio:1}.note-jimeng-drag-hint{position:absolute;bottom:0;left:0;right:0;padding:4px 0;text-align:center;font-size:10px;color:#fff;background:linear-gradient(transparent,#00000080);opacity:0;transition:opacity .15s ease}.note-jimeng-result-card:hover .note-jimeng-drag-hint{opacity:1}.note-asr-mic-wrapper{position:absolute;bottom:40px;right:18px;display:flex;align-items:center;gap:8px;z-index:20;animation:noteAsrMicIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes noteAsrMicIn{0%{opacity:0;transform:scale(.5) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.note-asr-mic-btn{width:40px;height:40px;border:none;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #55b68559;transition:all .2s ease;position:relative}.note-asr-mic-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #55b68573}.note-asr-mic-btn:active{transform:scale(.95)}.note-asr-mic-btn.recording{background:#e53e3e;box-shadow:0 4px 16px #e53e3e59;animation:noteAsrPulse 1.5s ease-in-out infinite}.note-asr-mic-btn.recording:hover{box-shadow:0 6px 20px #e53e3e80}.note-asr-mic-btn.recording:before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(229,62,62,.4);animation:noteAsrRing 1.5s ease-out infinite}@keyframes noteAsrPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes noteAsrRing{0%{transform:scale(1);opacity:.6}to{transform:scale(1.45);opacity:0}}.note-asr-mic-label{font-size:12px;color:#e53e3e;font-weight:500;white-space:nowrap;padding:3px 10px;background:#e53e3e14;border-radius:12px;animation:noteAsrLabelIn .3s ease}@keyframes noteAsrLabelIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.note-asr-inline-text{background-color:#e53e3e14;border-radius:2px;padding:0 1px}.spelling-peek-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background-color:var(--color-container-bg);border-radius:10px;opacity:0;pointer-events:none;transition:opacity .12s ease-out}.spelling-peek-overlay.show{opacity:1;transition:opacity .18s ease-in}.spelling-peek-overlay.single{border-radius:10px;padding:0 16px}.spelling-peek-text{font-size:15px;font-weight:500;color:var(--color-text-secondary);text-align:center;line-height:1.6;-webkit-user-select:none;user-select:none;white-space:pre-line}.spelling-slots-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px}.spelling-peek-word{font-size:24px;font-weight:600;color:var(--color-text-secondary);letter-spacing:2px;-webkit-user-select:none;user-select:none}.spelling-panel{position:fixed;inset:64px 0 0 64px;background-color:var(--color-page-bg);z-index:100;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.spelling-panel.visible{transform:translateY(0)}.spelling-panel-loading{flex:1;display:flex;align-items:center;justify-content:center}.spelling-panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;opacity:0;transition:opacity .3s ease}.spelling-panel-content.fade-in{opacity:1}.spelling-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);padding:15px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:background-color .2s ease}.spelling-progress-section{display:flex;align-items:center;gap:12px;flex-shrink:0}.spelling-progress-bar{width:254px;height:10px;background-color:var(--color-container-subtle);border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.spelling-progress-fill{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.spelling-progress-text{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.spelling-toolbar-right{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.spelling-toolbar-divider{width:1px;height:16px;background-color:var(--color-divider);margin:0 4px;flex-shrink:0}.spelling-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;padding:0;color:var(--color-text-secondary);transition:background-color .2s ease,color .2s ease;flex-shrink:0}.spelling-toolbar-btn svg{width:16px;height:16px}.spelling-toolbar-btn svg path{fill:var(--color-text-secondary);transition:fill .2s ease}.spelling-toolbar-btn.active{color:var(--color-primary)}.spelling-toolbar-btn.active svg path{fill:var(--color-primary)}.spelling-toolbar-btn:hover{background-color:var(--color-container-subtle)}.spelling-fav-btn.favorited{color:#f5a623}.spelling-fav-btn.favorited svg path{fill:#f5a623;stroke:#f5a623}.spelling-fav-btn:not(.favorited) svg path{fill:none;stroke:var(--color-text-secondary)}.spelling-fav-btn:active{transform:scale(1.25)}.spelling-image-menu-wrap{position:relative;display:flex;align-items:center}.spelling-image-dropdown{position:absolute;top:calc(100% + 6px);right:0;background-color:var(--color-container-bg);border:1px solid var(--color-divider);border-radius:10px;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:140px;box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f;z-index:10;animation:dropdownFadeIn .15s ease both}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.spelling-image-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:background-color .15s ease,color .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.spelling-image-dropdown-item:hover{background-color:var(--color-container-subtle);color:var(--color-text-base)}.spelling-image-dropdown-item.active{color:var(--color-primary)}.spelling-image-dropdown-item svg{flex-shrink:0;opacity:.7}.spelling-image-dropdown-item.active svg{opacity:1;stroke:var(--color-primary)}.spelling-image-dropdown-check{margin-left:auto;font-size:12px;font-weight:700;color:var(--color-primary);opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.spelling-image-dropdown-check.show{opacity:1;transform:scale(1)}.spelling-mode-selector{display:flex;align-items:center;gap:2px;background-color:var(--color-container-subtle);border-radius:8px;padding:2px}.spelling-mode-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:var(--color-text-secondary);transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.spelling-mode-btn:hover{color:var(--color-text-base)}.spelling-mode-btn.active{background-color:var(--color-container-bg);color:var(--color-text-base);box-shadow:0 1px 3px #00000014}.spelling-mode-icon{font-size:13px;line-height:1}.spelling-mode-label{font-size:12px;line-height:1}.spelling-divider{height:1px;background-color:var(--color-divider);margin:15px -15px 0;flex-shrink:0}.spelling-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:20px 0}.spelling-body.translate-layout{flex-direction:row;justify-content:center;gap:0;padding:0}.spelling-translate-area{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.spelling-translate-area.with-gallery{flex-direction:row;align-items:stretch}.spelling-gallery-sidebar{width:400px;min-width:400px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0;padding:12px;border-right:1px solid var(--color-divider);scrollbar-width:thin;scrollbar-color:var(--color-divider) transparent}.spelling-gallery-sidebar::-webkit-scrollbar{width:4px}.spelling-gallery-sidebar::-webkit-scrollbar-track{background:transparent}.spelling-gallery-sidebar::-webkit-scrollbar-thumb{background-color:var(--color-divider);border-radius:4px}.spelling-gallery-card{position:relative;border-radius:12px;overflow:hidden;cursor:default;flex-shrink:0}.spelling-gallery-card+.spelling-gallery-card{margin-top:12px}.spelling-gallery-img{width:100%;height:auto;display:block;object-fit:cover;transition:transform .3s ease}.spelling-gallery-card:hover .spelling-gallery-img{transform:scale(1.03)}.spelling-gallery-overlay{position:absolute;left:0;right:0;bottom:0;padding:48px 16px 16px;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 50%,transparent 100%);display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .25s ease;pointer-events:none}.spelling-gallery-card:hover .spelling-gallery-overlay{opacity:1}.spelling-gallery-pos{display:inline-block;align-self:flex-start;background-color:#ffffff2e;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;letter-spacing:.3px}.spelling-gallery-def{font-size:14px;font-weight:600;color:#fff;line-height:1.5}.spelling-gallery-prompt{font-size:12px;font-weight:400;color:#ffffffb3;line-height:1.4}.spelling-translate-right-col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.spelling-translate-top{flex-shrink:0;display:flex;flex-direction:column;align-items:center;width:100%}.spelling-translate-content{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;gap:0;transition:gap .4s cubic-bezier(.4,0,.2,1)}.spelling-translate-content.submitted{gap:32px}.spelling-translate-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .3s ease,filter .3s ease;min-width:0}.spelling-translate-left.scoring{opacity:.5;filter:grayscale(40%)}.spelling-translate-middle{flex-shrink:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.spelling-translate-right{flex:0;width:0;overflow:hidden;opacity:0;transform:translate(20px);transition:flex .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1),opacity .35s ease .15s,transform .4s cubic-bezier(.4,0,.2,1)}.spelling-translate-right.show{flex:1;width:auto;overflow:visible;opacity:1;transform:translate(0);display:flex;flex-direction:column;align-items:center;justify-content:center}.spelling-scoring-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 20px;color:var(--color-text-secondary);font-size:14px;font-weight:500}.spelling-definition{text-align:center;width:70%;display:flex;flex-direction:column;align-items:center;gap:10px}.spelling-hint-pos-tag{display:inline-block;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:13px;font-weight:600;padding:4px 12px;border-radius:6px;white-space:nowrap;letter-spacing:.3px}.spelling-cn{font-size:18px;font-weight:600;color:var(--color-text-base);line-height:1.6}.spelling-cn-row{display:flex;align-items:center;gap:8px;justify-content:center}.spelling-weak-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border:none;background:none;border-radius:6px;cursor:pointer;padding:0;color:var(--color-text-secondary);opacity:.4;transition:all .2s ease;flex-shrink:0}.spelling-weak-btn:hover{opacity:.8;background-color:#e74c3c14;color:#e74c3c}.spelling-weak-btn.active{opacity:1;color:#e74c3c}.spelling-weak-btn.active svg{filter:drop-shadow(0 0 4px rgba(231,76,60,.3))}.spelling-weak-btn:active{transform:scale(1.2)}.spelling-example{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:10px 16px;background-color:var(--color-container-subtle);border-radius:10px;max-width:520px;width:100%;animation:fadeInUp .3s ease both}.spelling-example-en{font-size:15px;font-weight:500;color:var(--color-text-base);line-height:1.5}.spelling-example-cn{font-size:16px;font-weight:500;color:var(--color-text-secondary);line-height:1.5}.spelling-example-image-wrap{margin-top:6px;display:flex;justify-content:center;position:relative;min-height:48px;animation:fadeInUp .35s ease both;animation-delay:.05s}.spelling-example-image-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s ease;pointer-events:none}.spelling-example-image-loader.show{opacity:1}.spelling-example-image{max-height:300px;width:auto;border-radius:10px;object-fit:cover;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,opacity .3s ease;opacity:1}.spelling-example-image.loading{opacity:0}.spelling-example-image:hover{transform:scale(1.02)}.spelling-phonetic{font-size:15px;color:var(--color-text-secondary);font-weight:400;margin-top:-16px;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;min-height:22px}.spelling-phonetic.show{opacity:1;transform:translateY(0)}.spelling-slots{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.spelling-slot{width:36px;height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--color-text-base);border-bottom:3px solid var(--color-divider);transition:border-color .2s ease,color .2s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.spelling-slot.active{border-color:var(--color-primary);transform:translateY(-2px)}.spelling-slot.filled{border-color:var(--color-text-secondary)}.spelling-slot.answer{color:var(--color-text-secondary);border-color:var(--color-text-secondary);opacity:.6}.spelling-slot.correct{color:var(--color-primary);border-color:var(--color-primary);animation:slotCorrect .35s ease}.spelling-slot.error{color:var(--color-error);border-color:var(--color-error);animation:slotShake .4s ease}@keyframes slotCorrect{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes slotShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.spelling-hidden-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.spelling-feedback{text-align:center;min-height:28px;display:flex;align-items:center;justify-content:center;gap:8px}.spelling-feedback-text{font-size:14px;font-weight:500;opacity:0;transition:opacity .25s ease}.spelling-feedback-text.show{opacity:1}.spelling-feedback-text.correct{color:var(--color-primary)}.spelling-feedback-text.error{color:var(--color-error)}.spelling-hint{font-size:15px;font-weight:500;color:var(--color-text-secondary);margin-top:4px;opacity:0;transition:opacity .3s ease}.spelling-hint.show{opacity:1}.spelling-hint span{color:var(--color-primary);font-weight:600;letter-spacing:1px}.spelling-shortcuts{display:flex;align-items:center;justify-content:center;gap:32px;padding:16px 0;flex-shrink:0}.spelling-shortcut-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary);opacity:.65;-webkit-user-select:none;user-select:none}.spelling-shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:500;font-family:inherit;color:var(--color-text-secondary);background-color:var(--color-container-subtle);border:1px solid var(--color-divider);border-radius:4px;line-height:1.6;white-space:nowrap}.spelling-complete{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.spelling-complete-icon{font-size:56px;animation:floatIcon 3s ease-in-out infinite}.spelling-complete-title{font-size:20px;font-weight:700;color:var(--color-text-base)}.spelling-complete-stats{font-size:14px;color:var(--color-text-secondary);display:flex;align-items:center;gap:16px}.spelling-complete-stat{display:flex;align-items:center;gap:4px}.spelling-complete-stat .correct-count{color:var(--color-primary);font-weight:600}.spelling-complete-stat .error-count{color:var(--color-error);font-weight:600}.spelling-complete-stat .skip-count{color:var(--color-text-secondary);font-weight:600}.spelling-skip-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:color-mix(in srgb,var(--color-container-subtle) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;font-size:15px;font-weight:600;color:var(--color-text-secondary);opacity:0;pointer-events:none;z-index:20;transition:opacity .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.spelling-skip-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1);animation:skipToastPop .6s ease both}@keyframes skipToastPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}40%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-60%) scale(.95)}}.spelling-complete-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);opacity:.6;margin-top:8px;-webkit-user-select:none;user-select:none}.spelling-complete-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:500;font-family:inherit;color:var(--color-text-secondary);background-color:var(--color-container-subtle);border:1px solid var(--color-divider);border-radius:4px;line-height:1.6}.spelling-instruction{font-size:12px;color:var(--color-text-secondary);opacity:.6;-webkit-user-select:none;user-select:none}.spelling-translate-word{display:flex;flex-direction:column;align-items:center;gap:8px}.spelling-en-word{font-size:32px;font-weight:700;color:var(--color-text-base);letter-spacing:1px}.spelling-en-phonetic{font-size:15px;color:var(--color-text-secondary);font-weight:400}.spelling-listen-prompt{display:flex;flex-direction:column;align-items:center;gap:16px}.spelling-listen-btn{width:72px;height:72px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),hsl(from var(--color-primary) h s calc(l - 10)));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px #0000001f}.spelling-listen-btn:hover{transform:scale(1.08);box-shadow:0 6px 24px #0000002e}.spelling-listen-btn:active{transform:scale(.96)}.spelling-listen-btn svg{width:32px;height:32px}.spelling-listen-btn svg path{fill:#fff}.spelling-listen-hint{font-size:13px;color:var(--color-text-secondary);opacity:.7;-webkit-user-select:none;user-select:none}.spelling-mind-map{display:flex;flex-direction:column;gap:20px;width:100%;max-width:600px;align-items:center}.spelling-mind-map-group{display:flex;align-items:stretch;width:100%}.spelling-mind-map-label{display:flex;align-items:center;flex-shrink:0}.spelling-multi-pos-tag{display:inline-block;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;letter-spacing:.3px}.spelling-mind-map-stem{width:12px;height:2px;flex-shrink:0;background-color:var(--color-divider);align-self:center}.spelling-mind-map-connector{width:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.spelling-mind-map-single-line{width:100%;height:2px;background-color:var(--color-divider)}.spelling-mind-map-tree{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;position:relative}.spelling-mind-map-trunk{position:absolute;left:0;top:20px;bottom:20px;width:2px;background-color:var(--color-divider)}.spelling-mind-map-branch{flex:1;display:flex;align-items:center}.spelling-mind-map-branch:after{content:"";display:block;width:100%;height:2px;background-color:var(--color-divider)}.spelling-mind-map-items{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.spelling-multi-input-row{position:relative;display:flex;align-items:center;border:2px solid var(--color-divider);border-radius:10px;padding:4px 12px;background-color:var(--color-container-bg);transition:border-color .2s ease}.spelling-multi-input-row.correct{border-color:var(--color-primary)}.spelling-multi-input-row.error{border-color:var(--color-error)}.spelling-multi-input-row.scoring{border-color:var(--color-text-secondary);opacity:.7}.spelling-multi-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;font-weight:500;color:var(--color-text-base);padding:8px 0;font-family:inherit;min-width:0}.spelling-multi-input::placeholder{color:var(--color-text-secondary);opacity:.45;font-weight:400}.spelling-multi-input:disabled{opacity:.6}.spelling-multi-submit-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.spelling-translate-input-wrapper{display:flex;align-items:center;gap:8px;width:100%;max-width:400px;position:relative;border:2px solid var(--color-divider);border-radius:12px;padding:4px 4px 4px 16px;transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--color-container-bg)}.spelling-translate-input-wrapper:focus-within{border-color:var(--color-divider);box-shadow:none}.spelling-translate-input-wrapper.correct{border-color:var(--color-primary)}.spelling-translate-input-wrapper.error{border-color:var(--color-error);animation:slotShake .4s ease}.spelling-translate-input-wrapper.scoring{border-color:var(--color-text-secondary);opacity:.7}.spelling-translate-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;font-weight:500;color:var(--color-text-base);padding:10px 0;font-family:inherit;min-width:0}.spelling-translate-input::placeholder{color:var(--color-text-secondary);opacity:.5}.spelling-translate-input:disabled{opacity:.6}.spelling-translate-submit{flex-shrink:0;padding:8px 18px;border:none;border-radius:8px;background-color:var(--color-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;font-family:inherit}.spelling-translate-submit:hover{opacity:.9}.spelling-translate-submit:disabled{opacity:.4;cursor:not-allowed}.spelling-translate-scoring{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.spelling-score-result{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;border-radius:12px;animation:fadeInUp .3s ease both;max-width:400px;width:100%;position:relative}.spelling-score-result.good{background-color:rgba(from var(--color-primary) r g b / .08);border:1px solid rgba(from var(--color-primary) r g b / .2)}.spelling-score-result.bad{background-color:rgba(from var(--color-error) r g b / .08);border:1px solid rgba(from var(--color-error) r g b / .2)}.spelling-score-header{display:flex;align-items:baseline;gap:2px}.spelling-score-number{font-size:32px;font-weight:800;line-height:1}.spelling-score-result.good .spelling-score-number{color:var(--color-primary)}.spelling-score-result.bad .spelling-score-number{color:var(--color-error)}.spelling-score-max{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.spelling-score-review{font-size:14px;font-weight:500;color:var(--color-text-base);text-align:center;line-height:1.5}.spelling-score-definition{font-size:13px;color:var(--color-text-secondary);text-align:center;line-height:1.6;margin-top:4px;padding-top:8px;border-top:1px solid var(--color-divider);width:100%}.spelling-score-def-label{font-weight:600;color:var(--color-text-base);opacity:.7}.spelling-pin-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--color-text-secondary);opacity:.6;transition:opacity .3s ease,background-color .2s ease,color .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1);transform:rotate(0)}.spelling-pin-btn:hover{opacity:1;background-color:rgba(from var(--color-error) r g b / .1);color:var(--color-error)}.spelling-pin-btn.active{opacity:1;color:var(--color-error);background-color:rgba(from var(--color-error) r g b / .15);transform:rotate(45deg)}.spelling-pin-btn.active:hover{background-color:rgba(from var(--color-error) r g b / .2)}.spelling-continue-hint{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);opacity:.6;margin-top:12px;-webkit-user-select:none;user-select:none;animation:fadeInUp .3s ease both;animation-delay:.3s}.spelling-continue-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:500;font-family:inherit;color:var(--color-text-secondary);background-color:var(--color-container-subtle);border:1px solid var(--color-divider);border-radius:4px;line-height:1.6}.spelling-read-aloud-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}.spelling-read-aloud-word{font-size:36px;font-weight:700;color:var(--color-text-base);letter-spacing:1.5px}.spelling-read-aloud-phonetic{font-size:16px;color:var(--color-text-secondary);font-weight:400}.spelling-read-aloud-play-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-divider);border-radius:20px;background:transparent;color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease;margin-top:4px;font-family:inherit}.spelling-read-aloud-play-btn:hover{background-color:var(--color-container-subtle);color:var(--color-primary);border-color:var(--color-primary)}.spelling-read-aloud-play-btn svg{width:18px;height:18px}.spelling-read-aloud-content{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px}.spelling-read-aloud-mic-area{display:flex;flex-direction:column;align-items:center;gap:12px}.spelling-read-aloud-mic-btn{width:72px;height:72px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),hsl(from var(--color-primary) h s calc(l - 10)));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,background .3s ease;box-shadow:0 4px 16px #0000001f;position:relative}.spelling-read-aloud-mic-btn:hover{transform:scale(1.08);box-shadow:0 6px 24px #0000002e}.spelling-read-aloud-mic-btn:active{transform:scale(.96)}.spelling-read-aloud-mic-btn.recording{background:linear-gradient(135deg,var(--color-error),hsl(from var(--color-error) h s calc(l - 10)));animation:micPulse 1.5s ease-in-out infinite}.spelling-read-aloud-mic-btn.correct{background:linear-gradient(135deg,var(--color-primary),hsl(from var(--color-primary) h s calc(l + 10)));pointer-events:none;opacity:.7}.spelling-read-aloud-mic-btn.error{background:linear-gradient(135deg,var(--color-error),hsl(from var(--color-error) h s calc(l + 10)));pointer-events:none;opacity:.7}@keyframes micPulse{0%,to{box-shadow:0 4px 16px #0000001f,0 0 rgba(from var(--color-error) r g b / .4)}50%{box-shadow:0 4px 16px #0000001f,0 0 0 16px rgba(from var(--color-error) r g b / 0)}}.spelling-read-aloud-mic-hint{font-size:13px;color:var(--color-text-secondary);opacity:.7;-webkit-user-select:none;user-select:none}.spelling-read-aloud-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:24px}.spelling-read-aloud-wave .wave-bar{display:inline-block;width:3px;height:8px;border-radius:2px;background-color:var(--color-error);animation:waveAnim .8s ease-in-out infinite}.spelling-read-aloud-wave .wave-bar:nth-child(1){animation-delay:0s}.spelling-read-aloud-wave .wave-bar:nth-child(2){animation-delay:.1s}.spelling-read-aloud-wave .wave-bar:nth-child(3){animation-delay:.2s}.spelling-read-aloud-wave .wave-bar:nth-child(4){animation-delay:.3s}.spelling-read-aloud-wave .wave-bar:nth-child(5){animation-delay:.4s}@keyframes waveAnim{0%,to{height:6px;opacity:.4}50%{height:22px;opacity:1}}.spelling-read-aloud-scoring{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:14px}.spelling-read-aloud-result{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px;border-radius:16px;animation:fadeInUp .35s ease both;width:100%}.spelling-read-aloud-result.good{background-color:rgba(from var(--color-primary) r g b / .06);border:1px solid rgba(from var(--color-primary) r g b / .15)}.spelling-read-aloud-result.bad{background-color:rgba(from var(--color-error) r g b / .06);border:1px solid rgba(from var(--color-error) r g b / .15)}.spelling-read-aloud-score-row{display:flex;align-items:center;gap:24px}.spelling-read-aloud-score-item{display:flex;flex-direction:column;align-items:center;gap:4px}.spelling-read-aloud-score-item.main .spelling-read-aloud-score-value{font-size:36px;font-weight:800}.spelling-read-aloud-score-value{font-size:22px;font-weight:700;line-height:1}.spelling-read-aloud-result.good .spelling-read-aloud-score-value{color:var(--color-primary)}.spelling-read-aloud-result.bad .spelling-read-aloud-score-value{color:var(--color-error)}.spelling-read-aloud-score-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.spelling-read-aloud-feedback{font-size:14px;font-weight:500;text-align:center}.spelling-read-aloud-feedback.good{color:var(--color-primary)}.spelling-read-aloud-feedback.warn{color:#e8a100}.spelling-read-aloud-feedback.bad{color:var(--color-error)}.spelling-asr-mic-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;opacity:.5;transition:opacity .2s ease,background-color .2s ease,color .2s ease,transform .15s ease}.spelling-asr-mic-btn:hover{opacity:1;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.spelling-asr-mic-btn:active{transform:scale(.92)}.spelling-asr-mic-btn.recording{opacity:1;color:#fff;background:linear-gradient(135deg,var(--color-error),hsl(from var(--color-error) h s calc(l - 8)));animation:asrMicPulse 1.5s ease-in-out infinite}.spelling-asr-mic-btn:disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.spelling-asr-mic-btn.single{width:32px;height:32px;margin-right:4px}@keyframes asrMicPulse{0%,to{box-shadow:0 0 rgba(from var(--color-error) r g b / .4)}50%{box-shadow:0 0 0 8px rgba(from var(--color-error) r g b / 0)}}.spelling-multi-input-row{gap:4px}.word-learning-panel{position:fixed;inset:64px 0 0 64px;background-color:var(--color-page-bg);z-index:100;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.word-learning-panel.visible{transform:translateY(0)}.word-learning-panel-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.word-learning-panel-content{width:100%;height:100%;padding:20px 20px 0;display:flex;overflow:hidden;opacity:0;transition:opacity .3s ease}.word-learning-panel-content.fade-in{opacity:1}.word-learning-words-list{width:324px;margin-right:20px;flex-shrink:0;overflow:hidden;transition:width .35s cubic-bezier(.4,0,.2,1),margin-right .35s cubic-bezier(.4,0,.2,1)}.word-learning-words-list.collapsed{width:0;margin-right:0}.word-learning-words-list .words-list{width:324px}.word-learning-info{flex:1;display:flex;flex-direction:column;gap:16px;margin-right:20px;min-width:0;overflow:hidden}.word-learning-info-top{display:flex;gap:20px;flex-shrink:0}.word-learning-info-top .word-card-container{width:324px;flex-shrink:0}.word-learning-info-top .word-info{flex:1;height:auto;min-width:0}.word-learning-info>.word-meaning{flex-shrink:0;height:auto;min-height:0;transition:height .4s cubic-bezier(.4,0,.2,1)}.word-learning-info>.word-meaning.has-analysis{height:auto;min-height:0;max-height:none}.word-learning-info-bottom{display:flex;gap:20px;flex:1;min-height:0;overflow:hidden;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.word-learning-info-bottom .example-sentences{flex:1;min-width:0;overflow-y:auto;border-radius:12px 12px 0 0;scrollbar-width:none;-ms-overflow-style:none}.word-learning-info-bottom .example-sentences::-webkit-scrollbar{display:none}.word-learning-info-bottom .related-words{width:240px;flex-shrink:0;overflow-y:auto;border-radius:12px 12px 0 0;scrollbar-width:none;-ms-overflow-style:none}.word-learning-info-bottom .related-words::-webkit-scrollbar{display:none}.word-learning-chat{width:0;flex-shrink:0;overflow:hidden;transition:width .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.word-learning-chat.open{width:348px}.word-learning-chat.dragging{transition:none}.word-learning-chat-resize-handle{width:8px;height:100%;cursor:col-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:10}.word-learning-chat-resize-handle:hover .word-learning-chat-resize-line,.word-learning-chat-resize-handle.dragging .word-learning-chat-resize-line{background-color:var(--color-primary);width:4px}.word-learning-chat-resize-line{width:2px;height:40px;background-color:var(--color-divider);border-radius:2px;transition:background-color .15s ease,width .15s ease}.word-learning-chat-content{flex:1;min-width:0;height:100%;opacity:0;transition:opacity .25s ease}.word-learning-chat-content.visible{opacity:1}.word-learning-chat-content .chat-panel{width:100%;height:100%;border-radius:12px 12px 0 0}.word-learning-practice-overlay{position:absolute;inset:0;z-index:200;background-color:var(--color-page-bg);opacity:0;pointer-events:none;transition:opacity .25s ease}.word-learning-practice-overlay.visible{opacity:1;pointer-events:auto}.word-learning-practice-overlay .spelling-panel{position:relative;inset:0;transform:none;z-index:auto;width:100%;height:100%}.word-learning-practice-overlay .spelling-panel.visible{transform:none}@keyframes practiceOverlayIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wlp-toast{position:absolute;top:24px;right:32px;z-index:500;padding:10px 20px;background:#1e1e1ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f0f0f0;font-size:13px;font-weight:500;border-radius:8px;box-shadow:0 4px 16px #0003;animation:wlpToastIn .25s ease,wlpToastOut .3s ease 1.2s forwards;pointer-events:none}@keyframes wlpToastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes wlpToastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.sa-panel{position:fixed;inset:64px 0 0 64px;background-color:var(--color-page-bg);z-index:100;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.sa-panel.visible{transform:translateY(0)}.sa-panel-loading{flex:1;display:flex;align-items:center;justify-content:center}.sa-panel-content{flex:1;display:flex;flex-direction:column;opacity:0;transition:opacity .3s ease;min-height:0}.sa-panel-content.fade-in{opacity:1}.sa-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);padding:15px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:background-color .2s ease}.sa-progress-section{display:flex;align-items:center;gap:12px;flex-shrink:0}.sa-progress-bar{width:254px;height:10px;background-color:var(--color-container-subtle);border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.sa-progress-fill{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.sa-progress-text{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.sa-divider{height:1px;background-color:var(--color-divider);margin:15px -15px 0;flex-shrink:0}.sa-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px 0;min-height:0}.sa-sentence-area{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:700px}.sa-sentence-label{font-size:12px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;opacity:.7}.sa-sentence-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;line-height:1.8}.sa-segment{display:inline-flex;align-items:center;padding:6px 16px;border-radius:var(--radius-sm);font-size:17px;font-weight:500;color:var(--color-text-base);background-color:var(--color-container-subtle);border:2px solid var(--color-divider);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;position:relative}.sa-segment:hover{border-color:var(--color-primary);background-color:#55b6850f}.sa-segment.active{border-color:var(--color-primary);background-color:#55b6851a;box-shadow:0 0 0 3px #55b68526;transform:translateY(-2px)}.sa-segment.labeled{border-color:transparent;cursor:default}.sa-segment.labeled:hover{transform:none;box-shadow:none}.sa-segment.correct{border-color:var(--color-primary);background-color:#55b6851f;animation:sa-pulse-correct .5s ease}.sa-segment.error{border-color:var(--color-error);background-color:#f65d3a14;animation:sa-shake .4s ease}@keyframes sa-pulse-correct{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes sa-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.sa-segment-label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:10px;font-weight:600;white-space:nowrap;padding:1px 8px;border-radius:var(--radius-full);animation:sa-label-in .3s cubic-bezier(.16,1,.3,1) both;pointer-events:none}@keyframes sa-label-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sa-segment-label.subject{color:#5b8def;background-color:#5b8def1f}.sa-segment-label.predicate{color:#55b685;background-color:#55b6851f}.sa-segment-label.object{color:#f0974e;background-color:#f0974e1f}.sa-segment-label.predicative{color:#c77dba;background-color:#c77dba1f}.sa-segment-label.attribute{color:#5b8def;background-color:#5b8def1f}.sa-segment-label.adverbial{color:#e86b6b;background-color:#e86b6b1f}.sa-segment-label.obj-comp{color:#4ecdc4;background-color:#4ecdc41f}.sa-segment-label.subj-comp{color:#95a5a6;background-color:#95a5a61f}.sa-segment-label.appositive{color:#e67e22;background-color:#e67e221f}.sa-segment-label.independent{color:#9b59b6;background-color:#9b59b61f}.sa-sentence-cn{font-size:14px;color:var(--color-text-secondary);text-align:center}.sa-prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.sa-prompt-text{font-size:14px;color:var(--color-text-secondary)}.sa-prompt-highlight{font-size:20px;font-weight:700;color:var(--color-text-base);padding:4px 20px;background-color:var(--color-container-subtle);border-radius:var(--radius-sm);border:2px solid var(--color-primary);animation:sa-prompt-glow 2s ease-in-out infinite}@keyframes sa-prompt-glow{0%,to{box-shadow:0 0 #55b68500}50%{box-shadow:0 0 0 6px #55b6851a}}.sa-role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:100%;max-width:680px}.sa-role-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border:1px solid var(--color-divider);border-radius:var(--radius-md);background-color:var(--color-container-bg);color:var(--color-text-base);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-family:inherit;position:relative;overflow:hidden}.sa-role-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0;opacity:0;transition:opacity .2s ease}.sa-role-btn:hover{border-color:var(--color-primary);background-color:#55b6850a;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.sa-role-btn:hover:before{opacity:1}.sa-role-btn:active{transform:translateY(0)}.sa-role-btn.subject{border-color:#5b8def4d}.sa-role-btn.subject:before{background:#5b8def}.sa-role-btn.subject:hover{border-color:#5b8def;background-color:#5b8def0f}.sa-role-btn.predicate{border-color:#55b6854d}.sa-role-btn.predicate:before{background:#55b685}.sa-role-btn.predicate:hover{border-color:#55b685;background-color:#55b6850f}.sa-role-btn.object{border-color:#f0974e4d}.sa-role-btn.object:before{background:#f0974e}.sa-role-btn.object:hover{border-color:#f0974e;background-color:#f0974e0f}.sa-role-btn.predicative{border-color:#c77dba4d}.sa-role-btn.predicative:before{background:#c77dba}.sa-role-btn.predicative:hover{border-color:#c77dba;background-color:#c77dba0f}.sa-role-btn.attribute{border-color:#5b8def4d}.sa-role-btn.attribute:before{background:#5b8def}.sa-role-btn.attribute:hover{border-color:#5b8def;background-color:#5b8def0f}.sa-role-btn.adverbial{border-color:#e86b6b4d}.sa-role-btn.adverbial:before{background:#e86b6b}.sa-role-btn.adverbial:hover{border-color:#e86b6b;background-color:#e86b6b0f}.sa-role-btn.obj-comp{border-color:#4ecdc44d}.sa-role-btn.obj-comp:before{background:#4ecdc4}.sa-role-btn.obj-comp:hover{border-color:#4ecdc4;background-color:#4ecdc40f}.sa-role-btn.subj-comp{border-color:#95a5a64d}.sa-role-btn.subj-comp:before{background:#95a5a6}.sa-role-btn.subj-comp:hover{border-color:#95a5a6;background-color:#95a5a60f}.sa-role-btn.appositive{border-color:#e67e224d}.sa-role-btn.appositive:before{background:#e67e22}.sa-role-btn.appositive:hover{border-color:#e67e22;background-color:#e67e220f}.sa-role-btn.independent{border-color:#9b59b64d}.sa-role-btn.independent:before{background:#9b59b6}.sa-role-btn.independent:hover{border-color:#9b59b6;background-color:#9b59b60f}.sa-role-cn{font-size:14px;font-weight:600}.sa-role-en{font-size:10px;color:var(--color-text-secondary);font-weight:500}.sa-feedback{text-align:center;min-height:24px;display:flex;align-items:center;justify-content:center}.sa-feedback-text{font-size:14px;font-weight:500;opacity:0;transition:opacity .25s ease}.sa-feedback-text.show{opacity:1}.sa-feedback-text.correct{color:var(--color-primary)}.sa-feedback-text.error{color:var(--color-error)}.sa-shortcuts{display:flex;align-items:center;justify-content:center;gap:32px;padding:16px 0;flex-shrink:0}.sa-shortcut-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary);opacity:.65;-webkit-user-select:none;user-select:none}.sa-shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:500;font-family:inherit;color:var(--color-text-secondary);background-color:var(--color-container-subtle);border:1px solid var(--color-divider);border-radius:4px;line-height:1.6;white-space:nowrap}.sa-ref-toggle{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-divider);border-radius:var(--radius-full);background-color:var(--color-container-bg);color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.sa-ref-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#55b6850a}.sa-ref-toggle svg{transition:transform .3s ease}.sa-ref-toggle.open svg{transform:rotate(180deg)}.sa-ref-panel{position:absolute;bottom:56px;left:15px;right:15px;max-height:0;overflow:hidden;background-color:var(--color-container-bg);border-radius:var(--radius-md);border:1px solid var(--color-divider);box-shadow:0 -8px 32px #00000014;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0;z-index:10}.sa-ref-panel.open{max-height:400px;opacity:1}.sa-ref-table{width:100%;border-collapse:collapse;font-size:12px}.sa-ref-table thead{position:sticky;top:0;z-index:1}.sa-ref-table th{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-align:left;padding:10px 12px;background-color:var(--color-container-subtle);border-bottom:1px solid var(--color-divider);white-space:nowrap}.sa-ref-table td{font-size:12px;color:var(--color-text-base);padding:8px 12px;border-bottom:1px solid var(--color-divider);vertical-align:middle}.sa-ref-table tr:last-child td{border-bottom:none}.sa-ref-table tr:hover td{background-color:var(--color-container-subtle)}.sa-ref-table-inner{overflow-y:auto;max-height:380px}.sa-ref-category{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;white-space:nowrap}.sa-ref-category.trunk{color:#55b685;background-color:#55b6851a}.sa-ref-category.modifier{color:#5b8def;background-color:#5b8def1a}.sa-ref-category.complement{color:#f0974e;background-color:#f0974e1a}.sa-ref-category.explanation{color:#c77dba;background-color:#c77dba1a}.sa-ref-category.indep{color:#9b59b6;background-color:#9b59b61a}.sa-ref-code{font-family:Courier New,monospace;font-size:11px;color:var(--color-primary);font-weight:500}.sa-complete{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:sa-fade-in-up .5s cubic-bezier(.16,1,.3,1) both}.sa-complete-icon{font-size:56px;animation:sa-float 3s ease-in-out infinite}@keyframes sa-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.sa-complete-title{font-size:20px;font-weight:700;color:var(--color-text-base)}.sa-complete-stats{font-size:14px;color:var(--color-text-secondary);display:flex;align-items:center;gap:16px}.sa-complete-stat{display:flex;align-items:center;gap:4px}.sa-complete-stat .correct-count{color:var(--color-primary);font-weight:600}.sa-complete-stat .error-count{color:var(--color-error);font-weight:600}.sa-complete-btn{margin-top:8px;padding:10px 28px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:all .2s ease}.sa-complete-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #55b6854d}@keyframes sa-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sa-instruction{font-size:12px;color:var(--color-text-secondary);opacity:.6;-webkit-user-select:none;user-select:none}.sa-sentence-number{font-size:11px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary),#3a9d6a);padding:2px 10px;border-radius:var(--radius-full);-webkit-user-select:none;user-select:none}.sa-top-row{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sa-streak{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-primary);opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.sa-streak.show{opacity:1;transform:translateY(0)}.sa-streak-fire{font-size:16px}.sa-sentence-row{padding-bottom:28px}.chat-panel{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--color-container-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--color-shadow-gray);position:relative}.chat-panel-header{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--color-divider);background-color:var(--color-container-bg);flex-shrink:0}.chat-panel-title{font-size:16px;font-weight:600;color:var(--color-text-base)}.chat-panel-messages{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-loading-history{flex:1;display:flex;align-items:center;justify-content:center}.chat-panel-messages::-webkit-scrollbar{width:4px}.chat-panel-messages::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.chat-panel-messages::-webkit-scrollbar-track{background:transparent}.chat-scroll-to-bottom{position:absolute;bottom:80px;right:16px;width:34px;height:34px;border:none;border-radius:50%;background-color:var(--color-container-bg);color:var(--color-text-secondary);box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),transform var(--transition-fast);z-index:10}.chat-scroll-to-bottom:hover{background-color:var(--color-container-subtle);transform:scale(1.08)}.chat-scroll-to-bottom:active{transform:scale(.95)}.chat-message{display:flex;max-width:100%}.chat-message-user{justify-content:flex-end}.chat-message-ai{justify-content:flex-start}.chat-bubble{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-message-user .chat-bubble{max-width:80%;background-color:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat-message-ai .chat-bubble{max-width:95%;background-color:var(--color-container-subtle);color:var(--color-text-base);border-bottom-left-radius:4px}.chat-message-error .chat-bubble{background-color:#f65d3a1a;color:var(--color-error)}.chat-message-cancelled .chat-bubble{color:var(--color-text-secondary);font-style:italic}.chat-loading-dots{display:inline-flex;align-items:center;gap:6px;padding:4px 0}.chat-loading-dots .dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-text-secondary);animation:dot-pulse 1.4s ease-in-out infinite}.chat-loading-dots .dot:nth-child(1){animation-delay:0s}.chat-loading-dots .dot:nth-child(2){animation-delay:.2s}.chat-loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.chat-panel-input-area{flex-shrink:0;padding:12px 16px;border-top:1px solid var(--color-divider);background-color:var(--color-container-bg)}.chat-input-wrapper{display:flex;align-items:center;gap:8px}.chat-input{flex:1;height:44px;min-height:44px;max-height:134px;padding:11px 14px;border:1px solid transparent;border-radius:12px;background-color:var(--color-container-subtle);color:var(--color-text-base);font-size:14px;font-family:inherit;line-height:20px;outline:none;resize:none;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.chat-input::-webkit-scrollbar{display:none}.chat-input:focus{border-color:var(--color-text-secondary);background-color:var(--color-container-bg)}@media(prefers-color-scheme:dark){.chat-input:focus{border-color:transparent;background-color:#ffffff14}}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-input::placeholder{color:var(--color-text-secondary)}.chat-btn{flex-shrink:0;width:36px;height:36px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.chat-btn svg{width:18px;height:18px}.chat-btn-send{background-color:var(--color-primary);color:#fff}.chat-btn-send:hover:not(:disabled){background-color:var(--color-primary-hover)}.chat-btn-send:active:not(:disabled){background-color:var(--color-primary-active)}.chat-btn-send:disabled{background-color:var(--color-container-subtle);color:var(--color-text-secondary);cursor:not-allowed}.chat-btn-stop{background-color:var(--color-error);color:#fff}.chat-btn-stop:hover{background-color:#e04d2d}.chat-btn-stop svg{width:18px;height:18px}.chat-message-ai .chat-bubble{white-space:normal}.chat-message-ai .chat-bubble p{margin:0 0 8px}.chat-message-ai .chat-bubble p:last-child{margin-bottom:0}.chat-message-ai .chat-bubble ul,.chat-message-ai .chat-bubble ol{margin:8px 0;padding-left:20px}.chat-message-ai .chat-bubble li{margin:4px 0}.chat-message-ai .chat-bubble h1,.chat-message-ai .chat-bubble h2,.chat-message-ai .chat-bubble h3{margin:12px 0 8px;font-weight:600}.chat-message-ai .chat-bubble h1{font-size:18px}.chat-message-ai .chat-bubble h2{font-size:16px}.chat-message-ai .chat-bubble h3{font-size:15px}.chat-message-ai .chat-bubble strong{font-weight:600}.chat-message-ai .chat-bubble em{font-style:italic}.chat-message-ai .chat-bubble blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--color-primary);background-color:#00000008;border-radius:0 8px 8px 0}.chat-message-ai .chat-bubble hr{margin:12px 0;border:none;border-top:1px solid var(--color-divider)}.chat-inline-code{padding:2px 6px;background-color:#0000000f;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px}.chat-code-block{margin:8px 0!important;border-radius:8px!important;font-size:13px!important}.chat-code-block code{font-family:SF Mono,Monaco,Consolas,monospace!important}.chat-message-ai .chat-bubble table{width:100%;margin:8px 0;border-collapse:collapse;font-size:13px}.chat-message-ai .chat-bubble th,.chat-message-ai .chat-bubble td{padding:8px 10px;border:1px solid var(--color-divider);text-align:left}.chat-message-ai .chat-bubble th{background-color:#0000000a;font-weight:600}.chat-message-ai .chat-bubble tr:nth-child(2n){background-color:#00000005}.floating-chat-container{position:fixed;z-index:8001;display:flex;flex-direction:row;width:fit-content;border-radius:16px;overflow:hidden;background:var(--color-container-bg);box-shadow:0 12px 48px #0000002e;animation:floatingPanelIn .3s cubic-bezier(.34,1.56,.64,1)}.floating-chat-sidebar{width:0;overflow:hidden;background:var(--color-container-bg);display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1);flex-shrink:0}.floating-chat-sidebar.open{width:220px}.floating-chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--color-divider);font-size:13px;font-weight:600;color:var(--color-text-base);flex-shrink:0;white-space:nowrap}.floating-chat-sidebar-new{width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.floating-chat-sidebar-new:hover{background:var(--color-container-subtle);color:var(--color-primary)}.floating-chat-sidebar-list{flex:1;overflow-y:auto;padding:6px 8px}.floating-chat-sidebar-list::-webkit-scrollbar{width:4px}.floating-chat-sidebar-list::-webkit-scrollbar-thumb{background:#80808033;border-radius:2px}.floating-chat-sidebar-empty{text-align:center;font-size:12px;color:var(--color-text-secondary);padding:24px 0;white-space:nowrap}.floating-chat-sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease;margin-bottom:2px}.floating-chat-sidebar-item:hover,.floating-chat-sidebar-item.active{background:var(--color-container-subtle)}.floating-chat-sidebar-item-name{font-size:13px;color:var(--color-text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.floating-chat-sidebar-item-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease;flex-shrink:0}.floating-chat-sidebar-item:hover .floating-chat-sidebar-item-actions{opacity:1}.floating-chat-sidebar-item-actions button{width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.floating-chat-sidebar-item-actions button:hover{background:var(--color-card-hover);color:var(--color-text-base)}.floating-chat-sidebar-rename-input{width:100%;border:1px solid var(--color-primary);border-radius:4px;padding:3px 6px;font-size:13px;color:var(--color-text-base);background:var(--color-container-bg);outline:none}.floating-chat-divider{width:1px;flex-shrink:0;background:var(--color-divider);opacity:0;transition:opacity .25s ease}.floating-chat-divider.visible{opacity:1}.floating-chat-panel{overflow:hidden;display:flex;flex-direction:column;background:var(--color-container-bg);flex-shrink:0;position:relative}@keyframes floatingPanelIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-divider);flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none}.floating-chat-panel-header.dragging{cursor:grabbing}.floating-chat-panel-header-left{display:flex;align-items:center;gap:8px}.floating-chat-sidebar-toggle{width:28px;height:28px;border:none;border-radius:7px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.floating-chat-sidebar-toggle:hover{background:var(--color-container-subtle);color:var(--color-text-base)}.floating-chat-sidebar-toggle.active{color:var(--color-primary)}.floating-chat-panel-title{font-size:15px;font-weight:600;color:var(--color-text-base)}.floating-chat-panel-close{width:28px;height:28px;border:none;border-radius:7px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.floating-chat-panel-close svg{width:16px;height:16px}.floating-chat-panel-close:hover{background:var(--color-container-subtle);color:var(--color-text-base)}.floating-chat-panel-body{flex:1;min-height:0;overflow:hidden}.floating-chat-panel-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;z-index:10}.floating-chat-panel-resize:after{content:"";position:absolute;right:3px;bottom:3px;width:0;height:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent transparent var(--color-text-secondary) transparent;opacity:.3}.home-layout{display:flex;height:100vh;background-color:var(--color-page-bg);overflow:hidden;transition:background-color .2s ease}.home-main{flex:1;display:flex;flex-direction:column;min-height:0;margin-left:64px}.home-content{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}.home-content-inner{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column}.home-panel-container{flex:1;margin:12px 12px 0;border-radius:12px 12px 0 0;background-color:var(--color-container-bg);display:flex;flex-direction:column;overflow:hidden;transition:background-color .2s ease}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl) var(--space-xl);margin-top:80px;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.placeholder-icon{font-size:64px;margin-bottom:var(--space-lg);animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.content-placeholder h2{font-size:24px;font-weight:700;color:var(--color-text-base);margin-bottom:var(--space-sm)}.content-placeholder p{font-size:15px;color:var(--color-text-secondary);max-width:360px;line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.context-menu-overlay{position:fixed;inset:0;z-index:9998}.context-menu{position:fixed;z-index:9999;min-width:180px;background-color:var(--color-container-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;padding:6px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:contextMenuIn .18s cubic-bezier(.32,.72,0,1) forwards;transform-origin:top left}.context-menu.closing{animation:contextMenuOut .15s cubic-bezier(.32,.72,0,1) forwards}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes contextMenuOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(-4px)}}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text-base);transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;text-align:left;font-family:inherit}.context-menu-item:hover{background-color:var(--color-primary);color:#fff}.context-menu-item:hover .context-menu-item-icon{color:#fff}.context-menu-item:active{background-color:var(--color-primary-active)}.context-menu-item-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--color-text-secondary);transition:color var(--transition-fast);flex-shrink:0}.context-menu-item-label{flex:1;overflow:hidden;text-overflow:ellipsis}.context-menu-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}[data-theme=dark] .context-menu{box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;border-color:#ffffff14}.screen-pin-selector{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99998;cursor:crosshair;overflow:hidden}.screen-pin-selector-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.screen-pin-selector-mask{position:absolute;inset:0;background-color:#00000073;pointer-events:none}.screen-pin-selector-rect{position:absolute;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #0000004d,0 0 0 9999px #00000073;overflow:hidden;pointer-events:none;z-index:1}.screen-pin-selector-rect-img{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.screen-pin-selector-size{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);padding:3px 10px;background-color:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:500;border-radius:6px;white-space:nowrap;pointer-events:none;font-family:SF Mono,Menlo,monospace}.screen-pin-selector-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 24px;background-color:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:15px;font-weight:500;border-radius:12px;white-space:nowrap;pointer-events:none;animation:hintFadeIn .3s ease both;letter-spacing:.5px}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.screen-pin-overlay{position:fixed;z-index:10000;cursor:grab;border-radius:10px;overflow:hidden;box-shadow:0 8px 32px #00000040,0 2px 8px #0000001a;border:2px solid rgba(255,255,255,.15);animation:pinPopIn .25s cubic-bezier(.34,1.56,.64,1) both;transition:box-shadow .2s ease;-webkit-user-select:none;user-select:none}.screen-pin-overlay:active{cursor:grabbing}.screen-pin-overlay:hover{box-shadow:0 12px 40px #0000004d,0 4px 12px #00000026}.screen-pin-overlay.closing{animation:pinPopOut .2s ease forwards}@keyframes pinPopIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pinPopOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.screen-pin-image{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.screen-pin-close{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .15s ease,transform .15s ease,background-color .15s ease}.screen-pin-overlay:hover .screen-pin-close{opacity:1;transform:scale(1)}.screen-pin-close:hover{background-color:#dc3232cc}.screen-pin-resize{position:absolute;right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;opacity:0;transition:opacity .15s ease}.screen-pin-overlay:hover .screen-pin-resize{opacity:1}.screen-pin-resize:before{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.6);border-bottom:2px solid rgba(255,255,255,.6);border-radius:0 0 3px}
