.bottom-nav{position:relative;flex-shrink:0;height:calc(68px + env(safe-area-inset-bottom,0px));background:var(--mobile-bg-secondary);border-top:1px solid var(--mobile-border-primary);display:flex;justify-content:space-around;align-items:flex-start;z-index:1000;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:47px;background:none;border:none;color:var(--mobile-text-secondary);cursor:pointer;padding:3px 8px 2px;transition:color .2s;-webkit-tap-highlight-color:transparent}.nav-item.active{color:var(--mobile-accent)}.nav-item:active{transform:scale(.95)}.nav-icon{width:22px;height:22px;line-height:1;display:grid;place-items:center}.nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-label{font-size:10px;font-weight:500;line-height:1.1}.mobile-library-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--mobile-bg-primary)}.mobile-library-search{padding:16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-search-input{width:100%;padding:12px 16px;background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:8px;color:var(--mobile-text-primary);font-size:16px;outline:none}.mobile-search-input::placeholder{color:var(--mobile-text-tertiary)}.mobile-search-input:focus{border-color:var(--mobile-accent)}.mobile-search-stats{margin-top:8px;font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-tag-filter{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-tag-filter-label{font-size:.9rem;color:var(--mobile-accent)}.mobile-tag-filter-clear{background:none;border:none;color:var(--mobile-text-secondary);font-size:1.2rem;padding:4px 8px;cursor:pointer}.mobile-library-items{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.mobile-library-item{padding:16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);cursor:pointer;transition:background .2s}.mobile-library-item:active{background:var(--mobile-bg-tertiary)}.mobile-library-item-word{font-size:1.1rem;font-weight:500;color:var(--mobile-text-primary);margin-bottom:4px}.mobile-library-item-pronunciation{font-size:.85rem;color:var(--mobile-text-secondary);margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus",sans-serif}.mobile-library-item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mobile-library-item-tag{display:inline-flex;align-items:center;padding:4px 8px;background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:12px;font-size:.75rem;color:var(--mobile-text-secondary)}.mobile-library-item-tag-more{color:var(--mobile-accent);font-size:.75rem}.mobile-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.mobile-library-empty p{color:var(--mobile-text-tertiary);font-size:1rem;margin-bottom:16px}.mobile-library-clear-search{padding:10px 20px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;color:var(--mobile-text-secondary);font-size:.9rem;cursor:pointer}.mobile-library-detail{display:flex;flex-direction:column;height:100%;background:var(--mobile-bg-primary)}.mobile-library-detail-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-back-button,.mobile-edit-button{padding:8px 16px;background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:6px;color:var(--mobile-text-secondary);font-size:.9rem;cursor:pointer}.mobile-back-button{max-width:60%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobile-back-button:active,.mobile-edit-button:active{background:var(--mobile-border-primary);color:var(--mobile-text-primary)}.mobile-library-detail-content{flex:1;overflow-y:auto;padding:20px 16px;-webkit-overflow-scrolling:touch}.mobile-detail-word{font-size:2.5rem;font-weight:300;color:var(--mobile-text-primary);margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-detail-word-variants{font-size:2.5rem;font-weight:300;color:var(--mobile-text-primary)}.mobile-detail-pronunciation{font-size:1rem;color:var(--mobile-text-secondary);margin-bottom:16px;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus",sans-serif}.mobile-detail-respelling{color:var(--mobile-text-tertiary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.mobile-detail-stats{display:flex;gap:24px;padding:12px 0;margin-bottom:16px;border-top:1px solid var(--mobile-border-primary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-stat-item{font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-stat-value{font-weight:500;color:var(--mobile-text-primary);margin-left:4px}.mobile-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.mobile-detail-tag{padding:6px 12px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:16px;font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-detail-section{margin-bottom:24px}.mobile-detail-section-title{font-size:.75rem;font-weight:500;color:var(--mobile-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.mobile-detail-definition{margin-bottom:16px}.mobile-library-detail .mobile-detail-pos{display:block;font-size:calc(.8rem * var(--content-font-size-multiplier));color:var(--accent-purple);margin-bottom:6px}.mobile-irregular-forms-row{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;margin-bottom:12px;font-size:.85rem}.mobile-library-detail .mobile-detail-text{font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-content);line-height:1.6;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-library-detail .mobile-detail-example{padding:12px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);line-height:1.6;margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-library-detail .mobile-detail-images{display:flex;flex-direction:column;gap:12px;margin-top:24px}.mobile-library-detail .mobile-detail-image{display:block;width:100%;height:auto;border:1px solid var(--mobile-border-primary);border-radius:8px}.mobile-detail-word,.mobile-detail-text,.mobile-detail-example{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.mobile-month-separator{padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:2px solid var(--mobile-border-primary);font-size:.75rem;font-weight:600;color:var(--mobile-text-secondary);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:2}.mobile-month-separator.legacy{background:var(--mobile-warning-bg);border-bottom:2px solid var(--mobile-warning-border);color:var(--mobile-warning-text)}.mobile-detail-subdefs{margin-top:12px;margin-left:12px;padding-left:12px;border-left:2px solid var(--mobile-border-primary)}.mobile-detail-subdef{margin-bottom:12px}.mobile-detail-subdef-header{display:inline-block;padding:3px 8px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:4px;margin-bottom:6px}.mobile-library-detail .mobile-detail-subdef-phrase{font-size:calc(1rem * var(--content-font-size-multiplier));font-weight:500;color:var(--mobile-text-content);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-library-detail .mobile-detail-subdef-pos{font-size:calc(.8rem * var(--content-font-size-multiplier));color:var(--mobile-text-secondary);margin-left:6px}.mobile-library-detail .mobile-detail-subdef-text{font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);line-height:1.5;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-library-detail .mobile-detail-subdef.no-phrase .mobile-detail-subdef-text{color:var(--mobile-text-subtle)}.mobile-detail-subdef-examples,.mobile-detail-def-examples{margin-top:8px}.mobile-tags-list{display:flex;flex-direction:column;height:100%;background:var(--mobile-bg-primary)}.mobile-tags-header{padding:20px 16px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-tags-title{font-size:1.5rem;font-weight:600;color:var(--mobile-text-primary);margin:0 0 8px}.mobile-tags-count{font-size:.9rem;color:var(--mobile-text-secondary)}.mobile-tags-search{position:relative;margin-top:12px}.mobile-tags-search-input{width:100%;padding:12px 40px 12px 16px;background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:8px;color:var(--mobile-text-primary);font-size:16px;outline:none}.mobile-tags-search-input::placeholder{color:var(--mobile-text-tertiary)}.mobile-tags-search-input:focus{border-color:var(--mobile-accent)}.mobile-tags-search-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--mobile-text-secondary);font-size:.9rem;line-height:1;cursor:pointer}.mobile-tags-items{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-tags-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);cursor:pointer;transition:background .2s}.mobile-tags-item:active{background:var(--mobile-bg-tertiary)}.mobile-tags-item-name{font-size:1.05rem;font-weight:500;color:var(--mobile-text-primary)}.mobile-tags-item-count{font-size:.85rem;color:var(--mobile-text-secondary);background:var(--mobile-bg-primary);padding:4px 12px;border-radius:12px;border:1px solid var(--mobile-border-primary)}.mobile-tags-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.mobile-tags-empty p{color:var(--mobile-text-tertiary);font-size:1rem;margin-bottom:8px}.mobile-tags-empty-hint{font-size:.85rem;color:var(--mobile-rating-3)}.mobile-tags-words{display:flex;flex-direction:column;height:100%;background:var(--mobile-bg-primary)}.mobile-tags-words-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-tags-words-title{flex:1;font-size:1.2rem;font-weight:600;color:var(--mobile-text-primary);margin:0}.mobile-tags-words-count{padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);font-size:.9rem;color:var(--mobile-text-secondary)}.mobile-tags-words-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-tags-word-item{padding:16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);cursor:pointer;transition:background .2s}.mobile-tags-word-item:active{background:var(--mobile-bg-tertiary)}.mobile-tags-word-name{font-size:1.1rem;font-weight:500;color:var(--mobile-text-primary);margin-bottom:4px}.mobile-tags-word-pronunciation{font-size:.85rem;color:var(--mobile-text-secondary);margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus",sans-serif}.mobile-tags-word-stats{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--mobile-text-tertiary)}.mobile-tags-word-stat{color:var(--mobile-text-secondary)}.mobile-tags-word-stat-separator{color:var(--mobile-rating-3)}.mobile-tags-detail{display:flex;flex-direction:column;height:100%;background:var(--mobile-bg-primary)}.mobile-tags-detail-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-edit-button{padding:8px 16px;background:var(--mobile-accent-strong);color:var(--mobile-text-primary);border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.mobile-edit-button:active{background:var(--mobile-accent-strong-hover)}.mobile-tags-detail-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px}.mobile-tags-detail-content .mobile-detail-word{font-size:2rem;font-weight:600;color:var(--mobile-text-primary);margin:0 0 12px}.mobile-tags-detail-content .mobile-detail-pronunciation{font-size:1rem;color:var(--mobile-text-secondary);margin-bottom:16px;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus",sans-serif}.mobile-tags-detail-content .mobile-detail-respelling{color:var(--mobile-text-tertiary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.mobile-tags-detail-content .mobile-detail-definition{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-detail-definition:last-child{border-bottom:none}.mobile-tags-detail-content .mobile-detail-pos{display:inline-block;font-size:calc(.8rem * var(--content-font-size-multiplier));color:var(--accent-purple);margin-bottom:8px}.mobile-tags-detail-content .mobile-detail-def-text{font-size:calc(.95rem * var(--content-font-size-multiplier));line-height:1.6;color:var(--mobile-text-faint);margin-bottom:12px}.mobile-tags-detail-content .mobile-detail-examples{margin-top:12px}.mobile-tags-detail-content .mobile-detail-example{font-size:calc(.95rem * var(--content-font-size-multiplier));line-height:1.5;color:var(--mobile-text-soft);margin-bottom:8px;padding-left:12px;border-left:2px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-detail-global-examples{margin-top:24px;padding-top:20px;border-top:1px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-detail-section-title{font-size:.75rem;font-weight:500;color:var(--mobile-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}.mobile-tags-detail-content .mobile-detail-images{margin-top:24px;display:flex;flex-direction:column;gap:12px}.mobile-tags-detail-content .mobile-detail-image{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-detail-stats{display:flex;gap:24px;padding:12px 0;margin-bottom:16px;border-top:1px solid var(--mobile-border-primary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-stat-item{font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-tags-detail-content .mobile-stat-value{font-weight:500;color:var(--mobile-text-primary);margin-left:4px}.mobile-tags-detail-content .mobile-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.mobile-tags-detail-content .mobile-detail-tag{padding:6px 12px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:16px;font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-tags-detail-content .mobile-detail-section{margin-bottom:24px}.mobile-tags-detail-content .mobile-detail-text{font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-content);line-height:1.6;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-tags-detail-content .mobile-detail-subdefs{margin-top:12px;margin-left:12px;padding-left:12px;border-left:2px solid var(--mobile-border-primary)}.mobile-tags-detail-content .mobile-detail-subdef{margin-bottom:12px}.mobile-tags-detail-content .mobile-detail-subdef-header{display:inline-block;padding:3px 8px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:4px;margin-bottom:6px}.mobile-tags-detail-content .mobile-detail-subdef-phrase{font-size:calc(.9rem * var(--content-font-size-multiplier));font-weight:500;color:var(--mobile-text-content);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-tags-detail-content .mobile-detail-subdef-pos{font-size:calc(.75rem * var(--content-font-size-multiplier));color:var(--mobile-text-secondary);margin-left:6px}.mobile-tags-detail-content .mobile-detail-subdef-text{font-size:calc(.9rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);line-height:1.5;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif}.mobile-tags-detail-content .mobile-detail-subdef.no-phrase .mobile-detail-subdef-text{color:var(--mobile-text-subtle)}.mobile-tags-detail-content .mobile-detail-subdef-examples,.mobile-tags-detail-content .mobile-detail-def-examples{margin-top:8px}.mobile-tags-detail-content .mobile-detail-example{background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);line-height:1.6;margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif;border-left:none;padding:12px}.admin-panel{width:100%}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-secondary)}.admin-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s;margin-bottom:-2px}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.admin-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.admin-error button{background:none;border:none;color:var(--error-text);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.admin-content{width:100%}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h3{margin:0;font-size:1.3rem}.user-stats{font-size:.9rem;color:var(--admin-muted-fixed)}.admin-button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.admin-button.primary{background:var(--admin-button-primary-bg);color:var(--admin-button-primary-text)}.admin-button.primary:hover{background:var(--admin-button-primary-hover-bg);transform:translateY(-1px);box-shadow:0 2px 8px var(--admin-button-primary-shadow)}.admin-button.success{background:var(--admin-button-success-bg);color:var(--admin-button-text)}.admin-button.success:hover{background:var(--admin-button-success-hover-bg)}.admin-button.warning{background:var(--admin-button-warning-bg);color:var(--admin-button-text)}.admin-button.warning:hover{background:var(--admin-button-warning-hover-bg)}.admin-button.danger{background:var(--admin-button-danger-bg);color:var(--admin-button-text)}.admin-button.danger:hover{background:var(--admin-button-danger-hover-bg)}.admin-button:disabled{opacity:.5;cursor:not-allowed}.admin-loading{text-align:center;padding:2rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem;color:var(--text-tertiary);font-size:.95rem}.create-code-form{background:var(--admin-form-bg);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:var(--admin-form-label)}.form-group input{padding:.75rem;border:1px solid var(--admin-form-input-border);border-radius:4px;font-size:.95rem}.codes-list{display:flex;flex-direction:column;gap:1rem}.code-item{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.25rem;transition:all .2s}.code-item:hover{box-shadow:var(--shadow-sm)}.code-item.disabled{opacity:.6;background:var(--bg-tertiary)}.code-main{margin-bottom:1rem}.code-value{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.code-value code{font-family:Monaco,Courier New,monospace;font-size:1.1rem;background:var(--bg-tertiary);color:var(--text-primary);padding:.5rem 1rem;border-radius:4px;letter-spacing:.5px}.copy-button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;opacity:.6;transition:opacity .2s}.copy-button:hover{opacity:1}.code-note{font-size:.9rem;color:var(--text-secondary);font-style:italic}.code-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary)}.stat{display:flex;align-items:center}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.disabled{background:var(--badge-disabled-bg);color:var(--badge-disabled-text)}.status-badge.admin{background:var(--badge-admin-bg);color:var(--badge-admin-text)}.code-users{background:var(--bg-tertiary);padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.85rem}.code-users strong{display:block;margin-bottom:.5rem}.code-users ul{margin:0;padding-left:1.5rem}.code-users li{margin-bottom:.25rem;color:var(--text-secondary)}.code-actions{display:flex;gap:.5rem}.users-list{display:flex;flex-direction:column;gap:1rem}.user-item{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;padding:1.25rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.user-item:hover{box-shadow:var(--shadow-sm)}.user-item.disabled{opacity:.6;background:var(--bg-tertiary)}.user-main{flex:1}.user-email{font-size:1rem;font-weight:500;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.user-info{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-secondary)}.user-actions{display:flex;gap:.5rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.user-item{flex-direction:column;align-items:flex-start;gap:1rem}.user-actions{width:100%}.user-actions button{flex:1}.code-stats{flex-direction:column;gap:.5rem}}[data-theme=dark] .form-group input{background:var(--bg-input);color:var(--text-primary)}.mobile-settings-no-header,.mobile-settings{display:flex;flex-direction:column;height:100%;background:var(--mobile-bg-primary)}.mobile-settings-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-settings-title{flex:1;font-size:1.2rem;font-weight:600;color:var(--mobile-text-primary);margin:0}.mobile-settings-content{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.mobile-settings-section{margin-bottom:32px}.mobile-settings-section-title{font-size:.85rem;font-weight:600;color:var(--mobile-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.mobile-settings-description{font-size:.9rem;color:var(--mobile-text-muted);line-height:1.5;margin-bottom:16px}.mobile-settings-hint{font-size:.8rem;color:var(--mobile-text-tertiary);margin-top:12px;line-height:1.4}.mobile-project-info{padding:16px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px}.mobile-project-info-name{font-size:1.1rem;font-weight:600;color:var(--mobile-text-primary);margin-bottom:6px}.mobile-project-info-id{font-size:.8rem;color:var(--mobile-text-tertiary);font-family:monospace}.mobile-settings-buttons{display:flex;flex-direction:column;gap:12px}.mobile-settings-button{width:100%;padding:14px 16px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;color:var(--mobile-text-primary);font-size:.95rem;cursor:pointer;transition:all .2s;text-align:left}.mobile-settings-button:active:not(:disabled){background:var(--mobile-bg-tertiary);transform:scale(.98)}.mobile-settings-button:disabled{opacity:.5;cursor:not-allowed}.mobile-logout-button{background:var(--mobile-danger);border-color:var(--mobile-danger);color:var(--mobile-text-primary)}.mobile-logout-button:active:not(:disabled){background:var(--mobile-danger-hover);border-color:var(--mobile-danger-border-hover)}.mobile-slider{padding:16px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px}.mobile-slider-labels{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-slider-input{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--mobile-border-primary);border-radius:3px;outline:none;margin-bottom:12px}.mobile-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:var(--mobile-accent);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px var(--mobile-accent-shadow)}.mobile-slider-input::-moz-range-thumb{width:24px;height:24px;background:var(--mobile-accent);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px var(--mobile-accent-shadow)}.mobile-slider-value{font-size:.9rem;color:var(--mobile-text-primary);text-align:center}.mobile-project-list{display:flex;flex-direction:column;gap:12px}.mobile-project-item{padding:16px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.mobile-project-item:active{background:var(--mobile-bg-tertiary);transform:scale(.98)}.mobile-project-item.active{border-color:var(--mobile-accent);background:var(--mobile-accent-soft)}.mobile-project-name{font-size:1.05rem;font-weight:600;color:var(--mobile-text-primary);margin-bottom:6px;display:flex;align-items:center;gap:8px}.mobile-project-badge{font-size:.7rem;padding:2px 8px;background:var(--mobile-accent);color:var(--mobile-text-primary);border-radius:10px;font-weight:500}.mobile-project-date{font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-settings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.mobile-settings-empty p{color:var(--mobile-text-tertiary);font-size:1rem}.mobile-settings-tabs{display:flex;gap:.5rem;padding:1rem 1rem 0;border-bottom:2px solid var(--border-secondary);background:var(--bg-primary)}.mobile-settings-tab{flex:1;padding:.75rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all .2s;margin-bottom:-2px}.mobile-settings-tab:active{transform:scale(.98)}.mobile-settings-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.mobile-password-form{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.mobile-password-field{display:flex;flex-direction:column;gap:4px}.mobile-password-label{font-size:.85rem;color:var(--mobile-text-secondary)}.mobile-password-input{padding:10px 12px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;color:var(--mobile-text-primary);font-size:.95rem;outline:none}.mobile-password-input:focus{border-color:var(--mobile-accent)}.mobile-password-input::placeholder{color:var(--mobile-rating-3)}.mobile-password-error{color:var(--mobile-error-text);font-size:.85rem}.mobile-password-success{color:var(--mobile-success);font-size:.85rem}.mobile-settings-no-header .admin-panel,.mobile-settings-no-header .admin-content,.mobile-settings-no-header .admin-header h3,.mobile-settings-no-header .user-email{color:var(--mobile-text-primary)}.mobile-settings-no-header .admin-tabs{border-bottom-color:var(--mobile-border-primary)}.mobile-settings-no-header .admin-tab{color:var(--mobile-text-secondary)}.mobile-settings-no-header .admin-tab.active,.mobile-settings-no-header .admin-tab:active{color:var(--mobile-text-primary);border-bottom-color:var(--mobile-text-primary)}.mobile-settings-no-header .user-stats,.mobile-settings-no-header .user-info{color:var(--mobile-text-muted)}.mobile-settings-no-header .user-item{color:var(--mobile-text-primary);background:var(--mobile-bg-secondary);border-color:var(--mobile-border-primary);box-shadow:none}.mobile-settings-no-header .user-item.disabled{background:var(--mobile-bg-tertiary)}.mobile-settings-no-header .user-actions .admin-button:not(.primary):not(.success):not(.warning):not(.danger){color:var(--mobile-text-primary);background:var(--mobile-bg-control);border:1px solid var(--mobile-border-primary)}.mobile-settings-no-header .empty-state,.mobile-settings-no-header .admin-loading{color:var(--mobile-text-secondary)}.scenario-markdown-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border-primary, var(--mobile-border-primary));border-radius:var(--radius-sm, 4px);-webkit-overflow-scrolling:touch}.scenario-markdown-table-scroll:focus{outline:1px solid var(--text-tertiary, var(--mobile-text-tertiary));outline-offset:2px}.scenario-markdown-table-scroll table{width:100%;min-width:max-content;border-collapse:collapse;color:inherit;font:inherit}.scenario-markdown-table-scroll th,.scenario-markdown-table-scroll td{min-width:9rem;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-right:1px solid var(--border-primary, var(--mobile-border-primary));border-bottom:1px solid var(--border-primary, var(--mobile-border-primary));vertical-align:top;white-space:normal}.scenario-markdown-table-scroll th{color:var(--text-primary, var(--mobile-text-primary));background:var(--bg-tertiary, var(--mobile-bg-tertiary));font-weight:var(--font-medium, 500)}.scenario-markdown-table-scroll td{background:var(--bg-secondary, var(--mobile-bg-secondary))}.scenario-markdown-table-scroll th:last-child,.scenario-markdown-table-scroll td:last-child{border-right:0}.scenario-markdown-table-scroll tbody tr:last-child td{border-bottom:0}.scenario-markdown a{color:inherit;font-weight:var(--font-medium, 500);text-decoration:underline;text-decoration-color:var(--text-tertiary, var(--mobile-text-tertiary));text-underline-offset:.18em;overflow-wrap:anywhere}.scenario-markdown a:hover{text-decoration-color:currentColor}.scenario-markdown del{color:var(--text-secondary, var(--mobile-text-secondary))}.scenario-markdown hr{height:1px;margin:var(--spacing-lg, 1.5rem) 0;background:var(--border-primary, var(--mobile-border-primary));border:0}.scenario-markdown .scenario-markdown-task-list{padding-left:0;list-style:none}.scenario-markdown .scenario-markdown-task-item{padding-left:0}.scenario-markdown-list-line{display:flex;align-items:flex-start;gap:var(--spacing-sm, .5rem)}.scenario-markdown-list-line input{flex:0 0 auto;width:1rem;height:1rem;margin:.3em 0 0;accent-color:var(--accent-primary, var(--mobile-text-primary))}.scenario-truncated-notice{display:flex;align-items:center;gap:var(--spacing-xs, .375rem);margin-top:var(--spacing-xs, .375rem);padding:var(--spacing-xs, .375rem) var(--spacing-sm, .5rem);border:1px solid var(--warning, #f59e0b);border-radius:var(--radius-sm, 4px);background:color-mix(in srgb,var(--warning, #f59e0b) 12%,transparent);color:var(--text-secondary, var(--mobile-text-secondary));font-size:var(--text-xs, .75rem);line-height:1.4}[data-theme=dark] .scenario-truncated-notice{border-color:var(--mobile-warning-border, #856404);background:var(--mobile-warning-bg, #2a2416);color:var(--mobile-warning-text, #f4d03f)}.scenario-thread-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--modal-overlay-bg);font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.scenario-thread-dialog{display:flex;width:min(820px,100%);max-height:min(820px,88vh);flex-direction:column;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.scenario-thread-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--border-light)}.scenario-thread-header p{margin:0 0 5px;color:var(--text-tertiary);font-size:var(--text-xs);text-transform:uppercase}.scenario-thread-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-normal);line-height:1.4}.scenario-thread-close,.scenario-thread-edit-button{min-height:36px;padding:0 12px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.scenario-thread-close:hover,.scenario-thread-edit-button:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-dark)}.scenario-thread-description{margin:0;padding:14px 24px;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-light);font-size:var(--text-sm);line-height:1.5}.scenario-thread-scroll{overflow:auto;padding:22px 24px 28px}.scenario-thread-roots,.scenario-thread-children{padding:0;margin:0;list-style:none}.scenario-thread-children{position:relative;padding-left:34px}.scenario-thread-children:before{position:absolute;top:-10px;bottom:24px;left:12px;width:1px;background:var(--border-dark);content:""}.scenario-thread-node{position:relative}.scenario-thread-children>.scenario-thread-node:before{position:absolute;top:25px;left:-21px;width:21px;height:1px;background:var(--border-dark);content:""}.scenario-thread-node-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 14px 14px 18px;margin-bottom:12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast)}.scenario-thread-node-card.on-path{border-color:var(--border-dark)}.scenario-thread-node-card.current{background:var(--bg-active);border-color:var(--text-secondary);box-shadow:inset 3px 0 0 var(--text-primary)}.scenario-thread-connector-dot{position:absolute;top:19px;left:-6px;z-index:1;width:9px;height:9px;background:var(--bg-secondary);border:2px solid var(--border-dark);border-radius:var(--radius-full)}.scenario-thread-node-card.on-path .scenario-thread-connector-dot{background:var(--text-secondary)}.scenario-thread-node-card.current .scenario-thread-connector-dot{background:var(--text-primary);border-color:var(--text-primary)}.scenario-thread-node-main{min-width:0;padding:0;text-align:left;color:inherit;background:transparent;border:0}.scenario-thread-node-main strong,.scenario-thread-node-main>span{display:block}.scenario-thread-node-main:hover strong{text-decoration:underline;text-decoration-color:var(--border-dark);text-underline-offset:3px}.scenario-thread-node-main strong{margin:6px 0 4px;font-size:var(--text-base);font-weight:var(--font-medium);line-height:1.4}.scenario-thread-node-main>span:last-child{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.scenario-thread-node-topline{display:flex!important;align-items:center;gap:8px}.scenario-thread-node-label{color:var(--text-tertiary);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.scenario-thread-current-badge{display:inline-block;padding:2px 6px;color:var(--bg-secondary);background:var(--text-primary);border-radius:var(--radius-sm);font-size:.68rem}.scenario-thread-edit-button{white-space:nowrap}.scenario-thread-empty{padding:32px 16px;margin:0;color:var(--text-secondary);text-align:center}@media (max-width: 640px){.scenario-thread-overlay{align-items:flex-end;padding:0}.scenario-thread-dialog{width:100%;max-height:90dvh;border-radius:14px 14px 0 0}.scenario-thread-header{padding:18px 16px 14px}.scenario-thread-description{padding:12px 16px}.scenario-thread-scroll{padding:18px 16px calc(22px + env(safe-area-inset-bottom))}.scenario-thread-children{padding-left:24px}.scenario-thread-children:before{left:8px}.scenario-thread-children>.scenario-thread-node:before{left:-15px;width:15px}.scenario-thread-node-card{grid-template-columns:1fr;gap:10px}.scenario-thread-edit-button{justify-self:start}}.mobile-scenario-add,.mobile-scenario-detail,.mobile-scenario-review{padding:20px 16px 32px;font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.mobile-scenario-library,.mobile-scenario-edit-overlay,.mobile-scenario-session-complete{font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.mobile-scenario-add h2,.mobile-scenario-detail h1,.mobile-scenario-review h1{color:var(--mobile-text-primary);letter-spacing:0}.mobile-scenario-add h2{margin:0 0 8px;font-size:1.35rem}.mobile-scenario-add>p{margin:0 0 18px;color:var(--mobile-text-secondary);line-height:1.55}.mobile-scenario-add textarea,.mobile-scenario-followup textarea,.mobile-scenario-search input{width:100%;box-sizing:border-box;color:var(--mobile-text-primary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:10px;font:inherit;outline:none}.mobile-scenario-add textarea,.mobile-scenario-followup textarea{padding:14px;resize:vertical;line-height:1.55}.mobile-scenario-primary{width:100%;min-height:46px;margin-top:12px;border:1px solid var(--mobile-border-primary);border-radius:10px;color:var(--mobile-text-primary);background:var(--mobile-bg-tertiary);font-weight:600;box-shadow:none;text-shadow:none;transition:background-color .2s,border-color .2s,color .2s}.mobile-scenario-primary:disabled{opacity:1;color:var(--mobile-text-tertiary);background:var(--mobile-bg-secondary);border-color:var(--mobile-border-primary)}.mobile-scenario-primary:active:not(:disabled){background:var(--mobile-bg-control)}.mobile-scenario-followup-submit{overflow:hidden}.mobile-scenario-followup-submit span{display:block;white-space:nowrap}.mobile-scenario-followup-submit.is-busy{color:var(--mobile-text-secondary);background:var(--mobile-bg-secondary)}.mobile-scenario-search{position:sticky;top:0;z-index:2;padding:14px 16px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-scenario-search input{padding:11px 13px;background:var(--mobile-bg-primary)}.mobile-scenario-search span{display:block;margin-top:7px;color:var(--mobile-text-tertiary);font-size:.78rem}.mobile-scenario-month{position:sticky;top:85px;z-index:1;padding:9px 16px;color:var(--mobile-text-secondary);background:var(--mobile-bg-primary);border-bottom:1px solid var(--mobile-border-primary);font-size:.75rem;font-weight:650;text-transform:uppercase}.mobile-scenario-list-item{width:100%;padding:16px;text-align:left;background:var(--mobile-bg-secondary);border:0;border-bottom:1px solid var(--mobile-border-primary)}.mobile-scenario-list-item strong,.mobile-scenario-list-item span{display:block}.mobile-scenario-list-item strong{color:var(--mobile-text-primary);font-size:.98rem;line-height:1.45}.mobile-scenario-list-item span{margin-top:6px;color:var(--mobile-text-tertiary);font-size:.76rem}.mobile-scenario-detail header{display:flex;justify-content:space-between}.mobile-scenario-detail header>div{display:flex;gap:8px}.mobile-scenario-detail header button{min-height:38px;padding:0 13px;color:var(--mobile-text-secondary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:9px}.mobile-scenario-detail header .danger{color:var(--mobile-danger)}.mobile-scenario-detail h1,.mobile-scenario-review h1{margin:24px 0 14px;font-size:1.45rem;line-height:1.45}.mobile-scenario-stats{display:flex;gap:18px;padding:12px 0;color:var(--mobile-text-secondary);border-block:1px solid var(--mobile-border-primary);font-size:.8rem}.mobile-scenario-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0 22px}.mobile-scenario-rating button{min-height:42px;color:var(--mobile-text-primary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:9px}.mobile-scenario-messages{display:flex;flex-direction:column;gap:12px}.mobile-scenario-message{max-width:92%;padding:13px 14px;border:1px solid var(--mobile-border-primary);border-radius:11px;color:var(--mobile-text-content);font-size:calc(1rem * var(--content-font-size-multiplier));line-height:1.6}.mobile-scenario-message.user{align-self:flex-end;background:var(--mobile-bg-tertiary)}.mobile-scenario-message.assistant{align-self:flex-start;background:var(--mobile-bg-secondary)}.mobile-scenario-branch-button{display:block;width:max-content;padding:4px 8px;margin-top:8px;color:var(--mobile-text-tertiary);background:transparent;border:1px solid var(--mobile-border-primary);border-radius:7px;font-size:.72rem}.mobile-scenario-message p,.mobile-scenario-review-answer p{margin:0}.mobile-scenario-followup{margin-top:22px}.mobile-scenario-error{color:var(--mobile-danger);font-size:.82rem}.mobile-scenario-stream-preview{margin-top:14px;padding:14px;color:var(--mobile-text-content);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:10px;font-size:calc(1rem * var(--content-font-size-multiplier));line-height:1.6}.mobile-scenario-message.streaming{min-height:24px}.mobile-scenario-review-progress{color:var(--mobile-text-tertiary);text-align:center;font-size:.78rem}.mobile-scenario-review-navigation{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.mobile-scenario-review-navigation button{display:flex;align-items:center;justify-content:center;min-width:60px;min-height:44px;padding:10px 12px;color:var(--mobile-text-soft);background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:6px;font-size:1.5rem}.mobile-scenario-review-navigation button:active:not(:disabled){color:var(--mobile-text-primary);background:var(--mobile-border-primary)}.mobile-scenario-review-navigation button:disabled{opacity:.3}.mobile-scenario-reveal{width:100%;min-height:50px;margin-top:28px;color:var(--mobile-text-primary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:10px}.mobile-scenario-review-answer{padding:16px;color:var(--mobile-text-content);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:11px;font-size:calc(1rem * var(--content-font-size-multiplier));line-height:1.65}.mobile-scenario-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 20px}.mobile-scenario-review-actions button:first-child{grid-column:1 / -1}.mobile-scenario-review-actions button{min-height:42px;color:var(--mobile-text-secondary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:9px}.mobile-scenario-rate-label,.mobile-scenario-empty{color:var(--mobile-text-secondary);text-align:center}.mobile-scenario-empty{padding:64px 20px}.mobile-scenario-session-complete{display:flex;min-height:calc(100% - 55px);flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;text-align:center}.mobile-scenario-session-complete h1{margin:0 0 8px;color:var(--mobile-text-primary);font-size:1.5rem}.mobile-scenario-session-complete>p{margin:0 0 24px;color:var(--mobile-text-secondary)}.mobile-scenario-session-stat{width:100%;box-sizing:border-box;padding:18px;color:var(--mobile-text-secondary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:10px}.mobile-scenario-session-stat span,.mobile-scenario-session-stat strong{display:block}.mobile-scenario-session-stat span{font-size:.78rem}.mobile-scenario-session-stat strong{margin-top:8px;color:var(--mobile-text-primary);font-size:2rem}.mobile-scenario-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;background:#000000b8}.mobile-scenario-edit{width:100%;max-height:88dvh;overflow-y:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));color:var(--mobile-text-primary);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:14px 14px 0 0}.mobile-scenario-edit header{align-items:center;margin-bottom:18px}.mobile-scenario-edit h2{margin:0;font-size:1.15rem}.mobile-scenario-edit label,.mobile-scenario-edit label span{display:block}.mobile-scenario-edit label{margin-top:14px}.mobile-scenario-edit label span{margin-bottom:7px;color:var(--mobile-text-secondary);font-size:.78rem}.mobile-scenario-edit textarea{width:100%;box-sizing:border-box;padding:12px;color:var(--mobile-text-primary);background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:9px;font:inherit;line-height:1.5}.mobile-scenario-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.mobile-scenario-edit-actions button{min-height:44px;margin:0;border-radius:9px}.sync-scope{--sync-ok: var(--success)}.sync-scope--desktop{--sync-accent: var(--accent-purple);--sync-danger: var(--danger);--sync-surface: var(--bg-secondary);--sync-border: var(--border-primary);--sync-muted: var(--text-secondary)}.sync-scope--mobile{--sync-accent: var(--mobile-accent);--sync-danger: var(--mobile-danger);--sync-surface: var(--mobile-bg-secondary);--sync-border: var(--mobile-border-primary);--sync-muted: var(--mobile-text-secondary)}.sync-scope{--sync-hue: var(--sync-accent)}.sync-scope[data-sync-status=offline],.sync-scope[data-sync-status=error]{--sync-hue: var(--sync-danger)}.sync-line{position:relative;height:0;overflow:hidden;background:color-mix(in srgb,var(--sync-hue) 30%,transparent);transition:height .18s ease;pointer-events:none}.sync-scope[data-sync-status=syncing] .sync-line{height:3px}.sync-line:after{content:"";position:absolute;inset:0 auto 0 0;width:45%;border-radius:3px;background:linear-gradient(90deg,transparent,var(--sync-hue) 42%,var(--sync-hue) 58%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--sync-hue) 60%,transparent);animation:sync-sweep 1.25s cubic-bezier(.5,.05,.5,.95) infinite}@keyframes sync-sweep{0%{transform:translate(-110%)}to{transform:translate(230%)}}@media (prefers-reduced-motion: reduce){.sync-line:after{animation:none;width:100%;box-shadow:none;background:var(--sync-hue)}}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--sync-hue);flex:none}.sync-scope[data-sync-status=syncing] .sync-dot{animation:sync-pulse 1.25s ease-in-out infinite}.sync-scope[data-sync-status=saved] .sync-dot{background:var(--sync-ok)}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.sync-dot{animation:none!important}}.sync-retry{font:inherit;font-weight:400;padding:0;border:none;background:none;color:var(--sync-muted);text-decoration:underline;cursor:pointer}.sync-retry:hover{color:var(--sync-danger)}.sync-retry:focus-visible{outline:2px solid var(--sync-danger);outline-offset:2px;border-radius:3px}.sync-slot{width:22px;min-width:22px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.sync-scope[data-sync-status=syncing] .sync-slot,.sync-scope[data-sync-status=saved] .sync-slot,.sync-scope[data-sync-status=offline] .sync-slot,.sync-scope[data-sync-status=error] .sync-slot{opacity:1}.navigation>.sync-line{position:absolute;left:0;right:0;bottom:-1px;z-index:3}.sync-tag{position:absolute;top:100%;right:2rem;z-index:4;display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--sync-border);border-top:none;border-radius:0 0 8px 8px;background:var(--sync-surface);box-shadow:0 6px 16px -10px #00000080;font-size:.78rem;color:var(--sync-muted);white-space:nowrap;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.sync-scope[data-sync-status=saved] .sync-tag,.sync-scope[data-sync-status=offline] .sync-tag,.sync-scope[data-sync-status=error] .sync-tag{opacity:1;transform:none}.sync-scope[data-sync-status=offline] .sync-tag,.sync-scope[data-sync-status=error] .sync-tag{border-color:color-mix(in srgb,var(--sync-danger) 45%,transparent);color:var(--sync-danger);font-weight:600;pointer-events:auto}.sync-dock{position:relative;z-index:9;flex-shrink:0}.sync-dock-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.sync-dock-slot>.sync-dock-bar{overflow:hidden}.sync-scope[data-sync-status=offline] .sync-dock-slot,.sync-scope[data-sync-status=error] .sync-dock-slot{grid-template-rows:1fr}.sync-dock-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:0;padding:0 .875rem;border-top:0 solid var(--sync-border);color:var(--sync-danger);font-size:.75rem;font-weight:700}.sync-scope[data-sync-status=offline] .sync-dock-bar,.sync-scope[data-sync-status=error] .sync-dock-bar{padding:.44rem .875rem;border-top-width:1px;background:color-mix(in srgb,var(--sync-surface) 94%,transparent)}.mobile-app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--mobile-bg-primary)}.mobile-header{flex-shrink:0;height:calc(56px + env(safe-area-inset-top));background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 16px 0}.mobile-header h1{font-size:18px;font-weight:600;margin:0;color:var(--mobile-text-primary);flex:1;text-align:center}.mobile-header-logout{position:absolute;right:16px;background:none;border:none;color:var(--mobile-text-secondary);font-size:24px;padding:8px;cursor:pointer;transition:color .2s;line-height:1}.mobile-header-logout:active{color:var(--mobile-danger)}.mobile-offline-status{display:flex;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 16px;border-bottom:1px solid var(--mobile-border-primary);background:var(--mobile-bg-tertiary);color:var(--mobile-text-secondary);font-size:.78rem}.mobile-offline-status span{padding:3px 7px;border:1px solid var(--mobile-border-secondary);border-radius:6px;background:var(--mobile-bg-secondary)}.mobile-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:0;-webkit-overflow-scrolling:touch}.mobile-section-page{min-height:100%}.mobile-section-page.mobile-library-words-page{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.mobile-library-words-page>.mobile-section-switch{flex-shrink:0}.mobile-section-switch{position:sticky;top:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:8px;background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary)}.mobile-section-switch button{min-width:0;min-height:38px;padding:0 8px;color:var(--mobile-text-secondary);background:transparent;border:1px solid transparent;border-radius:8px;font-size:.82rem;font-weight:600;letter-spacing:0}.mobile-section-switch button.active{color:var(--mobile-text-primary);background:var(--mobile-bg-primary);border-color:var(--mobile-border-primary)}.mobile-add-page .add-word-container{min-height:auto;padding:0;background:var(--mobile-bg-primary)}.mobile-add-page .add-word-card{width:100%;max-width:none;padding:20px 16px 32px;background:var(--bg-primary);border:0;border-radius:0}.mobile-add-page .add-word-title{font-size:1.25rem;margin-bottom:20px}.mobile-add-page .form-input,.mobile-add-page textarea{font-size:16px}.mobile-content.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.mobile-content.centered p{color:var(--mobile-text-secondary);font-size:1rem;margin-bottom:20px}.mobile-content.centered button{padding:12px 32px;font-size:16px;background:var(--mobile-accent);color:var(--mobile-text-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.mobile-content.centered button:active{background:var(--mobile-accent-hover);transform:scale(.98)}.mobile-review{display:flex;flex-direction:column;height:100%;padding:0}.review-progress{text-align:center;font-size:14px;color:var(--mobile-text-secondary);margin-bottom:16px}.mobile-app .progress-bar{padding:12px 16px 8px;margin:0;max-width:100%}.mobile-app .progress-text{font-size:11px;color:var(--mobile-text-tertiary);margin-bottom:6px}.mobile-app .queue-preview-button{font-size:12px;padding:6px 12px;margin-top:8px}.mobile-app .word-card-container{flex-direction:column;padding:0;gap:0;max-width:100%;margin:0;min-height:auto;position:relative}.mobile-app .cards-row{display:flex;flex-direction:column;width:100%;gap:0}.mobile-app .word-card-and-shortcuts{width:100%;order:1}.mobile-app .word-card{border:none;border-bottom:1px solid var(--mobile-border-primary);border-radius:0;padding:20px 16px;min-height:auto;max-height:none;background:var(--mobile-bg-secondary);cursor:pointer;transition:background .2s}.mobile-app .word-card:active{background:var(--mobile-bg-tertiary)}.mobile-app .word-title{font-size:2.5rem;color:var(--mobile-text-primary);margin-bottom:.5rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .word-title-variants{font-size:2.5rem;font-weight:300;color:var(--mobile-text-primary)}.mobile-app .word-pronunciation{font-size:1rem;color:var(--mobile-text-secondary);margin-bottom:1.5rem}.mobile-app .word-stats{background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);padding:12px;margin-bottom:1.5rem}.mobile-app .stat-item{font-size:.8rem;margin:0 .75rem;color:var(--mobile-text-soft)}.mobile-app .stat-value{color:var(--mobile-text-primary)}.mobile-app .section-title{font-size:.7rem;color:var(--mobile-text-secondary);margin-bottom:1rem}.mobile-app .definition-text{font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-content);line-height:1.6;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .example-item{font-size:calc(.95rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);padding:12px;margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .reveal-hint{padding:3rem 0;color:var(--mobile-text-secondary);font-size:1rem;text-align:center}.mobile-app .reveal-hint-key,.mobile-app .bottom-shortcuts{display:none}.mobile-app .rating-and-shortcuts{width:100%;order:2}.mobile-app .rating-container{width:100%;background:var(--mobile-bg-secondary);border:none;border-top:1px solid var(--mobile-border-primary);padding:20px 16px;min-height:auto}.mobile-app .rating-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--mobile-border-primary)}.mobile-app .rating-actions-nav{display:flex;justify-content:space-between;gap:8px;grid-column:1 / -1}.mobile-app .rating-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-app .rating-action-button,.mobile-app .back-button,.mobile-app .forward-button{padding:10px 12px;border:1px solid var(--mobile-border-primary);background:var(--mobile-bg-primary);color:var(--mobile-text-secondary);font-size:.85rem;border-radius:6px;min-height:44px;display:flex;align-items:center;justify-content:center;position:static!important;left:auto!important;right:auto!important}.mobile-app .back-button,.mobile-app .forward-button{font-size:1.5rem;color:var(--mobile-text-soft);min-width:60px;flex-shrink:0;transform:none}.mobile-app .rating-action-button:active,.mobile-app .back-button:active,.mobile-app .forward-button:active{background:var(--mobile-border-primary);color:var(--mobile-text-primary)}.mobile-app .back-button:disabled,.mobile-app .forward-button:disabled{opacity:.3;pointer-events:none}.mobile-app .rating-title{font-size:.7rem;color:var(--mobile-text-secondary);margin-bottom:16px;text-align:center;text-transform:uppercase;letter-spacing:.1em}.mobile-app .rating-buttons{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:16px;margin-bottom:0;padding:20px 0}.mobile-app .rating-button{width:48px;height:48px;padding:0;border:none;background:var(--mobile-border-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative}.mobile-app .rating-button:nth-child(1){background:var(--mobile-rating-2);width:32px;height:32px}.mobile-app .rating-button:nth-child(2){background:var(--mobile-rating-3);width:40px;height:40px}.mobile-app .rating-button:nth-child(3){background:var(--mobile-rating-4);width:48px;height:48px}.mobile-app .rating-button:nth-child(4){background:var(--mobile-rating-5);width:40px;height:40px}.mobile-app .rating-button:nth-child(5){background:var(--mobile-rating-6);width:32px;height:32px}.mobile-app .rating-button:active{transform:scale(1.2);background:var(--mobile-accent)}.mobile-app .rating-button.selected{background:var(--mobile-accent);transform:scale(1.3);box-shadow:0 4px 12px var(--mobile-accent-shadow)}.mobile-app .rating-button-content{display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-app .rating-number{font-size:1.2rem;font-weight:500;color:var(--mobile-text-primary)}.mobile-app .rating-label{display:none}.mobile-app .rating-labels{display:flex;justify-content:space-between;padding:0 8px;margin-top:8px}.mobile-app .rating-label-item{font-size:.7rem;color:var(--mobile-text-tertiary);text-align:center;flex:1}.session-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center}.session-complete h2{font-size:24px;margin-bottom:8px}.session-complete .session-subtitle{font-size:14px;color:var(--mobile-text-secondary);margin-bottom:24px}.session-complete .session-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:400px;margin-bottom:24px}.session-complete .session-stat{background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px;padding:16px}.session-complete .session-stat-label{font-size:12px;color:var(--mobile-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.session-complete .session-stat-value{font-size:32px;font-weight:600;color:var(--mobile-text-primary)}.session-complete .session-words{width:100%;max-width:400px;margin-bottom:24px}.session-complete .session-words h3{font-size:14px;color:var(--mobile-text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em;text-align:left}.session-complete .session-words-list{max-height:300px;overflow-y:auto;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:8px}.session-complete .session-word-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--mobile-border-primary)}.session-complete .session-word-item:last-child{border-bottom:none}.session-complete .session-word-name{font-size:16px;color:var(--mobile-text-primary)}.session-complete .session-word-rating{font-size:14px;color:var(--mobile-text-secondary);background:var(--mobile-bg-primary);padding:4px 12px;border-radius:12px}.session-complete button{padding:12px 32px;font-size:16px;background:var(--mobile-accent);color:var(--mobile-text-primary);border:none;border-radius:8px;cursor:pointer;min-height:44px}.mobile-app.loading{display:flex;align-items:center;justify-content:center}.loading-spinner{font-size:18px;color:var(--mobile-text-secondary)}.mobile-app .queue-preview-panel{background:var(--mobile-bg-secondary);border-bottom:1px solid var(--mobile-border-primary);padding:16px;max-height:40vh;overflow-y:auto}.mobile-app .queue-preview-title{font-size:.85rem;color:var(--mobile-text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.mobile-app .queue-preview-list{display:flex;flex-direction:column;gap:8px}.mobile-app .queue-preview-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--mobile-bg-primary);border:1px solid var(--mobile-border-primary);border-radius:6px}.mobile-app .queue-preview-number{font-size:.75rem;color:var(--mobile-text-tertiary);min-width:20px}.mobile-app .queue-preview-word{flex:1;font-size:.95rem;color:var(--mobile-text-primary)}.mobile-app .queue-preview-familiarity{font-size:.8rem;color:var(--mobile-text-secondary)}.mobile-app .queue-preview-empty{text-align:center;padding:20px;color:var(--mobile-text-tertiary);font-size:.9rem}.mobile-app .images-grid{display:grid;grid-template-columns:1fr;gap:12px}.mobile-app .word-image{width:100%;height:auto;border-radius:8px;border:1px solid var(--mobile-border-primary)}.mobile-app .sub-definitions{margin-left:16px;margin-top:12px}.mobile-app .sub-definition-item{margin-bottom:16px;padding-left:12px}.mobile-app .sub-definition-item.has-phrase{border-left:2px solid var(--mobile-border-primary)}.mobile-app .sub-definition-item.no-phrase{border-left:none;position:relative;padding-left:20px}.mobile-app .sub-definition-item.no-phrase:before{content:"◦";position:absolute;left:0;top:0;font-size:1.2rem;color:var(--mobile-text-secondary)}.mobile-app .sub-phrase-header{display:inline-block;padding:4px 8px;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-primary);border-radius:4px;margin-bottom:6px}.mobile-app .sub-phrase{font-weight:500;color:var(--mobile-text-primary);font-size:calc(.9rem * var(--content-font-size-multiplier));font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .sub-phrase-pos{font-size:calc(.75rem * var(--content-font-size-multiplier));color:var(--accent-purple);margin-left:6px}.mobile-app .sub-definition-item.has-phrase .sub-definition-text{font-size:calc(.9rem * var(--content-font-size-multiplier));color:var(--mobile-text-muted);line-height:1.6;margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .sub-definition-item.no-phrase .sub-definition-text{font-size:calc(.9rem * var(--content-font-size-multiplier));color:var(--mobile-text-content);line-height:1.6;margin-bottom:8px;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app .sub-examples{margin-top:8px}.mobile-app .sub-examples .example-item{background:var(--mobile-bg-primary);border:none;color:var(--mobile-text-muted);padding-left:12px;border-left:2px solid var(--mobile-border-primary)}.mobile-app .inline-hyperlink{color:var(--mobile-accent);text-decoration:underline;text-decoration-color:var(--mobile-link-decoration);font-weight:500}.mobile-app .inline-hyperlink:active{color:var(--mobile-link-hover)}.mobile-app em,.mobile-app .definition-text em,.mobile-app .example-item em,.mobile-app .sub-definition-text em{font-style:italic;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.mobile-app strong,.mobile-app .definition-text strong,.mobile-app .example-item strong,.mobile-app .sub-definition-text strong{color:var(--mobile-text-primary);font-weight:700}.mobile-app .small-caps{font-variant:small-caps;font-weight:500;letter-spacing:.02em}.mobile-app .word-title,.mobile-app .definition-text,.mobile-app .example-item,.mobile-app .sub-definition-text,.mobile-app .sub-phrase{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.mobile-app .oldstyle-nums{font-feature-settings:"onum" 1;font-variant-numeric:oldstyle-nums}@media (max-width: 768px){.navigation{display:none}}.mobile-app .modal-overlay{z-index:200}.mobile-app .modal-content{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0;margin:0}.mobile-app .modal-header{padding:16px;position:sticky;top:0;background:var(--bg-secondary);z-index:10;border-bottom:1px solid var(--mobile-border-contrast)}.mobile-app .modal-title{font-size:1.25rem}.mobile-app .modal-body{padding:16px 16px 100px;overflow-y:auto}.mobile-app .modal-footer{padding:12px 16px;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);z-index:10;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--mobile-border-contrast);box-shadow:0 -2px 8px var(--mobile-footer-shadow)}.mobile-app .modal-footer button{width:100%;padding:14px;font-size:16px;font-weight:500;border-radius:8px}.mobile-app .modal-footer .form-button.primary{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);order:1}.mobile-app .modal-footer .form-button.secondary{background:var(--bg-secondary);color:var(--mobile-text-tertiary);border:1px solid var(--mobile-border-faint);order:2}.mobile-app .form-group{margin-bottom:20px}.mobile-app .form-label{font-size:.9rem;margin-bottom:8px;display:block}.mobile-app .form-label-with-action{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.mobile-app .form-label-with-action .form-label{margin-bottom:0}.mobile-app .inline-ai-button{align-self:flex-start;font-size:.85rem;padding:6px 12px;min-width:96px!important}.mobile-app .form-input,.mobile-app .form-textarea{width:100%;min-width:0;box-sizing:border-box;font-size:16px;padding:12px;border:1px solid var(--mobile-border-faint);border-radius:6px}.mobile-app .form-textarea{min-height:100px;resize:vertical}.mobile-app .rich-text-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:8px;background:var(--bg-active);border-radius:6px}.mobile-app .rich-text-toolbar button,.mobile-app .toolbar-button{min-width:44px;height:44px;padding:8px;font-size:14px;border:1px solid var(--border-dark);background:var(--bg-secondary);border-radius:4px}.mobile-app .rich-text-toolbar button:active,.mobile-app .toolbar-button:active{background:var(--bg-hover)}.mobile-app .rich-text-area{width:100%;min-height:100px;font-size:16px;padding:12px;border:1px solid var(--border-dark);border-radius:6px;resize:vertical}.mobile-app .definition-group{margin-bottom:24px;padding:16px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-primary)}.mobile-app .modal-body .definition-group{padding-left:42px}.mobile-app .definition-drag-handle{left:14px;top:20px;padding:4px 2px}.mobile-app .definition-meta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.mobile-app .definition-meta-row .form-input.small,.mobile-app .definition-meta-row .ipa-input-container,.mobile-app .definition-meta-row .ipa-input-wrapper{width:100%;min-width:0;max-width:none;margin-right:0}.mobile-app .definition-input-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.mobile-app .definition-input-group .form-input.small{width:100%;max-width:none}.mobile-app .definition-input-group .rich-text-input{width:100%;flex:none}.mobile-app .definition-input-group .remove-button{align-self:flex-end;width:44px;height:44px;flex-shrink:0}.mobile-app .ipa-input-container,.mobile-app .ipa-input-wrapper{width:100%;min-width:0}.mobile-app .irregular-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.mobile-app .irregular-form-row .form-input,.mobile-app .irregular-form-row .form-input.small{width:100%;min-width:0;max-width:none;margin-right:0}.mobile-app .irregular-form-row .ipa-input-container{grid-column:1 / -1}.mobile-app .irregular-form-row .remove-button{grid-column:2;justify-self:end}.mobile-app .sub-definition-header{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.mobile-app .sub-definition-header .form-input{width:100%}.mobile-app .sub-definition-header .form-input.small{width:100%;max-width:none}.mobile-app .sub-definition-header .remove-button{align-self:flex-end;width:44px;height:44px}.mobile-app .definition-item-container{margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-primary)}.mobile-app .definition-item-header{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.mobile-app .definition-item-actions{display:flex;gap:8px;margin-top:8px}.mobile-app .definition-item-actions button{flex:1;padding:10px;font-size:14px;min-height:44px}.mobile-app .definition-examples-section{margin-top:16px}.mobile-app .definition-examples-section .form-sublabel{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;display:block}.mobile-app .sub-definition-container{margin-left:0;margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-primary)}.mobile-app .example-input-group{margin-bottom:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.mobile-app .example-input-group .rich-text-input,.mobile-app .example-input-group textarea{width:100%;flex:1;min-height:60px;font-size:15px}.mobile-app .example-input-group .remove-button{align-self:flex-end;flex-shrink:0;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}.mobile-app .add-more-button,.mobile-app .add-sub-button{width:100%;padding:12px;font-size:15px;margin-top:8px;min-height:44px}.mobile-app .remove-button{min-width:44px;min-height:44px;padding:8px;font-size:18px}.mobile-app .tags-input-container{margin-bottom:16px}.mobile-app .tags-input{width:100%;font-size:16px;padding:12px}.mobile-app .tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mobile-app .tag-item{padding:8px 14px;background:var(--bg-hover);border-radius:16px;font-size:14px;display:flex;align-items:center;gap:8px;min-height:36px}.mobile-app .tag-remove{cursor:pointer;font-weight:700;font-size:16px;padding:0 4px}.mobile-app .image-preview{position:relative;margin-bottom:12px}.mobile-app .image-preview img{width:100%;height:auto;border-radius:8px}.mobile-app .image-preview .remove-button{position:absolute;top:8px;right:8px;background:var(--mobile-overlay-strong);color:var(--text-primary);border:none;width:36px;height:36px;border-radius:50%}.mobile-app .form-hint{font-size:.85rem;color:var(--text-secondary);margin-top:8px}.mobile-app .form-hint-button{padding:8px 12px;font-size:.85rem;min-height:36px;border-radius:6px}.mobile-app .variant-input-group{display:flex;gap:8px;margin-bottom:8px;align-items:center}.mobile-app .variant-input-group input{flex:1;min-width:0}.mobile-app .variant-input-group .remove-button{flex-shrink:0}.mobile-add-page .form-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px}.mobile-add-page .form-actions .form-button{width:100%;min-height:48px;padding:12px;font-size:16px}.mobile-add-page .form-actions .form-button.primary{order:1}.mobile-add-page .form-actions .form-button.secondary{order:2}.scenario-workspace{display:flex;height:calc(100vh - 80px);width:100%;font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.scenario-prototype-nav{align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.scenario-prototype-nav-left,.scenario-nav-group{display:flex;align-items:center;gap:.6rem;min-width:0}.scenario-prototype-nav-left{flex:0 1 auto;flex-wrap:wrap;justify-content:center}.scenario-nav-divider{width:1px;height:32px;background:var(--border-primary);margin:0 .25rem;flex:0 0 auto}.navigation .scenario-nav-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:108px;min-width:108px;height:42px;padding:0 .85rem;line-height:1;text-align:center;white-space:nowrap;border-radius:var(--radius-md)}.navigation .scenario-nav-group:last-child .scenario-nav-button{width:156px;min-width:156px}.navigation .scenario-nav-button.ghost{opacity:.58}.scenario-workspace.single{align-items:flex-start;justify-content:center;overflow-y:auto;padding:2rem;background:var(--bg-primary)}.scenario-workspace.single>.scenario-create-panel{flex:0 0 auto;margin:auto 0}.scenario-sidebar{flex:0 0 350px;width:350px;border-right:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;flex-direction:column}.scenario-sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-primary);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.scenario-kicker{color:var(--text-tertiary);font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}.scenario-sidebar-header h1{color:var(--text-primary);font-size:1.2rem;font-weight:300}.scenario-search{padding:1rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.scenario-search input{width:100%;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:var(--text-base);outline:none;padding:.7rem .85rem;transition:border-color var(--transition-fast)}.scenario-search input:focus{border-color:var(--accent-primary)}.scenario-search input::placeholder{color:var(--text-tertiary)}.scenario-search-stats{color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.4;margin-top:.55rem}.scenario-empty-search{color:var(--text-tertiary);font-size:var(--text-sm);line-height:1.5;padding:1.5rem 1rem;text-align:center}.scenario-list{flex:1;overflow-y:auto}.scenario-list-item{width:100%;padding:1.2rem 1.5rem;border:0;border-bottom:1px solid var(--border-light);background:transparent;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:.55rem;text-align:left;transition:background var(--transition-normal)}.scenario-list-item:hover{background:var(--bg-primary)}.scenario-list-item.active{background:var(--bg-active);border-left:3px solid var(--text-primary);padding-left:calc(1.5rem - 3px)}.scenario-list-title{color:var(--text-primary);font-size:1.02rem;font-weight:400;line-height:1.45}.scenario-list-meta{color:var(--text-tertiary);font-size:.78rem;font-weight:300}.scenario-list-thread-preview{overflow:hidden;color:var(--text-secondary);font-size:.82rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.scenario-detail{flex:1;padding:3rem;overflow-y:auto;background:var(--library-detail-bg)}.scenario-detail-header{display:flex;flex-direction:column;align-items:stretch;gap:1.2rem;margin-bottom:2rem}.scenario-detail-header h1{color:var(--text-primary);font-size:1.45rem;font-weight:300;line-height:1.55;margin:0}.scenario-detail-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.scenario-review-tree-action{grid-column:1 / -1;width:100%}.scenario-entry-content{background:transparent;border:0;padding:0}.scenario-entry-content .scenario-answer-panel{border:0;padding:0}.scenario-card-topline{display:flex;justify-content:space-between;gap:1rem;color:var(--text-tertiary);font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.word-card .scenario-review-summary-title{font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif!important;font-size:1.65rem!important;font-weight:300!important;line-height:1.55!important;letter-spacing:0!important;text-align:left!important;margin-bottom:2rem!important}.scenario-followup-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:2rem;margin-top:2rem}.scenario-answer-panel,.scenario-summary-panel,.scenario-chat-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:2.5rem}.scenario-answer-stack{display:grid;gap:1.7rem;margin-top:1.4rem}.scenario-answer-section{padding-bottom:1.4rem;border-bottom:1px solid var(--border-light)}.scenario-answer-section:last-child{border-bottom:0;padding-bottom:0}.scenario-answer-section h3{color:var(--accent-purple);font-size:1rem;font-weight:400;margin-bottom:.75rem}.scenario-answer-section ol{display:grid;gap:.65rem;padding-left:1.25rem}.scenario-answer-section li{color:var(--text-primary);font-size:calc(1.02rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.65}.scenario-chat-panel{margin-top:2rem}.scenario-message-list{display:grid;gap:1rem;margin-top:1.4rem;max-height:440px;overflow:auto}.scenario-message{border-bottom:1px solid var(--border-light);padding-bottom:1rem}.scenario-message:last-child{border-bottom:0;padding-bottom:0}.scenario-message span{display:block;color:var(--text-tertiary);font-size:.75rem;font-weight:400;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.scenario-message p{color:var(--text-primary);font-size:calc(.98rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.75;white-space:pre-line}.scenario-assistant-message{display:grid;gap:1.2rem;margin-top:.7rem}.scenario-assistant-message .message-paragraph{color:var(--text-primary);font-size:calc(1.02rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.75;margin:0;white-space:pre-line}.scenario-assistant-message .message-paragraph:first-child{margin-top:0}.scenario-review-answer{display:grid;gap:1rem;margin-top:.7rem}.scenario-review-conversation{display:flex;flex-direction:column;gap:1rem;font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.scenario-review-answer-list{display:grid;gap:.7rem;margin-top:.7rem}.scenario-followup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1.5rem}.scenario-field{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem}.scenario-field span{color:var(--text-tertiary);font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.scenario-field textarea,.scenario-field input,.scenario-followup-row textarea{width:100%;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:.95rem;font-weight:300;line-height:1.55;outline:none;padding:.8rem 1rem;resize:vertical;transition:border-color var(--transition-normal)}.scenario-field textarea:focus,.scenario-field input:focus,.scenario-followup-row textarea:focus{border-color:var(--text-primary)}.scenario-create-panel{max-width:700px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:3rem}.scenario-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.scenario-panel-header h1{color:var(--text-primary);font-size:2rem;font-weight:300;line-height:1.25}.scenario-ai-state{margin-top:2rem;padding:.8rem;background:var(--form-hint-bg);border:1px solid var(--form-hint-border);border-radius:6px}.scenario-ai-state span,.scenario-ai-state p{display:block;color:var(--text-tertiary);font-size:.8rem;font-weight:300;line-height:1.45}.scenario-ai-state strong{display:block;color:var(--text-primary);font-size:.95rem;font-weight:400;margin:.25rem 0}.scenario-primary-button,.scenario-secondary-button{border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font:inherit;font-size:.85rem;font-weight:300;min-height:38px;padding:.7rem 1rem;transition:all var(--transition-normal)}.scenario-detail-actions .edit-button,.scenario-detail-actions .delete-button,.scenario-detail .library-rating-button,.scenario-detail .rating-action-button,.scenario-modal-actions .scenario-primary-button,.scenario-modal-actions .scenario-secondary-button,.scenario-detail .library-rating-section,.scenario-detail .edit-button,.scenario-detail .delete-button{border-radius:var(--radius-md)}.scenario-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.scenario-modal-actions .scenario-primary-button,.scenario-modal-actions .scenario-secondary-button{margin-top:0}.scenario-primary-button{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-secondary);margin-top:2rem}.scenario-primary-button.compact{margin-top:0;background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary);padding:.7rem 1rem}@media (max-width: 900px){.scenario-detail{padding:2rem}.scenario-review-card h2{font-size:1.35rem}.scenario-review-actions{gap:.6rem}.scenario-primary-button,.scenario-secondary-button{padding:.65rem .85rem}}.scenario-primary-button:hover:not(:disabled),.scenario-secondary-button:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-secondary)}.scenario-primary-button:disabled{opacity:.5;cursor:not-allowed}.scenario-followup-submit{width:104px;min-width:104px;margin-top:0;overflow:hidden;background:var(--bg-tertiary);border-color:var(--border-dark);color:var(--text-primary);box-shadow:none;text-shadow:none;transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.scenario-followup-submit:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.scenario-followup-submit:disabled,.scenario-followup-submit.is-busy{opacity:1;background:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-secondary)}.scenario-followup-submit span{display:block;white-space:nowrap}.scenario-error-text{color:var(--error-text);font-size:.85rem;line-height:1.4;margin-top:1rem}.scenario-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--modal-overlay-bg);padding:2rem;font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}.scenario-edit-modal{width:min(700px,100%);max-height:90vh;overflow:auto;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:2rem}@media (max-width: 1100px){.scenario-prototype-nav{align-items:flex-start;gap:1rem}.scenario-prototype-nav-left,.scenario-nav-group{flex-wrap:wrap}.scenario-nav-divider{display:none}.scenario-nav-button{min-width:118px}.scenario-layout-grid{grid-template-columns:1fr}}.scenario-chat-display{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:2.5rem;margin-bottom:2rem}.scenario-chat-messages{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.4rem;max-height:600px;overflow-y:auto;padding:.5rem}.chat-bubble{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease-in}.chat-bubble.user{align-self:flex-end;align-items:flex-end}.chat-bubble.assistant{align-self:flex-start;align-items:flex-start}.chat-bubble-content{padding:1rem 1.25rem;border-radius:var(--radius-md);line-height:1.6;word-wrap:break-word}.chat-bubble.user .chat-bubble-content{background:var(--accent-primary);color:var(--bg-secondary)}[data-theme=dark] .chat-bubble.user .chat-bubble-content{background:var(--bg-active);border:1px solid var(--border-dark);color:var(--text-primary)}.chat-bubble.assistant .chat-bubble-content{background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary)}.chat-bubble-content p{margin:0;font-size:calc(.98rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.75;white-space:pre-wrap}.chat-bubble-content p+p{margin-top:.8rem}.scenario-markdown{color:inherit;font-size:calc(.98rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.75}.scenario-review-answer .scenario-markdown{color:var(--text-primary);font-size:calc(1.05rem * var(--content-font-size-multiplier))}.scenario-markdown>*{margin:0}.scenario-markdown>*+*{margin-top:.85rem}.scenario-markdown h3,.scenario-markdown h4,.scenario-markdown h5{color:inherit;font-weight:500;letter-spacing:0;line-height:1.4}.scenario-markdown h3{font-size:1.08em}.scenario-markdown h4,.scenario-markdown h5{font-size:1em}.scenario-markdown strong{color:inherit;font-weight:600}.scenario-markdown em{font-style:italic}.scenario-markdown ul,.scenario-markdown ol{display:grid;gap:.45rem;padding-left:1.5rem}.scenario-markdown li{padding-left:.15rem}.scenario-markdown blockquote{border-left:3px solid var(--border-dark);color:var(--text-secondary);padding-left:1rem}.scenario-markdown-code{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow-x:auto;padding:1rem;white-space:pre}.scenario-markdown-code code{background:transparent;border:0;padding:0}.chat-bubble-time{font-size:.7rem;color:var(--text-tertiary);margin-top:.35rem;padding:0 .5rem}.scenario-message-branch-button{width:max-content;padding:4px 8px;margin-top:5px;color:var(--text-tertiary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.72rem}.scenario-message-branch-button:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-primary)}.chat-bubble.user .scenario-message-branch-button{align-self:flex-end}.scenario-modal-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.scenario-branch-overlay{z-index:1500}.scenario-followup-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:2rem}.scenario-followup-section .scenario-card-topline{margin-bottom:1rem}.scenario-stream-preview{margin-top:1rem;padding:1rem;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);line-height:1.65}.chat-bubble.streaming{min-height:1.5rem}.scenario-stream-cursor{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:currentColor;animation:scenario-stream-blink .8s steps(1) infinite}@keyframes scenario-stream-blink{50%{opacity:0}}@media (max-width: 720px){.scenario-workspace.single{padding:1rem}.scenario-workspace{height:auto;min-height:calc(100vh - 80px);flex-direction:column}.scenario-sidebar{width:100%;max-height:320px;border-right:0;border-bottom:1px solid var(--border-primary)}.scenario-detail,.scenario-create-panel,.scenario-answer-panel,.scenario-summary-panel,.scenario-chat-panel{padding:1.25rem}.scenario-review-card h2{font-size:1.8rem}.scenario-followup-row{grid-template-columns:1fr}}@font-face{font-family:Cambria;src:url(/fonts/cambria.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:url(/fonts/cambria-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--content-font-size-multiplier: 1;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--text-xs: .75rem;--text-sm: .85rem;--text-base: .95rem;--text-md: 1rem;--text-lg: 1.1rem;--text-xl: 1.3rem;--text-2xl: 2.5rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--transition-fast: .15s;--transition-normal: .2s;--transition-slow: .3s;--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f9f9f9;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-hover: #f0f0f0;--bg-active: #f5f5f5;--bg-accent-subtle: #f0f8ff;--text-primary: #1a1a1a;--text-secondary: #666;--text-tertiary: #999;--text-muted: #888;--text-disabled: #ccc;--border-primary: #e0e0e0;--border-secondary: #e5e5e5;--border-light: #f0f0f0;--border-dark: #ddd;--border-hover: #ccc;--accent-primary: #1a1a1a;--accent-secondary: #333;--accent-purple: #7c6f9f;--accent-purple-light: #9d8ec4;--ipa-color: #999;--ipa-font: Cambria, "Charis SIL", "Doulos SIL", "Gentium Plus", "DejaVu Sans", "Lucida Sans Unicode", sans-serif;--respelling-color: #bbb;--success: #22c55e;--success-hover: #16a34a;--warning: #f59e0b;--warning-hover: #d97706;--danger: #ef4444;--danger-hover: #dc2626;--error-bg: #fee;--error-border: #fcc;--error-text: #c33;--badge-disabled-bg: #fee;--badge-disabled-text: #c33;--badge-admin-bg: #dbeafe;--badge-admin-text: #1e40af;--mobile-bg-primary: #0a0a0a;--mobile-bg-secondary: #1a1a1a;--mobile-bg-tertiary: #252525;--mobile-bg-control: #333;--mobile-border-primary: #333;--mobile-border-contrast: #e0e0e0;--mobile-border-faint: #ddd;--mobile-text-primary: #fff;--mobile-text-content: #e0e0e0;--mobile-text-secondary: #888;--mobile-text-tertiary: #666;--mobile-text-muted: #999;--mobile-text-soft: #aaa;--mobile-text-subtle: #ccc;--mobile-text-faint: #ddd;--mobile-accent: #4a90e2;--mobile-accent-hover: #357abd;--mobile-accent-strong: #0066cc;--mobile-accent-strong-hover: #0052a3;--mobile-accent-soft: rgba(74, 144, 226, .1);--mobile-accent-shadow: rgba(74, 144, 226, .4);--mobile-link-hover: #6ba3e8;--mobile-link-decoration: rgba(74, 144, 226, .5);--mobile-danger: #dc3545;--mobile-danger-hover: #c82333;--mobile-danger-border-hover: #bd2130;--mobile-error-text: #ff6b6b;--mobile-success: #51cf66;--mobile-warning-bg: #2a2416;--mobile-warning-border: #856404;--mobile-warning-text: #f4d03f;--mobile-rating-1: #333;--mobile-rating-2: #444;--mobile-rating-3: #555;--mobile-rating-4: #666;--mobile-rating-5: #777;--mobile-rating-6: #888;--mobile-overlay-strong: rgba(0, 0, 0, .7);--mobile-footer-shadow: rgba(0, 0, 0, .1);--admin-muted-fixed: #666;--admin-button-text: #fff;--admin-button-primary-bg: #000;--admin-button-primary-text: #fff;--admin-button-primary-hover-bg: #333;--admin-button-primary-shadow: rgba(0,0,0,.15);--admin-button-success-bg: #22c55e;--admin-button-success-hover-bg: #16a34a;--admin-button-warning-bg: #f59e0b;--admin-button-warning-hover-bg: #d97706;--admin-button-danger-bg: #ef4444;--admin-button-danger-hover-bg: #dc2626;--admin-form-bg: #f9f9f9;--admin-form-label: #333;--admin-form-input-border: #ddd;--library-search-tip-bg: #fafafa;--library-search-tip-border: #eee;--library-month-bg: #f8f8f8;--library-legacy-bg: #fef9e7;--library-legacy-border: #f4d03f;--library-legacy-text: #856404;--library-detail-bg: #fafafa;--library-rating-bg: #f9f9f9;--link-decoration-muted: #ccc;--form-hint-bg: #fafafa;--form-hint-border: #f0f0f0;--danger-accent: #ff4444;--existing-word-alert-bg: #fff9f0;--existing-word-alert-border: #ffa500;--modal-overlay-bg: rgba(0, 0, 0, .5);--picker-overlay-bg: rgba(0, 0, 0, .3);--picker-shadow: rgba(0, 0, 0, .15);--legacy-color-000: #000;--legacy-color-0051d5: #0051d5;--legacy-color-007aff: #007aff;--legacy-color-0a0: #0a0;--legacy-color-0a0a0a: #0a0a0a;--legacy-color-111: #111;--legacy-color-1a1500: #1a1500;--legacy-color-1a1a1a: #1a1a1a;--legacy-color-212529: #212529;--legacy-color-2196f3: #2196f3;--legacy-color-252525: #252525;--legacy-color-28a745: #28a745;--legacy-color-333: #333;--legacy-color-3a7bd5: #3a7bd5;--legacy-color-444: #444;--legacy-color-4a90e2: #4a90e2;--legacy-color-4caf50: #4caf50;--legacy-color-51cf66: #51cf66;--legacy-color-554400: #554400;--legacy-color-555: #555;--legacy-color-666: #666;--legacy-color-667eea: #667eea;--legacy-color-6bb3ff: #6bb3ff;--legacy-color-6c757d: #6c757d;--legacy-color-764ba2: #764ba2;--legacy-color-7c6f9f: #7c6f9f;--legacy-color-856404: #856404;--legacy-color-888: #888;--legacy-color-999: #999;--legacy-color-9d8ec4: #9d8ec4;--legacy-color-a00: #a00;--legacy-color-aa8800: #aa8800;--legacy-color-b71c1c: #b71c1c;--legacy-color-bbb: #bbb;--legacy-color-c82333: #c82333;--legacy-color-ccc: #ccc;--legacy-color-d0d0d0: #d0d0d0;--legacy-color-d32f2f: #d32f2f;--legacy-color-dc3545: #dc3545;--legacy-color-ddd: #ddd;--legacy-color-e0e0e0: #e0e0e0;--legacy-color-e3f2fd: #e3f2fd;--legacy-color-e8e8e8: #e8e8e8;--legacy-color-e8f5e9: #e8f5e9;--legacy-color-e9ecef: #e9ecef;--legacy-color-ebebeb: #ebebeb;--legacy-color-f0f0f0: #f0f0f0;--legacy-color-f4d03f: #f4d03f;--legacy-color-f5f5f5: #f5f5f5;--legacy-color-f88: #f88;--legacy-color-f8f8f8: #f8f8f8;--legacy-color-f8f9fa: #f8f9fa;--legacy-color-f9f9f9: #f9f9f9;--legacy-color-fafafa: #fafafa;--legacy-color-fef9e7: #fef9e7;--legacy-color-ff3b30: #ff3b30;--legacy-color-ff4444: #ff4444;--legacy-color-ff6b6b: #ff6b6b;--legacy-color-ffcdd2: #ffcdd2;--legacy-color-ffebee: #ffebee;--legacy-color-fff: #fff;--legacy-rgba-0-0-0-005: rgba(0, 0, 0, .05);--legacy-rgba-0-0-0-008: rgba(0, 0, 0, .08);--legacy-rgba-0-0-0-01: rgba(0, 0, 0, .1);--legacy-rgba-0-0-0-012: rgba(0, 0, 0, .12);--legacy-rgba-0-0-0-015: rgba(0, 0, 0, .15);--legacy-rgba-0-0-0-02: rgba(0, 0, 0, .2);--legacy-rgba-0-0-0-03: rgba(0, 0, 0, .3);--legacy-rgba-0-0-0-04: rgba(0, 0, 0, .4);--legacy-rgba-0-0-0-05: rgba(0, 0, 0, .5);--legacy-rgba-0-255-0-005: rgba(0, 255, 0, .05);--legacy-rgba-102-126-234-03: rgba(102, 126, 234, .3);--legacy-rgba-102-126-234-04: rgba(102, 126, 234, .4);--legacy-rgba-102-126-234-05: rgba(102, 126, 234, .5);--legacy-rgba-255-0-0-005: rgba(255, 0, 0, .05);--legacy-rgba-255-255-255-005: rgba(255, 255, 255, .05);--legacy-rgba-255-255-255-008: rgba(255, 255, 255, .08);--legacy-rgba-255-255-255-01: rgba(255, 255, 255, .1);--legacy-rgba-255-255-255-015: rgba(255, 255, 255, .15);--legacy-rgba-255-255-255-02: rgba(255, 255, 255, .2);--legacy-rgba-255-255-255-025: rgba(255, 255, 255, .25);--legacy-rgba-255-255-255-03: rgba(255, 255, 255, .3);--legacy-rgba-255-255-255-05: rgba(255, 255, 255, .5);--legacy-rgba-255-255-255-07: rgba(255, 255, 255, .7);--legacy-rgba-255-255-255-08: rgba(255, 255, 255, .8);--legacy-rgba-74-144-226-01: rgba(74, 144, 226, .1);--shadow-sm: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.15)}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #151515;--bg-elevated: #1a1a1a;--bg-input: #0a0a0a;--bg-hover: #252525;--bg-active: #252525;--bg-accent-subtle: #1a2530;--text-primary: #e0e0e0;--text-secondary: #888;--text-tertiary: #666;--text-muted: #666;--text-disabled: #444;--border-primary: #333;--border-secondary: #333;--border-light: #2a2a2a;--border-dark: #444;--border-hover: #555;--accent-primary: #e0e0e0;--accent-secondary: #fff;--accent-purple: #9d8ec4;--accent-purple-light: #b8a8d4;--ipa-color: #888;--respelling-color: var(--text-secondary);--success: #22c55e;--success-hover: #16a34a;--warning: #f59e0b;--warning-hover: #d97706;--danger: #ef4444;--danger-hover: #dc2626;--error-bg: #3a1a1a;--error-border: #5a2a2a;--error-text: #f88;--badge-disabled-bg: #3a1a1a;--badge-disabled-text: #f88;--badge-admin-bg: #1a2a4a;--badge-admin-text: #6ab0ff;--mobile-bg-primary: #0a0a0a;--mobile-bg-secondary: #1a1a1a;--mobile-bg-tertiary: #252525;--mobile-bg-control: #333;--mobile-border-primary: #333;--mobile-border-contrast: #e0e0e0;--mobile-border-faint: #ddd;--mobile-text-primary: #fff;--mobile-text-content: #e0e0e0;--mobile-text-secondary: #888;--mobile-text-tertiary: #666;--mobile-text-muted: #999;--mobile-text-soft: #aaa;--mobile-text-subtle: #ccc;--mobile-text-faint: #ddd;--mobile-accent: #4a90e2;--mobile-accent-hover: #357abd;--mobile-accent-strong: #0066cc;--mobile-accent-strong-hover: #0052a3;--mobile-accent-soft: rgba(74, 144, 226, .1);--mobile-accent-shadow: rgba(74, 144, 226, .4);--mobile-link-hover: #6ba3e8;--mobile-link-decoration: rgba(74, 144, 226, .5);--mobile-danger: #dc3545;--mobile-danger-hover: #c82333;--mobile-danger-border-hover: #bd2130;--mobile-error-text: #ff6b6b;--mobile-success: #51cf66;--mobile-warning-bg: #2a2416;--mobile-warning-border: #856404;--mobile-warning-text: #f4d03f;--mobile-rating-1: #333;--mobile-rating-2: #444;--mobile-rating-3: #555;--mobile-rating-4: #666;--mobile-rating-5: #777;--mobile-rating-6: #888;--mobile-overlay-strong: rgba(0, 0, 0, .7);--mobile-footer-shadow: rgba(0, 0, 0, .1);--admin-muted-fixed: #666;--admin-button-text: #fff;--admin-button-primary-bg: var(--accent-primary);--admin-button-primary-text: #111;--admin-button-primary-hover-bg: var(--accent-secondary);--admin-button-primary-shadow: rgba(0,0,0,.15);--admin-button-success-bg: #22c55e;--admin-button-success-hover-bg: #16a34a;--admin-button-warning-bg: #f59e0b;--admin-button-warning-hover-bg: #d97706;--admin-button-danger-bg: #ef4444;--admin-button-danger-hover-bg: #dc2626;--admin-form-bg: var(--bg-secondary);--admin-form-label: #ccc;--admin-form-input-border: var(--border-primary);--library-search-tip-bg: #111;--library-search-tip-border: #333;--library-month-bg: #111;--library-legacy-bg: #1a1500;--library-legacy-border: #554400;--library-legacy-text: #aa8800;--library-detail-bg: #0a0a0a;--library-rating-bg: #111;--link-decoration-muted: #555;--form-hint-bg: #111;--form-hint-border: #333;--danger-accent: #ff4444;--existing-word-alert-bg: #1a1500;--existing-word-alert-border: #554400;--modal-overlay-bg: rgba(0, 0, 0, .5);--picker-overlay-bg: rgba(0, 0, 0, .3);--picker-shadow: rgba(0, 0, 0, .15);--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4)}#root{min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column}.word-card-container{flex:1;display:flex;flex-direction:column;gap:2rem;align-items:flex-start;max-width:1200px;margin:0 auto;width:100%;position:relative;padding:0 2rem 2rem}.back-button{position:absolute;left:-60px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:10;border-radius:8px}.back-button:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-50%) translate(-2px)}.back-button:disabled{opacity:.3;cursor:not-allowed}.back-button:disabled:hover{border-color:var(--border-primary);color:var(--text-secondary);transform:translateY(-50%)}.forward-button{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:10}.forward-button:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-50%) translate(2px)}.forward-button:disabled{opacity:.3;cursor:not-allowed}.forward-button:disabled:hover{border-color:var(--border-primary);color:var(--text-secondary);transform:translateY(-50%)}.rating-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.rating-action-button{padding:.7rem .5rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:400;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;border-radius:8px;text-align:center}.rating-action-button:hover{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-01)}.progress-bar{margin-bottom:1rem;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 2rem;position:relative}.queue-preview-button{padding:.5rem 1rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s ease;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.queue-preview-button:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-primary);transform:translateY(-1px);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-008)}.left-top-area{position:absolute;left:-60px;top:0;width:110px;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;z-index:10}.left-top-area .queue-preview-panel{max-width:none;margin:0;padding:0;width:200px}.queue-preview-panel{max-width:1200px;margin:0 auto 1rem;padding:0 2rem}.queue-preview-title{font-size:.75rem;font-weight:500;color:var(--text-tertiary);margin-bottom:.5rem;letter-spacing:.1em;text-transform:uppercase}.queue-preview-list{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:.5rem;max-height:200px;overflow-y:auto}.queue-preview-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-bottom:1px solid var(--bg-active);transition:background .2s}.queue-preview-item:last-child{border-bottom:none}.queue-preview-item:hover{background:var(--bg-primary)}.queue-preview-number{font-size:.7rem;color:var(--text-tertiary);min-width:1.5rem;text-align:right}.queue-preview-word{flex:1;font-size:.9rem;color:var(--accent-secondary);font-weight:500}.queue-preview-familiarity{font-size:.75rem;color:var(--text-tertiary);padding:.2rem .5rem;background:var(--bg-active);border-radius:3px}.queue-preview-empty{padding:1rem;text-align:center;color:var(--text-tertiary);font-size:.85rem}.progress-text{font-size:.75rem;font-weight:400;color:var(--text-disabled);margin-bottom:.8rem;letter-spacing:.1em;text-transform:uppercase}.progress-track{width:100%;height:1px;background:var(--border-primary);position:relative}.progress-fill{height:100%;background:var(--text-primary);transition:width .4s cubic-bezier(.4,0,.2,1)}.word-card{flex:1;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:3rem 2.5rem;min-height:500px;max-height:70vh;display:flex;flex-direction:column;overflow-y:auto;scroll-behavior:smooth}.bottom-shortcuts{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-top:none}.bottom-shortcut-group{font-size:.75rem;color:var(--text-tertiary);text-align:center;line-height:1.8}.shortcut-separator{margin:0 .5rem;color:var(--border-dark)}.word-card-and-shortcuts{flex:1;display:flex;flex-direction:column;width:100%}.rating-and-shortcuts{width:320px;display:flex;flex-direction:column}.cards-row{display:flex;gap:2rem;width:100%}.word-title{font-size:3.5rem;font-weight:300;color:var(--text-primary);text-align:center;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.word-title-variants{font-size:3.5rem;font-weight:300;color:var(--text-primary)}.word-pronunciation{font-size:1.2rem;color:var(--ipa-color);margin-bottom:2.5rem;text-align:center;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus","DejaVu Sans","Lucida Sans Unicode",sans-serif;font-weight:400;letter-spacing:.05em;font-feature-settings:normal;font-variant-ligatures:none}.word-respelling{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;color:var(--respelling-color);font-weight:300;font-size:1rem}.word-variants{display:flex;gap:.8rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap}.variant-item{font-size:calc(1rem * var(--content-font-size-multiplier));color:var(--text-secondary);font-weight:300;font-style:italic;padding:.3rem .8rem;border:1px solid var(--border-primary);border-radius:3px;background:var(--bg-primary)}.word-stats{text-align:center;margin-bottom:2.5rem;padding:1.2rem;background:var(--bg-primary);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}.stat-item{display:inline-block;margin:0 1.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:300}.stat-item-added{color:var(--text-tertiary);font-style:italic}.stat-value{font-weight:400;color:var(--text-primary);margin-left:.3rem}.reveal-hint{text-align:center;padding:2.5rem 0;color:var(--text-tertiary);font-size:.85rem;font-weight:300;letter-spacing:.05em}.reveal-hint-key{display:inline-block;padding:.3rem .7rem;border:1px solid var(--border-primary);border-radius:3px;margin:0 .3rem;font-family:SF Mono,monospace;font-size:.8rem;background:var(--bg-secondary)}.definitions-section{margin-bottom:1.5rem;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:.75rem;font-weight:400;color:var(--text-tertiary);margin-bottom:1.2rem;letter-spacing:.1em;text-transform:uppercase}.definition-item{display:block;margin-bottom:1.2rem;line-height:1.7}.part-of-speech{display:inline-block;color:var(--accent-purple);font-weight:400;font-size:1rem;margin-bottom:.3rem;margin-right:.3rem}.definition-pronunciation{display:inline;color:var(--ipa-color);font-size:1rem;margin-left:.5rem;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus","DejaVu Sans","Lucida Sans Unicode",sans-serif;font-weight:400;letter-spacing:.05em;font-feature-settings:normal;font-variant-ligatures:none}.irregular-forms-row{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1rem;margin-bottom:.8rem;font-size:calc(1rem * var(--content-font-size-multiplier))}.irregular-form-item{display:inline-flex;align-items:baseline;gap:.4rem}.irregular-form-type{color:var(--accent-purple);font-weight:400;font-style:italic}.irregular-form-value{color:var(--text-primary);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif;font-weight:300;font-size:calc(1rem * var(--content-font-size-multiplier))}.irregular-form-pron{color:var(--ipa-color);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text",serif;font-size:calc(.9rem * var(--content-font-size-multiplier))}.irregular-form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;margin-bottom:.75rem}.irregular-form-row .form-input.small{flex:0 0 120px}.irregular-form-row .form-input:not(.small){flex:1;min-width:140px}.irregular-form-row .ipa-input-container{flex:0 0 150px;min-width:0}.definition-text{color:var(--text-primary);font-size:calc(1.05rem * var(--content-font-size-multiplier));font-weight:300;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.examples-section{margin-bottom:1.5rem;animation:fadeIn .4s ease-out .1s both}.example-item{color:var(--text-secondary);padding:.8rem 1rem;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-primary);margin-bottom:.8rem;line-height:1.7;font-weight:300;font-size:calc(1rem * var(--content-font-size-multiplier));font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.example-item strong{color:var(--text-primary);font-weight:700}.definition-text strong,.sub-definition-text strong{font-weight:700}.hyperlink{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--border-hover);text-underline-offset:3px;cursor:pointer;transition:all .2s;font-weight:400}.hyperlink:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}.hyperlink-number{display:inline-block;font-size:.7rem;color:var(--text-tertiary);margin-left:.2rem;vertical-align:super}.inline-hyperlink{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--border-hover);text-underline-offset:2px;cursor:pointer;transition:all .2s;font-weight:400}.inline-hyperlink:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}.inline-hyperlink.link-group-highlight{color:var(--text-primary);text-decoration-color:var(--text-primary);background:var(--bg-active);border-radius:2px;padding:0 1px}.small-caps{font-family:var(--font-cjk-kai),Cambria,"Times New Roman",serif;text-transform:lowercase;font-variant:small-caps;font-weight:500;letter-spacing:.02em}.rating-container{width:320px;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;min-height:500px}.rating-title{font-size:.75rem;font-weight:400;color:var(--text-tertiary);margin-bottom:2rem;text-align:center;letter-spacing:.1em;text-transform:uppercase}.rating-buttons{display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem}.rating-button{width:100%;padding:1.5rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);font-weight:300;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:space-between;border-radius:10px}.rating-button:hover{border-color:var(--text-primary);transform:translate(4px);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-008)}.rating-button.selected{border:3px solid var(--text-primary);transform:translate(8px) scale(1.02);box-shadow:0 8px 24px var(--legacy-rgba-0-0-0-012);background:var(--text-primary);color:var(--bg-secondary);padding:1.4rem;border-radius:10px}.rating-button.selected .rating-number{font-weight:400}.rating-button-content{display:flex;align-items:center;gap:1rem}.rating-number{font-size:2rem;font-weight:200;min-width:40px}.rating-label{font-size:.9rem;letter-spacing:.02em}.rating-hint{text-align:center;font-size:.75rem;color:var(--respelling-color);font-weight:300;line-height:1.6}.rating-hint-key{display:inline-block;padding:.15rem .4rem;border:1px solid var(--border-primary);border-radius:2px;margin:0 .15rem;font-family:SF Mono,monospace;font-size:.7rem;background:var(--bg-primary)}.summary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.summary-card{max-width:700px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:4rem 3rem}.summary-icon{font-size:3rem;margin-bottom:2rem;text-align:center;color:var(--text-primary)}.summary-icon:before{content:"✓"}.summary-title{font-size:2rem;font-weight:300;color:var(--text-primary);margin-bottom:.5rem;text-align:center;letter-spacing:-.02em}.summary-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:3rem;text-align:center;font-weight:300}.summary-stats{border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);padding:2rem 0;margin-bottom:3rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.summary-stat{text-align:center}.summary-stat-label{font-size:.85rem;color:var(--text-tertiary);margin-bottom:.8rem;letter-spacing:.05em;text-transform:uppercase;font-weight:300}.summary-stat-value{font-size:3rem;font-weight:200;color:var(--text-primary)}.summary-ratings{margin-bottom:3rem}.summary-ratings-title{font-size:.85rem;font-weight:400;color:var(--text-tertiary);margin-bottom:1.5rem;letter-spacing:.1em;text-transform:uppercase}.rating-row{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--border-light)}.rating-row:last-child{border-bottom:none}.rating-row-word{font-weight:300;color:var(--text-primary);font-size:1.05rem}.rating-row-score{display:flex;align-items:center;gap:.8rem}.rating-value{font-weight:300;font-size:1rem;color:var(--text-secondary)}.restart-button{background:var(--text-primary);color:var(--bg-secondary);border:none;padding:1rem 3rem;font-size:.9rem;font-weight:300;cursor:pointer;transition:all .2s;letter-spacing:.05em;text-transform:uppercase;display:block;margin:0 auto}.restart-button:hover{background:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px var(--legacy-rgba-0-0-0-015)}.navigation{display:flex;gap:.6rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);position:relative;z-index:20}.offline-restored-notice{padding:.6rem 2rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.82rem;text-align:center}.nav-button{padding:.7rem 1.8rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.9rem;font-weight:400;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;border-radius:8px}.nav-button--fixed{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:128px;min-width:128px;min-height:42px;text-align:center;white-space:nowrap}.nav-divider{width:1px;height:32px;background:var(--border-primary);align-self:center;margin:0 .2rem;flex-shrink:0}.nav-button:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-primary);transform:translateY(-1px);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-008)}.nav-button.active{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-015)}.nav-button.active:hover{background:var(--accent-primary);transform:translateY(-1px)}.library-container{display:flex;height:calc(100vh - 80px)}.library-sidebar{width:350px;border-right:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;flex-direction:column}.library-search{padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.library-search-tip{padding:.5rem 1rem;font-size:.75rem;color:var(--text-secondary);border-bottom:1px solid var(--library-search-tip-border);background:var(--library-search-tip-bg)}.library-search-tip kbd{padding:.1rem .3rem;background:var(--bg-secondary);border:1px solid var(--border-hover);border-radius:3px;font-family:monospace;font-size:.7rem}.search-input{width:100%;padding:.8rem 1rem;border:2px solid var(--border-primary);border-radius:8px;font-size:.95rem;font-weight:400;outline:none;transition:all .2s ease;background:var(--bg-secondary)}.search-input:focus{border-color:var(--text-primary);box-shadow:0 2px 6px var(--legacy-rgba-0-0-0-008)}.search-input::placeholder{color:var(--text-tertiary);font-weight:400}.search-stats{margin-top:.8rem;font-size:.8rem;color:var(--text-secondary);font-weight:400}.library-list{flex:1;overflow-y:auto}.month-separator{padding:.8rem 1.5rem;background:var(--library-month-bg);border-bottom:2px solid var(--border-primary);font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10}.month-separator.legacy{background:var(--library-legacy-bg);border-bottom:2px solid var(--library-legacy-border);color:var(--library-legacy-text)}.library-item{padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:all .2s}.library-item:hover{background:var(--bg-primary)}.library-item.selected{background:var(--bg-active);border-left:3px solid var(--text-primary)}.library-item-word{font-size:1.05rem;font-weight:400;color:var(--text-primary);margin-bottom:.3rem}.library-item-pronunciation{font-size:.8rem;color:var(--ipa-color);font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus","DejaVu Sans","Lucida Sans Unicode",sans-serif;font-weight:400}.library-detail{flex:1;padding:3rem;overflow-y:auto;background:var(--library-detail-bg)}.library-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-weight:300}.library-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.library-detail-header>div:first-child{min-width:0}.library-detail-actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;flex-shrink:0}.library-detail-action-row{display:flex;gap:.5rem}.library-back-button{width:0;min-width:100%;padding:.5rem 1rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:300;text-align:center;cursor:pointer;transition:all .2s;border-radius:var(--radius-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-back-button:hover{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary)}.library-detail-word{font-size:3rem;font-weight:300;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.library-detail-word .word-title-variants{font-size:3rem;font-weight:300;color:var(--text-primary);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.library-detail-pronunciation{font-size:1.1rem;color:var(--ipa-color);font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus","DejaVu Sans","Lucida Sans Unicode",sans-serif;font-weight:400;letter-spacing:.05em;margin-top:.5rem}.library-detail-pronunciation .word-respelling{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;color:var(--respelling-color);font-weight:300;font-size:.95rem}.edit-button{padding:.7rem 1.5rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:300;cursor:pointer;transition:all .2s;border-radius:var(--radius-md)}.edit-button:hover{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary)}.library-detail-stats{padding:1.2rem 0;margin-bottom:1rem;border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}.library-rating-section{background:var(--library-rating-bg);border:1px solid var(--border-primary);padding:1.5rem;margin-bottom:2rem}.library-rating-title{font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.library-rating-buttons{display:flex;gap:.5rem;margin-bottom:.75rem}.library-rating-button{flex:1;padding:.75rem .5rem;border:1px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.25rem;border-radius:8px}.library-rating-button:hover,.library-rating-button.selected{border-color:var(--text-primary);background:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.library-rating-button:hover .library-rating-number,.library-rating-button.selected .library-rating-number,.library-rating-button:hover .library-rating-label,.library-rating-button.selected .library-rating-label{color:var(--bg-secondary)}.library-rating-number{font-size:1.2rem;font-weight:600;color:var(--text-primary);transition:color .2s}.library-rating-label{font-size:.7rem;color:var(--text-secondary);transition:color .2s;text-align:center}.library-rating-hint{font-size:.75rem;color:var(--text-tertiary);text-align:center;margin:0}.library-detail-content{background:var(--bg-secondary);border:1px solid var(--border-primary);padding:2.5rem}.inline-hyperlink-static{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--link-decoration-muted);text-underline-offset:2px;font-weight:400}.library-detail-content .inline-hyperlink{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--link-decoration-muted);text-underline-offset:2px;cursor:pointer;transition:all .2s;font-weight:400}.library-detail-content .inline-hyperlink:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}.add-word-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:2rem;background:var(--bg-primary)}.add-word-card{max-width:700px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:3rem}.add-word-title{font-size:2rem;font-weight:300;color:var(--text-primary);margin-bottom:2rem}.form-group{margin-bottom:2rem}.form-label{display:block;font-size:.75rem;font-weight:400;color:var(--text-tertiary);margin-bottom:.8rem;letter-spacing:.1em;text-transform:uppercase}.form-label-with-action{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.form-label-with-action .form-label{margin-bottom:0}.inline-ai-button{font-size:.75rem!important;padding:.4rem .8rem!important;min-width:88px!important;white-space:nowrap}.form-input{width:100%;padding:.8rem 1rem;border:1px solid var(--border-primary);font-size:.95rem;font-weight:300;outline:none;transition:border-color .2s;margin-bottom:.8rem}.form-input:focus{border-color:var(--text-primary)}.form-input.small{width:150px;margin-right:.8rem}.definition-meta-row{display:flex;gap:.8rem;margin-bottom:.8rem;align-items:flex-start}.definition-meta-row .form-input.small{flex:0 0 150px}.definition-meta-row .ipa-input-container{flex:0 0 150px;min-width:0}.definition-meta-row .ipa-input-wrapper{width:100%}.definition-input-group,.example-input-group{display:flex;gap:.8rem;margin-bottom:.8rem;align-items:flex-start}.definition-input-group .form-input,.example-input-group .form-input{margin-bottom:0}.remove-button{padding:.8rem 1rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-tertiary);cursor:pointer;transition:all .2s;font-size:1.2rem;line-height:1;border-radius:6px}.remove-button:hover{border-color:var(--danger-accent);color:var(--danger-accent)}.add-more-button{padding:.6rem 1rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:300;cursor:pointer;transition:all .2s;border-radius:6px}.add-more-button:hover{border-color:var(--text-primary);color:var(--text-primary)}.form-hint{margin-top:.8rem;padding:.8rem;background:var(--form-hint-bg);border:1px solid var(--form-hint-border);display:flex;justify-content:space-between;align-items:center}.form-hint-label{font-size:.8rem;color:var(--text-tertiary);font-weight:300}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-button{padding:.8rem 2rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.9rem;font-weight:300;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);letter-spacing:0}.form-button.primary{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-secondary)}.form-button.primary:hover:not(:disabled){background:var(--text-secondary);border-color:var(--text-secondary)}.form-button.primary:disabled{opacity:.5;cursor:not-allowed}.form-button.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.form-button.secondary:hover{border-color:var(--text-primary);color:var(--text-primary)}.existing-word-alert{margin:2rem 0;padding:1.5rem;border:1px solid var(--existing-word-alert-border);background:var(--existing-word-alert-bg);border-radius:var(--radius-md)}.alert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.alert-icon{font-size:1.2rem}.alert-title{font-size:.9rem;font-weight:400;color:var(--text-primary)}.alert-content{margin-bottom:1.5rem}.alert-word{font-size:1.5rem;font-weight:400;color:var(--text-primary);margin-bottom:.3rem}.alert-pronunciation{font-size:.9rem;color:var(--text-tertiary);font-family:SF Mono,monospace;margin-bottom:1rem}.alert-definitions{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.alert-actions{display:flex;gap:1rem}.alert-button{padding:.7rem 1.5rem;border:none;font-size:.85rem;font-weight:300;cursor:pointer;transition:all .2s;border-radius:var(--radius-md)}.alert-button.primary{background:var(--text-primary);color:var(--bg-secondary)}.alert-button.primary:hover{background:var(--accent-primary)}.alert-button.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.alert-button.secondary:hover{border-color:var(--text-primary);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-width:700px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid var(--border-primary)}.modal-title{font-size:1.5rem;font-weight:300;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-tertiary);cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-body{flex:1;padding:2rem;overflow-y:auto}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid var(--border-primary)}.images-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-top:1rem}.word-image{display:block;width:auto;height:auto;max-width:100%;border:1px solid var(--border-primary)}.image-input-group{margin-bottom:1rem}.image-preview{position:relative;display:inline-block;max-width:300px}.image-preview img{width:100%;height:auto;border:1px solid var(--border-primary);display:block}.image-preview .remove-button{position:absolute;top:.5rem;right:.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);width:30px;height:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--mobile-footer-shadow)}.image-upload{position:relative;border:2px dashed var(--border-primary);padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s}.image-upload:hover{border-color:var(--text-primary)}.image-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.image-upload-text{color:var(--text-tertiary);font-size:.9rem;font-weight:300;pointer-events:none}.rich-text-input{flex:1;display:flex;flex-direction:column;position:relative}.rich-text-toolbar{display:flex;gap:.3rem;margin-bottom:.5rem;align-items:center}.toolbar-button{padding:.5rem .9rem;border:1px solid var(--border-primary);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s;min-width:50px;display:flex;align-items:center;justify-content:center;font-weight:300;letter-spacing:.02em}.toolbar-button:hover{border-color:var(--text-tertiary);background:var(--bg-primary);color:var(--text-primary)}.toolbar-button.active{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary)}.toolbar-divider{width:1px;height:20px;background:var(--border-primary);margin:0 .3rem}.rich-text-editor-container{display:flex;flex-direction:column;gap:.5rem}.rich-text-area{width:100%;padding:.8rem 1rem;border:1px solid var(--border-primary);font-size:.95rem;font-weight:300;font-family:inherit;outline:none;transition:border-color .2s;resize:vertical;min-height:60px}.rich-text-area:focus{border-color:var(--text-primary)}.rich-text-area.with-preview{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.rich-text-preview{border:1px solid var(--border-primary);border-top:none;padding:.8rem 1rem;background:var(--bg-primary);border-bottom-left-radius:3px;border-bottom-right-radius:3px}.rich-text-preview-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-weight:400}.rich-text-preview-content{font-size:.95rem;color:var(--text-primary);line-height:1.6;font-weight:300}.rich-text-preview-content strong{font-weight:700;color:var(--accent-primary)}.preview-link{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--link-decoration-muted);text-underline-offset:2px;font-weight:400}.link-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--picker-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.link-picker{background:var(--bg-secondary);border:1px solid var(--border-primary);width:500px;max-height:600px;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--picker-shadow);animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.link-picker-header{display:flex;flex-direction:column;padding:1.5rem;border-bottom:1px solid var(--border-primary);gap:1rem}.link-picker-title{font-size:1.2rem;font-weight:300;color:var(--text-primary)}.link-picker-search{flex:1;padding:.8rem 1rem;border:1px solid var(--border-primary);font-size:.95rem;font-weight:300;outline:none;transition:border-color .2s}.link-picker-search:focus{border-color:var(--text-primary)}.link-picker-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.8rem;color:var(--text-tertiary);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s;line-height:1}.link-picker-close:hover{color:var(--text-primary)}.link-picker-results{flex:1;overflow-y:auto;max-height:400px}.link-picker-item{padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:all .2s}.link-picker-item.selected{background:var(--bg-primary);border-left:3px solid var(--text-primary);padding-left:1.4rem}.link-picker-word{font-size:1.05rem;font-weight:400;color:var(--text-primary);margin-bottom:.3rem}.link-picker-pronunciation{font-size:.85rem;color:var(--legacy-color-999);font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus","DejaVu Sans","Lucida Sans Unicode",sans-serif;font-weight:400}.link-picker-empty{padding:3rem 2rem;text-align:center;color:var(--legacy-color-999);font-weight:300;font-size:.95rem}.link-picker-footer{padding:1rem 1.5rem;border-top:1px solid var(--legacy-color-e0e0e0);background:var(--legacy-color-fafafa)}.link-picker-hint{font-size:.8rem;color:var(--legacy-color-999);font-weight:300}.definition-input-group{display:flex;gap:.8rem;margin-bottom:1rem;align-items:flex-start}.definition-input-group .rich-text-input{flex:1}.example-input-group{display:flex;gap:.8rem;margin-bottom:1rem;align-items:flex-start}.example-input-group .rich-text-input{flex:1}.variant-input-group{display:flex;gap:.8rem;margin-bottom:.8rem;align-items:flex-start}.variant-input-group .form-input{flex:1;margin-bottom:0}.ipa-input{font-family:var(--ipa-font)!important;font-size:.95rem!important;letter-spacing:.05em;color:var(--ipa-color);-webkit-text-fill-color:var(--ipa-color)}.definition-meta-row .form-input::placeholder,.irregular-form-row .form-input::placeholder{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-size:.95rem;font-weight:300;letter-spacing:normal;color:var(--text-tertiary);-webkit-text-fill-color:currentColor;opacity:1}.definition-block{margin-bottom:2rem}.definition-block:last-child{margin-bottom:0}.sub-definitions{margin-top:1rem;margin-left:2rem}.sub-definition-item{margin-bottom:1rem;padding-left:1rem}.sub-definition-item.has-phrase{border-left:2px solid var(--legacy-color-e0e0e0)}.sub-definition-item.no-phrase{border-left:none;position:relative;padding-left:1.5rem}.sub-definition-item.no-phrase:before{content:"◦";position:absolute;left:0;top:.1rem;font-size:1.2rem;color:var(--legacy-color-999)}.sub-phrase-header{display:inline-block;padding:.3rem .6rem;background:var(--legacy-color-f5f5f5);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:.6rem}.sub-phrase{font-size:calc(1rem * var(--content-font-size-multiplier));font-weight:500;color:var(--text-primary);font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.sub-phrase-pos{font-size:.85rem;font-style:normal;color:var(--legacy-color-7c6f9f);font-weight:400;margin-left:.5rem}.sub-definition-item.has-phrase .sub-definition-text{color:var(--text-secondary);font-size:calc(1rem * var(--content-font-size-multiplier));font-weight:300;line-height:1.6;margin-bottom:.5rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.sub-definition-item.no-phrase .sub-definition-text{color:var(--legacy-color-333);font-size:calc(1rem * var(--content-font-size-multiplier));font-weight:400;line-height:1.6;margin-bottom:.5rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.sub-definition-text{line-height:1.6;margin-bottom:.5rem;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.sub-examples{margin-top:.5rem;margin-left:0}.sub-examples .example-item{padding:.8rem 1rem;border:1px solid var(--legacy-color-e8e8e8);border-radius:6px;background:var(--legacy-color-fafafa);margin-bottom:.6rem}.definition-examples{margin-top:.8rem;margin-left:0}.definition-examples .example-item{margin-bottom:.6rem}.ipa-input-container{display:flex;flex-direction:column;gap:1rem}.ipa-input-wrapper{position:relative}.ipa-suggestion{position:absolute;top:100%;left:0;margin-top:.5rem;padding:.8rem 1rem;background:var(--bg-secondary);border:1px solid var(--legacy-color-1a1a1a);box-shadow:0 4px 12px var(--legacy-rgba-0-0-0-015);display:flex;align-items:center;gap:.8rem;z-index:100;animation:slideDown .2s ease-out}.ipa-suggestion-symbol{font-size:1.8rem;font-weight:400;color:var(--ipa-color);font-family:var(--ipa-font);min-width:40px;text-align:center}.ipa-suggestion-desc{font-size:.85rem;color:var(--text-secondary);font-weight:300}.ipa-suggestion-hint{font-size:.75rem;color:var(--legacy-color-999);font-weight:300;margin-left:auto;padding:.3rem .6rem;border:1px solid var(--border-primary);border-radius:3px;background:var(--legacy-color-fafafa);font-family:SF Mono,monospace}.ipa-suggestion-tap-hint{font-size:.85rem;font-weight:500;color:var(--text-primary);margin-left:auto;padding:.5rem 1rem;border-radius:6px;background:var(--legacy-color-f0f0f0);border:1px solid var(--legacy-color-ddd)}.ipa-suggestion-tap-btn{font-size:.75rem;font-weight:500;margin-left:auto;padding:.3rem .8rem;border-radius:6px;border:none;background:var(--legacy-color-4a90e2);color:var(--legacy-color-fff);cursor:pointer}.ipa-helper{border:1px solid var(--border-primary);border-radius:3px;background:var(--legacy-color-fafafa);margin-top:.5rem}.ipa-helper-header{padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.ipa-helper-header:hover{background:var(--legacy-color-f5f5f5)}.ipa-helper-title{font-size:.75rem;font-weight:400;color:var(--legacy-color-999);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.ipa-helper-toggle{font-size:.6rem;color:var(--legacy-color-999);margin-left:.5rem}.ipa-helper-content{padding:0 1rem 1rem;max-height:300px;overflow-y:auto;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.ipa-helper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.ipa-helper-section{display:flex;flex-direction:column;gap:.5rem}.ipa-helper-section-title{font-size:.8rem;font-weight:400;color:var(--text-secondary);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--legacy-color-e0e0e0)}.ipa-helper-item{font-size:.8rem;color:var(--text-secondary);font-weight:300;line-height:1.6}.ipa-helper-item code{font-family:SF Mono,monospace;background:var(--bg-secondary);padding:.2rem .4rem;border:1px solid var(--border-primary);border-radius:2px;font-size:.75rem;color:var(--text-primary)}.respelling-input{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif!important;font-size:1.1rem!important;letter-spacing:.05em;font-weight:400}.definition-group{margin-bottom:1.5rem;border:1px solid var(--legacy-color-f0f0f0);background:var(--legacy-color-fafafa);border-radius:3px;position:relative;padding:1rem 1rem 1rem 2rem}.definition-group:hover{border-color:var(--legacy-color-d0d0d0)}.definition-group[draggable=true]:active{opacity:.5}.definition-drag-handle{position:absolute;left:.4rem;top:1rem;font-size:1.1rem;color:var(--legacy-color-ccc);cursor:grab;-webkit-user-select:none;user-select:none;line-height:1}.definition-drag-handle:hover{color:var(--legacy-color-888)}.definition-drag-handle:active{cursor:grabbing}.definition-group .definition-input-group{flex:1;min-width:0}.definition-examples-section{margin-top:1rem;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--legacy-color-e0e0e0)}.form-sublabel{display:block;font-size:.7rem;font-weight:400;color:var(--legacy-color-999);margin-bottom:.8rem;letter-spacing:.1em;text-transform:uppercase}.add-sub-button{padding:.5rem .8rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--legacy-color-999);font-size:.8rem;font-weight:300;cursor:pointer;transition:all .2s;margin-top:.5rem;border-radius:6px}.add-sub-button:hover{border-color:var(--legacy-color-999);color:var(--text-secondary)}.sub-definition-edit{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px}.sub-definition-header{display:flex;gap:.8rem;margin-bottom:.8rem;align-items:flex-start}.sub-definition-header .form-input{flex:2;margin-bottom:0}.sub-definition-header .form-input.small{flex:1;max-width:150px}.sub-examples-section{margin-top:.8rem;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--legacy-color-f0f0f0)}.navigation{display:flex;justify-content:space-between;align-items:center}.nav-left,.nav-right{display:flex;gap:.6rem}.settings-button,.logout-button{padding:.7rem 1.8rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.9rem;font-weight:400;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;border-radius:8px}.settings-button:hover,.logout-button:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--legacy-color-fafafa);transform:translateY(-1px);box-shadow:0 2px 8px var(--legacy-rgba-0-0-0-008)}.logout-button{color:var(--legacy-color-d32f2f);border-color:var(--legacy-color-ffcdd2)}.logout-button:hover{color:var(--legacy-color-b71c1c);border-color:var(--legacy-color-d32f2f);background:var(--legacy-color-ffebee)}.settings-modal{max-width:700px;max-height:90vh;overflow-y:auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:0;border-bottom:2px solid var(--border-secondary);padding:0 1.5rem}.settings-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-tertiary);transition:all .2s;margin-bottom:-2px}.settings-tab:hover{color:var(--text-secondary)}.settings-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-secondary)}.settings-section:last-child{border-bottom:none}.settings-section-title{font-size:1.1rem;font-weight:300;margin-bottom:.75rem;color:var(--text-primary)}.settings-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.api-key-input-group{display:flex;gap:.5rem;align-items:center}.api-key-input-group .form-input{flex:1}.form-button.small{padding:.5rem 1rem;font-size:.85rem;min-width:70px}.settings-link{color:var(--legacy-color-fff);text-decoration:underline}.settings-link:hover{color:var(--legacy-color-ccc)}.settings-actions{display:flex;gap:.75rem;margin-top:1.5rem}.settings-password-error{color:var(--legacy-color-dc3545);font-size:.85rem;margin-top:.5rem}.settings-password-success{color:var(--legacy-color-28a745);font-size:.85rem;margin-top:.5rem}.test-result{margin-top:1rem;padding:1rem;border-radius:4px;display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem}.test-result.testing{background-color:var(--legacy-rgba-255-255-255-005);border:1px solid var(--legacy-color-555)}.test-result.success{background-color:var(--legacy-rgba-0-255-0-005);border:1px solid var(--legacy-color-0a0)}.test-result.error{background-color:var(--legacy-rgba-255-0-0-005);border:1px solid var(--legacy-color-a00)}.test-result-icon{font-size:1.2rem;flex-shrink:0}.test-result-message{flex:1;line-height:1.5;color:var(--legacy-color-ccc)}.settings-info-list{list-style:none;padding:0;margin:0}.settings-info-list li{padding:.5rem 0;color:var(--legacy-color-999);font-size:.9rem;line-height:1.5}.settings-info-list li:before{content:"•";margin-right:.75rem;color:var(--text-secondary)}.settings-path{display:block;background:var(--legacy-rgba-255-255-255-005);padding:.75rem;border-radius:4px;font-size:.85rem;color:var(--legacy-color-ccc);word-break:break-all;margin-top:.5rem;border:1px solid var(--legacy-color-444);font-family:Courier New,monospace}.project-info-box{padding:.75rem;background:var(--bg-secondary);border-radius:4px;margin-bottom:.5rem;border:1px solid var(--border-primary)}.project-info-box strong{color:var(--text-primary)}.project-info-detail{font-size:.85rem;color:var(--text-tertiary);margin-top:.25rem}.project-selector-item{padding:1rem;border:1px solid var(--border-primary);border-radius:4px;margin-bottom:.5rem;cursor:pointer;background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;transition:background .2s,border-color .2s}.project-selector-item:hover{background:var(--bg-hover);border-color:var(--border-hover)}.project-selector-item.active{background:var(--bg-accent-subtle);border-color:var(--accent-primary)}.project-selector-item strong{color:var(--text-primary)}.project-current-badge{margin-left:.5rem;font-size:.75rem;color:var(--accent-primary);font-weight:700}.project-selector-empty{text-align:center;color:var(--text-tertiary);padding:2rem}.llm-error{color:var(--legacy-color-f88);font-size:.85rem;margin-left:.5rem}.form-hint-button{padding:.5rem 1rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:400;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);border-radius:6px;letter-spacing:0;box-shadow:none}.form-hint-button:not(:disabled):hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-secondary)}.form-hint-button:not(:disabled):active{background:var(--text-secondary);border-color:var(--text-secondary)}.form-hint-button:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-tertiary);border-color:var(--border-light);color:var(--text-disabled);box-shadow:none}.vocab-selector-path{background:var(--legacy-color-f5f5f5);padding:1rem;border-radius:4px;margin-bottom:2rem;border:1px solid var(--border-primary)}.vocab-selector-path-label{font-size:.75rem;color:var(--legacy-color-999);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.5rem}.vocab-selector-path code{font-size:.85rem;color:var(--legacy-color-333);word-break:break-all}.vocab-selector-card{max-width:700px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:3rem}.vocab-selector-title{font-size:2rem;font-weight:300;color:var(--text-primary);margin-bottom:1rem;text-align:center}.vocab-selector-description{font-size:1rem;color:var(--text-secondary);margin-bottom:2.5rem;text-align:center;font-weight:300;line-height:1.6}.vocab-selector-section{margin-bottom:2.5rem}.vocab-selector-section-title{font-size:.85rem;font-weight:400;color:var(--legacy-color-999);margin-bottom:1rem;letter-spacing:.1em;text-transform:uppercase}.vocab-selector-list{display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem}.vocab-selector-item{padding:1.2rem;border:1px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;transition:all .2s}.vocab-selector-item:hover{border-color:var(--text-primary);transform:translate(4px);box-shadow:0 4px 12px var(--legacy-rgba-0-0-0-008)}.vocab-selector-item-count{font-size:.85rem;color:var(--legacy-color-999);font-weight:300}.vocab-selector-item-meta{font-size:.8rem;color:var(--legacy-color-999);font-weight:300;margin-top:.3rem}.vocab-selector-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.vocab-selector-button{padding:1rem 2rem;border:none;font-size:.95rem;font-weight:300;cursor:pointer;transition:all .2s;letter-spacing:.02em;text-align:center}.vocab-selector-button.primary:hover{background:var(--legacy-color-000);transform:translateY(-2px);box-shadow:0 8px 24px var(--legacy-rgba-0-0-0-015)}.vocab-selector-hint{text-align:center;font-size:.85rem;color:var(--legacy-color-999);font-weight:300;line-height:1.6;padding:1rem;background:var(--legacy-color-fafafa);border:1px solid var(--legacy-color-f0f0f0);border-radius:3px}.delete-button{padding:.5rem 1rem;background:transparent;color:var(--legacy-color-dc3545);border:1px solid var(--legacy-color-dc3545);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.delete-button:hover{background:var(--legacy-color-dc3545);color:#fff}.delete-confirm-modal{max-width:400px;padding:2rem;border-radius:var(--radius-md)}.delete-confirm-message{color:var(--text-secondary);line-height:1.6;margin:1rem 0 1.5rem}.delete-confirm-message strong{color:var(--text-primary);font-weight:600}.delete-confirm-buttons{display:flex;gap:.75rem;justify-content:flex-end}.cancel-button{padding:.625rem 1.25rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.cancel-button:hover{border-color:var(--text-primary);color:var(--text-primary)}.confirm-delete-button{padding:.625rem 1.25rem;background:var(--legacy-color-dc3545);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.confirm-delete-button:hover{background:var(--legacy-color-c82333)}.tag-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--legacy-color-f5f5f5);border:1px solid var(--border-primary);border-radius:16px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.tag-chip:hover{background:var(--legacy-color-ebebeb);border-color:var(--legacy-color-d0d0d0)}.tag-chip.selected{background:var(--legacy-color-007aff);border-color:var(--legacy-color-007aff);color:#fff}.tag-chip.selected:hover{background:var(--legacy-color-0051d5);border-color:var(--legacy-color-0051d5)}.tag-chip-text{font-weight:500}.tag-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;background:var(--legacy-rgba-0-0-0-01);border-radius:10px;font-size:.75rem;font-weight:600}.tag-chip.selected .tag-chip-count{background:var(--legacy-rgba-255-255-255-03)}.tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:var(--legacy-rgba-255-255-255-03);border:none;border-radius:50%;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:background .2s}.tag-chip-remove:hover{background:var(--legacy-rgba-255-255-255-05)}.tag-selector{display:flex;flex-direction:column;gap:1rem}.selected-tags,.available-tags{display:flex;flex-direction:column;gap:.5rem}.form-sublabel{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.tag-chips{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2rem}.tag-input-group{display:flex;gap:.5rem;align-items:flex-start}.tag-input-group input{flex:1;padding:.625rem .875rem;border:1px solid var(--border-primary);border-radius:8px;font-size:.9375rem;transition:border-color .2s}.tag-input-group input:focus{outline:none;border-color:var(--legacy-color-007aff)}.add-tag-button{padding:.625rem 1.25rem;background:var(--legacy-color-007aff);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.add-tag-button:hover{background:var(--legacy-color-0051d5)}.add-tag-button:disabled{background:var(--legacy-color-ccc);cursor:not-allowed}.tag-error{color:var(--legacy-color-ff3b30);font-size:.875rem;margin-top:.25rem}.tag-filter{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-primary)}.tag-filter-header{display:flex;justify-content:space-between;align-items:center}.tag-filter-title{font-size:.875rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.tag-filter-clear{padding:.25rem .625rem;background:transparent;color:var(--legacy-color-007aff);border:none;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s}.tag-filter-clear:hover{background:var(--legacy-color-f5f5f5)}.tag-filter-list{display:flex;flex-direction:column;gap:.5rem}.tag-filter-empty{color:var(--legacy-color-999);font-size:.875rem;text-align:center;padding:1rem 0}.word-tags-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--legacy-color-f0f0f0)}.word-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.word-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--legacy-color-f5f5f5);border:1px solid var(--border-primary);border-radius:16px;font-size:.875rem;color:var(--text-secondary);font-weight:500}.library-item-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.library-item-tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--legacy-color-f5f5f5);border:1px solid var(--border-primary);border-radius:12px;font-size:.75rem;color:var(--text-secondary);font-weight:500}.library-item-tag-more{color:var(--legacy-color-007aff)}.tags-page-container{display:flex;height:100vh;overflow:hidden}.tags-sidebar{width:320px;background:var(--legacy-color-fafafa);border-right:1px solid var(--legacy-color-e0e0e0);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.tags-sidebar-header{padding:2rem 1.5rem 1.5rem;border-bottom:1px solid var(--legacy-color-e0e0e0);background:var(--bg-secondary)}.tags-sidebar-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.tags-sidebar-count{font-size:.9375rem;color:var(--legacy-color-999);font-weight:300}.tags-sidebar-search{position:relative;margin-top:1rem}.tags-search-input{padding:.6rem 2.2rem .6rem .9rem;font-size:.9rem}.tags-search-clear{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:50%;font-size:1.1rem;line-height:1;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.tags-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.tags-list{flex:1;overflow-y:auto;padding:.5rem}.tags-empty{padding:3rem 1.5rem;text-align:center;color:var(--legacy-color-999)}.tags-empty p{margin:0;font-size:.9375rem}.tags-empty-hint{margin-top:.5rem;font-size:.875rem;color:var(--legacy-color-bbb)}.tag-list-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:.25rem;background:var(--bg-secondary);border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s;position:relative}.tag-list-item-content{display:flex;align-items:center;justify-content:space-between;flex:1;cursor:pointer}.tag-list-item:hover{background:var(--legacy-color-f5f5f5);border-color:var(--legacy-color-e0e0e0)}.tag-list-item.active{background:var(--legacy-color-1a1a1a);color:#fff;border-color:var(--text-primary)}.tag-list-name{font-size:1rem;font-weight:500}.tag-list-count{font-size:.875rem;color:var(--legacy-color-999);background:var(--legacy-color-f0f0f0);padding:.25rem .625rem;border-radius:12px;font-weight:500}.tag-list-item.active .tag-list-count{background:var(--legacy-rgba-255-255-255-02);color:#fff}.tag-delete-button{padding:.25rem .5rem;background:transparent;border:1px solid transparent;color:var(--legacy-color-999);font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;border-radius:3px;opacity:0;margin-left:.5rem;pointer-events:none}.tag-edit-button{padding:.25rem .5rem;background:transparent;border:1px solid transparent;color:var(--legacy-color-999);font-size:1.2rem;line-height:1;cursor:pointer;transition:all .2s;border-radius:3px;opacity:0;margin-left:.5rem;pointer-events:none}.tag-list-item:hover .tag-delete-button,.tag-list-item:hover .tag-edit-button{opacity:1;pointer-events:auto}.tag-edit-button:hover{background:var(--legacy-color-e3f2fd);border-color:var(--legacy-color-2196f3);color:var(--legacy-color-2196f3)}.tag-delete-button:hover{background:var(--legacy-color-ffebee);border-color:var(--legacy-color-ff4444);color:var(--legacy-color-ff4444)}.tag-list-item.active .tag-delete-button,.tag-list-item.active .tag-edit-button{color:var(--legacy-rgba-255-255-255-07)}.tag-list-item.active .tag-edit-button:hover,.tag-list-item.active .tag-delete-button:hover{background:var(--legacy-rgba-255-255-255-02);border-color:var(--legacy-rgba-255-255-255-05);color:#fff}.tag-edit-mode{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.5rem 0}.tag-edit-input{flex:1 1 0;width:0;min-width:0;padding:.5rem;border:2px solid var(--legacy-color-2196f3);border-radius:4px;font-size:.9rem;outline:none}.tag-edit-save,.tag-edit-cancel{flex-shrink:0;padding:.25rem .5rem;border:1px solid transparent;background:transparent;font-size:1.2rem;line-height:1;cursor:pointer;transition:all .2s;border-radius:3px}.tag-edit-save{color:var(--legacy-color-4caf50)}.tag-edit-save:hover{background:var(--legacy-color-e8f5e9);border-color:var(--legacy-color-4caf50)}.tag-edit-cancel{color:var(--legacy-color-999)}.tag-edit-cancel:hover{background:var(--legacy-color-f5f5f5);border-color:var(--legacy-color-999)}.tags-middle{flex:1;background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.tags-content-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.tags-content-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.tags-content-empty-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.tags-content-empty-text{font-size:1rem;color:var(--legacy-color-999);line-height:1.5}.tags-middle-header{padding:2rem 2.5rem 1.5rem;border-bottom:1px solid var(--legacy-color-f0f0f0);background:var(--legacy-color-fafafa)}.tags-middle-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.tags-middle-count{font-size:.9375rem;color:var(--legacy-color-999);font-weight:300}.tags-middle-list{flex:1;overflow-y:auto;padding:1.5rem 2.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;align-content:start}.tags-middle-list-virtual{display:block;padding:0;position:relative}.tags-middle-list-spacer{position:relative;min-height:100%}.tags-middle-item{padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.tags-middle-item-virtual{position:absolute;top:0;left:0;box-sizing:border-box;overflow:hidden}.tags-middle-item:hover{border-color:var(--text-primary);box-shadow:0 4px 12px var(--legacy-rgba-0-0-0-008)}.tags-middle-item-word{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-middle-item-pronunciation{font-size:.9375rem;color:var(--legacy-color-999);font-style:normal;font-family:var(--font-cjk-kai),Cambria,"Charis SIL","Doulos SIL","Gentium Plus",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-detail-modal{max-width:1100px;width:92vw;max-height:92vh;overflow-y:auto;position:relative;padding:3rem}.modal-close-button-top-left{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);width:3rem;height:3rem;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font-size:2rem;line-height:1;cursor:pointer;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:10;font-weight:300}.modal-close-button-top-left:hover{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);transform:translate(-50%) rotate(90deg)}.tag-filter-dropdown{position:relative;display:inline-block}.tag-filter-button{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--legacy-color-e0e0e0);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:200px;justify-content:space-between;box-shadow:0 1px 3px var(--legacy-rgba-0-0-0-005)}.tag-filter-button:hover:not(.disabled){border-color:var(--text-primary);box-shadow:0 2px 6px var(--legacy-rgba-0-0-0-01);transform:translateY(-1px)}.tag-filter-button.open{border-color:var(--text-primary);box-shadow:0 3px 10px var(--legacy-rgba-0-0-0-015);background:var(--legacy-color-fafafa)}.tag-filter-button.active{background:var(--legacy-color-1a1a1a);color:#fff;border-color:var(--text-primary)}.tag-filter-button.active .tag-filter-arrow{color:var(--legacy-rgba-255-255-255-08)}.tag-filter-button.disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.tag-filter-icon{font-size:1.1rem}.tag-filter-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-filter-arrow{font-size:.7rem;color:var(--legacy-color-999);transition:transform .2s ease}.tag-filter-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;max-width:400px;background:var(--bg-secondary);border:2px solid var(--legacy-color-e0e0e0);border-radius:10px;box-shadow:0 8px 24px var(--legacy-rgba-0-0-0-015);z-index:1000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-filter-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:2px solid var(--legacy-color-f0f0f0);background:linear-gradient(to bottom,var(--legacy-color-fafafa),var(--legacy-color-f5f5f5))}.tag-filter-menu-title{font-size:.9rem;font-weight:600;color:var(--legacy-color-333)}.tag-filter-clear{padding:.35rem .85rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.tag-filter-clear:hover{background:var(--legacy-color-1a1a1a);color:#fff;border-color:var(--text-primary);transform:scale(1.05)}.tag-filter-search{padding:.75rem 1rem;border-bottom:1px solid var(--legacy-color-f0f0f0);background:var(--bg-secondary)}.tag-filter-search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;outline:none;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s ease}.tag-filter-search-input:focus{border-color:var(--text-primary)}.tag-filter-search-input::placeholder{color:var(--text-tertiary)}.tag-filter-menu-empty{padding:1rem 1.25rem;font-size:.9rem;color:var(--text-secondary);text-align:center}.tag-filter-menu-list{max-height:420px;overflow-y:auto}.tag-filter-menu-divider{height:1px;background:var(--legacy-color-e0e0e0);margin:.25rem 0}.tag-filter-menu-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;cursor:pointer;transition:all .15s ease;border-bottom:1px solid var(--legacy-color-f8f8f8)}.tag-filter-menu-item:last-child{border-bottom:none}.tag-filter-menu-item:hover{background:var(--legacy-color-f9f9f9);padding-left:1.5rem}.tag-filter-menu-item.selected{background:var(--legacy-color-1a1a1a);color:#fff;font-weight:500}.tag-filter-menu-item.selected:hover{background:var(--legacy-color-000)}.tag-filter-menu-item.selected .tag-filter-menu-item-count{background:var(--legacy-rgba-255-255-255-025);color:#fff;font-weight:600}.tag-filter-menu-item-name{font-size:.95rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.75rem}.tag-filter-menu-item-count{font-size:.85rem;padding:.25rem .65rem;background:var(--legacy-color-f0f0f0);color:var(--text-secondary);border-radius:14px;min-width:32px;text-align:center;font-weight:600}.tag-filter-menu-list::-webkit-scrollbar{width:8px}.tag-filter-menu-list::-webkit-scrollbar-track{background:var(--legacy-color-f5f5f5)}.tag-filter-menu-list::-webkit-scrollbar-thumb{background:var(--legacy-color-ccc);border-radius:4px}.tag-filter-menu-list::-webkit-scrollbar-thumb:hover{background:var(--legacy-color-999)}.slider-container{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0;padding:1.5rem;background:var(--legacy-color-f8f9fa);border-radius:8px;border:1px solid var(--legacy-color-e9ecef)}.slider-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.slider-label-left,.slider-label-right{font-size:.8125rem;font-weight:500;color:var(--legacy-color-6c757d);letter-spacing:.01em}.slider-track-wrapper{position:relative;padding:.75rem 0}.form-slider{width:100%;height:6px;background:linear-gradient(to right,var(--legacy-color-e0e0e0) 0%,var(--legacy-color-1a1a1a) 100%);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--legacy-color-1a1a1a);cursor:pointer;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px var(--legacy-rgba-0-0-0-02)}.form-slider::-moz-range-thumb{width:18px;height:18px;background:var(--legacy-color-1a1a1a);cursor:pointer;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px var(--legacy-rgba-0-0-0-02)}.slider-value-indicator{text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--legacy-color-e9ecef)}.slider-value-label{font-size:.875rem;font-weight:600;color:var(--legacy-color-212529);letter-spacing:.02em}.slider-value-description{font-size:.75rem;color:var(--legacy-color-6c757d);margin-top:.25rem;line-height:1.4}.definition-text em,.example-item em,.sub-definition-text em,.rich-text-preview-content em{font-style:italic;font-size:inherit;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}em{font-style:italic;font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Liberation Serif",Times,"Times New Roman",serif}.oldstyle-nums{font-family:var(--font-cjk-kai),Cambria,"Hoefler Text","Palatino Linotype","Book Antiqua",Georgia,serif;font-variant-numeric:oldstyle-nums;font-feature-settings:"onum" 1}@supports not (font-variant-numeric: oldstyle-nums){.oldstyle-nums{font-family:EB Garamond,Cambria,Hoefler Text,Georgia,serif}}body,.word-card,.definition-text,.example-item,.word-title,.word-title-variants,.library-detail-word,.sub-definition-text,.sub-phrase,.mobile-detail-word,.mobile-detail-text,.mobile-detail-example{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.toolbar-button{position:relative}.toolbar-button:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.4rem .6rem;background:var(--legacy-color-1a1a1a);color:#fff;font-size:.75rem;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000}.toolbar-button:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px);border:4px solid transparent;border-top-color:var(--text-primary);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000}.toolbar-button:hover:after,.toolbar-button:hover:before{opacity:1;transform:translate(-50%) translateY(-4px)}.toolbar-button:hover:before{transform:translate(-50%) translateY(2px)}.vocab-selector-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--legacy-color-fafafa)}.vocab-selector-card{max-width:600px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:3rem}.vocab-selector-title{font-size:2rem;font-weight:300;color:var(--text-primary);margin-bottom:.5rem;text-align:center;letter-spacing:-.02em}.vocab-selector-description{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem;text-align:center;font-weight:300}.vocab-selector-section{margin-bottom:2rem}.vocab-selector-section-title{font-size:.75rem;font-weight:400;color:var(--legacy-color-999);margin-bottom:1rem;letter-spacing:.1em;text-transform:uppercase}.vocab-selector-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.vocab-selector-item{padding:1rem;border:1px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;transition:all .2s}.vocab-selector-item:hover{border-color:var(--text-primary);transform:translate(4px)}.vocab-selector-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.vocab-selector-item-name{font-size:1.1rem;font-weight:400;color:var(--text-primary)}.vocab-selector-item-count{font-size:.85rem;color:var(--text-secondary);font-weight:300}.vocab-selector-item-meta{font-size:.8rem;color:var(--legacy-color-999);font-weight:300}.vocab-selector-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.vocab-selector-button{flex:1;padding:1rem 1.5rem;border:none;font-size:.9rem;font-weight:300;cursor:pointer;transition:all .2s;letter-spacing:.02em}.vocab-selector-button.primary{background:var(--legacy-color-1a1a1a);color:#fff}.vocab-selector-button.primary:hover{background:var(--legacy-color-000);transform:translateY(-2px);box-shadow:0 4px 12px var(--legacy-rgba-0-0-0-015)}.vocab-selector-button.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.vocab-selector-button.secondary:hover{border-color:var(--text-primary);color:var(--text-primary)}.vocab-selector-hint{text-align:center;font-size:.85rem;color:var(--legacy-color-999);font-weight:300;padding:1rem;background:var(--legacy-color-fafafa);border-radius:4px}.word-date-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--legacy-color-e0e0e0);display:flex;justify-content:flex-end}.word-date-badge{display:inline-block;padding:.4rem .8rem;background:var(--legacy-color-f5f5f5);border:1px solid var(--border-primary);border-radius:4px;font-size:.75rem;color:var(--text-secondary);font-weight:500;letter-spacing:.02em}.word-date-badge.legacy{background:var(--legacy-color-fef9e7);border-color:var(--legacy-color-f4d03f);color:var(--legacy-color-856404)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border-secondary)}.settings-row-label{display:flex;flex-direction:column;gap:.25rem}.settings-row-title{font-size:.95rem;font-weight:400;color:var(--text-primary)}.settings-row-desc{font-size:.8rem;color:var(--text-tertiary)}.theme-toggle{display:flex;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;cursor:pointer;background:none;padding:0}.theme-toggle-option{padding:.5rem 1.2rem;font-size:.85rem;font-weight:400;color:var(--text-tertiary);background:var(--bg-secondary);transition:all .2s ease;-webkit-user-select:none;user-select:none}.theme-toggle-option.active{background:var(--legacy-color-1a1a1a);color:#fff}[data-theme=dark] body{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .navigation{background:var(--bg-secondary);border-bottom-color:var(--border-primary)}[data-theme=dark] .nav-button{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-primary)}[data-theme=dark] .nav-button:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--bg-hover)}[data-theme=dark] .nav-button.active{background:var(--bg-secondary);color:var(--bg-primary);border-color:var(--accent-secondary)}[data-theme=dark] .progress-text{color:var(--text-secondary)}[data-theme=dark] .progress-track{background:var(--border-primary)}[data-theme=dark] .progress-fill{background:var(--text-primary)}[data-theme=dark] .word-card{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .word-title,[data-theme=dark] .word-title-variants{color:var(--accent-secondary)}[data-theme=dark] .word-pronunciation{color:var(--ipa-color)}[data-theme=dark] .word-respelling{color:var(--text-secondary)}[data-theme=dark] .word-stats{background:var(--bg-primary);border-color:var(--border-primary)}[data-theme=dark] .stat-item,[data-theme=dark] .stat-item-added{color:var(--text-secondary)}[data-theme=dark] .stat-value{color:var(--text-primary)}[data-theme=dark] .reveal-hint{color:var(--text-secondary)}[data-theme=dark] .reveal-hint-key{background:var(--bg-hover);border-color:var(--border-primary);color:var(--mobile-text-subtle)}[data-theme=dark] .section-title{color:var(--text-secondary)}[data-theme=dark] .definition-text{color:var(--text-primary)}[data-theme=dark] .part-of-speech{color:var(--accent-purple)}[data-theme=dark] .definition-pronunciation{color:var(--ipa-color)}[data-theme=dark] .irregular-form-type{color:var(--accent-purple)}[data-theme=dark] .irregular-form-value{color:var(--text-primary)}[data-theme=dark] .irregular-form-pron{color:var(--text-secondary)}[data-theme=dark] .example-item{color:var(--text-tertiary);background:var(--bg-primary);border-color:var(--border-primary)}[data-theme=dark] .example-item strong{color:var(--text-primary)}[data-theme=dark] .inline-hyperlink{color:var(--text-tertiary);text-decoration-color:var(--border-hover)}[data-theme=dark] .inline-hyperlink:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}[data-theme=dark] .word-tag{background:var(--bg-hover);border-color:var(--border-primary);color:var(--text-tertiary)}[data-theme=dark] .back-button,[data-theme=dark] .forward-button{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .back-button:hover,[data-theme=dark] .forward-button:hover{border-color:var(--text-secondary);color:var(--text-primary)}[data-theme=dark] .queue-preview-button{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .queue-preview-button:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--bg-hover)}[data-theme=dark] .queue-preview-title{color:var(--text-secondary)}[data-theme=dark] .queue-preview-list{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .queue-preview-item{border-bottom-color:var(--bg-hover)}[data-theme=dark] .queue-preview-item:hover{background:var(--bg-hover)}[data-theme=dark] .queue-preview-word{color:var(--text-primary)}[data-theme=dark] .queue-preview-familiarity{color:var(--text-secondary);background:var(--bg-hover)}[data-theme=dark] .queue-preview-empty{color:var(--text-secondary)}[data-theme=dark] .rating-container{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .rating-actions{border-bottom-color:var(--border-primary)}[data-theme=dark] .rating-action-button{background:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .rating-action-button:hover{background:var(--legacy-color-e0e0e0);color:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-e0e0e0)}[data-theme=dark] .rating-title{color:var(--text-secondary)}[data-theme=dark] .rating-button{background:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-333);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .rating-button:hover{border-color:var(--legacy-color-888)}[data-theme=dark] .rating-button.selected{background:transparent;color:var(--legacy-color-fff);border-color:var(--legacy-color-fff)}[data-theme=dark] .rating-hint-key{background:var(--legacy-color-252525);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .bottom-shortcuts{background:var(--bg-tertiary);border-color:var(--border-primary)}[data-theme=dark] .bottom-shortcut-group{color:var(--text-secondary)}[data-theme=dark] .shortcut-separator{color:var(--text-disabled)}[data-theme=dark] .summary-container{background:var(--legacy-color-0a0a0a)}[data-theme=dark] .summary-card{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333)}[data-theme=dark] .summary-title{color:var(--legacy-color-fff)}[data-theme=dark] .summary-subtitle{color:var(--legacy-color-888)}[data-theme=dark] .summary-stats{border-color:var(--legacy-color-333)}[data-theme=dark] .summary-stat-label{color:var(--legacy-color-888)}[data-theme=dark] .summary-stat-value{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .summary-ratings-title{color:var(--legacy-color-888)}[data-theme=dark] .rating-row{border-bottom-color:var(--legacy-color-252525)}[data-theme=dark] .rating-row-word{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .rating-value{color:var(--legacy-color-888)}[data-theme=dark] .restart-button{background:var(--legacy-color-e0e0e0);color:var(--legacy-color-0a0a0a)}[data-theme=dark] .restart-button:hover{background:var(--bg-secondary)}[data-theme=dark] .library-sidebar{background:var(--bg-secondary);border-right-color:var(--border-primary)}[data-theme=dark] .library-search{background:var(--bg-secondary);border-bottom-color:var(--border-primary)}[data-theme=dark] .search-input{background:var(--bg-input);border-color:var(--border-primary);color:var(--text-primary)}[data-theme=dark] .search-input:focus{border-color:var(--text-secondary)}[data-theme=dark] .search-input::placeholder{color:var(--text-secondary)}[data-theme=dark] .search-stats{color:var(--text-secondary)}[data-theme=dark] .month-separator{background:var(--library-month-bg);border-bottom-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .month-separator.legacy{background:var(--library-legacy-bg);border-bottom-color:var(--library-legacy-border);color:var(--library-legacy-text)}[data-theme=dark] .library-item{border-bottom-color:var(--bg-hover)}[data-theme=dark] .library-item:hover{background:var(--bg-hover)}[data-theme=dark] .library-item.selected{background:var(--bg-active);border-left-color:var(--text-primary)}[data-theme=dark] .library-item-word{color:var(--text-primary)}[data-theme=dark] .library-item-pronunciation{color:var(--ipa-color)}[data-theme=dark] .library-detail{background:var(--library-detail-bg)}[data-theme=dark] .library-detail-empty{color:var(--text-secondary)}[data-theme=dark] .library-detail-word{color:var(--accent-secondary)}[data-theme=dark] .library-detail-pronunciation{color:var(--ipa-color)}[data-theme=dark] .edit-button{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-primary)}[data-theme=dark] .library-detail-stats{border-color:var(--border-primary)}[data-theme=dark] .library-detail-content{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .library-detail-content .inline-hyperlink{color:var(--text-tertiary);text-decoration-color:var(--link-decoration-muted)}[data-theme=dark] .library-detail-content .inline-hyperlink:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}[data-theme=dark] .library-rating-section{background:var(--library-rating-bg);border-color:var(--border-primary)}[data-theme=dark] .library-rating-title{color:var(--text-secondary)}[data-theme=dark] .library-rating-button{background:var(--bg-primary);border-color:var(--border-primary)}[data-theme=dark] .library-rating-button:hover{background:var(--bg-hover);border-color:var(--text-secondary)}[data-theme=dark] .library-rating-button.selected{background:transparent;border-color:var(--accent-secondary)}[data-theme=dark] .library-rating-number{color:var(--text-primary)}[data-theme=dark] .library-rating-label{color:var(--text-secondary)}[data-theme=dark] .library-rating-button:hover .library-rating-number,[data-theme=dark] .library-rating-button:hover .library-rating-label{color:var(--text-primary)}[data-theme=dark] .library-rating-button.selected .library-rating-number,[data-theme=dark] .library-rating-button.selected .library-rating-label{color:var(--accent-secondary)}[data-theme=dark] .library-rating-hint{color:var(--text-secondary)}[data-theme=dark] .tags-page-container{background:var(--legacy-color-0a0a0a)}[data-theme=dark] .tags-sidebar{background:var(--legacy-color-1a1a1a);border-right-color:var(--legacy-color-333)}[data-theme=dark] .tags-sidebar-title{color:var(--legacy-color-888)}[data-theme=dark] .tags-sidebar-item{color:var(--legacy-color-e0e0e0);border-bottom-color:var(--legacy-color-252525)}[data-theme=dark] .tags-sidebar-item:hover{background:var(--legacy-color-252525)}[data-theme=dark] .tags-sidebar-item.active{background:var(--legacy-color-252525);border-left-color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tags-middle{background:var(--legacy-color-111);border-right-color:var(--legacy-color-333)}[data-theme=dark] .tags-middle-item{border-bottom-color:var(--legacy-color-252525)}[data-theme=dark] .tags-middle-item:hover,[data-theme=dark] .tags-middle-item.active{background:var(--legacy-color-1a1a1a)}[data-theme=dark] .tags-middle-item-word{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tags-middle-item-pronunciation{color:var(--legacy-color-888)}[data-theme=dark] .add-word-container{background:var(--bg-primary)}[data-theme=dark] .add-word-card{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .add-word-title{color:var(--accent-secondary)}[data-theme=dark] .form-label{color:var(--text-secondary)}[data-theme=dark] .form-input{background:var(--bg-input);border-color:var(--border-primary);color:var(--text-primary)}[data-theme=dark] .form-input:focus{border-color:var(--text-secondary)}[data-theme=dark] .form-input::placeholder{color:var(--border-hover)}[data-theme=dark] .remove-button{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .remove-button:hover{border-color:var(--danger-accent);color:var(--danger-accent)}[data-theme=dark] .add-more-button{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .add-more-button:hover{border-color:var(--text-secondary);color:var(--text-primary)}[data-theme=dark] .form-hint{background:var(--form-hint-bg);border-color:var(--form-hint-border)}[data-theme=dark] .form-hint-label{color:var(--text-secondary)}[data-theme=dark] .form-button.primary{background:var(--text-primary);color:var(--bg-primary)}[data-theme=dark] .form-button.primary:hover:not(:disabled){background:var(--bg-secondary)}[data-theme=dark] .form-button.secondary{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .form-button.secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}[data-theme=dark] .toolbar-button{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .toolbar-button:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}[data-theme=dark] .toolbar-button.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}[data-theme=dark] .toolbar-divider{background:var(--border-primary)}[data-theme=dark] .rich-text-area{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-primary)}[data-theme=dark] .rich-text-area:focus{border-color:var(--text-secondary)}[data-theme=dark] .rich-text-preview{background:var(--bg-tertiary);border-color:var(--border-primary)}[data-theme=dark] .rich-text-preview-label{color:var(--text-secondary)}[data-theme=dark] .rich-text-preview-content{color:var(--text-primary)}[data-theme=dark] .link-picker{background:var(--bg-secondary);border-color:var(--border-primary)}[data-theme=dark] .link-picker-title{color:var(--text-primary)}[data-theme=dark] .link-picker-search{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-primary)}[data-theme=dark] .link-picker-search:focus{border-color:var(--text-secondary)}[data-theme=dark] .link-picker-close{color:var(--text-secondary)}[data-theme=dark] .link-picker-close:hover{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .link-picker-item{border-bottom-color:var(--legacy-color-252525)}[data-theme=dark] .link-picker-item.selected{background:var(--legacy-color-252525)}[data-theme=dark] .link-picker-word{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .link-picker-pronunciation{color:var(--legacy-color-888)}[data-theme=dark] .link-picker-empty{color:var(--text-secondary)}[data-theme=dark] .link-picker-footer{border-top-color:var(--legacy-color-333);background:var(--legacy-color-111)}[data-theme=dark] .link-picker-hint{color:var(--text-secondary)}[data-theme=dark] .theme-toggle{border-color:var(--legacy-color-333)}[data-theme=dark] .theme-toggle-option{background:var(--legacy-color-0a0a0a);color:var(--legacy-color-888)}[data-theme=dark] .theme-toggle-option.active{background:transparent;color:var(--legacy-color-fff);border:1px solid var(--legacy-color-fff)}[data-theme=dark] .slider-label-left,[data-theme=dark] .slider-label-right{color:var(--legacy-color-888)}[data-theme=dark] .slider-value-label{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .slider-value-description{color:var(--text-secondary)}[data-theme=dark] .existing-word-alert{background:var(--legacy-color-1a1500);border-color:var(--legacy-color-554400)}[data-theme=dark] .alert-title,[data-theme=dark] .alert-word{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .alert-pronunciation{color:var(--legacy-color-888)}[data-theme=dark] .alert-definitions{color:var(--legacy-color-999)}[data-theme=dark] .alert-button.primary{background:var(--legacy-color-e0e0e0);color:var(--legacy-color-0a0a0a)}[data-theme=dark] .alert-button.secondary{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .word-image,[data-theme=dark] .image-upload{border-color:var(--legacy-color-333)}[data-theme=dark] .image-upload:hover{border-color:var(--legacy-color-888)}[data-theme=dark] .image-upload-text{color:var(--legacy-color-888)}[data-theme=dark] .sub-phrase{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .sub-phrase-pos{color:var(--legacy-color-9d8ec4)}[data-theme=dark] .sub-definition-text{color:var(--legacy-color-ccc)}[data-theme=dark] .library-item-tag{background:var(--legacy-color-252525);color:var(--legacy-color-888)}[data-theme=dark] .word-date-section{border-top-color:var(--legacy-color-333)}[data-theme=dark] .variant-item{background:var(--legacy-color-111);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .delete-confirm-message{color:var(--legacy-color-999)}[data-theme=dark] .delete-confirm-message strong{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .nav-button.active{background:var(--legacy-color-e0e0e0);color:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-e0e0e0)}[data-theme=dark] .nav-button.active:hover{background:var(--legacy-color-ccc)}[data-theme=dark] .tag-filter-button{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .tag-filter-button:hover:not(.disabled){border-color:var(--legacy-color-888);box-shadow:0 2px 6px var(--legacy-rgba-0-0-0-03)}[data-theme=dark] .tag-filter-button.open{border-color:var(--legacy-color-888);box-shadow:0 3px 10px var(--legacy-rgba-0-0-0-04)}[data-theme=dark] .tag-filter-button.active{background:transparent;color:var(--legacy-color-fff);border-color:var(--legacy-color-fff)}[data-theme=dark] .tag-filter-arrow{color:var(--text-secondary)}[data-theme=dark] .tag-filter-menu{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);box-shadow:0 8px 32px var(--legacy-rgba-0-0-0-05)}[data-theme=dark] .tag-filter-menu-header{border-bottom-color:var(--legacy-color-333);background:var(--legacy-color-1a1a1a)}[data-theme=dark] .tag-filter-menu-title{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tag-filter-search{background:var(--legacy-color-1a1a1a);border-bottom-color:var(--legacy-color-333)}[data-theme=dark] .tag-filter-search-input{background:var(--bg-input);border-color:var(--legacy-color-333);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tag-filter-search-input:focus{border-color:var(--legacy-color-888)}[data-theme=dark] .tag-filter-clear{background:var(--legacy-color-252525);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .tag-filter-clear:hover{background:var(--legacy-color-333);color:var(--legacy-color-fff);border-color:var(--legacy-color-888)}[data-theme=dark] .tag-filter-menu-divider{background:var(--legacy-color-333)}[data-theme=dark] .tag-filter-menu-item{color:var(--legacy-color-e0e0e0);border-bottom-color:var(--legacy-color-252525)}[data-theme=dark] .tag-filter-menu-item:hover{background:var(--legacy-color-252525)}[data-theme=dark] .tag-filter-menu-item.selected{background:var(--legacy-color-252525);color:var(--legacy-color-fff);border-bottom-color:var(--legacy-color-333)}[data-theme=dark] .tag-filter-menu-item.selected:hover{background:var(--legacy-color-333)}[data-theme=dark] .tag-filter-menu-item-count{background:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .tag-filter-menu-item.selected .tag-filter-menu-item-count{background:var(--legacy-rgba-255-255-255-015);color:var(--legacy-color-fff)}[data-theme=dark] .tag-filter-menu-list::-webkit-scrollbar-track{background:var(--legacy-color-111)}[data-theme=dark] .tag-filter-menu-list::-webkit-scrollbar-thumb{background:var(--legacy-color-444)}[data-theme=dark] .tag-filter-menu-list::-webkit-scrollbar-thumb:hover{background:var(--legacy-color-666)}[data-theme=dark] .library-search-tip{background:var(--legacy-color-111);border-bottom-color:var(--legacy-color-333);color:var(--text-secondary)}[data-theme=dark] .library-search-tip kbd{background:var(--legacy-color-252525);border-color:var(--legacy-color-444);color:var(--legacy-color-999)}[data-theme=dark] .tags-sidebar{background:var(--legacy-color-111);border-right-color:var(--legacy-color-333)}[data-theme=dark] .tags-sidebar-header{background:var(--legacy-color-1a1a1a);border-bottom-color:var(--legacy-color-333)}[data-theme=dark] .tags-sidebar-title{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tags-sidebar-count{color:var(--legacy-color-888)}[data-theme=dark] .tag-list-item{background:var(--legacy-color-1a1a1a)}[data-theme=dark] .tag-list-item:hover{background:var(--legacy-color-252525);border-color:var(--legacy-color-333)}[data-theme=dark] .tag-list-item.active{background:transparent;color:var(--legacy-color-fff);border-color:var(--legacy-color-fff)}[data-theme=dark] .tag-list-name{color:inherit}[data-theme=dark] .tag-list-count{background:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .tag-list-item.active .tag-list-count{background:var(--legacy-rgba-255-255-255-015);color:var(--legacy-color-fff)}[data-theme=dark] .tag-list-item.active .tag-delete-button,[data-theme=dark] .tag-list-item.active .tag-edit-button{color:var(--legacy-rgba-255-255-255-07)}[data-theme=dark] .tag-delete-button,[data-theme=dark] .tag-edit-button{color:var(--text-secondary)}[data-theme=dark] .tags-middle{background:var(--legacy-color-0a0a0a)}[data-theme=dark] .tags-middle-header{background:var(--legacy-color-111);border-bottom-color:var(--legacy-color-333)}[data-theme=dark] .tags-middle-title{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tags-middle-count{color:var(--legacy-color-888)}[data-theme=dark] .tags-middle-item{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333)}[data-theme=dark] .tags-middle-item:hover{border-color:var(--legacy-color-888);box-shadow:0 4px 12px var(--legacy-rgba-0-0-0-03)}[data-theme=dark] .tags-middle-item-word,[data-theme=dark] .tags-content-empty-title{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tags-content-empty-text{color:var(--text-secondary)}[data-theme=dark] .tags-detail-modal{background:var(--legacy-color-1a1a1a)}[data-theme=dark] .ipa-input{background:var(--bg-input);border-color:var(--border-primary);color:var(--ipa-color);-webkit-text-fill-color:var(--ipa-color)}[data-theme=dark] .ipa-suggestion{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);box-shadow:0 4px 16px var(--legacy-rgba-0-0-0-05)}[data-theme=dark] .ipa-suggestion-symbol{color:var(--ipa-color)}[data-theme=dark] .ipa-suggestion-desc{color:var(--legacy-color-888)}[data-theme=dark] .ipa-suggestion-hint{color:var(--text-secondary)}[data-theme=dark] .ipa-suggestion-tap-hint{color:var(--legacy-color-e0e0e0);background:var(--legacy-color-252525);border-color:var(--legacy-color-444)}[data-theme=dark] .ipa-helper{border-color:var(--legacy-color-333);background:var(--legacy-color-111)}[data-theme=dark] .ipa-helper-header{background:var(--legacy-color-111)}[data-theme=dark] .ipa-helper-header:hover{background:var(--legacy-color-1a1a1a)}[data-theme=dark] .ipa-helper-title{color:var(--legacy-color-888)}[data-theme=dark] .ipa-helper-content{background:var(--legacy-color-111)}[data-theme=dark] .ipa-helper-section-title{color:var(--legacy-color-888)}[data-theme=dark] .ipa-helper-item{color:var(--legacy-color-999)}[data-theme=dark] .ipa-helper-item code{background:var(--legacy-color-252525);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .sub-definition-item.has-phrase{border-left-color:var(--legacy-color-333)}[data-theme=dark] .sub-definition-item.has-phrase .sub-definition-text{color:var(--legacy-color-999)}[data-theme=dark] .sub-definition-item.no-phrase .sub-definition-text{color:var(--legacy-color-ccc)}[data-theme=dark] .sub-definition-edit{background:var(--legacy-color-111);border-color:var(--legacy-color-333)}[data-theme=dark] .tag-chip{background:var(--legacy-color-252525);border-color:var(--legacy-color-444);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tag-chip:hover{background:var(--legacy-color-333);border-color:var(--legacy-color-555)}[data-theme=dark] .tag-chip.selected{background:var(--legacy-color-4a90e2);border-color:var(--legacy-color-4a90e2);color:#fff}[data-theme=dark] .tag-chip-count{background:var(--legacy-rgba-255-255-255-01);color:var(--legacy-color-888)}[data-theme=dark] .tag-input-group input{background:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-333);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .tag-input-group input:focus{border-color:var(--legacy-color-4a90e2)}[data-theme=dark] .tag-input-group button{background:var(--legacy-color-e0e0e0);color:var(--legacy-color-0a0a0a)}[data-theme=dark] .selected-tags label,[data-theme=dark] .available-tags label{color:var(--legacy-color-888)}[data-theme=dark] .settings-actions .form-button{background:var(--legacy-color-252525);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .settings-actions .form-button:hover{border-color:var(--legacy-color-888);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .settings-password-error{color:var(--legacy-color-ff6b6b)}[data-theme=dark] .settings-password-success{color:var(--legacy-color-51cf66)}[data-theme=dark] .nav-right .nav-button{background:var(--legacy-color-1a1a1a);color:var(--legacy-color-888);border-color:var(--legacy-color-333)}[data-theme=dark] .nav-right .nav-button:hover{border-color:var(--legacy-color-888);color:var(--legacy-color-e0e0e0);background:var(--legacy-color-252525)}[data-theme=dark] .form-hint-button{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-secondary)}[data-theme=dark] .form-hint-button:not(:disabled):hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-secondary)}[data-theme=dark] .definition-examples-header{color:var(--legacy-color-888)}[data-theme=dark] .tag-edit-input{background:var(--legacy-color-0a0a0a);border-color:var(--legacy-color-4a90e2);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .library-list::-webkit-scrollbar-track,[data-theme=dark] .tags-list::-webkit-scrollbar-track,[data-theme=dark] .tags-middle-list::-webkit-scrollbar-track{background:var(--legacy-color-111)}[data-theme=dark] .library-list::-webkit-scrollbar-thumb,[data-theme=dark] .tags-list::-webkit-scrollbar-thumb,[data-theme=dark] .tags-middle-list::-webkit-scrollbar-thumb{background:var(--legacy-color-444)}[data-theme=dark] .settings-modal .form-group div[style]{background:var(--legacy-color-252525)!important}[data-theme=dark] .settings-modal .form-group div[style] strong{color:var(--legacy-color-e0e0e0)}[data-theme=dark] .definition-group{background:var(--legacy-color-111);border-color:var(--legacy-color-333)}[data-theme=dark] .definition-drag-handle{color:var(--legacy-color-444)}[data-theme=dark] .definition-drag-handle:hover{color:var(--legacy-color-888)}[data-theme=dark] .definition-examples-section,[data-theme=dark] .sub-examples-section{border-left-color:var(--legacy-color-333)}[data-theme=dark] .add-sub-button{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .add-sub-button:hover{background:var(--legacy-color-252525);border-color:var(--legacy-color-555);color:var(--legacy-color-e0e0e0)}[data-theme=dark] .form-sublabel{color:var(--text-secondary)}[data-theme=dark] .slider-container{background:var(--legacy-color-111);border-color:var(--legacy-color-333)}[data-theme=dark] .slider-value-indicator{border-top-color:var(--legacy-color-333)}[data-theme=dark] .form-slider{background:linear-gradient(to right,var(--legacy-color-333) 0%,var(--legacy-color-e0e0e0) 100%)}[data-theme=dark] .form-slider::-webkit-slider-thumb{background:var(--legacy-color-e0e0e0);border-color:var(--legacy-color-0a0a0a)}[data-theme=dark] .form-slider::-moz-range-thumb{background:var(--legacy-color-e0e0e0);border-color:var(--legacy-color-0a0a0a)}[data-theme=dark] .inline-hyperlink{color:var(--legacy-color-4a90e2);text-decoration-color:var(--legacy-color-4a90e2)}[data-theme=dark] .inline-hyperlink:hover{color:var(--legacy-color-6bb3ff);text-decoration-color:var(--legacy-color-6bb3ff)}[data-theme=dark] .library-detail-content .inline-hyperlink{color:var(--legacy-color-4a90e2);text-decoration-color:var(--legacy-color-4a90e2)}[data-theme=dark] .library-detail-content .inline-hyperlink:hover{color:var(--legacy-color-6bb3ff);text-decoration-color:var(--legacy-color-6bb3ff)}[data-theme=dark] .word-date-badge{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333);color:var(--legacy-color-888)}[data-theme=dark] .word-date-badge.legacy{background:var(--legacy-color-1a1500);border-color:var(--legacy-color-554400);color:var(--legacy-color-aa8800)}[data-theme=dark] .add-tag-button:disabled{background:var(--legacy-color-333);color:var(--text-secondary)}[data-theme=dark] .nav-button.active{background:transparent;color:var(--legacy-color-fff);border-color:var(--legacy-color-fff)}[data-theme=dark] .nav-button.active:hover{background:var(--legacy-rgba-255-255-255-008);color:var(--legacy-color-fff)}[data-theme=dark] .form-button.primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}[data-theme=dark] .form-button.primary:hover:not(:disabled){background:var(--text-secondary);border-color:var(--text-secondary)}[data-theme=dark] .restart-button{background:var(--legacy-color-4a90e2);color:var(--legacy-color-fff)}[data-theme=dark] .restart-button:hover{background:var(--legacy-color-3a7bd5)}[data-theme=dark] .alert-button.primary{background:var(--text-primary);color:var(--bg-primary)}[data-theme=dark] .edit-button:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}[data-theme=dark] .tag-input-group button{background:var(--legacy-color-4a90e2);color:var(--legacy-color-fff)}[data-theme=dark] .tag-input-group button:hover{background:var(--legacy-color-3a7bd5)}[data-theme=dark] .sub-phrase-header{background:var(--legacy-color-1a1a1a);border-color:var(--legacy-color-333)}[data-theme=dark] *::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] *::-webkit-scrollbar-track{background:var(--legacy-color-111)}[data-theme=dark] *::-webkit-scrollbar-thumb{background:var(--legacy-color-444);border-radius:4px}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:var(--legacy-color-666)}[data-theme=dark] .inline-hyperlink.link-group-highlight{color:var(--legacy-color-6bb3ff);text-decoration-color:var(--legacy-color-6bb3ff);background:var(--legacy-rgba-74-144-226-01)}@font-face{font-family:Cambria;src:url(/fonts/cambria.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:url(/fonts/cambria-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:url(/fonts/cambria-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cambria;src:url(/fonts/cambria-bold-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Vocab CJK Kai;src:url(/fonts/lxgw-wenkai-tc.woff2?v=20260614-single-family) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2E80-2EFF,U+2F00-2FDF,U+3000-303F,U+3100-312F,U+31A0-31BF,U+31C0-31EF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}*{margin:0;padding:0;box-sizing:border-box}:root{--font-cjk-kai: "Vocab CJK Kai"}html{background:var(--bg-primary)}body{font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);min-height:100vh;color:var(--text-primary)}button,input,select,textarea{font-family:var(--font-cjk-kai),-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto",sans-serif}code{font-family:SF Mono,Monaco,Courier New,monospace}code.md-inline-code{background:var(--bg-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;padding:.08rem .3rem}#root{min-height:100vh;background:var(--bg-primary)}@media (max-width: 768px){html,body,#root{background:var(--mobile-bg-primary)}}
