.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;min-height:44px;min-width:44px;border:2px solid transparent;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1rem;font-weight:550;line-height:1.2;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);position:relative;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #9d6fff4d}.btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:0 4px 16px #9d6fff66;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #9d6fff4d}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:#ffffff26;box-shadow:0 1px 3px #0000004d}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--accent-bright);box-shadow:0 2px 8px #9d6fff33}.btn-secondary:active{transform:scale(.98)}.btn-destructive{background:var(--error);color:#fff;border-color:var(--error)}.btn-destructive:hover{background:#ef4444e6;border-color:#ef4444e6;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-destructive:active{transform:translateY(0)}.btn-sm{padding:.625rem 1.25rem;min-height:40px;min-width:40px;font-size:.9375rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px}.btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--duration-normal) var(--ease-standard);position:relative}.card:hover{border-color:var(--border-hover);box-shadow:0 4px 24px #9d6fff26;transform:translateY(-2px)}.card-title{font-size:1.125rem;font-weight:650;margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.card-content{color:var(--text-secondary);line-height:1.6}.card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--duration-slow) var(--ease-emphasized);padding:1rem}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:90vw;max-height:calc(100vh - 4rem);overflow-y:auto;transform:translateY(20px) scale(.96);transition:all var(--duration-slow) var(--ease-emphasized);box-shadow:0 20px 60px #0009,0 0 0 1px #9d6fff26;position:relative}.modal-overlay.active .modal{transform:translateY(0) scale(1)}.modal-header,.modal-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.modal-header-actions{display:flex;align-items:center;gap:.5rem}.modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.modal-close-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-standard);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1}.modal-close-btn:hover{background:#ef444426;border-color:#ef444466;color:var(--error);transform:scale(1.05)}.modal-close-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.modal-body{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.6}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border);flex-wrap:wrap}@media (max-width: 480px){.modal{padding:1.25rem;max-width:95vw;border-radius:var(--radius-lg)}.modal-title{font-size:1.25rem}.modal-footer{flex-direction:column}.modal-footer>*{width:100%}}@media (min-width: 768px){.modal{max-width:600px}}@media (min-width: 1024px){.modal{max-width:800px;padding:2.5rem}}.error-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.error-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border)}.error-modal-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.error-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--error)}.error-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.error-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.error-modal-body{padding:1.5rem;flex:1;overflow-y:auto}.error-modal-body p{margin:0 0 1rem;color:var(--text-primary);line-height:1.6}.error-details{font-size:.9rem;color:var(--text-secondary);font-family:monospace;background:var(--bg-secondary);padding:.75rem;border-radius:6px;margin-top:.5rem;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto}.error-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;background:var(--bg-secondary)}.error-modal-footer button{padding:.5rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.error-modal-footer button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.error-modal-footer button.confirm-danger{background:var(--error)}.error-modal-footer button.confirm-danger:hover{background:#ef4444e6}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.9375rem;font-weight:550;line-height:1.4}.form-input,textarea.form-input{width:100%;padding:.875rem 1rem;min-height:48px;background:var(--bg-card);border:2px solid rgba(255,255,255,.12);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-display);font-size:1rem;font-weight:450;line-height:1.5;transition:all var(--duration-normal) var(--ease-standard)}.form-input::placeholder,textarea.form-input::placeholder{color:var(--text-dim);opacity:.8}textarea.form-input{resize:vertical;min-height:120px;line-height:1.6}.form-input:hover,textarea.form-input:hover{border-color:var(--border-hover);background:var(--bg-hover)}.form-input:focus,textarea.form-input:focus{outline:none;border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}.form-select{width:100%;padding:.875rem 2.75rem .875rem 1rem;min-height:48px;background:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23b4b9c5' d='M7 10L2 5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:14px;border:2px solid rgba(255,255,255,.12);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-display);font-size:1rem;font-weight:550;line-height:1.5;transition:all var(--duration-normal) var(--ease-standard);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:hover{border-color:var(--border-hover);background-color:var(--bg-hover);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%239d6fff' d='M7 10L2 5h10z'/%3E%3C/svg%3E")}.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%239d6fff' d='M7 10L2 5h10z'/%3E%3C/svg%3E")}.form-select option{background:var(--bg-secondary);color:var(--text-primary);padding:.75rem;font-weight:450}.form-select option:checked{background:var(--accent-dim);color:#fff;font-weight:600}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.form-actions>*{flex:1;min-width:120px}.form-input.error,.form-select.error{border-color:var(--error)}.form-input.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #ef444433}.form-error-message{display:block;margin-top:.375rem;color:var(--error);font-size:.875rem;font-weight:500}.ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-style:normal;-webkit-user-select:none;user-select:none;vertical-align:middle;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.ui-icon-sm{font-size:18px}.ui-icon-md{font-size:20px}.ui-icon-lg{font-size:24px}.ui-icon-filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.ui-icon.is-success,.is-success .ui-icon{color:var(--success)}.ui-icon.is-warning,.is-warning .ui-icon{color:var(--warning)}.ui-icon.is-error,.is-error .ui-icon{color:var(--error)}.ui-icon.is-active,.is-active .ui-icon{color:var(--accent)}.ui-icon.is-disabled,.is-disabled .ui-icon{color:var(--text-dim);opacity:.7}.loading-spinner-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner-inline{display:flex;align-items:center;gap:.75rem}.spinner{border:3px solid var(--bg-secondary);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-md{width:24px;height:24px;border-width:3px}.spinner-lg{width:40px;height:40px;border-width:4px}.loading-spinner-text{color:var(--text-secondary);font-size:.9rem;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:var(--main-padding-mobile);text-align:center}.project-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:8px;min-height:400px}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-tertiary) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton--text{height:1em;min-width:4em}.skeleton--block{min-height:1.5rem}.skeleton--circle{border-radius:var(--radius-full);aspect-ratio:1}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border-top:1px solid var(--border);box-shadow:0 -4px 12px #00000014;animation:cookie-banner-in .3s var(--ease-standard)}@keyframes cookie-banner-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap}.cookie-banner__text{flex:1;min-width:200px}.cookie-banner__title{margin:0 0 var(--space-xs) 0;font-size:1rem;font-weight:600;color:var(--text-primary)}.cookie-banner__description{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.cookie-banner__link{color:var(--primary);text-decoration:underline}.cookie-banner__link:hover{text-decoration:none}.cookie-banner__actions{display:flex;gap:var(--space-sm);flex-shrink:0}.token-usage-indicator{display:flex;flex-direction:column;gap:var(--space-sm);padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;font-size:var(--text-sm)}.token-usage-content{display:flex;flex-direction:column;gap:.375rem}.token-usage-label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary, #ffffff)}.token-usage-icon{font-size:1rem}.token-usage-text{font-weight:500;white-space:nowrap}.token-usage-progress{height:6px;background:var(--bg-tertiary);border-radius:var(--radius-xs);overflow:hidden;position:relative}.token-usage-progress-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:var(--radius-xs)}.token-usage-progress.normal .token-usage-progress-bar{background:var(--success)}.token-usage-progress.caution .token-usage-progress-bar,.token-usage-progress.warning .token-usage-progress-bar{background:var(--warning)}.token-usage-progress.critical .token-usage-progress-bar{background:var(--error)}.token-usage-details{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-secondary, #aaaaaa);margin-top:.25rem}.token-usage-stage{white-space:nowrap}.token-usage-warning-badge{font-size:.75rem;color:var(--warning);font-weight:500;margin-top:.25rem}.token-usage-loading{color:var(--text-secondary, #aaaaaa);font-size:.875rem}.token-usage-indicator.token-usage-unlimited .token-usage-text{color:var(--text-primary, #ffffff)}.token-usage-indicator.token-usage-unlimited .token-usage-icon{opacity:.9}@media (max-width: 768px){.token-usage-indicator{min-width:auto;width:100%}.token-usage-text{font-size:.8125rem}}.token-limit-warning-content{padding:1rem 0}.token-limit-warning-message{margin:0 0 1rem;color:var(--text-primary, #ffffff);font-size:.9375rem;line-height:1.5}.token-limit-warning-stats{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0;padding:1rem;background:var(--bg-tertiary, #1a1a1a);border-radius:8px}.token-limit-stat{display:flex;justify-content:space-between;align-items:center;gap:1rem}.token-limit-stat-label{color:var(--text-secondary, #aaaaaa);font-size:.875rem}.token-limit-stat-value{color:var(--text-primary, #ffffff);font-weight:600;font-size:.875rem}.token-limit-stat-value.warning{color:var(--warning)}.token-limit-stat-value.critical{color:var(--error)}.token-limit-warning-note{margin:1rem 0 0;color:var(--text-secondary, #aaaaaa);font-size:.8125rem;line-height:1.5}.token-limit-warning-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #333)}.app>header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:var(--header-padding-mobile);position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:100vw;box-sizing:border-box}.header-content{width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;min-width:0}.header-mobile-menu-btn{display:none;flex-shrink:0;padding:.5rem!important;min-width:44px!important;min-height:44px!important}.header-icon-btn{flex-shrink:0;padding:.5rem!important;min-width:40px!important;min-height:40px!important}.header-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;flex-shrink:0;transition:opacity var(--duration-normal)}.header-logo:hover{opacity:.9}.header-logo:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}.logo-icon-img{width:40px;height:40px;border-radius:var(--radius-md);box-shadow:0 2px 12px var(--accent-glow);object-fit:cover}.logo-info{display:flex;flex-direction:column;gap:.125rem}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1}.logo-subtitle{font-size:.75rem;color:var(--text-dim);font-style:italic;line-height:1}.header-navigation{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.nav-link{padding:.625rem 1rem;color:var(--text-secondary);text-decoration:none;font-size:.9375rem;font-weight:550;border-radius:var(--radius-md);border-bottom:2px solid transparent;transition:all var(--duration-normal) var(--ease-standard);white-space:nowrap;position:relative;min-height:44px;display:flex;align-items:center}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover);border-bottom-color:var(--accent-dim)}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.nav-link.active:hover{background:var(--bg-hover)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:1;min-width:0}.header-info-wrap{position:relative;flex-shrink:0}.header-info-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem!important;min-width:auto!important}.header-info-label{font-size:.8125rem;font-weight:600}.header-info-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;padding:.375rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:1001}.header-info-section{padding:.25rem 0}.header-info-section:first-child{padding-top:0}.header-info-section-title{padding:.375rem .75rem .25rem;font-size:.75rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.header-info-divider{height:1px;margin:.25rem 0;background:var(--border)}.header-info-dropdown a{display:flex;align-items:center;padding:.5rem .75rem;min-height:44px;box-sizing:border-box;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);transition:background var(--duration-normal),color var(--duration-normal)}.header-info-dropdown a:hover{color:var(--accent);background:var(--bg-hover)}.header-spacer{flex:1}.header-actions{display:flex;align-items:center;gap:var(--space-md);flex-shrink:1;min-width:0}.header-user-block{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.header-locale-wrap{position:relative;flex-shrink:0}.header-locale-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem!important;min-width:auto!important}.header-locale-code{font-size:.8125rem;font-weight:600;letter-spacing:.02em}.header-locale-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;padding:.375rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:1001}.locale-dropdown-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--duration-normal),color var(--duration-normal);font-family:var(--font-display)}.locale-dropdown-item:hover{color:var(--accent);background:var(--bg-hover)}.locale-dropdown-item.active{color:var(--accent-bright);background:#9d6fff26}.locale-dropdown-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-user-menu{display:flex;align-items:center;gap:var(--space-sm);padding:.375rem .5rem .375rem .875rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.header-avatar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--bg-tertiary);cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.header-avatar-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.header-avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-avatar-img{width:100%;height:100%;object-fit:cover}.header-avatar-placeholder{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.header-auth-buttons{display:flex;align-items:center;gap:.5rem}@media (min-width: 768px) and (max-width: 1023px){.app>header{padding:var(--header-padding-tablet)}.header-content{gap:1rem}.logo-icon-img{width:36px;height:36px}.logo-text{font-size:1.125rem}.logo-subtitle{font-size:.7rem}.nav-link{padding:.375rem .75rem;font-size:.875rem}.header-actions .token-usage-indicator{min-width:0;max-width:160px;padding:.375rem .5rem;font-size:.8125rem}.header-actions .token-usage-indicator .token-usage-text{overflow:hidden;text-overflow:ellipsis}}@media (min-width: 1024px) and (max-width: 1200px){.app>header{padding:.75rem 1rem}.header-content{gap:.75rem}.logo-icon-img{width:36px;height:36px}.logo-text{font-size:1.125rem}.logo-subtitle{font-size:.7rem}.nav-link{padding:.5rem .75rem;font-size:.875rem}.header-locale-btn{padding:.375rem .5rem!important;min-width:auto!important}.header-locale-code{font-size:.75rem}.header-user-menu{padding:.25rem .5rem .25rem .75rem;gap:.5rem}.header-actions .token-usage-indicator{min-width:0;max-width:160px;padding:.375rem .5rem;font-size:.8125rem}.header-actions .token-usage-indicator .token-usage-text{overflow:hidden;text-overflow:ellipsis}}@media (min-width: 1024px){.app>header{padding:1rem var(--main-padding-desktop)}}@media (min-width: 1200px){.header-content{gap:1.5rem}}@media (max-width: 767px){.app>header{padding:.5rem var(--main-padding-mobile)}.header-content{flex-wrap:wrap;gap:.375rem;max-width:100%}.header-mobile-menu-btn{display:inline-flex}.header-logo{order:1}.logo-icon-img{width:32px;height:32px}.logo-text{font-size:1rem}.logo-subtitle,.header-spacer{display:none}.header-actions{order:2;display:flex;flex-wrap:wrap;gap:.375rem;flex:1;justify-content:flex-end;align-items:center}.token-usage-indicator,.header-info-label{display:none}.header-info-btn{padding:.5rem!important;min-width:44px!important;min-height:44px!important}.header-info-dropdown{left:auto;right:0;min-width:200px;max-width:calc(100vw - 2rem);width:max-content}.header-locale-btn{padding:.375rem .5rem!important}.header-locale-code{font-size:.7rem}.header-user-menu{padding:.25rem .375rem .25rem .5rem;gap:.375rem;flex-shrink:0}.header-navigation{order:10;width:100%;justify-content:flex-start;padding-top:.5rem;margin-top:.25rem;border-top:1px solid var(--border)}.nav-link{padding:.625rem 1rem;font-size:.875rem;flex:1;text-align:center;justify-content:center;min-height:44px}.nav-link.active{color:var(--accent);background:var(--accent-glow);border-bottom-color:var(--accent)}}@media (max-width: 480px){.app>header{padding:.5rem .625rem}.header-content{gap:.375rem}.header-actions{gap:.25rem}.logo-icon-img{width:28px;height:28px}.logo-text{font-size:.9375rem}.header-locale-code{font-size:.65rem}.header-user-menu{padding:0}.nav-link{font-size:.8125rem;padding:.5rem .75rem;min-height:40px}}@media (max-width: 360px){.header-content,.header-actions{gap:.25rem}.logo-text{font-size:.875rem}.header-locale-code{font-size:.625rem}.nav-link{font-size:.75rem;padding:.5rem .625rem;min-height:36px}}.service-status-banner{padding:var(--space-sm) var(--space-md);font-size:.9rem;line-height:1.4;transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard);animation:service-status-banner-in .25s var(--ease-standard)}@keyframes service-status-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.service-status-banner--down{background:#ef444426;border-bottom:1px solid var(--error);color:var(--text-primary)}.service-status-banner--degraded{background:#f59e0b26;border-bottom:1px solid var(--warning);color:var(--text-primary)}.service-status-banner--recovered{background:#22c55e26;border-bottom:1px solid var(--success);color:var(--text-primary)}.service-status-banner__content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.service-status-banner__message{flex:1;min-width:0;text-align:center}.service-status-banner__retry{flex-shrink:0}.auth-modal{padding:1.25rem!important;max-height:90vh;overflow-y:auto}.auth-modal .modal-title{margin-bottom:.75rem!important;font-size:1.25rem!important}.auth-modal-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.auth-tabs{margin-bottom:0!important}.auth-form{margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.auth-form .form-group{margin-bottom:0}.auth-form .form-group:last-of-type{margin-bottom:0}.auth-consent-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.auth-consent-label input{margin-top:.2rem;flex-shrink:0}.auth-consent-label a{color:var(--accent);text-decoration:none}.auth-consent-label a:hover{text-decoration:underline}.email-confirmation-modal-overlay{z-index:1500}@media (max-width: 480px){.auth-modal{padding:1rem!important;max-height:85vh}.auth-modal .modal-title{font-size:1.1rem!important;margin-bottom:.5rem!important}.auth-modal-header-row{margin-bottom:.5rem;gap:.35rem}.auth-tabs button{padding:.5rem .75rem;min-height:44px;font-size:.9rem}.auth-form input,.auth-form button:not([type=submit]){min-height:44px}.auth-form .btn{min-height:44px;padding:.6rem 1rem}}.upgrade-screen{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.upgrade-screen__content{max-width:28rem;text-align:center}.upgrade-screen__title{font-size:1.5rem;font-weight:600;margin:0 0 1rem}.upgrade-screen__message{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.upgrade-screen__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.entity-chip-wrapper{position:relative;display:inline-flex}.entity-chip-popup{position:absolute;bottom:calc(100% + var(--space-sm));left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;min-width:180px;max-width:320px;width:max-content;z-index:100;box-shadow:0 4px 12px #0000004d;animation:entity-chip-popup-in var(--duration-fast) var(--ease-standard);white-space:pre-wrap;word-break:break-word}.entity-chip-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-card)}@keyframes entity-chip-popup-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.publication-card{position:relative;display:flex;flex-direction:column;min-height:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:visible;transition:all var(--duration-normal) var(--ease-standard)}.publication-card-clickable{display:flex;flex-direction:column;flex:1;min-height:0;cursor:pointer;border:none;background:transparent;padding:0;margin:0;width:100%;text-align:left;font:inherit;color:inherit;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.publication-card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.publication-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:var(--accent);z-index:10}.publication-card-cover{position:relative;width:100%;aspect-ratio:2 / 3;background:var(--bg-tertiary);overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.publication-card-cover{aspect-ratio:3 / 4}}@media (max-width: 480px){.publication-card-cover{aspect-ratio:4 / 5}}.publication-card-cover img{width:100%;height:100%;object-fit:cover}.publication-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.publication-card-placeholder.hidden{display:none}.publication-card-content{padding:var(--space-md);display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.publication-card-main{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:column;gap:var(--space-sm)}.publication-card-title{font-size:var(--text-base);font-weight:var(--fw-semibold);margin:0;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.publication-card-description-wrap{position:relative;margin:0}.publication-card-description{font-size:clamp(var(--text-sm),.25vw + .8rem,.9375rem);line-height:1.5;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.publication-card-tooltip{position:absolute;bottom:calc(100% + var(--space-sm));left:0;width:max-content;min-width:180px;max-width:320px;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;z-index:100;box-shadow:0 4px 12px #0000004d;animation:publication-card-tooltip-in var(--duration-fast) var(--ease-standard);white-space:pre-wrap;word-break:break-word}.publication-card-tooltip:after{content:"";position:absolute;top:100%;left:1rem;border:6px solid transparent;border-top-color:var(--bg-card)}@keyframes publication-card-tooltip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.publication-card-tags{flex-shrink:0;min-height:4.25rem;padding-top:var(--space-sm);margin-top:var(--space-sm);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-xs);overflow:visible}.publication-card-chip-row{display:flex;align-items:center;gap:var(--space-xs);min-height:1.75rem;min-width:0;overflow:visible}.publication-card-chip{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-standard);min-height:28px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.publication-card-chip--interactive{cursor:pointer;font-weight:var(--fw-medium)}.publication-card-chip--interactive:hover{border-color:var(--border-hover);color:var(--text-primary)}.publication-card-chip--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.publication-card-chip--static{color:var(--text-dim)}.publication-card-lang-badge{font-size:var(--text-sm);color:var(--text-dim)}.publication-card-meta-sep{font-size:var(--text-sm);color:var(--text-dim);margin:0 var(--space-xs)}.publication-card-chapters-badge{font-size:var(--text-sm);color:var(--text-dim)}.publication-card-meta-fallback{font-size:var(--text-sm);color:var(--text-dim);margin:0}.publication-card-read-btn{flex-shrink:0;margin:var(--space-sm) var(--space-md) var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--accent);border:none;border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--duration-normal) var(--ease-standard)}.publication-card-read-btn:hover{filter:brightness(1.1)}.publication-card-read-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 480px){.publication-card-read-btn{min-height:44px;padding:var(--space-sm) var(--space-md)}.publication-card-content{padding:var(--space-sm)}.publication-card-title{font-size:.95rem}.publication-card-meta-fallback,.publication-card-lang-badge{font-size:var(--text-xs)}.publication-card-tags{min-height:4rem}}.home-page{width:100%;max-width:100%;padding:var(--main-padding-mobile)}.home-nav{margin-bottom:1rem}.home-back-projects{font-size:.9375rem;font-weight:550;color:var(--text-secondary);text-decoration:none;transition:color var(--duration-normal) var(--ease-standard)}.home-back-projects:hover{color:var(--accent)}.home-back-projects:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.home-header{margin-bottom:2rem}.home-title{font-size:clamp(1.75rem,4vw,2rem);font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.home-subtitle{font-size:.9375rem;color:var(--text-secondary);margin:0}.home-tabs{display:flex;gap:.5rem;margin-top:1rem}.home-tab{padding:.625rem 1.25rem;min-height:44px;font-size:.9375rem;font-weight:550;color:var(--text-secondary);background:transparent;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard)}.home-tab:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.home-tab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.home-tab-active{color:#fff;border-color:var(--accent);background:var(--accent);font-weight:650}.home-tab-active:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.home-loading,.home-error,.home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;text-align:center}.home-error-detail{font-size:.9375rem;color:var(--text-secondary);margin-top:.5rem}.home-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.home-empty-text{font-size:1.125rem;font-weight:550;color:var(--text-secondary);margin:0 0 .5rem}.home-empty-hint{font-size:.9375rem;color:var(--text-dim);margin:0}.home-filters{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.home-filters .form-group{margin-bottom:0}.home-search{flex:1 1 240px;min-width:200px}.home-search-input{width:100%}.home-filters-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0;flex-wrap:wrap}.home-entity-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.home-entity-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.875rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.home-entity-chip-remove{padding:0 .25rem;font-size:1.125rem;line-height:1;color:var(--text-dim);background:transparent;border:none;cursor:pointer;border-radius:2px;transition:color var(--duration-normal) var(--ease-standard)}.home-entity-chip-remove:hover{color:var(--text-primary)}.home-entity-chip-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-entity-chip-clear-all{padding:.375rem .75rem;font-size:.875rem;font-weight:550;color:var(--accent);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard)}.home-entity-chip-clear-all:hover{color:var(--accent-bright);border-color:var(--accent)}.home-order-btns{display:flex;gap:.5rem}.home-order-btn{padding:.5rem .75rem;min-height:48px;font-size:.9rem;font-weight:550;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard)}.home-order-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.home-order-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-order-btn.active{color:#fff;border-color:var(--accent);background:var(--accent)}.home-order-btn.active:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.home-language-filter{min-width:160px}.home-language-select{width:100%;min-width:140px}.home-empty-filtered{min-height:160px}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}@media (min-width: 768px) and (max-width: 1023px){.home-page{padding:var(--main-padding-tablet)}}@media (min-width: 1024px){.home-page{padding:var(--main-padding-desktop)}}@media (max-width: 768px){.home-page{padding:var(--main-padding-mobile)}.home-header{margin-bottom:1.5rem}.home-title{font-size:1.75rem}.home-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}}@media (max-width: 480px){.home-page{padding:.75rem}.home-nav{margin-bottom:.75rem}.home-back-projects{font-size:.85rem;min-height:44px;display:inline-flex;align-items:center}.home-header{margin-bottom:1.25rem}.home-title{font-size:1.5rem}.home-subtitle{font-size:.85rem}.home-tabs{gap:.25rem;margin-top:.75rem}.home-tab{padding:.5rem .75rem;font-size:.85rem;min-height:44px}.home-filters{flex-direction:column;align-items:stretch;gap:.75rem}.home-search{flex:none;min-width:0}.home-filters-actions{flex-direction:column;align-items:stretch}.home-order-btns{display:flex;gap:.5rem}.home-order-btns .home-order-btn{flex:1}.home-language-filter,.home-language-select{min-width:0}.home-grid{grid-template-columns:1fr;gap:1rem}.home-empty-icon{font-size:2.5rem}.home-empty-text,.home-empty-hint{font-size:.85rem}}.reading-history-loading,.reading-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem}.reading-history-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.reading-history-empty-text{font-size:1.125rem;color:var(--text-primary);margin:0 0 .5rem}.reading-history-empty-hint{font-size:.9375rem;color:var(--text-secondary);margin:0}.reading-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.reading-history-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:all .2s ease}.reading-history-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:var(--accent)}.reading-history-card-cover{position:relative;width:100%;aspect-ratio:2 / 3;background:var(--bg-tertiary);overflow:hidden;display:flex;align-items:center;justify-content:center}.reading-history-card-cover img{width:100%;height:100%;object-fit:cover}.reading-history-card-placeholder{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.reading-history-card-placeholder.hidden{display:none}.reading-history-card-body{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.reading-history-card-title{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reading-history-card-progress{font-size:.85rem;color:var(--text-secondary)}.reading-history-card-date{font-size:.8rem;color:var(--text-dim)}.reading-history-card-actions{margin-top:auto}.reading-history-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:background .2s ease}.reading-history-btn-continue{background:var(--accent);color:var(--accent-contrast)}.reading-history-btn-continue:hover{filter:brightness(1.1)}@media (max-width: 768px){.reading-history-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.reading-history-card-cover{aspect-ratio:3 / 4}}@media (max-width: 480px){.reading-history-grid{grid-template-columns:1fr;gap:1rem}.reading-history-card-cover{aspect-ratio:4 / 5}.reading-history-card-body{padding:.75rem}.reading-history-card-title{font-size:.95rem}.reading-history-card-progress,.reading-history-card-date{font-size:.8rem}.reading-history-btn{min-height:44px;padding:.5rem 1rem}}.reader-settings-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.reader-settings-panel-expanded{grid-template-columns:1fr;max-height:85vh;overflow-y:auto}.reader-settings-panel-expanded .settings-column{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 520px){.reader-settings-panel-expanded{grid-template-columns:auto auto;gap:1.5rem 1.5rem;justify-content:start}}.reader-settings-panel-expanded .settings-section-theme{grid-column:1 / -1;padding-top:.25rem;border-top:1px solid var(--border);margin-top:.25rem}.reader-settings-select{max-width:240px;padding:.5rem 2rem .5rem .75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.toggle-row{display:flex;gap:.5rem}.toggle-option{padding:.4rem .75rem;background:var(--bg-hover);border:2px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.toggle-option:hover{border-color:var(--accent-dim);color:var(--text-primary)}.toggle-option.active{border-color:var(--accent);background:var(--accent-glow);color:var(--text-primary)}.settings-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.settings-checkbox-label input{width:18px;height:18px;cursor:pointer}.theme-preview-colors{display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;letter-spacing:.02em;border:1px solid rgba(0,0,0,.1);border-radius:6px;min-width:36px;min-height:36px}.settings-section{display:flex;flex-direction:column;gap:.75rem}.settings-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.font-selector{display:flex;gap:.5rem;flex-wrap:wrap}.font-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--bg-hover);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;min-width:60px}.font-option:hover{border-color:var(--accent-dim)}.font-option.active{border-color:var(--accent);background:var(--accent-glow)}.font-preview{font-size:1.4rem;color:var(--text-primary)}.font-name{font-size:.7rem;color:var(--text-dim)}.slider-row{display:flex;align-items:center;gap:.75rem;max-width:240px}.slider-label{color:var(--text-dim);min-width:1rem;text-align:center}.settings-slider{flex:1;-webkit-appearance:none;height:6px;background:var(--bg-hover);border-radius:3px;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .2s}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.theme-selector{display:flex;gap:.5rem}.theme-option{padding:.5rem;background:transparent;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.theme-option:hover{border-color:var(--accent-dim)}.theme-option.active{border-color:var(--accent)}.theme-preview{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;font-size:1.2rem}.settings-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-label{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.setting-select{padding:.5rem 2.5rem .5rem .75rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(18,18,26,.8) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:auto,12px;border:1px solid var(--border);border-radius:10px;color:var(--text-primary)!important;font-family:var(--font-mono);font-size:.85rem;font-weight:500;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.setting-select::-ms-value{background:transparent;color:var(--text-primary)!important}.setting-select::-moz-selection{background:transparent;color:var(--text-primary)!important}.setting-select:hover{border-color:#8b5cf666;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(18,18,26,.8) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b5cf6' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:auto,12px;box-shadow:0 2px 8px #8b5cf61a}.setting-select:focus{outline:none;border-color:var(--accent);background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(18,18,26,.95) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b5cf6' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:auto,12px;box-shadow:0 0 0 3px var(--accent-glow),0 4px 16px #8b5cf633}.setting-select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem;font-weight:400}.setting-select option:checked{background:linear-gradient(135deg,var(--accent-dim) 0%,var(--accent) 100%);color:#fff!important;font-weight:600}.setting-select optgroup{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.75rem;padding:.25rem}.setting-select optgroup option{padding-left:1rem;background:var(--bg-card)}.setting-select optgroup option:checked{background:linear-gradient(135deg,var(--accent-dim) 0%,var(--accent) 100%);color:#fff!important}.setting-select option:hover{background:var(--bg-hover)}.slider-container{display:flex;align-items:center;gap:.75rem}.slider{flex:1;-webkit-appearance:none;height:6px;background:var(--bg-secondary);border-radius:3px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dim) 100%);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px var(--accent-glow);transition:transform .2s}.slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-value{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);min-width:2.5rem;text-align:right}.setting-hint{font-size:.75rem;color:var(--text-dim);font-style:italic}.stages-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.stages-title{font-size:.95rem;font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.stages-grid{display:flex;gap:.5rem}.stage-toggle{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.stage-toggle:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.stage-toggle.active{border-color:var(--accent);background:#8b5cf61a}.stage-toggle.disabled{opacity:.5;cursor:not-allowed}.stage-toggle.disabled:hover{border-color:var(--border);background:var(--bg-secondary)}.stage-icon{font-size:1.3rem;margin-bottom:.3rem}.stage-name{font-size:.8rem;font-weight:500;text-align:center}.stage-arrow{color:var(--text-dim);font-size:1.2rem;display:flex;align-items:center}.stage-checkbox{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:.6rem;color:transparent;transition:all .2s}.stage-toggle.active .stage-checkbox{background:var(--success);color:#fff}.stats{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.stat-item{flex:1;text-align:center}.stat-value{font-size:1.5rem;font-weight:600;color:var(--accent);font-family:var(--font-mono)}.stat-label{font-size:.8rem;color:var(--text-dim)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.alert-banner{background:#ef44441a;border:1px solid var(--error);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1rem;display:none}.alert-banner.visible{display:flex;align-items:center;gap:1rem}.alert-icon{font-size:1.5rem}.alert-content h4{color:var(--error);margin-bottom:.25rem}.alert-content p{color:var(--text-secondary);font-size:.9rem}.alert-content code{background:var(--bg-secondary);padding:.2rem .5rem;border-radius:4px;font-family:var(--font-mono);font-size:.85rem}.book-metadata-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.metadata-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.metadata-icon{font-size:1.25rem}.metadata-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.metadata-content{display:flex;gap:1.5rem;flex-wrap:wrap}.metadata-cover{flex-shrink:0}.cover-image{width:120px;height:auto;max-height:180px;border-radius:8px;box-shadow:0 4px 12px #0000004d;object-fit:contain;background:var(--bg-secondary)}.metadata-details{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.75rem}.metadata-item{display:flex;flex-direction:column;gap:.25rem}.metadata-item.metadata-description{margin-top:.5rem}.metadata-label{font-size:.8rem;color:var(--text-dim);font-weight:500}.metadata-value{font-size:.9rem;color:var(--text-primary);line-height:1.5}.description-text{max-height:150px;overflow-y:auto;padding:.5rem;background:var(--bg-secondary);border-radius:6px;white-space:pre-wrap;word-wrap:break-word}.description-text.editable{cursor:pointer;min-height:4rem;transition:background .2s,border-color .2s}.description-text.editable:hover{background:var(--bg-hover);outline:1px solid var(--border);outline-offset:2px}.description-text.editable.empty{color:var(--text-dim);font-style:italic}.project-description-editor{display:flex;flex-direction:column;gap:.5rem}.project-description-textarea{width:100%;min-height:100px;padding:.5rem .75rem;font-size:.9rem;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;resize:vertical;font-family:inherit}.project-description-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.project-description-actions{display:flex;gap:.5rem;flex-wrap:wrap}.translation-stats-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.translation-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.translation-stat-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.translation-stat-label{font-size:.75rem;color:var(--text-dim);font-weight:500}.translation-stat-value{font-size:.9rem;color:var(--text-primary);font-weight:600;font-family:var(--font-mono)}@media (max-width: 767px){.reader-settings-panel .settings-section-container-width{display:none}.reader-settings-panel{padding:1rem;gap:1.25rem;grid-template-columns:1fr}.font-selector{gap:.375rem}.font-option{padding:.375rem .625rem;min-width:50px}.font-preview{font-size:1.2rem}.settings-panel{grid-template-columns:1fr;gap:.75rem}.stages-grid{gap:.375rem}.stage-toggle{padding:.625rem .375rem}.stage-icon{font-size:1.1rem}.stage-name{font-size:.75rem}.stats{gap:.75rem}.stat-value{font-size:1.25rem}}@media (max-width: 480px){.reader-settings-panel{padding:.875rem;gap:1rem}.settings-section{gap:.625rem}.font-selector{gap:.25rem}.font-option{padding:.3rem .5rem;min-width:45px}.font-preview{font-size:1.1rem}.font-name{font-size:.65rem}.settings-panel{gap:.5rem}.stages-grid{flex-direction:column;gap:.5rem}.stage-toggle{flex-direction:row;justify-content:flex-start;padding:.75rem 1rem;gap:.75rem}.stage-icon{font-size:1.3rem;margin-bottom:0}.stage-name{font-size:.85rem;text-align:left}.stage-checkbox{position:static;margin-left:auto}.stats{gap:.5rem}.stat-item{flex:1;min-width:0}.stat-value{font-size:1.125rem}.stat-label{font-size:.75rem}.metadata-content{flex-direction:column}.cover-image{width:100%;max-width:200px;margin:0 auto}.translation-stats-grid{grid-template-columns:1fr}}@media (max-width: 360px){.reader-settings-panel{padding:.75rem}.font-option{padding:.25rem .375rem;min-width:40px}.font-preview{font-size:1rem}.stage-toggle{padding:.625rem .875rem}.stat-value{font-size:1rem}}.profile-page{width:100%;max-width:100%;padding:var(--main-padding-mobile)}.profile-page-header{margin-bottom:1rem}.profile-page-back{font-size:.9375rem;font-weight:550;color:var(--text-secondary);background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;transition:color var(--duration-normal, .2s) var(--ease-standard, ease)}.profile-page-back:hover{color:var(--accent)}.profile-page-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.profile-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:0}.profile-tab{padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard)}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.profile-content{min-height:200px}.profile-section{margin-top:0}.profile-section-title{font-size:1.25rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.profile-settings-panel{max-width:600px}.profile-settings-loading{padding:2rem;color:var(--text-secondary)}.profile-avatar-section{padding:2rem;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.profile-avatar-preview{width:96px;height:96px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials{font-size:2rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.profile-avatar-input{display:none}.profile-avatar-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;background:var(--accent);color:var(--accent-contrast, #fff);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--duration-normal) var(--ease-standard)}.profile-avatar-btn:hover:not(:disabled){opacity:.9}.profile-avatar-btn:disabled{opacity:.6;cursor:not-allowed}.profile-email{color:var(--text-secondary);font-size:.9375rem;margin:0}.profile-role-block{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.profile-role-label{font-size:.875rem;color:var(--text-secondary)}.profile-role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.profile-upgrade-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.profile-upgrade-hint{font-size:.875rem;color:var(--text-secondary);margin:0}@media (min-width: 768px) and (max-width: 1023px){.profile-page{padding:var(--main-padding-tablet)}}@media (min-width: 1024px){.profile-page{padding:var(--main-padding-desktop)}}@media (max-width: 480px){.profile-page{padding:.75rem}.profile-page-back{font-size:.85rem;min-height:44px}.profile-tabs{margin-bottom:1.5rem;gap:.25rem}.profile-tab{padding:.5rem .75rem;font-size:var(--text-sm);min-height:44px}.profile-section-title{font-size:var(--text-lg)}.profile-avatar-section{padding:var(--space-lg)}.profile-avatar-preview{width:72px;height:72px}.profile-avatar-initials{font-size:1.5rem}}.project-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:var(--accent)}.project-card-cover{position:relative;width:100%;aspect-ratio:2 / 3;background:var(--bg-tertiary);overflow:hidden;display:flex;align-items:center;justify-content:center}.project-card-cover img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.project-card-cover img:not([src]){opacity:0}.project-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);position:relative;overflow:hidden}.project-card-placeholder.hidden{display:none}.book-placeholder{width:100%;height:100%;position:absolute;top:0;left:0;opacity:.9;transition:opacity .3s ease}.project-card:hover .book-placeholder{opacity:1}.project-card-progress-overlay{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0003}.project-card-progress-bar{height:100%;background:var(--accent);transition:width .3s ease}.project-card-content{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.project-card-title{font-weight:600;font-size:.95rem;line-height:1.4;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.project-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.project-card-progress{flex:1}.project-card-status{font-size:.9rem}.project-card-status-error{color:var(--error)}.project-card-status-complete{color:var(--success)}.project-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-dim);margin-top:auto}.project-card-date{flex:1}.project-card-glossary{font-size:.75rem}@media (max-width: 768px){.project-card-cover{aspect-ratio:3 / 4}.project-card-title{font-size:.9rem}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem;padding:1rem 0}@media (min-width: 768px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2rem}}@media (min-width: 1024px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (min-width: 1440px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.project-grid-loading,.project-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.project-grid-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.project-grid-empty-text{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.project-grid-empty-hint{font-size:.9rem;color:var(--text-dim)}.dashboard{width:100%;max-width:100%;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.dashboard-title h1{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.dashboard-subtitle{font-size:.9375rem;color:var(--text-secondary);font-weight:500;margin:0}.dashboard-create-btn{white-space:nowrap}.dashboard-filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.dashboard-search{width:100%;max-width:400px}.dashboard-search-input{width:100%}.dashboard-type-filters{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-filter-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;min-height:44px;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9375rem;font-weight:550;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);white-space:nowrap}.dashboard-filter-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.dashboard-filter-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.dashboard-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}.dashboard-filter-btn.active:hover{background:var(--accent-bright);border-color:var(--accent-bright)}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-title h1{font-size:1.5rem}.dashboard-create-btn{width:100%}.dashboard-filters{margin-bottom:1.5rem}.dashboard-type-filters{width:100%}.dashboard-filter-btn{flex:1 1 auto;min-width:0;white-space:normal;padding:.5rem .75rem;font-size:.875rem}}@media (max-width: 480px){.dashboard-filter-btn{padding:.5rem .625rem;font-size:.8125rem}}.projects-page{width:100%;max-width:100%;padding:var(--main-padding-mobile)}.projects-role-badge{display:inline-flex;align-items:center;margin-top:.25rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}@media (min-width: 768px) and (max-width: 1023px){.projects-page{padding:var(--main-padding-tablet)}}@media (min-width: 1024px){.projects-page{padding:var(--main-padding-desktop)}}@media (max-width: 480px){.projects-page{padding:.75rem}}.admin-entities-page{max-width:980px;margin:0 auto;padding:1.5rem}.admin-entities-header h1{margin:0 0 .5rem}.admin-entities-header p{margin:0 0 1.25rem;opacity:.8}.admin-entities-form{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.5rem;background:var(--bg-card)}.admin-entities-textarea{min-height:110px;resize:vertical}.admin-entities-actions{display:flex;justify-content:flex-end}.admin-entities-message{margin:0;font-size:.95rem}.admin-entities-message.error{color:var(--error)}.admin-entities-message.success{color:var(--success)}.admin-entities-list h2{margin:0 0 .75rem}.admin-entities-empty{opacity:.8}.admin-entities-container{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.admin-entities-chip{display:inline-flex;align-items:center;padding:.35rem .75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-secondary)}.admin-entities-card{flex:0 0 auto;width:min(100%,220px);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.admin-entities-card-photo{width:100%;height:140px;object-fit:cover;display:block}.admin-entities-card-content{padding:.75rem}.admin-entities-card-content h3{margin:.2rem 0 .35rem;font-size:var(--text-base)}.admin-entities-card-content p{margin:0;font-size:var(--text-sm);opacity:.85}.admin-entities-kind{font-size:var(--text-xs);opacity:.75}.admin-entities-list-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.admin-entities-list-header h2{margin:0;flex:1;min-width:120px}.admin-entities-filters{display:flex;gap:.75rem;align-items:flex-end}.admin-entities-filters .form-group{margin:0}.admin-entities-filters .form-input{min-width:180px}.admin-entities-chip--actions{display:inline-flex;align-items:center;gap:.35rem;padding-right:.35rem}.admin-entities-chip-text{flex:0 0 auto}.admin-entities-chip-actions{display:flex;gap:.15rem;opacity:.7}.admin-entities-chip--actions:hover .admin-entities-chip-actions,.admin-entities-chip-actions:focus-within{opacity:1}.admin-entities-card--actions{position:relative}.admin-entities-card-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:.6}.admin-entities-card--actions:hover .admin-entities-card-actions,.admin-entities-card-actions:focus-within{opacity:1}.admin-entities-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.admin-entities-action-btn:hover{background:var(--border-hover);color:var(--text-primary)}.admin-entities-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-entities-action-btn--danger:hover{background:color-mix(in srgb,var(--error) 20%,transparent);color:var(--error)}.admin-entities-form--modal{margin-bottom:0;border:none;padding:0;background:transparent}.admin-photo-upload .form-label{display:block;margin-bottom:.5rem}.admin-photo-zone{position:relative}.admin-photo-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.admin-photo-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:120px;padding:1rem;border:2px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-dim);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.admin-photo-drop:hover{border-color:var(--border-hover);background:var(--bg-card);color:var(--text-secondary)}.admin-photo-drop .material-symbols-outlined{font-size:2rem;opacity:.7}.admin-photo-preview{position:relative;display:inline-block}.admin-photo-preview-img{display:block;max-width:160px;max-height:160px;width:auto;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:cover}.admin-photo-remove{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#0009;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:background var(--duration-fast)}.admin-photo-remove:hover{background:#000c}.admin-photo-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entity-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard);position:relative;min-height:44px}.entity-card:hover{background:var(--bg-hover);border-color:var(--border-hover)}.entity-card--compact{padding:var(--space-xs) var(--space-sm)}.entity-card--interactive{cursor:pointer}.entity-card--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entity-card__avatar{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden}.entity-card--compact .entity-card__avatar{width:40px;height:40px}.entity-card__photo{width:100%;height:100%;object-fit:cover}.entity-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--fw-semibold)}.entity-card__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.entity-card__popup{position:absolute;bottom:calc(100% + var(--space-sm));left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;min-width:180px;max-width:320px;width:max-content;z-index:100;box-shadow:0 4px 12px #0000004d;animation:entity-card-popup-in var(--duration-fast) var(--ease-standard)}.entity-card__popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-card)}@keyframes entity-card-popup-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-standard);min-height:28px}.tag-chip:hover{background:var(--bg-card);border-color:var(--border-hover)}.tag-chip--selected{border-color:var(--accent);background:#9d6fff1f;color:var(--text-primary)}.tag-chip--interactive{cursor:pointer}.tag-chip--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tag-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.tag-chip__remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0 0 0 2px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-size:1rem;line-height:1;cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.tag-chip__remove:hover{color:var(--text-primary);background:#ffffff1a}.tag-chip__remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.entity-picker-modal{min-height:200px;max-height:60vh;overflow-y:auto}.entity-picker-modal__loading{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--text-secondary)}.entity-picker-modal__loading .spinner{width:24px;height:24px;border-width:2px}.entity-picker-modal__error{padding:var(--space-md);background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error)}.entity-picker-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md)}.entity-picker-modal__chips{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.entity-picker-modal__show-all{display:block;width:100%;margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.entity-picker-modal__show-all:hover{background:var(--bg-card);border-color:var(--border-hover);color:var(--text-primary)}.entity-picker-modal__empty{padding:var(--space-xl);text-align:center;color:var(--text-dim);font-size:var(--text-sm)}.entity-section__content{display:flex;flex-direction:column;gap:var(--space-md)}.entity-section__row{display:flex;flex-direction:column;gap:var(--space-xs)}@media (min-width: 520px){.entity-section__row{flex-direction:row;align-items:flex-start}.entity-section__label{min-width:100px}}.entity-section__label{font-size:var(--text-sm);color:var(--text-secondary)}.entity-section__value,.entity-section__tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.entity-section__card-wrap{display:flex;align-items:center;gap:var(--space-sm)}.entity-section__remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:1.25rem;line-height:1;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.entity-section__remove:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-hover)}.entity-section__remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entity-section__remove:disabled{opacity:.6;cursor:not-allowed}.publish-modal-entities{display:flex;flex-direction:column;gap:var(--space-md)}.publish-modal-entity-row{display:flex;flex-direction:column;gap:var(--space-xs)}@media (min-width: 520px){.publish-modal-entity-row{flex-direction:row;align-items:center}.publish-modal-entity-label{min-width:90px}}.publish-modal-entity-label{font-size:var(--text-sm);color:var(--text-secondary)}.publish-modal-entity-value{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.publish-modal-not-selected{font-size:var(--text-sm);color:var(--text-dim)}.welcome{text-align:center;padding:4rem 2rem}.welcome-logo{width:140px;height:140px;margin-bottom:1.5rem;border-radius:50%;box-shadow:0 8px 40px var(--accent-glow);animation:float 3s ease-in-out infinite}.welcome h2{font-size:2rem;font-weight:600;margin-bottom:1rem}.welcome p{color:var(--text-secondary);max-width:500px;margin:0 auto 2rem;font-size:1.1rem}.chapter-list-card{min-width:0;overflow:hidden}.chapter-list-title-meta{margin-left:.5rem;display:inline-flex;align-items:center}.chapter-list-title-spinner{margin-right:.4rem;width:12px;height:12px}.chapter-list-title-note{color:var(--text-dim)}.chapter-list-title-note-spaced{margin-right:.5rem}.chapter-list{display:flex;flex-direction:column;gap:.75rem;min-height:100px;max-height:500px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}.chapter-list::-webkit-scrollbar{width:6px}.chapter-list::-webkit-scrollbar-track{background:transparent}.chapter-list::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}.chapter-list::-webkit-scrollbar-thumb:hover{background:var(--accent)}.chapter-filters{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.chapter-filter-btn{display:inline-flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0;padding:.4rem .5rem;background:var(--bg-secondary);border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.chapter-filter-label{overflow:hidden;text-overflow:ellipsis;min-width:0}.chapter-filter-label-short{display:none}@media (max-width: 768px){.chapter-filter-label-long{display:none}.chapter-filter-label-short{display:inline}.chapter-filter-btn{padding:.35rem .4rem;font-size:.8rem}}.chapter-filter-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.chapter-filter-btn.active{background:var(--accent-dim);color:#fff;border-color:var(--accent)}.chapter-count-badge{font-size:.8rem;font-weight:400;color:var(--text-dim);margin-left:.5rem}.chapter-search{margin-bottom:.75rem}.chapter-search-input{width:100%;padding:.5rem .75rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(18,18,26,.8) 100%);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.chapter-search-input:hover{border-color:#8b5cf666;box-shadow:0 2px 8px #8b5cf61a}.chapter-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 4px 16px #8b5cf633}.chapter-search-input::placeholder{color:var(--text-dim)}.chapter-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chapter-item-drag-area{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.chapter-item-drag-area:active{cursor:grabbing}.chapter-item.active{background:linear-gradient(135deg,var(--accent-dim) 0%,var(--accent) 100%);border-color:var(--accent);box-shadow:0 4px 16px var(--accent-glow),0 0 0 1px #8b5cf666,0 0 24px #8b5cf633}.chapter-item.dragging{opacity:.5;cursor:grabbing!important}.chapter-item.drag-over{border-color:var(--accent);border-style:dashed;background:linear-gradient(135deg,var(--accent-glow) 0%,rgba(139,92,246,.1) 100%);transform:scale(1.02)}.chapter-number{min-width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(34,34,46,.8) 100%);border-radius:6px;font-size:.8rem;font-weight:600;color:var(--text-dim);flex-shrink:0;border:1px solid var(--border);transition:all .3s ease}.chapter-item:hover .chapter-number{border-color:var(--accent);box-shadow:0 2px 8px #8b5cf633}.chapter-item.active .chapter-number{background:linear-gradient(135deg,#fff3,#ffffff1a);color:#fff;border-color:#ffffff4d;box-shadow:0 2px 12px #fff3}.chapter-list-empty{text-align:center;padding:1rem;color:var(--text-dim)}.chapter-number-edit{display:flex;align-items:center;gap:.25rem;min-width:1.75rem}.chapter-number-input{min-width:2.5rem;height:1.75rem;padding:0 .25rem;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(26,26,36,.8) 100%);border:1px solid var(--accent);border-radius:6px;font-size:.8rem;font-weight:600;color:var(--text-primary);text-align:center;outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.chapter-number-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow),0 2px 8px #8b5cf64d}.chapter-number-edit-actions{display:flex;gap:.1rem}.chapter-number-save-btn,.chapter-number-cancel-btn{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;transition:all .2s;padding:0}.chapter-number-save-btn:hover{background:var(--success);border-color:var(--success);color:#fff;transform:scale(1.1)}.chapter-number-cancel-btn:hover{background:var(--error);border-color:var(--error);color:#fff;transform:scale(1.1)}.chapter-number-save-btn:disabled,.chapter-number-cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chapter-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;position:relative;z-index:1}.chapter-status-icon.is-completed{color:var(--success)}.chapter-status-icon.is-error{color:var(--error)}.chapter-status-icon.is-draft,.chapter-status-icon.is-analyzed,.chapter-status-icon.is-translating{color:var(--accent)}.chapter-status-icon.is-pending{color:var(--text-dim)}.chapter-delete-btn{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.6;transition:opacity .15s ease,background-color .15s ease;padding:.35rem;border-radius:4px;pointer-events:auto;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.chapter-item:hover .chapter-delete-btn{opacity:.85}.chapter-delete-btn:hover{opacity:1;background:#ef444433}.sidebar-glossary-item{width:100%;color:var(--text-primary);font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.glossary-count{background:var(--accent);color:#fff;padding:.15rem .5rem;border-radius:10px;font-size:.8rem;font-weight:600}.upload-area{border:2px dashed var(--border);border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:all .3s ease;cursor:pointer;width:100%;min-height:120px;box-sizing:border-box;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-area:hover,.upload-area.dragover{border-color:var(--accent);background:#8b5cf60d}.upload-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.6}.upload-area p{color:var(--text-secondary);font-size:.9rem}.sidebar .chapter-list-card{flex-shrink:0}@media (min-width: 768px) and (max-width: 1023px){.chapter-list{max-height:550px}}@media (min-width: 1024px){.chapter-list{max-height:600px}}@media (max-width: 768px){.chapter-item{border-radius:0;padding:1rem;margin:0;border-left:none;border-right:none;border-top:none;border-bottom:1px solid var(--border)}.chapter-item:first-child{border-top:1px solid var(--border)}.chapter-list{gap:.5rem}.chapter-filter-btn{flex:1;min-width:0}}.upload-queue-mini{margin-top:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.upload-queue-mini-label{font-size:.9rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-queue-modal .upload-queue-modal-body{display:flex;flex-direction:column;gap:.75rem;min-width:0}.upload-queue-modal .upload-queue-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.upload-queue-meta{font-size:.8rem;color:var(--text-dim)}.upload-queue-modal .upload-queue-list{display:flex;flex-direction:column;gap:.5rem;max-height:min(60vh,400px);overflow-y:auto;overflow-x:hidden;padding-right:.25rem}.upload-queue-modal .upload-queue-list::-webkit-scrollbar{width:6px}.upload-queue-modal .upload-queue-list::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}@media (max-width: 480px){.upload-queue-modal .upload-queue-list{max-height:min(50vh,280px)}}.upload-queue{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.upload-queue-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.upload-queue-cancel{background:var(--bg-secondary);border:1px solid var(--border);padding:.3rem .6rem;border-radius:6px;cursor:pointer}.queue-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.queue-item .queue-item-left{display:flex;align-items:center;gap:.5rem}.queue-status{min-width:2.5rem;width:auto;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:.72rem;padding:0 .35rem;font-weight:600}.queue-item.uploading .queue-status{color:var(--accent)}.queue-item.success .queue-status{color:var(--success)}.queue-item.error .queue-status{color:var(--error)}.queue-item.canceled .queue-status{color:var(--text-dim)}.queue-name{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-progress{position:relative;height:1.25rem;background:var(--bg-secondary);border-radius:6px;overflow:hidden;margin-top:.25rem}.queue-item-progress-bar{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:6px;transition:width .15s ease-out}.queue-item-progress-text{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-primary);text-shadow:0 0 2px var(--bg-primary)}.queue-item-import-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--text-dim)}.queue-item-import-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.queue-warnings{margin-top:.25rem;padding:.25rem 0;font-size:.85rem;color:var(--text-secondary)}.queue-warning-item{margin-top:.125rem}.chapter-delete-confirm-btn{background:var(--error);color:#fff}.chapter-delete-confirm-btn:disabled{opacity:.6}.chapter-delete-warning{color:var(--error);font-size:.9rem;margin-top:1rem}.chapter-delete-warning-subtle{color:var(--text-dim);margin-top:.35rem;font-size:.8rem}.queue-item-actions{display:flex;gap:.4rem;flex-wrap:wrap}.queue-error{color:var(--error);font-size:.8rem;margin:0;white-space:pre-wrap}.small{padding:.25rem .5rem;font-size:.85rem;border-radius:6px}.chapter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem;flex-wrap:wrap;padding:0 1rem}.chapter-header-left{display:flex;align-items:center;flex:1;min-width:0}.chapter-nav{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;max-width:100%;overflow:hidden}.chapter-header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.chapter-nav-btn{width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:550;transition:all var(--duration-normal) var(--ease-standard);flex-shrink:0}.chapter-nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--accent)}.chapter-nav-btn:active:not(:disabled){opacity:.9}.chapter-nav-btn:disabled{opacity:.4;cursor:not-allowed}.chapter-nav-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chapter-header-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:all var(--duration-normal) var(--ease-standard);flex-shrink:0}.chapter-header-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--accent)}.chapter-header-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chapter-header-btn.is-active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}.chapter-title-wrapper{display:flex;align-items:center;gap:.5rem;position:relative;flex:1;min-width:0;max-width:100%;overflow:hidden}.chapter-title{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chapter-title-editable{cursor:pointer;transition:color var(--duration-normal) var(--ease-standard)}.chapter-title-editable:hover{color:var(--accent)}.chapter-title-editable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width: 767px){.chapter-header{padding:0 .75rem;gap:.75rem}.chapter-nav{gap:.5rem;max-width:100%}.chapter-nav-btn{width:40px;height:40px;min-width:40px;font-size:.9rem}.chapter-title-wrapper{max-width:calc(100% - 200px)}.chapter-title{font-size:1.125rem;max-width:100%}.chapter-header-right{gap:.5rem;width:100%;order:3}.chapter-header-right .btn{font-size:.8125rem;padding:.5rem .75rem;min-height:40px}}@media (max-width: 480px){.chapter-header{padding:0 .5rem;gap:.5rem}.chapter-nav{gap:.375rem}.chapter-nav-btn{width:36px;height:36px;min-width:36px;font-size:.875rem}.chapter-title-wrapper{max-width:calc(100% - 160px)}.chapter-title{font-size:1rem}.chapter-header-right{gap:.375rem}.chapter-header-right .btn{font-size:.75rem;padding:.375rem .625rem;min-height:36px}.chapter-header-right .btn:before{content:none}}.chapter-status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-family:var(--font-mono);font-weight:550;white-space:nowrap;flex-shrink:0}.status-pending{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.status-translating{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-bright);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.status-analyzed,.status-draft{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.status-completed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.status-error{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 30%,transparent)}.status-translated,.status-approved{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.status-edited{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.chapter-progress{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.progress-bar{flex:1;height:8px;background:var(--bg-card);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--border);position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-bright) 50%,var(--success) 100%);border-radius:var(--radius-full);transition:width .5s var(--ease-emphasized);position:relative}.progress-text{font-size:.875rem;font-family:var(--font-mono);font-weight:550;color:var(--text-secondary);min-width:4rem;text-align:right}@media (max-width: 360px){.chapter-header{padding:0 .375rem;gap:.375rem}.chapter-nav{gap:.25rem}.chapter-nav-btn{width:32px;height:32px;min-width:32px;font-size:.8rem}.chapter-title-wrapper{max-width:calc(100% - 140px)}.chapter-title{font-size:.9375rem}.chapter-header-right{gap:.25rem}.chapter-header-right .btn{font-size:.7rem;padding:.25rem .5rem;min-height:32px}}.process-chapters-selection-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem;font-size:.85rem}.process-chapters-selection-actions{display:flex;gap:.5rem;align-items:center}.process-chapters-link-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem 0;text-decoration:underline;font-size:inherit}.process-chapters-link-btn:hover{color:var(--accent-bright)}.process-chapters-link-btn-dim{color:var(--text-dim)}.process-chapters-link-btn-dim:hover{color:var(--text-secondary)}.process-chapters-separator{color:var(--border);margin:0 .25rem}.process-chapters-filter-presets{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1 1 auto;min-width:0}.process-chapters-search-wrap{margin-left:auto;width:fit-content;max-width:180px;flex-shrink:0}.process-chapters-search-wrap .form-group{margin-bottom:0;width:100%}.process-chapters-search-wrap .form-input,.process-chapters-search{max-width:180px;font-size:.85rem;min-height:36px;padding:.35rem .6rem}.process-chapters-pagination-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}.process-chapters-per-page{display:flex;align-items:center;gap:.35rem}.process-chapters-per-page-select{padding:.25rem .5rem;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.process-chapters-select-displayed-btn{padding:.35rem .6rem;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.process-chapters-select-displayed-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.process-chapters-select-displayed-btn:disabled{cursor:not-allowed;opacity:.5}.process-chapters-page-nav{display:flex;align-items:center;gap:.5rem}.process-chapters-nav-btn{padding:.2rem .5rem;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.process-chapters-nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.process-chapters-nav-btn:disabled{cursor:not-allowed;opacity:.5}.process-chapters-page-of{font-size:.85rem}.process-chapters-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;width:100%}.process-chapters-footer-left{display:flex;gap:.5rem}.process-chapters-footer-right{display:flex;flex-wrap:wrap;gap:.5rem}.process-chapters-preset-active{background:var(--accent-subtle, rgba(var(--accent-rgb), .1))!important;border:1px solid var(--accent)!important;color:var(--accent)!important}.process-chapters-quick-block{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;margin-bottom:.75rem;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border)}.process-chapters-quick-block-inner{display:inline-flex;align-items:center;gap:.5rem}.form-actions .process-chapters-footer{flex:none;min-width:auto}@media (max-width: 480px){.process-chapters-footer{flex-direction:column;align-items:stretch}.process-chapters-footer-left,.process-chapters-footer-right{justify-content:center}}@media (max-width: 600px){.process-chapters-selection-row{flex-direction:column;align-items:stretch}.process-chapters-search-wrap{margin-left:0;margin-top:.25rem;max-width:100%}.process-chapters-search-wrap .form-input,.process-chapters-search{max-width:100%}.process-chapters-pagination-row{flex-direction:column;align-items:flex-start}}.jobs-panel{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-standard)}.jobs-panel:hover{border-color:var(--border-hover)}.jobs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--text-secondary)}.jobs-panel-header-left{display:flex;align-items:center;gap:var(--space-sm)}.jobs-panel-title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.jobs-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 var(--space-xs);font-size:var(--text-xs);font-weight:var(--fw-semibold);background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-full)}.jobs-panel-loading{font-size:var(--text-sm);color:var(--text-dim)}.jobs-panel-list{list-style:none;margin:0;padding:0}.jobs-panel-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.jobs-panel-item:last-child{border-bottom:none}.jobs-panel-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.jobs-panel-item-type{color:var(--text-secondary);font-weight:var(--fw-medium)}.jobs-panel-item-status{font-weight:var(--fw-medium)}.jobs-panel-item-status--queued,.jobs-panel-item-status--processing{color:var(--accent)}.jobs-panel-item-status--completed{color:var(--success)}.jobs-panel-item-status--error{color:var(--error)}.jobs-panel-item-status--canceled{color:var(--text-dim)}.jobs-panel-item-progress-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.jobs-panel-item-progress-bar{flex:1;min-width:0;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.jobs-panel-item-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-standard)}.jobs-panel-item-progress-text{flex-shrink:0;color:var(--text-dim);font-size:var(--text-xs)}.jobs-panel-item-progress{color:var(--text-dim);font-size:var(--text-xs)}.jobs-panel-item-chapter{margin-left:var(--space-xs);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}.jobs-panel-item-chapter-link{color:var(--accent);cursor:pointer;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.jobs-panel-item-chapter-link:hover{color:var(--accent-bright)}.jobs-panel-item-chapter-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jobs-panel-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--text-dim)}.jobs-panel-item-tokens,.jobs-panel-item-started{font-size:var(--text-xs);color:var(--text-dim)}.jobs-panel-item-footer{display:flex;justify-content:flex-end;margin-top:var(--space-sm)}.jobs-panel-item-cancel{min-height:44px}@media (max-width: 767px){.jobs-panel-item-cancel{min-height:44px}}.replace-preview-body{max-height:60vh;overflow-y:auto}.replace-preview-hint{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.replace-preview-list{display:flex;flex-direction:column;gap:1rem}.replace-preview-item{padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.replace-preview-item-header{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.replace-preview-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.replace-preview-row:last-child{margin-bottom:0}.replace-preview-label{font-size:.75rem;color:var(--text-dim)}.replace-preview-text{font-size:.875rem;white-space:pre-wrap;word-break:break-word}.replace-preview-before{color:var(--text-secondary)}.replace-preview-after{color:var(--text-primary)}.replace-preview-more{margin:1rem 0 0;font-size:.85rem;color:var(--text-dim)}.replace-preview-footer{display:flex;justify-content:flex-end;gap:.75rem}.search-replace-bar{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.5rem}.search-replace-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem}.search-replace-row:last-of-type{margin-bottom:0}.search-replace-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1;min-width:0}.search-replace-find,.search-replace-replace{flex:1;min-width:120px;max-width:280px}.search-replace-find .form-input,.search-replace-replace .form-input{padding:.4rem .6rem;font-size:.9rem}.search-replace-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.search-replace-nav{display:flex;align-items:center;gap:.25rem}.search-replace-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:all var(--duration-normal) var(--ease-standard)}.search-replace-nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--accent)}.search-replace-nav-btn:disabled{opacity:.4;cursor:not-allowed}.search-replace-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-replace-count{font-size:.8rem;color:var(--text-dim);min-width:4rem}.search-replace-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-normal)}.search-replace-close:hover{color:var(--text-primary)}.search-replace-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-results-table{margin-top:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;max-height:200px;overflow-y:auto}.search-results-header{padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border-bottom:1px solid var(--border)}.search-results-row{display:grid;grid-template-columns:3rem 4rem 1fr;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast);align-items:center}.search-results-row:last-child{border-bottom:none}.search-results-row:hover{background:var(--bg-hover)}.search-results-row.is-current{background:color-mix(in srgb,var(--accent) 12%,transparent)}.search-results-row .search-result-index{font-family:var(--font-mono);font-weight:550;color:var(--text-dim)}.search-results-row .search-result-para{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.search-results-row .search-result-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.search-results-row .search-result-snippet mark{background:var(--warning);color:var(--text-primary);padding:0 .1em;border-radius:2px}.search-results-empty{padding:1.5rem;text-align:center;color:var(--text-dim);font-size:.9rem}@media (max-width: 600px){.search-results-row{grid-template-columns:2.5rem 3rem 1fr;font-size:.8rem}}.project-search-modal .modal-body{min-height:200px}.project-search-body{display:flex;flex-direction:column;gap:1rem}.project-search-input-row{display:flex;gap:.5rem}.project-search-loading{padding:2rem;text-align:center;color:var(--text-dim)}.project-search-error{padding:1rem;background:color-mix(in srgb,var(--error) 10%,transparent);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);display:flex;align-items:center;gap:.75rem}.project-search-results{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;max-height:400px;display:flex;flex-direction:column}.project-search-results-header{padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border-bottom:1px solid var(--border)}.project-search-list{overflow-y:auto}.project-search-row{display:grid;grid-template-columns:minmax(120px,1fr) 4rem 2fr;gap:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast);align-items:center}.project-search-row:last-child{border-bottom:none}.project-search-row:hover{background:var(--bg-hover)}.project-search-chapter{font-size:.85rem;font-weight:550;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-search-para{font-family:var(--font-mono);font-size:.8rem;color:var(--text-dim)}.project-search-snippet{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-search-empty{padding:2rem;text-align:center;color:var(--text-dim)}.project-search-result{padding:.75rem;border-radius:var(--radius-md);font-size:.9rem}.project-search-result-ok{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.project-search-result-partial{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}@media (max-width: 600px){.project-search-row{grid-template-columns:1fr 3rem}.project-search-row .project-search-para{grid-column:2}.project-search-row .project-search-snippet{grid-column:1 / -1}}.settings-modal{width:100%;max-width:100%;flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}.settings-modal::-webkit-scrollbar{width:8px}.settings-modal::-webkit-scrollbar-track{background:transparent}.settings-modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.settings-modal::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}@media (min-width: 768px){.settings-modal{padding:1.75rem}}@media (min-width: 1024px){.settings-modal{padding:2rem}}.settings-modal .settings-panel{display:block;width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.settings-modal .setting-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.settings-modal .setting-group:last-child{margin-bottom:0}.settings-modal .setting-group-unified{width:100%}.settings-modal .setting-group-unified .stage-rows{display:flex;flex-direction:column;gap:.75rem;width:100%}.settings-modal .stage-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%}.settings-modal .stage-row-label{font-size:.9rem;color:var(--text-secondary);min-width:7rem;flex-shrink:0}.settings-modal .stage-row-select{flex:1;min-width:12rem}.settings-modal .stage-row-slider{flex:0 0 auto;width:10rem;min-width:8rem;flex-wrap:wrap}.settings-modal .stage-row-slider .slider{min-width:4rem}.settings-modal .stage-row-slider.slider-disabled{opacity:.75}.settings-modal .stage-row-slider.slider-disabled .slider{cursor:not-allowed}.settings-modal .stage-row-slider .slider-hint{flex-basis:100%;font-size:.7rem;color:var(--text-dim);margin-top:.15rem}.settings-modal .setting-label{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.settings-modal .setting-select{width:100%;padding:.625rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:border-color .2s}.settings-modal .setting-select:hover{border-color:var(--accent-dim)}.settings-modal .setting-select:focus{outline:none;border-color:var(--accent)}.settings-modal .setting-hint{font-size:.85rem;color:var(--text-dim);line-height:1.4}.settings-modal .slider-container{display:flex;align-items:center;gap:1rem}.settings-modal .slider{flex:1;-webkit-appearance:none;height:6px;background:var(--bg-hover);border-radius:3px;cursor:pointer}.settings-modal .slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .2s}.settings-modal .slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.settings-modal .slider::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border:none;border-radius:50%;cursor:pointer;transition:transform .2s}.settings-modal .slider::-moz-range-thumb:hover{transform:scale(1.15)}.settings-modal .slider-value{min-width:3rem;text-align:right;font-weight:600;color:var(--text-primary)}.settings-modal .stages-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.settings-modal .stages-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.settings-modal .stages-grid{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.settings-modal .stage-toggle{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-hover);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.settings-modal .stage-toggle:hover{border-color:var(--accent-dim);background:var(--bg-secondary)}.settings-modal .stage-toggle.active{border-color:var(--accent);background:var(--accent-glow)}.settings-modal .stage-toggle.disabled{cursor:not-allowed;opacity:.7}.settings-modal .stage-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--bg-primary);border:2px solid var(--border);color:var(--text-primary);font-size:.75rem;font-weight:600;opacity:0;transition:opacity .2s}.settings-modal .stage-toggle.active .stage-checkbox,.settings-modal .stage-toggle.disabled .stage-checkbox{opacity:1;background:var(--accent);border-color:var(--accent);color:#fff}.settings-modal .stage-icon{font-size:.75rem;font-weight:700;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-card);border:1px solid var(--border)}.settings-modal .stage-name{font-size:.9rem;font-weight:500;color:var(--text-primary)}.settings-modal .stage-arrow{color:var(--text-dim);font-size:1.2rem;font-weight:600}.settings-modal .text-blocks-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:.75rem}.settings-modal .text-block-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;padding:.75rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}@media (max-width: 640px){.settings-modal .text-block-row{grid-template-columns:1fr}}.settings-modal .text-block-left{min-width:0}.settings-modal .text-block-preview{display:flex;flex-direction:column;gap:.35rem;min-width:0}.settings-modal .text-block-preview-label{font-size:.7rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.settings-modal .text-block-preview-content{font-size:.85rem;line-height:1.5;color:var(--text-primary);padding:.5rem;background:var(--reader-bg, var(--bg-secondary));border-radius:6px;border:1px solid var(--border)}.settings-modal .text-block-preview-content .system-message,.settings-modal .text-block-preview-content .note,.settings-modal .text-block-preview-content .letter,.settings-modal .text-block-preview-content .inner-voice,.settings-modal .text-block-preview-content .notification,.settings-modal .text-block-preview-content .skill{margin:0}.settings-modal .text-blocks-format-help{margin-top:.5rem}.settings-modal .text-blocks-format-content{margin-top:.5rem;padding:.75rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border);font-size:.85rem}.settings-modal .text-blocks-format-code{display:inline-block;padding:.2em .4em;background:var(--bg-hover);border-radius:4px;font-family:var(--font-mono),monospace;font-size:.9em}.settings-modal .text-blocks-format-pre{margin:0;padding:.5rem;background:var(--bg-hover);border-radius:4px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.settings-modal-footer{margin-top:1.5rem;display:flex;justify-content:flex-end}.sidebar-action{width:100%}.sidebar-dashboard-link{font-size:.9rem}.sidebar .glossary-count,.sidebar .sidebar-reports-badge{background:var(--accent);color:#fff;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:650;min-width:24px;text-align:center}.sidebar .sidebar-reports-badge{background:var(--warning)}.sidebar-process-chapters{width:100%;margin-bottom:.5rem}.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.sidebar-mobile-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.sidebar-mobile-logo{width:32px;height:32px}.sidebar-mobile-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:44px;min-height:44px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1.75rem;cursor:pointer;transition:background .15s,border-color .15s;line-height:1;padding:0}.sidebar-mobile-close:hover{background:var(--bg-hover);border-color:var(--accent-dim)}.sidebar-project-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.sidebar-project-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}@media (min-width: 1024px){.sidebar-dashboard-link,.sidebar-process-chapters{margin-bottom:.5rem}.sidebar-project-header{display:none}}.glossary-modal-overlay{z-index:1500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nested-modal{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal.glossary-modal{width:var(--modal-width-mobile);max-width:var(--modal-max-width-mobile);height:85vh;min-height:400px;max-height:95vh;display:flex;flex-direction:column;transform:translateY(0) scale(1);padding:1.25rem;margin:1rem;border-radius:12px}.glossary-modal{width:var(--modal-width-mobile);max-width:var(--modal-max-width-mobile);height:85vh;max-height:95vh;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:0}.glossary-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 1rem;border-bottom:1px solid var(--border);background:transparent}.glossary-modal-header .modal-title{background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glossary-toolbar{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);background:var(--bg-primary);border-radius:8px;margin:.75rem 0 .5rem;flex-shrink:0;position:sticky;top:0;z-index:5}.glossary-search input{width:100%}.glossary-filters{display:flex;gap:.5rem;flex-wrap:wrap}.glossary-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.glossary-sort-row{display:flex;align-items:center;gap:.5rem}.glossary-sort-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.glossary-sort-select{font-size:.85rem;padding:.35rem .6rem;min-width:140px}.glossary-view-toggle{display:flex;gap:.25rem}.glossary-view-btn{padding:.35rem .6rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all .2s}.glossary-view-btn:hover{border-color:var(--accent);color:var(--text-primary)}.glossary-view-btn.active{background:#8b5cf633;border-color:var(--accent);color:var(--accent)}.filter-btn{padding:.4rem .75rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-hover) 100%);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.4rem;position:relative;overflow:hidden}.filter-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.2),transparent);transition:left .5s}.filter-btn:hover:before{left:100%}.filter-btn:hover{background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(139,92,246,.1) 100%);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf633}.filter-btn.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dim) 100%);border-color:var(--accent);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.filter-btn span{font-size:.75rem;opacity:.8}.glossary-grid{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--glossary-grid-min-width-mobile),1fr));gap:var(--glossary-grid-gap-mobile);align-content:start;align-items:start;grid-auto-rows:min-content;min-height:0}.glossary-grid-list{grid-template-columns:1fr;gap:.25rem}.glossary-grid-list .glossary-card{flex-direction:row;align-items:center;padding:.5rem .75rem;gap:.75rem;min-height:auto}.glossary-grid-list .glossary-card-header{flex-direction:row;margin-bottom:0;flex:1;min-width:0}.glossary-grid-list .glossary-card-image,.glossary-grid-list .glossary-card-placeholder{width:36px;height:36px;font-size:1rem;flex-shrink:0}.glossary-grid-list .glossary-card-placeholder{font-size:.9rem}.glossary-grid-list .glossary-card-header-content{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;padding-right:0}.glossary-grid-list .glossary-card-names{flex:1;min-width:0}.glossary-grid-list .glossary-card-description,.glossary-grid-list .glossary-card-notes,.glossary-grid-list .glossary-card-chapters,.glossary-grid-list .glossary-card-footer{display:none}.glossary-grid-list .glossary-card-delete{position:static;width:28px;height:28px;font-size:.85rem;flex-shrink:0}.glossary-grid-list .glossary-card:after{width:2px}.glossary-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--glossary-card-border-radius-mobile);padding:var(--glossary-card-padding-mobile);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:0;position:relative;overflow:hidden;justify-content:flex-start;box-sizing:border-box;width:100%;min-width:0;height:auto;min-height:fit-content;box-shadow:0 2px 8px #0000004d}.glossary-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#8b5cf680;opacity:.8;border-radius:3px 0 0 3px}.glossary-card[data-type=location]:after{background:#22c55e80}.glossary-card[data-type=term]:after{background:#f9731680}.glossary-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(139,92,246,.06) 0%,transparent 100%);opacity:0;transition:opacity .25s;pointer-events:none}.glossary-card:hover{border-color:#8b5cf666;transform:translateY(-1px);box-shadow:0 6px 20px #0006,0 0 0 1px #8b5cf640;z-index:1}.glossary-card:hover:before{opacity:1}.glossary-card-select-mode{padding-left:2.5rem}.glossary-card-selected{border-color:#8b5cf699;box-shadow:0 0 0 2px #8b5cf659,0 4px 12px #0000004d}.glossary-card-checkbox{position:absolute;top:.75rem;left:.75rem;z-index:2}.glossary-card-checkbox input{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--accent)}.glossary-card-translated-editable{cursor:text;border-radius:4px;padding:0 2px}.glossary-card-translated-editable:hover{background:#8b5cf626}.glossary-card-inline-input{font-size:inherit;padding:.15rem .35rem;min-width:80px;max-width:100%}.glossary-context-menu{position:fixed;z-index:2500;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;padding:.25rem 0;min-width:180px}.glossary-context-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background .15s}.glossary-context-menu-item:hover{background:var(--bg-hover)}.glossary-context-menu-item-danger:hover{background:#ef444433;color:var(--text-primary)}.glossary-card-chapters-count{background:#8b5cf626;color:var(--accent);border:1px solid rgba(139,92,246,.3);white-space:nowrap;flex-shrink:0;font-size:.75rem;padding:.35rem .625rem;border-radius:6px}.glossary-card-header{display:flex;gap:var(--glossary-card-header-gap-mobile);align-items:flex-start;margin-bottom:0;min-width:0}.glossary-card-image{width:var(--glossary-card-image-size-mobile);height:var(--glossary-card-image-size-mobile);border-radius:12px;object-fit:cover;flex-shrink:0;border:2px solid var(--border);box-shadow:0 2px 8px #0003;transition:all .3s ease}.glossary-card:hover .glossary-card-image{border-color:var(--accent);box-shadow:0 4px 16px #8b5cf64d;transform:scale(1.05)}.glossary-card-placeholder{width:var(--glossary-card-image-size-mobile);height:var(--glossary-card-image-size-mobile);border-radius:12px;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(139,92,246,.1) 100%);display:flex;align-items:center;justify-content:center;font-size:calc(var(--glossary-card-image-size-mobile) * .4);flex-shrink:0;border:2px solid var(--border);transition:all .3s ease}.glossary-card:hover .glossary-card-placeholder{border-color:var(--accent);background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);transform:scale(1.05);box-shadow:0 4px 12px #8b5cf633}.glossary-card-header-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.625rem;padding-right:.5rem}.glossary-card-header-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.glossary-card-names{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.4;min-width:0;width:100%}.glossary-card-original{font-weight:500;color:var(--text-dim);font-size:.85rem;line-height:1.4;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--glossary-card-names-lines-mobile);line-clamp:var(--glossary-card-names-lines-mobile);-webkit-box-orient:vertical;max-width:100%;flex:0 1 auto;opacity:.9}.glossary-card-arrow{color:var(--text-dim);font-size:.8rem;flex-shrink:0;opacity:.5;line-height:1.4;margin:0 .25rem}.glossary-card-translated{font-weight:600;color:var(--accent);font-size:1rem;line-height:1.4;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--glossary-card-names-lines-mobile);line-clamp:var(--glossary-card-names-lines-mobile);-webkit-box-orient:vertical;max-width:100%;flex:0 1 auto}.glossary-card-gender{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-secondary);opacity:.9;flex-shrink:0}.glossary-card-footer{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;margin-top:0;padding:var(--glossary-card-footer-padding-mobile);border-top:1px solid var(--border);flex-shrink:0;min-width:0;width:100%}.glossary-card-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .625rem;border-radius:8px;font-size:.75rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;word-break:break-word;flex:0 1 auto;min-width:0;max-width:100%}.glossary-card-chapter{background:#8b5cf626;color:var(--accent);border:1px solid rgba(139,92,246,.3);white-space:nowrap;flex-shrink:0;font-size:.75rem;padding:.35rem .625rem}.glossary-card-notes{font-size:.8rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:var(--glossary-card-description-lines-mobile);line-clamp:var(--glossary-card-description-lines-mobile);-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:.5rem 0 0;padding:.5rem 0 0;border-top:1px solid rgba(255,255,255,.06);opacity:.85;flex-shrink:0;word-break:break-word;max-width:100%;min-width:0}.glossary-card-notes+.glossary-card-chapters{margin-top:.5rem}.glossary-card-description{font-size:.8rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:var(--glossary-card-description-lines-mobile);line-clamp:var(--glossary-card-description-lines-mobile);-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:.5rem 0 0;padding:.5rem 0 0;border-top:1px solid rgba(255,255,255,.06);opacity:.85;flex-shrink:0;word-break:break-word;max-width:100%;min-width:0;cursor:pointer;transition:all .2s ease}.glossary-card-description+.glossary-card-notes{margin-top:.5rem}.glossary-card-description+.glossary-card-chapters,.glossary-card-notes+.glossary-card-chapters{margin-top:.5rem}.glossary-card-description:hover{opacity:1}.glossary-card-description-expanded{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.glossary-card-chapters{font-size:.8rem;color:var(--text-dim, var(--text-secondary));margin:0 0 .5rem;padding:0 .5rem;opacity:.85;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.glossary-chapter-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.2rem .45rem;font-size:.75rem;font-weight:500;color:var(--accent);background:var(--accent-subtle, rgba(var(--accent-rgb), .12));border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:background .15s,transform .1s}.glossary-chapter-pill:hover{background:var(--accent-subtle, rgba(var(--accent-rgb), .2))}.glossary-chapter-pill:active{transform:scale(.97)}.glossary-chapter-pill-static{color:var(--text-secondary);background:var(--bg-hover);border-color:var(--border);cursor:default}.glossary-chapter-pill-more{color:var(--text-dim);background:var(--bg-hover);border-color:var(--border);cursor:default;font-size:.7rem}.edit-modal-chapters-block{padding:.75rem;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);font-size:.9rem;display:flex;flex-wrap:wrap;gap:.4rem}.edit-modal-chapters-block .glossary-chapter-pill{font-size:.85rem;padding:.35rem .6rem}.glossary-relationships-summary{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.glossary-relationships-summary-text{font-size:.9rem;color:var(--text-secondary)}.glossary-relationships-modal-list{max-height:50vh;overflow-y:auto;padding:.25rem 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.glossary-relationships-group{margin-bottom:1rem}.glossary-relationships-group:last-child{margin-bottom:0}.glossary-relationships-group-title{font-weight:600;font-size:.85rem;color:var(--text-secondary);margin-bottom:.35rem;padding:0 .75rem .15rem}.glossary-relationships-checkbox-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background .15s}.glossary-relationships-checkbox-row:hover{background:var(--bg-hover)}.glossary-relationships-checkbox-row input{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.glossary-relationships-checkbox-icon{flex-shrink:0;color:var(--text-dim)}.glossary-relationships-checkbox-text{font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-hint{font-size:.8rem;color:var(--text-dim)}.glossary-card-delete{position:absolute;top:var(--glossary-card-delete-offset-mobile);right:var(--glossary-card-delete-offset-mobile);width:var(--glossary-card-delete-size-mobile);height:var(--glossary-card-delete-size-mobile);min-width:44px;min-height:44px;border:none;background:#ef44441f;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:calc(var(--glossary-card-delete-size-mobile) * .55);opacity:.5;transition:all .2s ease;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.glossary-card:hover .glossary-card-delete,.glossary-card-delete:hover,.glossary-card-delete:focus-visible{opacity:1;background:#ef444433}.glossary-card-delete:hover{background:#ef444433;transform:scale(1.1)}.glossary-empty{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:var(--text-dim);background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(26,26,36,.5) 100%);border:2px dashed var(--border);border-radius:16px}.glossary-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.6;filter:drop-shadow(0 4px 8px rgba(139,92,246,.2));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.glossary-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.image-upload-section{display:flex;align-items:center;gap:1rem;margin-top:.5rem;padding:1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(26,26,36,.8) 100%);border:1px solid var(--border);border-radius:12px;transition:all .3s ease}.image-upload-section:hover{border-color:var(--accent);box-shadow:0 4px 16px #8b5cf61a}.current-image-preview{width:120px;height:120px;border-radius:12px;object-fit:cover;border:2px solid var(--border);box-shadow:0 4px 16px #0000004d;transition:all .3s ease}.current-image-preview:hover{border-color:var(--accent);box-shadow:0 8px 24px #8b5cf666;transform:scale(1.05)}.image-upload-actions{display:flex;flex-direction:column;gap:.5rem}.image-upload-btn{padding:.75rem 1.25rem;border:2px dashed var(--border);border-radius:8px;background:linear-gradient(135deg,transparent 0%,rgba(139,92,246,.05) 100%);color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:all .3s ease;display:inline-block;text-align:center}.image-upload-btn:hover{border-color:var(--accent);border-style:solid;background:linear-gradient(135deg,#8b5cf61a,#8b5cf60d);color:var(--accent);box-shadow:0 4px 12px #8b5cf633;transform:translateY(-2px)}.image-delete-btn{padding:.4rem .75rem;background:#ef44441a;color:var(--error);border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.image-delete-btn:hover{background:#ef444433}.image-viewer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:none;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out}.image-viewer-modal.active{display:flex}.image-viewer-modal img{max-width:95%;max-height:85%;border-radius:8px;box-shadow:0 8px 32px #00000080}.image-viewer-title{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;font-size:1.2rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.image-gallery-section{margin-top:.5rem}.image-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:.75rem}.image-gallery-item{position:relative;border-radius:10px;overflow:hidden;border:2px solid var(--border);transition:all .3s ease}.image-gallery-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf64d}.gallery-image-preview{width:100%;height:120px;object-fit:cover;display:block;transition:transform .3s ease}.image-gallery-item:hover .gallery-image-preview{transform:scale(1.05)}.gallery-image-delete{position:absolute;top:.25rem;right:.25rem;width:28px;height:28px;border:none;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transition:all .2s ease;z-index:10}.image-gallery-item:hover .gallery-image-delete{opacity:1}.gallery-image-delete:hover{background:#ef4444cc;transform:scale(1.1)}.gallery-image-delete:disabled{opacity:.5;cursor:wait}@media (min-width: 768px) and (max-width: 1023px){.glossary-modal{width:var(--modal-width-tablet);max-width:var(--modal-width-tablet);height:85vh;min-height:450px;max-height:90vh;margin:0 auto}.glossary-grid{grid-template-columns:repeat(auto-fill,minmax(var(--glossary-grid-min-width-tablet),1fr));gap:var(--glossary-grid-gap-tablet);align-items:start;grid-auto-rows:min-content}.glossary-card{border-radius:var(--glossary-card-border-radius-tablet);padding:var(--glossary-card-padding-tablet);height:auto;min-height:fit-content;width:100%}.glossary-card-header{gap:var(--glossary-card-header-gap-tablet)}.glossary-card-image,.glossary-card-placeholder{width:var(--glossary-card-image-size-tablet);height:var(--glossary-card-image-size-tablet)}.glossary-card-placeholder{font-size:calc(var(--glossary-card-image-size-tablet) * .4)}.glossary-card-footer{padding:var(--glossary-card-footer-padding-tablet);gap:.625rem}.glossary-card-badge{font-size:.775rem;padding:.375rem .75rem}.glossary-card-delete{top:var(--glossary-card-delete-offset-tablet);right:var(--glossary-card-delete-offset-tablet);width:var(--glossary-card-delete-size-tablet);height:var(--glossary-card-delete-size-tablet);font-size:calc(var(--glossary-card-delete-size-tablet) * .55)}.glossary-card-description,.glossary-card-notes{font-size:.875rem;padding:.875rem .625rem;-webkit-line-clamp:var(--glossary-card-description-lines-tablet);line-clamp:var(--glossary-card-description-lines-tablet)}.glossary-card-original,.glossary-card-translated{-webkit-line-clamp:var(--glossary-card-names-lines-tablet);line-clamp:var(--glossary-card-names-lines-tablet)}.glossary-card-header-badges{gap:.625rem}.glossary-card-chapter{font-size:.775rem;padding:.375rem .625rem}}@media (min-width: 1024px){.modal.glossary-modal,.glossary-modal{width:var(--modal-max-width-desktop);max-width:var(--modal-max-width-desktop);height:90vh;min-height:500px;max-height:95vh;margin:0 auto}.glossary-grid{grid-template-columns:repeat(auto-fill,minmax(var(--glossary-grid-min-width-desktop),1fr));gap:var(--glossary-grid-gap-desktop);align-items:start;grid-auto-rows:min-content}.glossary-card{border-radius:var(--glossary-card-border-radius-desktop);padding:var(--glossary-card-padding-desktop);height:auto;min-height:fit-content;width:100%}.glossary-card-header{gap:var(--glossary-card-header-gap-desktop)}.glossary-card-image,.glossary-card-placeholder{width:var(--glossary-card-image-size-desktop);height:var(--glossary-card-image-size-desktop)}.glossary-card-placeholder{font-size:calc(var(--glossary-card-image-size-desktop) * .4)}.glossary-card-footer{padding:var(--glossary-card-footer-padding-desktop)}.glossary-card-delete{top:var(--glossary-card-delete-offset-desktop);right:var(--glossary-card-delete-offset-desktop);width:var(--glossary-card-delete-size-desktop);height:var(--glossary-card-delete-size-desktop);font-size:calc(var(--glossary-card-delete-size-desktop) * .55)}.glossary-card-description,.glossary-card-notes{font-size:.9rem;padding:1rem .75rem;-webkit-line-clamp:var(--glossary-card-description-lines-desktop);line-clamp:var(--glossary-card-description-lines-desktop)}.glossary-card-original,.glossary-card-translated{-webkit-line-clamp:var(--glossary-card-names-lines-desktop);line-clamp:var(--glossary-card-names-lines-desktop)}.glossary-card-header-badges{gap:.75rem}.glossary-card-chapter{font-size:.8rem;padding:.375rem .75rem}.glossary-card-badge{font-size:.8rem;padding:.35rem .75rem}}@media (max-width: 480px){.glossary-modal{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border-radius:0}.glossary-card{padding:.875rem;min-height:130px}.glossary-card-header{gap:.625rem;margin-bottom:.75rem}.glossary-card-image,.glossary-card-placeholder{width:56px;height:56px}.glossary-card-placeholder{font-size:22px}.glossary-card-header-content{gap:.5rem}.glossary-card-names{gap:.375rem}.glossary-card-original{font-size:.9rem}.glossary-card-translated{font-size:1rem}.glossary-card-header-badges{gap:.375rem}.glossary-card-chapter{font-size:.7rem;padding:.3125rem .5rem}.glossary-card-description,.glossary-card-notes{font-size:.8rem;padding:.625rem .5rem;margin-bottom:.625rem}.glossary-card-delete{top:.625rem;right:.625rem;width:30px;height:30px;font-size:16px}.filter-btn{width:100%;min-width:100%}}.glossary-merge-loading,.glossary-merge-empty{padding:1.5rem;text-align:center;color:var(--text-secondary)}.glossary-merge-hint{margin:0 0 1rem;padding:.75rem 1rem;font-size:.9rem;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--accent)}.glossary-merge-list{display:flex;flex-direction:column;gap:1.25rem;max-height:70vh;overflow-y:auto;padding:.25rem 0}.glossary-merge-card{padding:1rem 1.25rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(26,26,36,.9) 100%);transition:border-color .2s ease,box-shadow .2s ease}.glossary-merge-card:has(input:checked){border-color:#8b5cf680;box-shadow:0 0 0 1px #8b5cf633}.glossary-merge-card-head{margin-bottom:.75rem}.glossary-merge-card-select{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.glossary-merge-card-select input{flex-shrink:0;width:1.1rem;height:1.1rem;accent-color:var(--accent)}.glossary-merge-card-title{color:var(--text-secondary);font-size:.9rem;font-weight:500}.glossary-merge-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.glossary-merge-col-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:.5rem}.glossary-merge-col-sources .glossary-merge-entry-cards{display:flex;flex-direction:column;gap:.5rem}.glossary-merge-entry-card{padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-primary);transition:border-color .2s,background .2s}.glossary-merge-entry-card-header{display:flex;align-items:flex-start;gap:.5rem}.glossary-merge-entry-card-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(139,92,246,.1) 100%);font-size:.95rem}.glossary-merge-entry-card-names{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;line-height:1.35}.glossary-merge-entry-original{font-size:.875rem;color:var(--text-secondary);word-break:break-word}.glossary-merge-entry-arrow{color:var(--text-dim);font-size:.8rem;flex-shrink:0;opacity:.7}.glossary-merge-entry-translated{font-size:.9rem;font-weight:600;color:var(--text-primary);word-break:break-word}.glossary-merge-entry-desc{margin:.5rem 0 0 2.25rem;font-size:.8rem;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.glossary-merge-entry-chapters{margin:.35rem 0 0 2.25rem;font-size:.75rem;color:var(--text-dim);opacity:.9}.glossary-merge-entry-card.is-primary{border-color:#8b5cf666;background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,var(--bg-primary) 100%)}.glossary-merge-col-result .glossary-merge-entry-card-keep{position:relative;padding-bottom:2.5rem}.glossary-merge-keep-select{position:absolute;bottom:.75rem;left:1rem;right:1rem;padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer}.glossary-merge-keep-select:focus{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 640px){.glossary-merge-columns{grid-template-columns:1fr}}.glossary-viewer-readonly .glossary-card-delete{display:none}.publication-glossary-detail .form-group{margin-bottom:1rem}.publication-glossary-detail .form-group:last-child{margin-bottom:0}.glossary-go-to-chapter-confirm-modal .glossary-go-to-chapter-confirm-text{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.5}.glossary-entry-select{position:relative}.glossary-entry-select-trigger{width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.9rem}.glossary-entry-select-trigger:hover{border-color:var(--border-hover)}.glossary-entry-select-value{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.glossary-entry-select-placeholder{color:var(--text-dim)}.glossary-entry-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;overflow:hidden}.glossary-entry-select-list{max-height:200px;overflow-y:auto;padding:.25rem 0}.glossary-entry-select-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;text-align:left;border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--text-primary);transition:background .15s}.glossary-entry-select-item:hover{background:var(--bg-hover)}.glossary-manual-merge-form{display:flex;flex-direction:column;gap:1rem}.glossary-manual-merge-radio{display:flex;gap:1rem}.glossary-manual-merge-radio label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.glossary-manual-merge-hint{color:var(--accent)}.publication-glossary-modal.glossary-modal .glossary-modal-header{background:none;border-bottom:1px solid var(--border)}.publication-glossary-modal.glossary-modal .modal-title{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;color:var(--text-primary)}.publication-glossary-modal .glossary-toolbar{border-bottom:1px solid var(--border)}.publication-glossary-modal .glossary-search input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.5rem .75rem;font-size:.9rem}.publication-glossary-modal .glossary-search input::placeholder{color:var(--text-dim)}.publication-glossary-modal .filter-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);box-shadow:none}.publication-glossary-modal .filter-btn:before{display:none}.publication-glossary-modal .filter-btn:hover{background:var(--bg-hover);border-color:var(--accent);transform:none;box-shadow:none}.publication-glossary-modal .filter-btn.active{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary);box-shadow:none}.publication-glossary-modal .glossary-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:none}.publication-glossary-modal .glossary-card:before{display:none}.publication-glossary-modal .glossary-card:hover{border-color:var(--border-hover, var(--accent));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.publication-glossary-modal .glossary-card-original{color:var(--text-secondary)}.publication-glossary-modal .glossary-card-translated{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;color:var(--text-primary)}.publication-glossary-modal .glossary-card-type-badge{background:var(--bg-hover);border:1px solid var(--border)}.publication-glossary-modal .glossary-card-chapter{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary)}.publication-glossary-modal .glossary-chapter-pill{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.publication-glossary-modal .glossary-chapter-pill:hover{background:var(--bg-hover);border-color:var(--accent)}.publication-glossary-modal .glossary-chapter-pill-static{background:var(--bg-secondary);border-color:var(--border);color:var(--text-dim)}.publication-glossary-modal .glossary-empty{background:var(--bg-secondary);border:1px solid var(--border)}.publication-glossary-modal .glossary-modal-footer .button,.publication-glossary-modal .glossary-modal-footer button{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary)}.publication-glossary-modal .glossary-modal-footer .button:hover,.publication-glossary-modal .glossary-modal-footer button:hover{background:var(--bg-hover);border-color:var(--accent)}.publication-glossary-modal .modal-close-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.publication-glossary-modal .modal-close-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.publication-glossary-detail-modal .form-label{color:var(--text-secondary);font-size:.9rem}.publication-glossary-detail-modal .form-group{margin-bottom:1rem}.publication-glossary-detail-modal .edit-modal-chapters-block{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.publication-glossary-confirm-modal .publication-glossary-confirm-text{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.5}.reports-modal-loading{display:flex;justify-content:center;padding:2rem}.reports-modal-error,.reports-modal-empty{color:var(--text-secondary);padding:1.5rem;text-align:center}.reports-modal-error{color:var(--error)}.reports-modal-hint{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.4}.reports-modal-filters{display:flex;gap:.35rem;margin-bottom:.75rem;flex-wrap:wrap}.reports-modal-filter-tab{display:inline-flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0;padding:.35rem .65rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.reports-modal-filter-tab:hover{color:var(--text-primary);border-color:var(--border-hover, rgba(255, 255, 255, .15));background:var(--bg-hover)}.reports-modal-filter-tab.active{background:var(--accent);border-color:var(--accent);color:var(--text-primary)}.reports-modal-filter-tab:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.reports-modal-list{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto}.reports-modal-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.reports-modal-item-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.reports-modal-item-chapter{font-weight:600;color:var(--text-primary)}.reports-modal-item-date{font-size:.85rem;color:var(--text-dim)}.reports-modal-item-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;text-transform:capitalize}.reports-modal-status-pending{background:#f9731633;color:var(--warning)}.reports-modal-status-reviewed{background:#3b82f633;color:var(--accent)}.reports-modal-status-resolved{background:#22c55e33;color:var(--success)}.reports-modal-item-description{font-size:.9rem;color:var(--text-secondary);margin:0;white-space:pre-wrap;word-break:break-word}.reports-modal-item-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.reports-modal-status-actions{display:flex;gap:.35rem;align-items:center}.reports-modal-delete-btn{color:var(--text-dim)}.reports-modal-delete-btn:hover{color:var(--error)}.reports-modal-confirm-body{margin:0 0 1rem;color:var(--text-secondary)}.reports-modal-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.text-panel-unified{background:var(--reader-bg);border:1px solid var(--border);border-radius:var(--radius-md);overflow:visible;display:flex;flex-direction:column;transition:background var(--duration-slow) ease;min-width:0}.panel-headers{display:flex;background:var(--bg-secondary);min-width:fit-content;border-bottom:1px solid var(--border)}.panel-header-left,.panel-header-right{flex:1;padding:.875rem 1rem;font-weight:650;display:flex;align-items:center;justify-content:space-between;min-width:0;font-size:.9375rem;color:var(--text-primary)}.panel-stats{font-size:.875rem;font-family:var(--font-mono);font-weight:550;color:var(--text-dim)}.paragraphs-unified{overflow-x:auto;overflow-y:auto;min-width:0;max-height:80vh;scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent;overscroll-behavior:contain}.paragraphs-unified::-webkit-scrollbar{width:6px;height:6px}.paragraphs-unified::-webkit-scrollbar-track{background:transparent}.paragraphs-unified::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}.paragraphs-unified::-webkit-scrollbar-thumb:hover{background:var(--accent)}.paragraph-row{display:flex;flex-direction:column;transition:background var(--duration-normal);margin-bottom:calc(var(--reader-paragraph-spacing, .5em) * .5);min-width:0}.paragraph-row:hover{background:#9d6fff0a}.paragraph-row.highlighted{background:#9d6fff14}.paragraph-row.search-match{background:color-mix(in srgb,var(--warning) 12%,transparent)}.paragraph-row.search-current{background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent);scroll-margin:2rem}.paragraph-cell{flex:1;padding:1rem 1rem 1rem 2.5rem;position:relative;min-width:0;word-wrap:break-word;overflow-wrap:break-word;width:100%}.paragraph-cell-original{background:transparent;padding-bottom:1rem;margin-bottom:.75rem;border-bottom:1px solid transparent;background-image:linear-gradient(to bottom,transparent 0%,rgba(157,111,255,.08) 50%,transparent 100%);background-size:100% 1px;background-repeat:no-repeat;background-position:bottom}.paragraph-cell-translation{padding-top:0;margin-top:.75rem;border-radius:var(--radius-sm);transition:background var(--duration-normal)}.paragraph-cell-translation:hover{background:#9d6fff0d}.paragraph-index{position:absolute;top:1rem;left:.5rem;font-size:.75rem;font-family:var(--font-mono);font-weight:550;color:var(--text-dim);opacity:.6}.paragraph-text{white-space:pre-wrap;font-family:var(--reader-font);font-size:clamp(1rem,1.5vw,var(--reader-font-size));line-height:var(--reader-line-height);color:var(--reader-text);transition:all var(--duration-slow) ease}.paragraph-text.editable{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-normal)}.paragraph-text.editable:hover{background:#9d6fff1a;padding:.5rem;margin:-.5rem}.paragraph-text.empty{color:var(--text-dim);font-style:italic;cursor:pointer}.paragraph-editor{width:100%;padding:.875rem;min-height:120px;background:var(--reader-bg);border:2px solid var(--accent);border-radius:var(--radius-md);color:var(--reader-text);font-family:var(--reader-font);font-size:clamp(1rem,1.5vw,var(--reader-font-size));line-height:var(--reader-line-height);resize:vertical;overflow:hidden;transition:all var(--duration-normal) var(--ease-standard)}.paragraph-editor:focus{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.paragraph-actions{display:flex;gap:.5rem;margin-top:.5rem;justify-content:flex-end;flex-wrap:wrap}.paragraph-actions .btn{padding:.5rem 1rem;font-size:.9375rem}@media (min-width: 768px) and (max-width: 1023px){.paragraphs-unified{max-height:calc(100vh - 300px)}.text-panel-unified{border-radius:14px}.paragraph-row{flex-direction:row!important}.paragraph-cell{padding:var(--paragraph-cell-padding-tablet);padding-left:calc(var(--paragraph-index-left-tablet) + 1.5rem + .5rem);width:auto!important}.paragraph-cell-original{border-bottom:none;margin-bottom:0;background-image:none;padding-bottom:var(--paragraph-cell-padding-tablet);padding-right:1rem;border-right:none;position:relative}.paragraph-cell-original:after{content:"";position:absolute;right:0;top:.75rem;bottom:.75rem;width:1px;background:linear-gradient(to bottom,transparent 0%,rgba(139,92,246,.2) 20%,rgba(139,92,246,.3) 50%,rgba(139,92,246,.2) 80%,transparent 100%)}.paragraph-cell-translation{padding-top:var(--paragraph-cell-padding-tablet);margin-top:0;padding-left:1rem}.paragraph-index{left:var(--paragraph-index-left-tablet);top:1rem}.panel-header-left,.panel-header-right{padding:var(--panel-header-padding-tablet);font-size:.95rem}}@media (min-width: 1024px){.paragraphs-unified{max-height:calc(100vh - 320px)}.text-panel-unified{border-radius:16px}.paragraph-row{flex-direction:row!important}.paragraph-cell{padding:var(--paragraph-cell-padding-desktop);padding-left:calc(var(--paragraph-index-left-desktop) + 1.5rem + .5rem);width:auto!important}.paragraph-cell-original{border-bottom:none;margin-bottom:0;background-image:none;padding-bottom:var(--paragraph-cell-padding-desktop);padding-right:1.25rem;border-right:none;position:relative}.paragraph-cell-original:after{content:"";position:absolute;right:0;top:.75rem;bottom:.75rem;width:1px;background:linear-gradient(to bottom,transparent 0%,rgba(139,92,246,.2) 20%,rgba(139,92,246,.3) 50%,rgba(139,92,246,.2) 80%,transparent 100%)}.paragraph-cell-translation{padding-top:var(--paragraph-cell-padding-desktop);margin-top:0;padding-left:1.25rem}.paragraph-index{left:var(--paragraph-index-left-desktop);top:1.25rem}.panel-header-left,.panel-header-right{padding:var(--panel-header-padding-desktop);font-size:1rem}}@media (max-width: 480px){.paragraphs-unified{max-height:calc(100vh - 260px)}.paragraph-cell{padding:.875rem .875rem .875rem 2.25rem}.paragraph-index{left:.5rem;top:.875rem;font-size:.7rem}.panel-header-left,.panel-header-right{padding:.625rem .75rem;font-size:.85rem}.panel-stats{font-size:.75rem}}.paragraph-list-skeleton__stats{margin-left:.5rem}.paragraph-list-skeleton__content{padding:1rem}.paragraph-list-skeleton__row .paragraph-cell{padding-left:1rem}.paragraph-list-skeleton__row .paragraph-cell-original{background-image:none}.translation-panel{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem}.translation-panel-section{margin-bottom:1rem}.translation-panel-section:last-child{margin-bottom:0}.translation-panel-label{font-size:.85rem;color:var(--text-dim);margin-bottom:.5rem}.translation-panel-scope{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.translation-panel-radio{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.9rem}.translation-panel-radio input{accent-color:var(--accent)}.translation-panel-radio:has(input:disabled){opacity:.6;cursor:not-allowed}.translation-panel-actions-inline{margin-top:.5rem;font-size:.85rem}.translation-panel-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline}.translation-panel-link:hover:not(:disabled){color:var(--accent-hover, var(--accent))}.translation-panel-link:disabled{cursor:not-allowed;opacity:.6}.translation-panel-sep{color:var(--text-dim);margin:0 .5rem}.translation-chunk-progress{color:var(--text-dim);font-size:.9em;margin-left:.25rem}.translation-panel-stages{display:flex;flex-wrap:wrap;gap:.5rem}.translation-panel-stage-btn{padding:.4rem .75rem;font-size:.85rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:all .2s}.translation-panel-stage-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-glow, rgba(139, 92, 246, .1))}.translation-panel-stage-btn.active{border-color:var(--accent);background:var(--accent-glow, rgba(139, 92, 246, .15));color:var(--accent)}.translation-panel-stage-btn:disabled{opacity:.6;cursor:not-allowed}.translation-panel-estimate{font-size:.85rem;color:var(--text-dim)}.translation-panel-tokens{font-weight:500;color:var(--text-secondary)}.translation-panel-buttons{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}@media (max-width: 767px){.translation-panel{padding:.875rem;margin-bottom:.875rem}.translation-panel-scope{gap:.5rem}.translation-panel-radio{font-size:.8125rem}.translation-panel-stages{gap:.375rem}.translation-panel-stage-btn{padding:.375rem .625rem;font-size:.8rem}.translation-panel-buttons{gap:.375rem}.translation-panel-buttons .btn{font-size:.8125rem;padding:.5rem .75rem;min-height:40px}}@media (max-width: 480px){.translation-panel{padding:.75rem}.translation-panel-scope{gap:.375rem}.translation-panel-radio{font-size:.75rem}.translation-panel-stages{gap:.25rem}.translation-panel-stage-btn{padding:.3rem .5rem;font-size:.75rem}.translation-panel-buttons{gap:.25rem}.translation-panel-buttons .btn{font-size:.75rem;padding:.375rem .625rem;min-height:36px}.translation-panel-label,.translation-panel-estimate{font-size:.8rem}}@media (max-width: 360px){.translation-panel{padding:.625rem}.translation-panel-buttons .btn{font-size:.7rem;padding:.25rem .5rem;min-height:32px}.translation-panel-stage-btn{padding:.25rem .375rem;font-size:.7rem}}.modal.toc-modal.chapter-toc-modal{width:100%;max-width:min(420px,92vw);max-height:85vh;display:flex;flex-direction:column;padding:0;background:var(--reader-chrome-bg, var(--bg-card));border:1px solid var(--reader-chrome-border, var(--border));border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px #00000059,0 0 0 1px var(--reader-chrome-border, var(--border))}.modal.toc-modal.chapter-toc-modal .toc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--reader-chrome-border, var(--border));background:var(--reader-chrome-bg, var(--bg-card));flex-shrink:0}.modal.toc-modal.chapter-toc-modal .toc-modal-title{font-size:1.125rem;font-weight:700;color:var(--reader-text, var(--text-primary));letter-spacing:-.02em;margin:0}.modal.toc-modal.chapter-toc-modal .modal-close-btn.toc-modal-close{color:var(--reader-text-dim, var(--text-dim));background:transparent;border-color:var(--reader-chrome-border, var(--border))}.modal.toc-modal.chapter-toc-modal .modal-close-btn.toc-modal-close:hover{color:var(--reader-accent-text, #fff);background:var(--reader-accent, var(--accent));border-color:var(--reader-accent, var(--accent))}.modal.toc-modal.chapter-toc-modal .toc-modal-footer{flex-shrink:0;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--reader-chrome-border, var(--border));background:var(--reader-chrome-bg, var(--bg-card))}.modal.toc-modal.chapter-toc-modal .toc-search{display:flex;flex-direction:column;gap:.5rem;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--reader-chrome-border, var(--border));flex-shrink:0}.modal.toc-modal.chapter-toc-modal .toc-order-btns,.modal.toc-modal.chapter-toc-modal .toc-filter-btns{display:flex;gap:.35rem;flex-wrap:wrap}.modal.toc-modal.chapter-toc-modal .toc-order-btn{padding:.35rem .65rem;background:var(--reader-chrome-bg, var(--bg-secondary));border:1px solid var(--reader-chrome-border, var(--border));border-radius:6px;color:var(--reader-text-dim, var(--text-dim));font-size:.85rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.modal.toc-modal.chapter-toc-modal .toc-order-btn:hover{color:var(--reader-text, var(--text-primary));border-color:var(--reader-chrome-border, var(--border))}.modal.toc-modal.chapter-toc-modal .toc-order-btn.active{background:var(--reader-accent, var(--accent));border-color:var(--reader-accent, var(--accent));color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .toc-search-input{width:100%;padding:.5rem .75rem;background:var(--reader-chrome-bg, var(--bg-secondary));border:1px solid var(--reader-chrome-border, var(--border));border-radius:6px;color:var(--reader-text, var(--text-primary));font-size:.9rem}.modal.toc-modal.chapter-toc-modal .toc-search-input::placeholder{color:var(--reader-text-dim, var(--text-dim))}.modal.toc-modal.chapter-toc-modal .toc-search-input:focus{outline:none;border-color:var(--reader-accent, var(--accent))}.modal.toc-modal.chapter-toc-modal .reading-toc-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);max-height:60vh;overflow-y:auto;overflow-x:hidden}.modal.toc-modal.chapter-toc-modal .reading-toc-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--reader-chrome-bg, var(--bg-secondary));border:1px solid var(--reader-chrome-border, var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard);text-align:left;width:100%;color:var(--reader-text, var(--text-primary))}.modal.toc-modal.chapter-toc-modal .reading-toc-item:hover{background:var(--reader-bg, var(--bg-hover));border-color:var(--reader-chrome-border, var(--border))}.modal.toc-modal.chapter-toc-modal .reading-toc-item:focus-visible{outline:2px solid var(--reader-accent, var(--accent));outline-offset:2px}.modal.toc-modal.chapter-toc-modal .reading-toc-item.active{background:var(--reader-accent, var(--accent));border-color:var(--reader-accent, var(--accent));color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .reading-toc-number{min-width:1.75rem;font-weight:600;font-size:.9375rem;color:var(--reader-text-dim, var(--text-dim));flex-shrink:0}.modal.toc-modal.chapter-toc-modal .reading-toc-item.active .reading-toc-number{color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .reading-toc-title{flex:1;font-weight:500;font-size:.9375rem;line-height:1.4;color:var(--reader-text, var(--text-primary));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.modal.toc-modal.chapter-toc-modal .reading-toc-item.active .reading-toc-title{color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .reading-toc-read{font-size:.875rem;color:var(--success, #22c55e);flex-shrink:0}.modal.toc-modal.chapter-toc-modal .reading-toc-item.active .reading-toc-read{color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .reading-toc-item.last-read{border-color:var(--reader-accent, var(--accent));background:#9d6fff14}.modal.toc-modal.chapter-toc-modal .reading-toc-continue{font-size:.875rem;color:var(--reader-accent, var(--accent));flex-shrink:0}.modal.toc-modal.chapter-toc-modal .reading-toc-current{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--reader-accent, var(--accent));flex-shrink:0}.modal.toc-modal.chapter-toc-modal .reading-toc-item.active .reading-toc-current{color:var(--reader-accent-text, #fff)}.modal.toc-modal.chapter-toc-modal .toc-empty{text-align:center;padding:2rem 1rem;color:var(--reader-text-dim, var(--text-dim));font-size:.95rem}@media (max-width: 380px){.modal.toc-modal.chapter-toc-modal .reading-toc-title{white-space:normal;word-break:break-word}}.reading-mode{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--reader-bg);color:var(--reader-text);display:flex;flex-direction:column;z-index:1000;overflow:hidden}.reading-mode-header{position:absolute;top:0;left:0;right:0;z-index:10;background:var(--reader-chrome-bg);border-bottom:1px solid var(--reader-chrome-border);padding:var(--reading-header-padding-mobile);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;transition:transform .25s ease-out}.reading-mode-header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.reading-mode-exit-btn{padding:.5rem 1rem;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:6px;color:var(--reader-text);cursor:pointer;font-size:.9rem;transition:all .2s;white-space:nowrap}.reading-mode-exit-btn:hover{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.reading-mode-title{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1;overflow:hidden}.reading-mode-chapter-title{font-size:1rem;font-weight:600;color:var(--reader-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-mode-chapter-info{font-size:.8rem;color:var(--reader-text-dim)}.reading-mode-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.reading-mode-header-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:6px;color:var(--reader-text-dim);cursor:pointer;font-size:1rem;transition:all .2s}.reading-mode-header-btn-label{font-size:.68rem;font-weight:600;line-height:1;letter-spacing:.01em}.reading-mode-header-btn:hover{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.reading-mode-settings-btn{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:6px;color:var(--reader-text-dim);cursor:pointer;font-size:1rem;transition:all .2s}.reading-mode-settings-btn:hover{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.reading-mode-settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000059;display:flex;flex-direction:column;align-items:stretch;cursor:default}.reading-mode-settings-overlay{align-items:flex-end}.reading-mode-settings-overlay .reading-mode-settings-panel{cursor:default;width:fit-content;max-width:min(560px,95vw)}.reading-mode-settings-panel{background:var(--reader-chrome-bg);border-bottom:1px solid var(--reader-chrome-border);padding:var(--reading-header-padding-mobile);flex-shrink:0}.reading-mode-content{flex:1;overflow-y:auto;padding:0 var(--reading-content-padding-mobile);display:flex;flex-direction:column;align-items:stretch;min-width:0}.reading-mode-spacer-top{flex-shrink:0}.reading-mode-content .reading-mode-text{align-self:center}.reading-mode-text{max-width:min(var(--reader-container-width, 69%),900px);width:100%;font-family:var(--reader-font);font-size:var(--reader-font-size);line-height:var(--reader-line-height);color:var(--reader-text);font-weight:400}.reading-mode-paragraph{color:var(--reader-text);line-height:var(--reader-line-height);margin-bottom:max(var(--reader-paragraph-spacing, .5em),.5em);font-weight:400;text-align:justify;text-indent:1.5em}.reading-mode-paragraph:first-child{text-indent:0}.reading-mode-footer{position:absolute;bottom:0;left:0;right:0;z-index:10;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:.25rem .75rem;gap:.5rem;background:transparent;pointer-events:none;transition:transform .25s ease-out}.reading-mode-footer .reading-mode-footer-btn{pointer-events:auto;width:52px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;font-size:1.25rem;line-height:0;color:var(--reader-text);background:color-mix(in srgb,var(--reader-chrome-bg) 90%,transparent);box-shadow:0 1px 3px #0003;transition:background .2s,color .2s}.reading-mode-footer .reading-mode-footer-btn:hover:not(:disabled){background:color-mix(in srgb,var(--reader-chrome-bg) 98%,transparent);color:var(--reader-accent)}.reading-mode-footer .reading-mode-footer-btn:disabled{opacity:.4;cursor:not-allowed}.reading-mode-empty{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem}.reading-mode-empty-content{text-align:center;padding:3rem}.reading-mode-empty-title{margin-bottom:1rem}.reading-mode-empty-description{color:var(--reader-text-dim);margin-bottom:2rem}.reading-mode-empty-back-btn{padding:.75rem 1.5rem;background:var(--reader-accent);color:var(--reader-accent-text);border:none;border-radius:8px;cursor:pointer;font-size:1rem}.reading-mode-content-loading{display:flex;justify-content:center;padding:2rem}.reading-mode-empty-text{color:var(--reader-text-dim);text-align:center}.reading-mode .reader-settings-panel{background:var(--reader-bg);border:1px solid var(--reader-chrome-border)}.reading-mode .reader-settings-panel .settings-label{color:var(--reader-text-dim)}.reading-mode .reader-settings-panel .font-option{background:var(--reader-chrome-bg)}.reading-mode .reader-settings-panel .font-option:hover{border-color:var(--reader-accent)}.reading-mode .reader-settings-panel .font-option.active{border-color:var(--reader-accent);background:var(--reader-accent);color:var(--reader-accent-text)}.reading-mode .reader-settings-panel .font-preview{color:var(--reader-text)}.reading-mode .reader-settings-panel .font-option.active .font-preview{color:var(--reader-accent-text)}.reading-mode .reader-settings-panel .font-name{color:var(--reader-text-dim)}.reading-mode .reader-settings-panel .font-option.active .font-name{color:var(--reader-accent-text)}.reading-mode .reader-settings-panel .slider-label,.reading-mode .reader-settings-panel .slider-row{color:var(--reader-text-dim)}.reading-mode .reader-settings-panel .settings-slider{background:var(--reader-chrome-bg)}.reading-mode .reader-settings-panel .settings-slider::-webkit-slider-thumb{background:var(--reader-accent)}.reading-mode .reader-settings-panel .slider-value{color:var(--reader-accent)}.reading-mode .reader-settings-panel .theme-option{background:transparent}.reading-mode .reader-settings-panel .theme-option:hover,.reading-mode .reader-settings-panel .theme-option.active{border-color:var(--reader-accent)}.reading-mode .reader-settings-panel .reader-settings-select{background:var(--reader-chrome-bg);border-color:var(--reader-chrome-border);color:var(--reader-text)}.reading-mode .reader-settings-panel .toggle-option{background:var(--reader-chrome-bg);border-color:transparent;color:var(--reader-text-dim)}.reading-mode .reader-settings-panel .toggle-option:hover{border-color:var(--reader-accent);color:var(--reader-text)}.reading-mode .reader-settings-panel .toggle-option.active{border-color:var(--reader-accent);background:var(--reader-accent);color:var(--reader-accent-text)}.reading-mode .reader-settings-panel .settings-checkbox-label{color:var(--reader-text-dim)}.reading-mode .reader-settings-panel .theme-preview-colors{border-color:var(--reader-chrome-border)}.modal.toc-modal{width:100%;max-width:min(420px,92vw);max-height:85vh;display:flex;flex-direction:column;padding:0;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px #00000059,0 0 0 1px var(--reader-chrome-border)}.modal.toc-modal .toc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--reader-chrome-border);background:var(--reader-chrome-bg);flex-shrink:0}.modal.toc-modal .toc-modal-title{font-size:1.125rem;font-weight:700;color:var(--reader-text);letter-spacing:-.02em;margin:0}.modal.toc-modal .modal-close-btn.toc-modal-close{color:var(--reader-text-dim);background:transparent;border-color:var(--reader-chrome-border)}.modal.toc-modal .modal-close-btn.toc-modal-close:hover{color:var(--reader-accent-text);background:var(--reader-accent);border-color:var(--reader-accent)}.modal.toc-modal .toc-modal-footer{flex-shrink:0;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--reader-chrome-border);background:var(--reader-chrome-bg)}.modal.toc-modal .toc-modal-footer .btn,.modal.toc-modal .toc-modal-footer .btn-secondary{background:var(--reader-chrome-bg);color:var(--reader-text);border-color:var(--reader-chrome-border)}.modal.toc-modal .toc-modal-footer .btn:hover,.modal.toc-modal .toc-modal-footer .btn-secondary:hover{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.modal.toc-modal .reading-toc-list{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);max-height:60vh;overflow-y:auto;overflow-x:hidden}.modal.toc-modal .reading-toc-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md);background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard);text-align:left;width:100%;color:var(--reader-text)}.modal.toc-modal .reading-toc-item:hover{background:var(--reader-bg);border-color:var(--reader-chrome-border)}.modal.toc-modal .reading-toc-item:focus-visible{outline:2px solid var(--reader-accent);outline-offset:2px}.modal.toc-modal .reading-toc-item.active{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.modal.toc-modal .reading-toc-number{min-width:1.75rem;font-weight:600;font-size:.9375rem;color:var(--reader-text-dim);flex-shrink:0}.modal.toc-modal .reading-toc-item.active .reading-toc-number{color:var(--reader-accent-text)}.modal.toc-modal .reading-toc-title{flex:1;font-weight:500;font-size:.9375rem;line-height:1.4;color:var(--reader-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.modal.toc-modal .reading-toc-item.active .reading-toc-title{color:var(--reader-accent-text)}@media (max-width: 380px){.modal.toc-modal .reading-toc-title{white-space:normal;word-break:break-word}}.modal.toc-modal .reading-toc-current{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--reader-accent);flex-shrink:0}.modal.toc-modal .reading-toc-item.active .reading-toc-current{color:var(--reader-accent-text)}.reading-share-copy-btn{width:100%;padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;color:var(--reader-accent-text);background:var(--reader-accent);transition:all .2s}.reading-share-copy-btn[data-copied=true]{background:var(--success)}.reading-share-modal-content{margin-bottom:1rem}.reading-share-modal-label{color:var(--reader-text-dim);margin-bottom:.5rem}.reading-share-modal-input{width:100%;padding:.75rem;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:8px;color:var(--reader-text);font-size:.9rem;font-family:var(--font-mono)}.modal.reading-share-modal{background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border)}.modal.reading-share-modal .modal-header-row{border-bottom-color:var(--reader-chrome-border)}.modal.reading-share-modal .modal-title{color:var(--reader-text)}.modal.reading-share-modal .modal-close-btn{color:var(--reader-text-dim);border-color:var(--reader-chrome-border)}.modal.reading-share-modal .modal-close-btn:hover{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.modal.reading-share-modal .form-actions{border-top:1px solid var(--reader-chrome-border)}.reading-report-modal-footer{display:flex;gap:.75rem;justify-content:flex-end}.reading-report-cancel-btn{padding:.5rem 1rem;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:8px;color:var(--reader-text);cursor:pointer;font-size:.9rem}.reading-report-cancel-btn:hover:not(:disabled){background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-accent-text)}.reading-report-submit-btn{padding:.5rem 1.25rem;background:var(--reader-accent);border:none;border-radius:8px;color:var(--reader-accent-text);cursor:pointer;font-size:.9rem;font-weight:600;min-width:120px;display:flex;align-items:center;justify-content:center;gap:.5rem}.reading-report-submit-btn:hover:not(:disabled){opacity:.9}.reading-report-submit-btn:disabled{opacity:.6;cursor:not-allowed}.reading-report-modal-content{display:flex;flex-direction:column;gap:.5rem}.reading-report-modal-chapter{font-size:.9rem;color:var(--reader-text-dim);margin-bottom:.25rem}.reading-report-modal-label{font-size:.9rem;color:var(--reader-text);margin-bottom:.25rem}.reading-report-modal-textarea{width:100%;padding:.75rem;background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border);border-radius:8px;color:var(--reader-text);font-size:.9rem;font-family:inherit;resize:vertical;min-height:100px}.reading-report-modal-textarea:focus{outline:none;border-color:var(--reader-accent)}.reading-report-modal-hint{font-size:.8rem;color:var(--reader-text-dim)}.reading-report-modal-error{font-size:.9rem;color:var(--error)}.modal.reading-report-modal{background:var(--reader-chrome-bg);border:1px solid var(--reader-chrome-border)}.modal.reading-report-modal .modal-header-row{border-bottom-color:var(--reader-chrome-border)}.modal.reading-report-modal .modal-title{color:var(--reader-text)}.modal.reading-report-modal .form-actions{border-top:1px solid var(--reader-chrome-border)}.reading-mode-chrome-hidden .reading-mode-header{transform:translateY(-100%);pointer-events:none}.reading-mode-chrome-hidden[data-header-visible=true] .reading-mode-header{transform:none;pointer-events:auto}.reading-mode-chrome-hidden .reading-mode-settings-panel{position:absolute;top:0;left:0;right:0;transform:translateY(-100%);pointer-events:none;transition:transform .25s ease-out}.reading-mode-chrome-hidden .reading-mode-footer{transform:translateY(100%);pointer-events:none}.reading-mode-chrome-hidden[data-footer-visible=true] .reading-mode-footer{transform:none;pointer-events:auto}@media (max-width: 767px){.reading-mode-text{max-width:min(var(--reader-container-width, 97%),100%);font-size:max(var(--reader-font-size),16px);line-height:max(var(--reader-line-height),1.5)}.reading-mode-paragraph{line-height:max(var(--reader-line-height),1.5);margin-bottom:max(var(--reader-paragraph-spacing, .5em),.25em)}.reading-mode-settings-overlay{align-items:flex-end;justify-content:flex-end}.reading-mode-settings-overlay .reading-mode-settings-panel{width:100%;max-width:100%;max-height:85vh;overflow-y:auto;border-radius:16px 16px 0 0;border-bottom:none;border-top:1px solid var(--reader-chrome-border)}}@media (min-width: 768px) and (max-width: 1023px){.reading-mode-header{padding:var(--reading-header-padding-tablet);gap:.875rem}.reading-mode-chapter-title{font-size:1.125rem}.reading-mode-header-btn,.reading-mode-settings-btn{width:36px;height:36px;font-size:1rem}.reading-mode-settings-panel{padding:var(--reading-header-padding-tablet)}.reading-mode-content{padding:0 var(--reading-content-padding-tablet)}.reading-mode-text{max-width:min(var(--reader-container-width, 69%),900px);font-size:var(--reader-font-size)}.reading-mode-footer{padding:.25rem 1rem;gap:.5rem}}@media (min-width: 1024px){.reading-mode-header{padding:var(--reading-header-padding-desktop);gap:1rem}.reading-mode-chapter-title{font-size:1.25rem}.reading-mode-header-btn,.reading-mode-settings-btn{width:36px;height:36px;font-size:1.1rem}.reading-mode-settings-panel{padding:var(--reading-header-padding-desktop)}.reading-mode-content{padding:0 var(--reading-content-padding-desktop)}.reading-mode-text{max-width:min(var(--reader-container-width, 69%),900px);font-size:var(--reader-font-size)}.reading-mode-footer{padding:.25rem 1.25rem;gap:.5rem}}@media (max-width: 480px){.reading-mode-header{padding:.5rem .75rem;gap:.5rem}.reading-mode-chapter-title{font-size:.9rem}.reading-mode-header-btn,.reading-mode-settings-btn{width:32px;height:32px;min-width:32px;font-size:.9rem}.reading-mode-content{padding:0 1rem}.reading-mode-text{font-size:max(var(--reader-font-size),16px);font-family:var(--reader-font)}[data-reader-indent=true] .reading-mode-paragraph:not(:first-child){text-indent:1em}.reading-mode-footer{padding:.2rem .75rem;gap:.4rem}.reading-mode-footer .reading-mode-footer-btn{width:48px;height:36px;font-size:1.15rem}}.info-page{width:100%;max-width:720px;margin:0 auto;padding:var(--main-padding-mobile)}.info-page-content{padding-bottom:3rem}.info-page-legal{font-size:.9375rem;line-height:1.65}.info-page-back{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:1.5rem;padding:.5rem 0;background:none;border:none;color:var(--text-secondary);font-size:.9375rem;font-weight:550;cursor:pointer;transition:color var(--duration-normal) var(--ease-standard)}.info-page-back:hover{color:var(--accent)}.info-page-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.info-page-title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.info-page-updated{font-size:.8125rem;color:var(--text-dim);margin:0 0 1.5rem}.info-section{margin-bottom:1.75rem}.info-section h2{font-size:1.125rem;font-weight:650;margin:0 0 .5rem;color:var(--text-primary)}.info-section h3{font-size:1rem;font-weight:600;margin:1rem 0 .25rem;color:var(--text-secondary)}.info-section p,.info-section ul{margin:0 0 .75rem;color:var(--text-secondary)}.info-section ul{padding-left:1.25rem}.info-section li{margin-bottom:.25rem}.info-section a{color:var(--accent);text-decoration:none}.info-section a:hover{text-decoration:underline}.contact-email{font-size:1.125rem;font-weight:600}.contact-email a{color:var(--accent)}@media (min-width: 768px){.info-page{padding:var(--main-padding-tablet)}}@media (min-width: 1024px){.info-page{padding:var(--main-padding-desktop)}}.publication-page{width:100%;max-width:900px;margin:0 auto;padding:var(--main-padding-mobile)}.publication-page-loading,.publication-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;text-align:center}.publication-page-error .publication-page-back{margin-top:1rem}.publication-page-back{font-size:.9375rem;font-weight:550;color:var(--text-secondary);background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;transition:color var(--duration-normal, .2s) var(--ease-standard, ease)}.publication-page-back:hover{color:var(--accent)}.publication-page-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.publication-page-header{margin-bottom:1.5rem}.publication-page-content{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start;min-width:0}.publication-page-cover{width:200px;max-width:200px;aspect-ratio:2 / 3;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-tertiary);position:relative;display:flex;align-items:center;justify-content:center}.publication-page-cover img{width:100%;height:100%;object-fit:cover;display:block}.publication-page-cover .book-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-width:0;min-height:0}.publication-page-meta{display:flex;flex-direction:column;gap:.75rem;min-width:0}.publication-page-title{font-size:1.75rem;font-weight:700;margin:0;color:var(--text-primary)}.publication-page-description{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;max-width:65ch;margin:0;white-space:pre-line}.publication-page-authors{display:flex;flex-direction:column;gap:.35rem}.publication-page-entity{display:flex;flex-direction:row;align-items:center;gap:var(--space-sm)}.publication-page-entity-label{flex-shrink:0;font-size:var(--text-sm);color:var(--text-dim);min-width:4.5rem}.publication-page-entity .entity-card{min-height:auto;padding:var(--space-xs) var(--space-sm)}.publication-page-entity .entity-card__avatar{width:32px;height:32px}.publication-page-entity .entity-card__name{font-size:var(--text-sm);max-width:120px}.publication-page-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.publication-page-author,.publication-page-translator,.publication-page-lang{font-size:.9rem;color:var(--text-dim);margin:0}.publication-page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.publication-page-continue-from{display:inline-flex;align-items:center;gap:.45rem;flex:0 1 auto;min-width:0;max-width:min(100%,22rem);margin:0 0 0 auto;padding:.45rem .65rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.publication-page-continue-from-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.publication-page-continue-from:hover{color:var(--text-primary);border-color:var(--border-hover, rgba(255, 255, 255, .15));background:var(--bg-hover)}.publication-page-continue-from:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.publication-page-glossary-btn,.publication-page-toc-btn{flex:0 0 auto;padding:.35rem .65rem;margin:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.publication-page-glossary-btn:hover,.publication-page-toc-btn:hover{color:var(--text-primary);border-color:var(--border-hover, rgba(255, 255, 255, .15));background:var(--bg-hover)}.publication-page-glossary-btn:focus-visible,.publication-page-toc-btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.publication-page-chapters{margin-top:1.5rem}.publication-page-chapters h2{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.publication-page-chapters-toolbar{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.publication-page-chapters-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%}.publication-page-chapters-search-row .publication-page-chapter-search{flex:1 1 12rem;width:auto;min-width:0}.publication-page-chapter-search{width:100%;max-width:280px;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem}.publication-page-chapter-search::placeholder{color:var(--text-dim)}.publication-page-chapter-search:focus{outline:none;border-color:var(--accent)}.publication-page-chapter-filters{display:flex;gap:.35rem;flex-wrap:wrap}.publication-page-chapter-filters button{display:inline-flex;align-items:center;gap:.25rem;flex:1 1 auto;min-width:0;padding:.35rem .65rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.publication-page-chapter-filters button:hover{color:var(--text-primary);border-color:var(--border-hover, rgba(255, 255, 255, .15))}.publication-page-chapter-filters button.active{background:var(--accent);border-color:var(--accent);color:var(--text-primary)}.publication-page-chapter-read{font-size:.875rem;color:var(--success)}.publication-page-chapters-list{max-height:50vh;min-height:120px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}.publication-page-chapters-list::-webkit-scrollbar{width:6px}.publication-page-chapters-list::-webkit-scrollbar-track{background:transparent}.publication-page-chapters-list::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}.publication-page-chapters ul{list-style:none;margin:0;padding:0}.publication-page-chapters li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.publication-page-chapter-title{flex:1;font-size:.95rem;color:var(--text-primary);min-width:0;display:inline-flex;align-items:center;gap:.35rem}.publication-page-read-chapter{flex-shrink:0;white-space:nowrap;padding:.35rem .65rem;background:var(--accent);border:none;border-radius:6px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.publication-page-read-chapter:hover{filter:brightness(1.1)}.publication-page-chapter-untranslated{font-size:.85rem;color:var(--text-dim)}.publication-page-modal-text{color:var(--text-secondary)}@media (min-width: 768px) and (max-width: 1023px){.publication-page{padding:var(--main-padding-tablet)}}@media (min-width: 1024px){.publication-page{padding:1.5rem 2rem}}@media (max-width: 768px){.publication-page{padding:var(--main-padding-mobile)}.publication-page-content{grid-template-columns:1fr;gap:1.5rem}.publication-page-cover{width:min(85%,280px);max-width:280px;margin:0 auto}.publication-page-title{font-size:1.5rem}.publication-page-chapters li{gap:.5rem}}@media (max-width: 480px){.publication-page{padding:.75rem 1rem}.publication-page-back{font-size:.85rem;min-height:44px}.publication-page-header{margin-bottom:1rem}.publication-page-title{font-size:1.35rem}.publication-page-description{font-size:.95rem}.publication-page-chapters h2{font-size:1rem}.publication-page-chapter-title{font-size:.9rem}}@media (max-width: 560px){.publication-page-chapters-search-row{flex-direction:column;align-items:stretch}.publication-page-chapters-search-row .publication-page-chapter-search{max-width:none;flex:0 0 auto}.publication-page-continue-from{margin-left:0;max-width:none;justify-content:flex-start;min-height:44px}}.publication-reading-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:var(--main-padding-mobile);text-align:center}.publication-reading-placeholder p{margin:0 0 1rem;color:var(--text-secondary);font-size:1rem}.publication-reading-back{padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem}.publication-reading-back:hover{background:var(--bg-hover);border-color:var(--accent)}@media (max-width: 768px){.publication-reading-placeholder{padding:1rem;min-height:280px}.publication-reading-placeholder p{font-size:.95rem}}@media (max-width: 480px){.publication-reading-placeholder{padding:.75rem 1rem;min-height:240px}.publication-reading-placeholder p{font-size:.9rem}.publication-reading-back{padding:.5rem .75rem;font-size:.85rem}}:root{--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--text-3xl: 2rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--bg-primary: #0d0d12;--bg-secondary: #15151d;--bg-card: #1d1d28;--bg-hover: #25252f;--bg-tertiary: #1a1a24;--text-primary: #f0f0f3;--text-secondary: #b4b9c5;--text-dim: #878d9a;--accent: #9d6fff;--accent-dim: #7c3aed;--accent-bright: #b794ff;--accent-contrast: #ffffff;--accent-glow: rgba(157, 111, 255, .35);--border: rgba(255, 255, 255, .08);--border-hover: rgba(157, 111, 255, .3);--border-focus: rgba(157, 111, 255, .5);--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--reader-font: Georgia, "Times New Roman", serif;--reader-font-size: 16px;--reader-line-height: 1.6;--reader-paragraph-spacing: .5em;--reader-container-width: 69%;--reader-bg: #1a1a2e;--reader-text: #f0f0f3;--reader-text-dim: #b4b9c5;--reader-chrome-bg: #151520;--reader-chrome-border: rgba(255, 255, 255, .08);--reader-accent-text: #ffffff;--reader-bg-alt: rgba(157, 111, 255, .12);--container-width-mobile: 100%;--sidebar-width-mobile: 85vw;--main-padding-mobile: 1rem;--header-padding-mobile: .75rem;--header-height-mobile: 72px;--header-height-small: 60px;--modal-width-mobile: 100%;--modal-max-width-mobile: 100%;--container-width-tablet: 768px;--sidebar-width-tablet: 320px;--main-padding-tablet: 1.5rem;--header-padding-tablet: 1.5rem;--header-height-tablet: 88px;--modal-width-tablet: 600px;--modal-max-width-tablet: 600px;--container-width-desktop: 1200px;--sidebar-width-desktop: 320px;--main-padding-desktop: 2rem;--header-padding-desktop: 2rem;--modal-width-desktop: 1100px;--modal-max-width-desktop: 1100px;--reading-header-padding-mobile: .75rem 1rem;--reading-content-padding-mobile: 1.25rem;--reading-text-max-width-mobile: 100%;--reading-font-size-mobile: 16px;--reading-header-padding-tablet: 1rem 1.5rem;--reading-content-padding-tablet: 1.5rem;--reading-text-max-width-tablet: 700px;--reading-font-size-tablet: 17px;--reading-header-padding-desktop: 1rem 2rem;--reading-content-padding-desktop: 2rem;--reading-text-max-width-desktop: 800px;--reading-font-size-desktop: 18px;--chapter-header-padding-mobile: 1rem;--chapter-title-size-mobile: 1.25rem;--chapter-nav-btn-size-mobile: 36px;--paragraph-cell-padding-mobile: 1rem;--paragraph-index-left-mobile: .5rem;--panel-header-padding-mobile: .75rem 1rem;--chapter-header-padding-tablet: 1.25rem;--chapter-title-size-tablet: 1.375rem;--chapter-nav-btn-size-tablet: 36px;--paragraph-cell-padding-tablet: 1rem 1.25rem;--paragraph-index-left-tablet: 1rem;--panel-header-padding-tablet: 1rem 1.25rem;--chapter-header-padding-desktop: 1.5rem;--chapter-title-size-desktop: 1.5rem;--chapter-nav-btn-size-desktop: 36px;--paragraph-cell-padding-desktop: 1rem 1.5rem;--paragraph-index-left-desktop: .75rem;--panel-header-padding-desktop: 1rem 1.5rem;--glossary-grid-min-width-mobile: 300px;--glossary-grid-gap-mobile: .875rem;--glossary-card-padding-mobile: 1rem;--glossary-card-image-size-mobile: 56px;--glossary-card-min-height-mobile: 0;--glossary-card-border-radius-mobile: 12px;--glossary-card-header-gap-mobile: .75rem;--glossary-card-footer-padding-mobile: .5rem .75rem;--glossary-card-delete-size-mobile: 32px;--glossary-card-delete-offset-mobile: .75rem;--glossary-card-names-lines-mobile: 2;--glossary-card-description-lines-mobile: 2;--glossary-grid-min-width-tablet: 340px;--glossary-grid-gap-tablet: 1rem;--glossary-card-padding-tablet: 1.25rem;--glossary-card-image-size-tablet: 64px;--glossary-card-min-height-tablet: 0;--glossary-card-border-radius-tablet: 14px;--glossary-card-header-gap-tablet: 1rem;--glossary-card-footer-padding-tablet: .75rem 1rem;--glossary-card-delete-size-tablet: 34px;--glossary-card-delete-offset-tablet: .875rem;--glossary-card-names-lines-tablet: 2;--glossary-card-description-lines-tablet: 4;--glossary-grid-min-width-desktop: 320px;--glossary-grid-gap-desktop: 1rem;--glossary-card-padding-desktop: 1.25rem;--glossary-card-image-size-desktop: 72px;--glossary-card-min-height-desktop: 0;--glossary-card-border-radius-desktop: 14px;--glossary-card-header-gap-desktop: 1rem;--glossary-card-footer-padding-desktop: .75rem 1rem;--glossary-card-delete-size-desktop: 36px;--glossary-card-delete-offset-desktop: 1rem;--glossary-card-names-lines-desktop: 2;--glossary-card-description-lines-desktop: 4}[data-reader-theme=dark]{--reader-bg: #1a1a2e;--reader-bg-alt: rgba(157, 111, 255, .12);--reader-text: #f0f0f3;--reader-text-dim: #b4b9c5;--reader-accent: #9d6fff;--reader-chrome-bg: #151520;--reader-chrome-border: rgba(255, 255, 255, .08);--reader-accent-text: #ffffff}[data-reader-theme=light]{--reader-bg: #fafafa;--reader-bg-alt: rgba(124, 58, 237, .1);--reader-text: #1f1f1f;--reader-text-dim: #6b7280;--reader-accent: #7c3aed;--reader-chrome-bg: #f0f0f0;--reader-chrome-border: rgba(0, 0, 0, .1);--reader-accent-text: #ffffff}[data-reader-theme=sepia]{--reader-bg: #f4ecd8;--reader-bg-alt: rgba(139, 105, 20, .15);--reader-text: #5c4b37;--reader-text-dim: #8b7355;--reader-accent: #8b6914;--reader-chrome-bg: #ebe0c8;--reader-chrome-border: rgba(92, 75, 55, .2);--reader-accent-text: #ffffff}[data-reader-theme=contrast]{--reader-bg: #000000;--reader-bg-alt: rgba(255, 204, 0, .15);--reader-text: #ffffff;--reader-text-dim: #cccccc;--reader-accent: #ffcc00;--reader-chrome-bg: #111111;--reader-chrome-border: rgba(255, 255, 255, .25);--reader-accent-text: #000000}[data-reader-theme=paper]{--reader-bg: #f5f1e5;--reader-bg-alt: rgba(139, 105, 20, .1);--reader-text: #28282a;--reader-text-dim: #5a5a5d;--reader-accent: #7d5a3c;--reader-chrome-bg: #e8e2d0;--reader-chrome-border: rgba(40, 40, 42, .12);--reader-accent-text: #ffffff}[data-reader-font=default]{--reader-font: Georgia, "Times New Roman", serif}[data-reader-font=merriweather]{--reader-font: "Merriweather", Georgia, serif}[data-reader-font=montserrat]{--reader-font: "Montserrat", sans-serif}[data-reader-font=noto_sans]{--reader-font: "Noto Sans", sans-serif}[data-reader-font=oswald]{--reader-font: "Oswald", sans-serif}[data-reader-font=roboto]{--reader-font: "Roboto", sans-serif}[data-reader-font=cormorant_garamond]{--reader-font: "Cormorant Garamond", Georgia, serif}[data-reader-font=eb_garamond]{--reader-font: "EB Garamond", Georgia, serif}[data-reader-font=times_new_roman]{--reader-font: "Times New Roman", Times, serif}[data-reader-font=georgia]{--reader-font: Georgia, serif}[data-reader-font=arial]{--reader-font: Arial, Helvetica, sans-serif}[data-reader-font=helvetica]{--reader-font: Helvetica, sans-serif}.reading-mode[data-reader-indent=false] .reading-mode-paragraph,[data-reader-indent=false] .paragraph-cell{text-indent:0}.reading-mode[data-reader-align=left] .reading-mode-paragraph,[data-reader-align=left] .paragraph-cell{text-align:left}*{margin:0;padding:0;box-sizing:border-box}html{width:100%;max-width:100vw;overflow-x:hidden;font-size:clamp(14px,.875rem + .25vw,16px)}body{width:100%;max-width:100%;overflow-x:hidden;font-family:var(--font-display);font-weight:450;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app{width:100%;max-width:100%;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.75em}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}h4{font-size:clamp(1.125rem,2vw,1.25rem)}h5,h6{font-size:1rem}p{line-height:1.65;margin-bottom:1em;color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color var(--duration-normal) var(--ease-standard)}a:hover{color:var(--accent-bright)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}strong,b{font-weight:650;color:var(--text-primary)}code{font-family:var(--font-mono);font-size:.875em;background:#9d6fff1a;padding:.2em .4em;border-radius:4px;color:var(--accent-bright)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(157,111,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(124,58,237,.06) 0%,transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 100px,rgba(157,111,255,.02) 100px,rgba(157,111,255,.02) 101px);pointer-events:none;z-index:-1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}*{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-secondary)}main{width:100%;max-width:var(--container-width-mobile);margin:0 auto;padding:var(--main-padding-mobile);display:block;min-height:100vh;position:relative;overflow-x:hidden;box-sizing:border-box}.sidebar{position:fixed;top:var(--header-height-mobile);left:-100%;width:var(--sidebar-width-mobile);max-width:min(320px,100vw);height:calc(100vh - var(--header-height-mobile));max-height:100vh;min-height:0;border-right:1px solid var(--border);z-index:999;transition:left .3s ease;overflow-y:auto;overflow-x:hidden;padding:var(--main-padding-mobile);padding-bottom:var(--main-padding-mobile);box-shadow:2px 0 10px #0000004d;display:flex;flex-direction:column;gap:.5rem;background:var(--bg-primary);-webkit-overflow-scrolling:touch;box-sizing:border-box}.sidebar>*{min-width:0}.sidebar.mobile-open{left:0;top:0;height:100vh;max-height:100vh;min-height:0;z-index:1001}.sidebar-overlay{display:none;position:fixed;top:var(--header-height-mobile);left:0;right:0;bottom:0;background:#00000080;z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none}.sidebar-overlay.active{display:block;top:0}.content{display:flex;flex-direction:column;gap:1.5rem;width:100%;min-width:0;overflow-wrap:break-word}@media (min-width: 768px) and (max-width: 1023px){main{width:var(--container-width-tablet);max-width:var(--container-width-tablet);padding:var(--main-padding-tablet);display:block}.sidebar{top:var(--header-height-tablet);height:calc(100vh - var(--header-height-tablet));width:var(--sidebar-width-tablet)}.sidebar.mobile-open{top:0;height:100vh}.sidebar-overlay{top:var(--header-height-tablet)}.sidebar-overlay.active{top:0}}@media (min-width: 1024px){main{width:100%;max-width:min(var(--container-width-desktop),100vw);padding:var(--main-padding-desktop);display:block;min-height:calc(100vh - 100px);box-sizing:border-box}.sidebar{position:static;left:auto;width:100%;min-width:0;max-width:100%;height:auto;min-height:calc(100vh - 88px);padding:.75rem 1rem 1rem;box-shadow:none;border-right:none;overflow-y:visible;overflow-x:hidden;background:transparent;box-sizing:border-box;align-self:stretch}.sidebar-overlay{display:none!important}}@media (max-width: 480px){.sidebar{top:var(--header-height-small);height:calc(100vh - var(--header-height-small))}.sidebar.mobile-open{top:0;height:100vh}.sidebar-overlay{top:var(--header-height-small)}.sidebar-overlay.active{top:0}}@media (min-width: 1024px) and (max-width: 1200px){main{gap:1.5rem;grid-template-columns:minmax(min(260px,100%),280px) minmax(0,1fr)}}.page-back-btn{margin-top:1rem;padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem}.page-back-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.project-page-container,.chapter-page-container{display:block;width:100%;max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}@media (min-width: 1024px){.project-page-container,.chapter-page-container{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:2rem;width:100%;max-width:100%;min-width:0}}@media (min-width: 768px) and (max-width: 1023px){.project-page-container,.chapter-page-container{display:block}}@media (min-width: 1024px){.chapter-page-container .content{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.chapter-page-container #chapterView{display:flex;flex-direction:column;gap:1.5rem}.chapter-page-container #chapterView>.card.chapter-toolbar-card{position:sticky;top:0;z-index:1;background:var(--bg-card)}}.system-message,div.system-message{display:block;text-align:center;border-left:4px solid var(--reader-accent, var(--accent));background:var(--reader-bg-alt);padding:.75rem 1rem;margin:.5rem 0;font-family:var(--font-mono),monospace;font-size:.9em;border-radius:4px;color:var(--reader-text)}.note{border:1px solid var(--reader-chrome-border, var(--border));background:var(--reader-bg-alt);color:var(--reader-text);padding:1rem;margin:.5rem 0;font-style:italic;border-radius:6px}.inner-voice{font-style:italic;opacity:.9;padding:.25rem 0 .25rem 1em;color:var(--reader-text-dim, inherit)}.notification{background:var(--reader-bg-alt);color:var(--reader-text);padding:.1em .35em;border-radius:4px;font-size:.95em}.skill{font-weight:600;color:var(--reader-accent, var(--accent))}.letter{text-align:center;max-width:90%;margin-inline:auto;border:1px solid var(--reader-chrome-border, var(--border));background:var(--reader-bg-alt);color:var(--reader-text);padding:1.25rem 1.5rem;margin:.5rem 0;font-style:italic;border-radius:6px;box-shadow:0 1px 3px #00000014}.reading-mode .system-message,.reading-mode .note,.reading-mode .letter,.reading-mode .inner-voice,.reading-mode .notification,.reading-mode .skill{text-indent:0}.reading-mode .reading-mode-paragraph .system-message,.reading-mode .reading-mode-paragraph .note,.reading-mode .reading-mode-paragraph .letter,.reading-mode .reading-mode-paragraph .inner-voice{margin:.5em 0}
