.theme-toggle{background:transparent;border:1px solid currentColor;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:inherit}.theme-toggle:hover{background:#0000000d;transform:scale(1.05)}.theme-toggle-icon{display:inline-block;line-height:1}.navbar{width:100%;background:var(--bg-navbar);border-bottom:2px solid var(--border-color);box-shadow:0 1px 3px var(--shadow-accent)}.navbar-inner{max-width:1100px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.menu-app-title{color:var(--text-primary);font-size:1.7rem;font-weight:400;font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif}.menu-buttons{list-style:none;display:flex;gap:1.5rem;align-items:center}.menu-button{color:var(--text-primary);text-decoration:none;padding:8px 12px;border-radius:6px;transition:background-color .16s ease,transform .12s ease}.menu-button:hover,.menu-button:focus{background-color:rgba(var(--accent-primary-rgb),.15);color:var(--accent-primary);transform:translateY(-1px)}.menu-button.active{font-weight:700;text-decoration:none;color:var(--accent-primary);background-color:rgba(var(--accent-primary-rgb),.2);border-bottom:2px solid var(--accent-primary)}.hamburger{display:none;border:none;padding:6px;color:var(--text-primary)}.hamburger-box{display:inline-block;width:24px;height:18px;position:relative}.hamburger-inner{position:absolute;left:0;right:0;top:50%;height:2px;background:var(--text-primary);transform:translateY(-50%);transition:transform .2s ease,background .2s ease}.hamburger-inner:before,.hamburger-inner:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--text-primary);transition:transform .2s ease,opacity .2s ease}.hamburger-inner:before{top:-7px}.hamburger-inner:after{top:7px}.hamburger.is-open .hamburger-inner{background:none}.hamburger.is-open .hamburger-inner:before{transform:translateY(7px) rotate(45deg)}.hamburger.is-open .hamburger-inner:after{transform:translateY(-7px) rotate(-45deg)}.menu-buttons.mobile{display:none;flex-direction:column;gap:6px;padding:10px 20px;background:var(--bg-primary)}.menu-buttons.mobile.open{display:flex;animation:slideDown .2s ease both}.menu-buttons.mobile li{display:flex;align-items:center}.menu-buttons.mobile .theme-toggle{width:100%;justify-content:flex-start;padding:8px 12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.theme-toggle-desktop-wrapper{display:flex;align-items:center}@media(max-width:640px){.menu-buttons.desktop,.theme-toggle-desktop-wrapper{display:none}.hamburger{display:inline-block}}.search-input{display:flex;justify-content:center;margin-top:2rem}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;width:20px;height:20px;pointer-events:none;opacity:.6}.search-input input{width:400px;max-width:100%;padding:.75rem 1rem .75rem 3rem;border-radius:20px;border:1px solid var(--border-color);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);font-family:Rosarivo,serif;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.search-input input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--border-color-focus)}.search-input input::placeholder{color:var(--text-secondary);opacity:.8}@media(max-width:640px){.search-input{margin-top:1.5rem}.search-input-wrapper{width:100%;max-width:100%;padding:0}.search-input input{width:100%;padding:.75rem 1rem .75rem 2.25rem;font-size:.95rem}.search-icon{left:.9rem;width:18px;height:18px}}.book-card{position:relative;border-radius:12px;overflow:hidden;background:var(--bg-primary);transition:all .3s ease;display:flex;flex-direction:column;width:100%;box-shadow:0 2px 8px #00000014}.saved-indicator{position:absolute;top:10px;right:10px;z-index:10;width:24px;height:24px;background:linear-gradient(135deg,#fffffff2,#ffffffe6);border-radius:6px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001f;border:1px solid var(--border-color);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.book-card:hover{transform:translateY(-8px);box-shadow:0 8px 20px var(--shadow-accent-strong),0 4px 12px #0000001a}.book-cover{position:relative;width:100%;aspect-ratio:2 / 3;max-height:360px;overflow:hidden;border-radius:12px 12px 0 0;background:var(--bg-page)}.book-image{width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:center;transition:transform .3s ease}.book-card:hover .book-image{transform:scale(1.05)}.book-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.95rem;font-family:Rosarivo,serif;background:var(--bg-page)}.book-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:flex-end;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 70%)}.book-card:hover .book-overlay{opacity:1;transform:translateY(0);pointer-events:auto}.book-info{padding:.75rem 1rem .5rem;display:flex;flex-direction:column;gap:.35rem}.book-title{font-size:1rem;color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:0;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author{color:var(--text-secondary);font-size:.85rem;font-style:italic;font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:500;letter-spacing:.2px;line-height:1.3;min-width:0;margin:0 0 -.2rem;padding:0}.book-card .book-author,.home-popular .book-author,.books-page .book-author{border-bottom:none!important}.book-card .book-author:after,.home-popular .book-author:after,.books-page .book-author:after{display:none!important;content:none!important}.add-book-btn,.add-quote-btn{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 14px;border-radius:6px;font-size:.85rem;font-weight:500;min-width:140px;text-align:center;font-family:Rosarivo,serif;transition:all .2s ease;letter-spacing:.3px;box-shadow:0 1px 4px var(--shadow-accent)}.add-book-btn.saved{background:var(--bg-secondary);color:var(--accent-primary);font-size:.8rem;border-color:var(--border-color-hover)}.add-book-btn:hover,.add-quote-btn:hover{background:var(--bg-secondary);transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-accent-strong);border-color:var(--border-color-hover)}.add-book-btn.saved:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}@media(max-width:420px){.add-book-btn,.add-quote-btn{min-width:120px;padding:8px 10px;font-size:.85rem}}@media(max-width:768px){.book-card{font-size:.9rem}.book-info{padding:.65rem .75rem;gap:.3rem}.book-title{font-size:.95rem}.book-author{font-size:.8rem}}@media(max-width:600px){.book-cover{max-height:260px}.saved-indicator{width:24px;height:24px;top:6px;right:6px}.saved-indicator svg{width:16px;height:16px}}.modal-content{background:var(--bg-primary);padding:2rem;border-radius:12px;max-width:500px;width:90%;box-shadow:0 4px 20px #0003}.modal-content p{margin-bottom:1rem;color:var(--text-primary);line-height:1.5;font-family:Rosarivo,serif}.modal-content .warning-message{background:var(--bg-reflection);border-left:4px solid var(--accent-primary);padding:1rem;border-radius:6px;margin:1rem 0;color:var(--accent-primary);font-weight:500}.modal-content strong{font-weight:600;color:var(--text-primary)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;transition:opacity .2s;font-family:Rosarivo,serif}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,220px));gap:18px;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:1400px;margin:0 auto;justify-content:center;box-sizing:border-box}@media(max-width:900px){.book-grid{padding:1rem;gap:14px}}@media(max-width:640px){.book-grid{padding:1rem;gap:14px;width:100%;max-width:100%;box-sizing:border-box}}@media(max-width:480px){.book-grid{grid-template-columns:repeat(1,1fr);padding:1rem}}.home{padding:0;min-height:calc(100vh - 80px);background:var(--bg-primary)}.home-search-area{text-align:center;padding:clamp(2rem,8vw,4rem) clamp(1rem,4vw,2rem);position:relative;background-size:clamp(12rem,20vw,22rem) auto;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-primary);border-bottom:2px solid var(--border-color)}.home-search-area h1{font-size:clamp(1.5rem,5vw,2.5rem);margin:0 0 clamp(1rem,3vw,1.5rem) 0;position:relative;z-index:1;color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:700;text-align:center;width:100%;text-shadow:-.5px -.5px 0 white,.5px -.5px 0 white,-.5px .5px 0 white,.5px .5px 0 white}.home-popular{padding:2.5rem 2rem;background:var(--bg-page);position:relative}.home-popular:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-border-top);opacity:.8}.home-popular h2{font-family:Rosarivo,serif;color:var(--text-primary);font-weight:400;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color);position:relative;font-size:1.25rem}.home-popular h2:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:3px;background:var(--gradient-border)}.home-popular .book-grid{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-accent)}.home-popular p{font-family:Rosarivo,serif;color:var(--text-secondary);font-size:1rem;text-align:center;padding:2rem}@media(max-width:768px){.home-search-area{padding:clamp(1.5rem,6vw,3rem) clamp(.75rem,3vw,1.5rem);min-height:auto}.home-search-area h1{font-size:clamp(1.25rem,4vw,2rem);margin-bottom:clamp(.75rem,2vw,1.25rem)}.home-popular{padding:1.5rem 1rem}.home-popular h2{font-size:1.1rem}}@media(max-width:640px){.home-search-area{padding:1.25rem 1rem}.home-search-area h1{font-size:clamp(1.1rem,5vw,1.5rem);line-height:1.3}.home-popular{padding:1.25rem 1rem}.home-popular h2{font-size:1rem;margin-bottom:1rem;padding-bottom:.5rem}.home-popular p{padding:1.5rem 1rem;font-size:.9rem}.home-popular .book-grid{padding:1rem;margin:0;width:100%;max-width:100%;box-sizing:border-box}}.books-page{padding:2rem;min-height:calc(100vh - 80px);background:var(--bg-page);position:relative}.books-page:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-border-top);opacity:.8}.books-page-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color);position:relative}.books-page-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:3px;background:var(--gradient-border)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.books-page h1{color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:700;font-size:2rem;letter-spacing:-.02em}.books-count-badge{display:flex;align-items:baseline;gap:.5rem;background:var(--gradient-badge-active);padding:.65rem 1.25rem;border-radius:12px;border:2px solid var(--border-color-hover);box-shadow:0 2px 6px var(--shadow-accent-strong);font-family:Rosarivo,serif}.count-number{font-size:1.5rem;font-weight:700;color:var(--accent-primary);line-height:1}.count-label{font-size:.95rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;padding:3rem 2rem}.empty-state-content{text-align:center;max-width:500px;background:var(--bg-primary);padding:3rem 2.5rem;border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 12px #00000014}.empty-state-title{font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.01em}.empty-state-message{font-family:Rosarivo,serif;font-size:1rem;color:var(--text-secondary);line-height:1.6}.books-page .book-grid{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-accent);padding:2rem 1.5rem;margin-top:1rem}.books-page .book-card .book-info{padding-bottom:.5rem}@media(max-width:640px){.books-page{padding:1.5rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.books-page h1{font-size:1.75rem}.books-count-badge{align-self:stretch;justify-content:center}.empty-state-content{padding:2rem 1.5rem}.empty-state-title{font-size:1.25rem}.books-page .book-grid{padding:1.5rem 1rem}}.quotes-sidebar{border-right:3px solid var(--border-color);padding:0;overflow-y:auto;background:var(--bg-primary);position:relative;height:100%}.quotes-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-border-sidebar);opacity:.7}.sidebar-container{padding:1.5rem}.quotes-sidebar-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color);position:relative}.quotes-sidebar-header:after{content:"";position:absolute;bottom:-2px;left:0;width:50px;height:3px;background:var(--gradient-border)}.quotes-sidebar-title,.quotes-sidebar h2{margin:0;padding:0;border:none;color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:700;font-size:1.5rem;letter-spacing:-.01em;position:relative}.sidebar-books-count-badge{display:flex;align-items:baseline;gap:.5rem;background:var(--gradient-badge-active);padding:.65rem 1.25rem;border-radius:12px;border:2px solid var(--border-color-hover);box-shadow:0 2px 6px var(--shadow-accent-strong);font-family:Rosarivo,serif}.sidebar-count-number{font-size:1.5rem;font-weight:700;color:var(--accent-primary);line-height:1}.sidebar-count-label{font-size:.95rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.quotes-sidebar p{font-size:.9rem;color:var(--text-primary);margin-bottom:1rem;font-family:Rosarivo,serif;line-height:1.5;padding:.75rem;background:rgba(var(--accent-primary-rgb),.15);border-radius:8px;border-left:4px solid var(--accent-primary)}.quotes-sidebar ul{list-style:none;padding:0;margin:0}.quotes-sidebar li{padding:.85rem 1rem;cursor:pointer;border-radius:8px;margin-bottom:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);transition:all .2s ease;box-shadow:0 1px 3px #0000000a;position:relative;overflow:hidden}.quotes-sidebar li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-border);opacity:0;transition:opacity .2s ease}.quotes-sidebar li:hover{background:var(--bg-hover);transform:translate(2px);box-shadow:0 2px 6px #00000014;border-color:var(--border-color-hover)}.quotes-sidebar li:hover:before,.quotes-sidebar li.active:before{opacity:1}.quotes-sidebar li.active{background:var(--quote-highlight);border-color:var(--accent-primary);border-width:2px;box-shadow:0 2px 8px var(--shadow-accent-strong),0 1px 3px #0000000f;transform:translate(2px)}.quotes-sidebar span{font-size:.85rem;color:var(--text-primary);font-family:Rosarivo,serif}.book-list-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:.4rem}.book-list-line strong{font-family:Sanchez,serif;font-weight:600;font-size:.95rem;color:var(--text-primary);flex:1;line-height:1.3}.book-quote-count{background:var(--gradient-badge);color:var(--text-primary);padding:.2rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;font-family:Rosarivo,serif;border:1px solid var(--border-color-hover);min-width:20px;text-align:center;flex-shrink:0}.quotes-sidebar li.active .book-quote-count{background:var(--gradient-badge-active);border-color:var(--border-color-hover);color:var(--text-primary);border-width:1.5px}.quotes-sidebar .book-author{font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-style:italic;color:var(--accent-secondary);font-size:.85rem;line-height:1.4}.quote-card{background:var(--quote-highlight);padding:1rem 1.25rem;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 2px 6px var(--shadow-accent),0 1px 2px #00000008;transition:all .2s ease;position:relative;overflow:hidden}.quote-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-border-vertical);opacity:0;transition:opacity .2s ease}.quote-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px var(--shadow-accent-strong),0 1px 4px #0000000d;border-color:var(--accent-primary)}.quote-card:hover:before{opacity:1}.quote-card blockquote{font-style:italic;margin:0 0 8px;padding-left:.75rem;border-left:4px solid var(--accent-primary);color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-size:.95rem;line-height:1.6}.quote-page{display:inline-block;font-size:.75rem;color:var(--text-primary);font-family:Rosarivo,serif;padding:.2rem .6rem;margin-bottom:.35rem;background:var(--gradient-badge);border-radius:10px;font-weight:600;border:1.5px solid var(--border-color)}.quote-reflection{margin-top:.75rem;padding:.7rem .85rem;background:var(--bg-reflection);border-left:4px solid var(--accent-secondary);border-radius:0 5px 5px 0}.quote-reflection-label{font-weight:600;color:var(--text-primary);font-family:Rosarivo,serif;font-size:.8rem;margin-bottom:.3rem;font-style:italic}.quote-reflection-text{color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-size:.9rem;line-height:1.5}.quote-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.6rem;padding-top:.5rem;border-top:1px solid rgba(var(--accent-primary-rgb),.3)}.edit-quote-btn{background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.3);color:var(--accent-primary);padding:.35rem .75rem;border-radius:5px;font-family:Rosarivo,serif;font-size:.8rem;font-weight:500;transition:all .2s ease;cursor:pointer}.edit-quote-btn:hover{background:rgba(var(--accent-primary-rgb),.15);border-color:rgba(var(--accent-primary-rgb),.4);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--accent-primary-rgb),.2)}.delete-quote-btn{background:#b73f3f14;border:1px solid rgba(183,63,63,.2);color:#b73f3f;padding:.35rem .75rem;border-radius:5px;font-family:Rosarivo,serif;font-size:.8rem;font-weight:500;transition:all .2s ease;cursor:pointer}.delete-quote-btn:hover{background:#b73f3f26;border-color:#b73f3f4d;transform:translateY(-1px);box-shadow:0 2px 4px #b73f3f33}.quote-form{margin:12px 0 18px;background:var(--bg-primary);padding:1.25rem;border-radius:10px;display:flex;flex-direction:column;gap:1rem;border:2px solid var(--border-color);box-shadow:0 2px 6px var(--shadow-accent);max-width:100%;box-sizing:border-box}.quote-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;color:var(--text-primary);font-family:Rosarivo,serif;font-weight:500}.quote-form input,.quote-form textarea{font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;color:var(--text-primary);padding:.65rem .85rem;border:1px solid var(--accent-primary);border-radius:6px;background:var(--bg-primary);font-size:.95rem;width:100%;max-width:100%;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.quote-form input:focus,.quote-form textarea:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 3px var(--border-color-focus)}.quote-form input::placeholder,.quote-form textarea::placeholder{color:rgba(var(--accent-primary-rgb),.6);opacity:.7}.quote-form textarea{min-height:100px;resize:vertical;line-height:1.6}.quote-form-actions{margin-top:.5rem;display:flex;gap:.75rem;justify-content:flex-end}.quote-form-actions .primary{background:var(--gradient-accent);color:var(--bg-primary);padding:.65rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;font-family:Rosarivo,serif;box-shadow:0 2px 6px var(--shadow-accent-hover);transition:all .2s ease}.quote-form-actions .primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-accent-hover-strong);background:var(--gradient-accent-hover)}.quote-form-actions .cancel{background:rgba(var(--accent-primary-rgb),.1);color:var(--text-primary);padding:.65rem 1.5rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:500;font-family:Rosarivo,serif;transition:all .2s ease;cursor:pointer}.quote-form-actions .cancel:hover{background:rgba(var(--accent-primary-rgb),.15);border-color:var(--border-color-hover)}.quotes-list{display:flex;flex-direction:column;gap:.85rem}.quotes-count{margin-top:1rem;margin-bottom:.75rem;display:inline-block;background:var(--gradient-badge);color:var(--text-primary);font-family:Rosarivo,serif;font-size:.85rem;font-weight:700;padding:.35rem .85rem;border-radius:20px;box-shadow:0 2px 4px var(--shadow-accent-strong);border:1.5px solid var(--border-color)}.no-quotes{margin-top:3.5rem;color:var(--text-primary);border-top:1px solid var(--border-color);padding-top:1.25rem;font-family:Rosarivo,serif}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);padding:2rem;border-radius:12px;max-width:400px;width:90%;box-shadow:0 4px 20px #0003}.modal-content h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.5rem;font-weight:600;font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif}.modal-content p{margin-bottom:1.5rem;color:var(--text-primary);line-height:1.5;font-family:Rosarivo,serif}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;transition:opacity .2s}.modal-btn:hover{opacity:.9}.modal-btn.cancel-btn{background:rgba(var(--accent-primary-rgb),.2);color:var(--text-primary)}.modal-btn.confirm-btn{background:#b73f3f;color:#fff}.quotes-layout{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 80px);background:var(--bg-primary);gap:0}.quotes-panel{padding:2rem;overflow-y:auto;background:var(--bg-primary);position:relative}.quotes-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-border-top);opacity:.8}.quotes-panel p{color:var(--text-primary);font-size:.98rem;font-family:Rosarivo,serif}.quotes-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:1rem;margin-bottom:1rem;border-bottom:2px solid var(--border-color);position:relative}.quotes-panel-header:after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:3px;background:var(--gradient-border)}.quotes-panel-header h1{color:var(--text-primary);font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-weight:700;font-size:1.75rem;letter-spacing:-.02em}.title-col{display:flex;flex-direction:column;gap:12px}.author-row{display:flex;align-items:center;gap:16px;padding-bottom:.75rem}.author-name{color:var(--accent-secondary);font-size:.95rem;font-weight:500;font-family:Libre Baskerville,Baskerville,Baskerville Old Face,Hoefler Text,Times New Roman,serif;font-style:italic}.add-quote-inline{background:var(--gradient-accent);color:var(--bg-primary);border:none;padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:600;margin-left:8px;box-shadow:0 2px 6px var(--shadow-accent-hover);transition:all .2s ease;font-family:Rosarivo,serif}.add-quote-inline:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-accent-hover-strong);background:var(--gradient-accent-hover)}.add-quote-inline.cancel-btn{background:linear-gradient(135deg,#f25454,#e04545);box-shadow:0 2px 6px #f254544d}.add-quote-inline.cancel-btn:hover{box-shadow:0 4px 12px #f2545466;background:linear-gradient(135deg,#ff5f5f,#f25454)}.quotes-panel-actions .primary{background:#8b6f47;color:#fff;border:none;padding:8px 12px;border-radius:6px}@media(max-width:640px){.author-row{flex-direction:column;align-items:flex-start;gap:6px}.add-quote-inline{align-self:flex-start;margin-left:0;padding:6px 8px;font-size:.9rem}.title-row{gap:8px}}[data-palette=mutedLinen]{--bg-primary: #EEEAE4;--bg-secondary: #E3DED6;--bg-hover: rgba(227, 222, 214, .5);--bg-navbar: linear-gradient(to bottom, #EEEAE4 0%, #E3DED6 100%);--bg-page: linear-gradient(to bottom, #EEEAE4 0%, #E3DED6 100%);--accent-primary: #6B7A8F;--accent-secondary: #B08968;--accent-primary-rgb: 107, 122, 143;--accent-secondary-rgb: 176, 137, 104;--quote-highlight: #E3DED6;--text-primary: #333333;--text-secondary: #6B705C;--border-color: rgba(107, 122, 143, .4);--border-color-secondary: rgba(176, 137, 104, .4);--border-color-hover: rgba(107, 122, 143, .5);--border-color-focus: rgba(176, 137, 104, .2);--gradient-accent: linear-gradient(135deg, #6B7A8F 0%, #B08968 100%);--gradient-accent-hover: linear-gradient(135deg, #B08968 0%, #6B7A8F 100%);--gradient-border: linear-gradient(to right, #6B7A8F, #B08968);--gradient-border-top: linear-gradient(to right, #6B7A8F, #B08968, #6B7A8F, #B08968);--gradient-border-sidebar: linear-gradient(to right, #6B7A8F, #B08968, #6B7A8F);--gradient-badge: linear-gradient(135deg, rgba(107, 122, 143, .25), rgba(176, 137, 104, .2));--gradient-badge-active: linear-gradient(135deg, rgba(107, 122, 143, .2), rgba(176, 137, 104, .15));--gradient-border-vertical: linear-gradient(to bottom, #6B7A8F, #B08968, #6B7A8F);--shadow-accent: rgba(107, 122, 143, .15);--shadow-accent-strong: rgba(107, 122, 143, .2);--shadow-accent-hover: rgba(107, 122, 143, .3);--shadow-accent-hover-strong: rgba(107, 122, 143, .4);--bg-reflection: rgba(227, 222, 214, .6)}[data-palette=warmOat]{--bg-primary: #F1E6D2;--bg-secondary: #F4D9C6;--bg-hover: rgba(244, 217, 198, .5);--bg-navbar: linear-gradient(to bottom, #F1E6D2 0%, #F4D9C6 100%);--bg-page: linear-gradient(to bottom, #F1E6D2 0%, #F4D9C6 100%);--accent-primary: #C46A2B;--accent-secondary: #7A8450;--accent-primary-rgb: 196, 106, 43;--accent-secondary-rgb: 122, 132, 80;--quote-highlight: #F4D9C6;--text-primary: #3A2E2A;--text-secondary: #7A8450;--border-color: rgba(122, 132, 80, .4);--border-color-secondary: rgba(122, 132, 80, .4);--border-color-hover: rgba(122, 132, 80, .5);--border-color-focus: rgba(196, 106, 43, .2);--gradient-accent: linear-gradient(135deg, #C46A2B 0%, #7A8450 100%);--gradient-accent-hover: linear-gradient(135deg, #7A8450 0%, #C46A2B 100%);--gradient-border: linear-gradient(to right, #C46A2B, #7A8450);--gradient-border-top: linear-gradient(to right, #C46A2B, #7A8450, #C46A2B, #7A8450);--gradient-border-sidebar: linear-gradient(to right, #C46A2B, #7A8450, #C46A2B);--gradient-badge: linear-gradient(135deg, rgba(122, 132, 80, .25), rgba(142, 152, 100, .2));--gradient-badge-active: linear-gradient(135deg, rgba(196, 106, 43, .2), rgba(122, 132, 80, .15));--gradient-border-vertical: linear-gradient(to bottom, #C46A2B, #7A8450, #C46A2B);--shadow-accent: rgba(122, 132, 80, .15);--shadow-accent-strong: rgba(196, 106, 43, .2);--shadow-accent-hover: rgba(196, 106, 43, .3);--shadow-accent-hover-strong: rgba(196, 106, 43, .4);--bg-reflection: rgba(244, 217, 198, .6)}[data-palette=blushParchment]{--bg-primary: #F3E7E5;--bg-secondary: #EED6D3;--bg-hover: rgba(238, 214, 211, .5);--bg-navbar: linear-gradient(to bottom, #F3E7E5 0%, #EED6D3 100%);--bg-page: linear-gradient(to bottom, #F3E7E5 0%, #EED6D3 100%);--accent-primary: #B76E79;--accent-secondary: #9C8F8F;--accent-primary-rgb: 183, 110, 121;--accent-secondary-rgb: 156, 143, 143;--quote-highlight: #EED6D3;--text-primary: #4A3A3A;--text-secondary: #9C8F8F;--border-color: rgba(156, 143, 143, .4);--border-color-secondary: rgba(156, 143, 143, .4);--border-color-hover: rgba(156, 143, 143, .5);--border-color-focus: rgba(183, 110, 121, .2);--gradient-accent: linear-gradient(135deg, #B76E79 0%, #9C8F8F 100%);--gradient-accent-hover: linear-gradient(135deg, #9C8F8F 0%, #B76E79 100%);--gradient-border: linear-gradient(to right, #B76E79, #9C8F8F);--gradient-border-top: linear-gradient(to right, #B76E79, #9C8F8F, #B76E79, #9C8F8F);--gradient-border-sidebar: linear-gradient(to right, #B76E79, #9C8F8F, #B76E79);--gradient-badge: linear-gradient(135deg, rgba(156, 143, 143, .25), rgba(172, 159, 159, .2));--gradient-badge-active: linear-gradient(135deg, rgba(183, 110, 121, .2), rgba(156, 143, 143, .15));--gradient-border-vertical: linear-gradient(to bottom, #B76E79, #9C8F8F, #B76E79);--shadow-accent: rgba(156, 143, 143, .15);--shadow-accent-strong: rgba(183, 110, 121, .2);--shadow-accent-hover: rgba(183, 110, 121, .3);--shadow-accent-hover-strong: rgba(183, 110, 121, .4);--bg-reflection: rgba(238, 214, 211, .6)}
