.RecSidebarPanel_backdrop__Mvm_v{display:none}@media(max-width:1024px){.RecSidebarPanel_backdrop__Mvm_v{display:block;position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.4)}}.RecSidebarPanel_panel__rRXuW{position:fixed;top:0;right:0;bottom:0;width:380px;overflow-y:auto;background:#fff;border-left:1px solid #ede6dc;box-shadow:-2px 0 12px rgba(0,0,0,.06);z-index:1000}@media(max-width:1024px){.RecSidebarPanel_panel__rRXuW{width:min(380px,85vw);box-shadow:-4px 0 24px rgba(0,0,0,.2)}}.AppShell_shell__aelug{min-height:calc(100vh - 65px);min-height:calc(100dvh - 65px)}.AppShell_main__q1w8W{min-width:0;transition:margin-right .2s ease}@media(min-width:1024px){.AppShell_sidebarOpen__gVbLs .AppShell_main__q1w8W{margin-right:380px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSimple{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .6s ease-out}.fade-in-fast{animation:fadeIn .3s ease-out}.slide-in-right{animation:slideInRight .4s ease-out}.slide-in-left{animation:slideInLeft .4s ease-out}.scale-up{animation:scaleUp .3s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.spin{animation:spin 1s linear infinite}.fade-in-delay-1{animation:fadeIn .6s ease-out;animation-delay:.05s;animation-fill-mode:both}.fade-in-delay-2{animation:fadeIn .6s ease-out;animation-delay:.1s;animation-fill-mode:both}.fade-in-delay-3{animation:fadeIn .6s ease-out;animation-delay:.15s;animation-fill-mode:both}.fade-in-delay-4{animation:fadeIn .6s ease-out;animation-delay:.2s;animation-fill-mode:both}.fade-in-delay-5{animation:fadeIn .6s ease-out;animation-delay:.25s;animation-fill-mode:both}.fade-in-delay-6{animation:fadeIn .6s ease-out;animation-delay:.3s;animation-fill-mode:both}.fade-in-delay-7{animation:fadeIn .6s ease-out;animation-delay:.35s;animation-fill-mode:both}.fade-in-delay-8{animation:fadeIn .6s ease-out;animation-delay:.4s;animation-fill-mode:both}.fade-in-delay-9{animation:fadeIn .6s ease-out;animation-delay:.45s;animation-fill-mode:both}.fade-in-delay-10{animation:fadeIn .6s ease-out;animation-delay:.5s;animation-fill-mode:both}.fade-in-delay-11{animation:fadeIn .6s ease-out;animation-delay:.55s;animation-fill-mode:both}.fade-in-delay-12{animation:fadeIn .6s ease-out;animation-delay:.6s;animation-fill-mode:both}.fade-in-delay-13{animation:fadeIn .6s ease-out;animation-delay:.65s;animation-fill-mode:both}.fade-in-delay-14{animation:fadeIn .6s ease-out;animation-delay:.7s;animation-fill-mode:both}.fade-in-delay-15{animation:fadeIn .6s ease-out;animation-delay:.75s;animation-fill-mode:both}.fade-in-delay-16{animation:fadeIn .6s ease-out;animation-delay:.8s;animation-fill-mode:both}.fade-in-delay-17{animation:fadeIn .6s ease-out;animation-delay:.85s;animation-fill-mode:both}.fade-in-delay-18{animation:fadeIn .6s ease-out;animation-delay:.9s;animation-fill-mode:both}.fade-in-delay-19{animation:fadeIn .6s ease-out;animation-delay:.95s;animation-fill-mode:both}.fade-in-delay-20{animation:fadeIn .6s ease-out;animation-delay:1s;animation-fill-mode:both}.transition-fast{transition:all .2s ease}.transition-base{transition:all .3s ease}.transition-bounce{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(45,37,32,.12)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf9f7}body{margin:0;padding:65px 0 0;font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,#faf9f7,#f5eee6);min-height:100vh;min-height:100dvh;color:#202e2b}@media(max-width:767px){body{padding-top:44px}}h1,h2,h3,h4,h5,h6{font-family:Libre Baskerville,Georgia,serif;font-weight:700;color:#202e2b;margin:0}a{color:#1b553e;text-decoration:none}a:hover{color:#c4943d}img{max-width:100%;height:auto}.page{background:linear-gradient(135deg,#faf9f7,#f5eee6);font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;padding-bottom:80px}@media(max-width:767px){.page{padding-bottom:140px}}.page--no-padding{padding-bottom:0}.page-header{background:linear-gradient(135deg,#1b553e,#153f2e);padding:24px 20px 20px;position:fixed;top:0;left:0;right:0;z-index:1001}.page-header__container{max-width:800px;margin:0 auto}.page-header__title{font-family:Libre Baskerville,Georgia,serif;font-size:30px;font-weight:700;line-height:1.2;color:#202e2b;color:#faf9f7;margin:0 0 8px;letter-spacing:1px;text-align:center}.page-header__subtitle{font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:400;line-height:1.6;color:#202e2b;color:#f5eee6;margin:0;text-align:center;opacity:.9}.container{max-width:800px;margin:0 auto;padding:0 20px}.container--lg{max-width:900px}.container--xl{max-width:1200px}.book-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.section-header{background:linear-gradient(135deg,#f5eee6,#ebe2d8);padding:16px 24px;border-radius:16px 16px 0 0;border:2px solid #e8e2d8;border-bottom:none;display:flex;align-items:center;justify-content:space-between}.section-header--spice{background:linear-gradient(135deg,#f5e6de,#ebdcd2)}.section-header--plain{background:linear-gradient(135deg,#f5eee6,#ebe2d8)}.section-header__title{font-family:Libre Baskerville,Georgia,serif;font-size:20px;font-weight:700;line-height:1.3;color:#202e2b;margin:0;display:flex;align-items:center;gap:12px}.section-header__count{display:inline-block;padding:4px 12px;border-radius:8px;font-size:13px;font-weight:600;background:#1b553e;color:#fff}.section-header__count--spice{background:#c62828}.section-content{background:#fff;border:2px solid #e8e2d8;border-top:none;border-radius:0 0 16px 16px;padding:24px;display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.empty-state{text-align:center;padding:60px 20px;color:#202e2b;font-size:20px}.empty-state__icon{font-family:Libre Baskerville,Georgia,serif;font-size:30px;margin-bottom:8px}.empty-state__message{font-size:15px;color:#806757;margin-bottom:24px}.empty-state__hint{font-size:15px;opacity:.7}.loading-state{display:flex;align-items:center;justify-content:center;padding:60px 0;background:linear-gradient(135deg,#faf9f7,#f5eee6);font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif}.loading-state__content{text-align:center}.loading-state__icon{font-size:48px;margin-bottom:16px}.loading-state__text{font-size:26px;color:#202e2b}.welcome-state{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#faf9f7,#f5eee6);font-family:Lato,-apple-system,BlinkMacSystemFont,sans-serif;padding:20px}.welcome-state__content{text-align:center;max-width:400px}.welcome-state__icon{font-size:64px;margin-bottom:24px}.welcome-state__title{font-family:Libre Baskerville,Georgia,serif;font-size:34px;color:#202e2b;margin-bottom:16px}.welcome-state__subtitle{font-size:20px;color:#806757;margin-bottom:32px;line-height:1.6}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#1b553e;color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 8px 24px rgba(27,85,62,.3);z-index:1001;font-weight:600;display:flex;align-items:center;gap:12px}.toast__close{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;padding:0 4px}.fixed-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #f5eee6;padding:12px 20px;display:flex;justify-content:center;gap:12px;box-shadow:0 -4px 16px rgba(0,0,0,.04);z-index:99}.tiptap div[data-embed-type=spotify] iframe{opacity:0;animation:fadeInSimple .3s ease forwards;animation-delay:1s}.error-message{padding:16px;background:#ffebee;border-radius:8px;color:#b71c1c;margin-bottom:20px}.text-center{text-align:center}.text-right{text-align:right}.mt-sm{margin-top:8px}.mt-md{margin-top:12px}.mt-lg{margin-top:20px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:20px}.flex-1{flex:1 1;min-width:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}