@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--primary-color:#e0e0e0;--accent-color:#d95525;--accent-rgb:217,85,37;--font-heading:"Oswald",sans-serif;--font-body:"Roboto",sans-serif;--spacing-md:1.5rem;--spacing-lg:2.5rem;--border-radius:4px;--border-color:#333}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;background-image:radial-gradient(circle at center,#242424 0,#121212 70%);color:#e0e0e0;color:var(--primary-color);font-family:Roboto,sans-serif;font-family:var(--font-body);margin:0;min-height:100vh}*,:after,:before{box-sizing:border-box}.p-10{padding:10px!important}.navbar{align-items:center;animation:fadeIn .5s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#12121299;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;left:0;padding:1rem 5%;position:fixed;top:0;width:100%;z-index:1000}.nav-logo{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:1.5px}.nav-links a,.nav-logo{color:var(--primary-color);text-decoration:none}.nav-links a{font-weight:700;margin-left:2rem;padding-bottom:8px;position:relative;transition:color .3s ease}.nav-links a:hover{color:var(--accent-color)}.nav-links a:after{background-color:var(--accent-color);bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.19,1,.22,1);width:100%}.nav-links a.active:after,.nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.nav-links a.active{color:var(--accent-color)}.nav-links a.admin-link{background-color:var(--accent-color);border-bottom:none;border-radius:var(--border-radius);color:#121212;font-weight:700;padding:6px 12px}.nav-links a.admin-link:hover{background-color:#ff6a3c;color:#fff}.nav-links a.admin-link.active:after,.nav-links a.admin-link:hover:after{transform:scaleX(0)!important}.footer-container{background:#0000;padding:4rem 5% 3rem;position:relative;width:100%}.footer-container:before{animation:fadeIn 1s ease-out;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:1px;left:50%;max-width:400px;position:absolute;top:0;transform:translateX(-50%);width:50%}.footer-content{grid-gap:2rem;align-items:center;animation:fadeInUp 1s ease-out;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:1200px}.footer-copyright{color:#888;font-size:.9rem}.footer-nav{display:flex;gap:2.5rem;justify-content:center}.footer-nav a{color:#ccc;font-weight:700;position:relative;text-decoration:none;transition:color .3s ease}.footer-nav a:hover{color:var(--accent-color)}.footer-socials{display:flex;gap:1.5rem;justify-content:flex-end}.footer-socials a{color:#888;transition:color .3s ease,transform .3s ease}.footer-socials a:hover{color:var(--primary-color);transform:translateY(-3px)}.back-to-top{align-items:center;background-color:var(--accent-color);border:none;border-radius:50%;bottom:2rem;box-shadow:0 5px 15px rgba(var(--accent-rgb),.3);color:#121212;cursor:pointer;display:flex;height:50px;justify-content:center;opacity:0;position:fixed;right:2rem;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease,visibility .4s;visibility:hidden;width:50px;z-index:1001}.back-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.back-to-top:hover{box-shadow:0 8px 25px rgba(var(--accent-rgb),.5);transform:scale(1.1)!important}span.accent{color:var(--accent-color)}@media (max-width:768px){.footer-content{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-nav{order:-1}.footer-socials{justify-content:center}}@keyframes radioTextFade{0%{opacity:0;transform:translateY(10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes scroll-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.home-wrapper{-ms-overflow-style:none;height:100vh;overflow-x:hidden;overflow-y:auto;perspective:1000px;scroll-behavior:smooth;scrollbar-width:none}.home-wrapper::-webkit-scrollbar{display:none}.hero-section{align-items:center;background-position:50%;background-size:cover;display:flex;height:100vh;justify-content:center;position:relative;text-align:center}.hero-overlay{background:linear-gradient(180deg,#0003,#000c);z-index:1}.hero-overlay,.vignette-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.vignette-overlay{background:radial-gradient(circle at 50% 50%,#0000 0,#000000f2 80%);background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),#0000 0,#000000f2 80%);pointer-events:none;transition:background .2s linear;z-index:2}.hero-content{animation:fadeInUp 1s ease-out .2s forwards;color:var(--primary-color);max-width:800px;opacity:0;padding:20px;position:relative;z-index:3}.hero-author{font-family:var(--font-body);font-size:1.5rem;font-weight:400;margin:0}.hero-title{color:#fff;font-family:var(--font-heading);font-size:clamp(3rem,10vw,7rem);font-weight:500;letter-spacing:3px;margin:.5rem 0;text-shadow:0 5px 25px #000c;text-transform:uppercase}.hero-tagline{color:#ccc;font-size:1.2rem;font-style:italic;margin:0 auto 2.5rem;max-width:500px}.hero-cta-button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:0 5px 20px rgba(var(--accent-rgb),.3);color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1.2rem;font-weight:700;letter-spacing:1px;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.hero-cta-button:hover{box-shadow:0 8px 30px rgba(var(--accent-rgb),.5);transform:translateY(-3px)}.radio-transmission{color:#fff9;font-family:Courier New,Courier,monospace;font-size:1rem;height:2rem;margin-top:3rem;overflow:hidden;position:relative;text-shadow:0 0 5px rgba(var(--accent-rgb),.5)}.radio-transmission p{animation:radioTextFade 5s linear infinite;margin:0;width:100%}.radio-transmission p,.scroll-indicator{left:50%;position:absolute;transform:translateX(-50%)}.scroll-indicator{animation:fadeInUp 1s ease-out 1.5s forwards;border:2px solid #ffffff80;border-radius:20px;bottom:30px;height:40px;opacity:0;width:24px}.scroll-indicator span{animation:scroll-bounce 2s infinite;background:#ffffff80;border-radius:2px;height:8px;left:50%;margin-left:-2px;position:absolute;top:8px;width:4px}.praise-section{display:grid;min-height:100vh;padding:6rem 5%;place-items:center}.praise-grid{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-areas:"side1 main side2";grid-template-columns:1fr 1.5fr 1fr;max-width:1200px;width:100%}.praise-card{animation:fadeInUp 1s ease-out forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12121280;border:1px solid #ffffff1a;border-radius:8px;opacity:0;padding:2rem;transition:transform .5s cubic-bezier(.19,1,.22,1)}.praise-card:hover{transform:scale(1.05) rotateX(var(--rotateX)) rotateY(var(--rotateY))}.praise-card.featured-praise{animation-delay:.2s;box-shadow:0 0 60px rgba(var(--accent-rgb),.2);grid-area:main;padding:3rem;transform:scale(1.1)}.praise-card:not(.featured-praise){opacity:.7}.praise-grid>div:nth-child(2){animation-delay:.4s;grid-area:side1}.praise-grid>div:nth-child(3){animation-delay:.6s;grid-area:side2}.praise-quote{color:#ddd;font-size:1.3rem;font-style:italic;line-height:1.7;margin:0 0 1.5rem}.featured-praise .praise-quote{border-left:3px solid var(--accent-color);font-size:1.8rem;padding-left:2rem}.praise-source{color:var(--accent-color);display:block;font-style:normal;font-weight:700;text-align:right}@media (max-width:1024px){.praise-grid{grid-template-areas:"main" "side1" "side2";grid-template-columns:1fr}.praise-card.featured-praise{transform:scale(1)}}.about-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:120px 5% 60px}.about-content{animation:fadeIn 1s ease-out;max-width:800px;text-align:center;width:100%}.about-image-wrapper{margin-bottom:3rem}.author-image{aspect-ratio:1/1;border:3px solid var(--border-color);border-radius:5px;box-shadow:0 10px 40px #00000080,0 0 0 10px #12121280;display:inline-block;height:auto;max-width:300px;object-fit:cover;width:100%}.about-title{color:var(--accent-color);font-size:1.5rem;letter-spacing:2px;margin-bottom:.5rem}.about-title,.author-name{font-family:var(--font-heading)}.author-name{font-size:4rem;margin:0 0 2rem;text-shadow:0 2px 15px #00000080}.author-bio{color:#ccc;font-size:1.1rem;line-height:1.8;text-align:left}.author-bio p{margin:0 0 1.5rem;text-align:justify}@media (max-width:600px){.about-container{padding-bottom:40px;padding-top:100px}.author-name{font-size:3rem}.author-image{max-width:200px}}.books-container{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:120px 5% 40px}.books-title{color:var(--accent-color);font-family:var(--font-heading);font-size:3rem;letter-spacing:2px;margin-bottom:3rem;text-align:center}.book-gallery{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.book-gallery-card{border-radius:4px;box-shadow:0 5px 15px #0000004d;overflow:hidden;position:relative;text-decoration:none;transition:transform .4s ease,box-shadow .4s ease}.book-gallery-card:hover{box-shadow:0 15px 35px #00000080;transform:translateY(-10px)}.gallery-cover{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.book-gallery-card:hover .gallery-cover{transform:scale(1.05)}.gallery-card-overlay{background:linear-gradient(0deg,#000 0,#0000);bottom:0;left:0;padding:2.5rem 1.5rem 1.5rem;position:absolute;width:100%}.gallery-card-title{color:#fff;font-family:var(--font-heading);font-size:1.8rem;margin:0;opacity:0;transform:translateY(10px);transition:transform .4s ease,opacity .4s ease}.book-gallery-card:hover .gallery-card-title{opacity:1;transform:translateY(0)}.star-rating input[type=radio]{display:none}.star{cursor:pointer;font-size:2.5rem;transition:color .2s}.feedback-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.feedback-form h3{font-family:var(--font-heading);font-size:1.8rem;margin:0}.form-row{grid-gap:var(--spacing-md);gap:var(--spacing-md)}.feedback-form input,.feedback-form textarea{background-color:#101010;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);font-family:var(--font-body);font-size:1rem;padding:.8rem 1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.feedback-form input:focus,.feedback-form textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2);outline:none}.feedback-form textarea{min-height:120px;resize:vertical}.feedback-form button{background-color:var(--accent-color);border:none;border-radius:var(--border-radius);box-shadow:0 5px 15px rgba(var(--accent-rgb),.2);color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;padding:.8rem 1.5rem;transition:all .3s ease}.feedback-form button:hover{box-shadow:0 8px 25px rgba(var(--accent-rgb),.4);transform:translateY(-3px)}.feedback-form button:disabled{background-color:#555;border-color:#555;box-shadow:none;cursor:not-allowed;transform:translateY(0)}.detail-container{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:120px 5% 40px}.detail-card{grid-gap:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#1a1a1ab3;border:1px solid #ffffff1a;border-radius:8px;display:grid;gap:var(--spacing-lg);grid-template-columns:minmax(250px,350px) 1fr;padding:var(--spacing-lg)}.detail-sidebar{display:flex;flex-direction:column}.detail-cover{border-radius:var(--border-radius);box-shadow:10px 10px 30px #00000080;height:auto;object-fit:cover;width:100%}.detail-downloads{display:flex;flex-direction:column;gap:1rem;margin-top:10px}.detail-button{background-color:var(--accent-color);border:none;border-radius:var(--border-radius);box-shadow:0 5px 15px rgba(var(--accent-rgb),.2);color:#121212;font-family:var(--font-heading);font-weight:700;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.detail-button:hover{box-shadow:0 8px 25px rgba(var(--accent-rgb),.4);transform:translateY(-3px)}.download-count{font-size:.8rem;margin-left:.5rem;opacity:.8}.detail-main-content hr{border:0;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0}.detail-title{font-family:var(--font-heading);font-size:3.5rem;margin:0 0 .5rem}.detail-description{color:#ccc;font-size:1.1rem;line-height:1.7;margin-bottom:var(--spacing-md)}.feedback-list{margin-top:0}.feedback-list h2{border-bottom:1px solid var(--border-color);font-family:var(--font-heading);font-size:1.8rem;margin-bottom:2rem;padding-bottom:.5rem}.feedback-item{background-color:#121212;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem;padding:1.5rem}.feedback-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.feedback-nickname{color:var(--accent-color);font-weight:700}.feedback-stars .star-filled{color:#ffc107}.feedback-stars .star-empty{color:#444}.feedback-text{color:#ccc;font-style:italic;line-height:1.6;margin:0}@media (max-width:900px){.detail-card{grid-template-columns:1fr}.detail-sidebar{align-items:center}.detail-cover,.detail-downloads{max-width:350px;width:100%}}h2,h3{color:rgba(var(--accent-rgb),1)}.detail-description{overflow:hidden;transition:max-height .5s ease-in-out}.detail-description.collapsed{max-height:400px;position:relative}.detail-description.collapsed:after{background:linear-gradient(0deg,#1a1a1a,#0000);bottom:0;content:"";height:100px;left:0;pointer-events:none;position:absolute;width:100%}.expand-button{background:none;border:none;color:var(--accent-color);cursor:pointer;font-family:var(--font-heading);font-size:1rem;font-weight:700;margin-top:.5rem;padding:.5rem 0}.expand-button:hover{text-decoration:underline}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:80px 5%}.contact-grid{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1.5fr;max-width:1100px;width:100%}.contact-intro{animation:fadeInUp .8s ease-out forwards}.contact-title{border-left:4px solid var(--accent-color);color:var(--primary-color);font-family:var(--font-heading);font-size:4.5rem;letter-spacing:2px;line-height:1.1;margin:0;padding-left:2rem}.contact-subtext{color:#ccc;font-size:1.2rem;line-height:1.7;margin-top:1rem;padding-left:calc(2rem + 4px)}.contact-form{animation:fadeInUp .8s ease-out .2s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1ab3;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 0 50px rgba(var(--accent-rgb),.15);display:flex;flex-direction:column;gap:1.5rem;opacity:0;padding:2.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.contact-form input,.contact-form textarea{background:#0003;border:1px solid #444;border-radius:4px;color:var(--primary-color);font-family:var(--font-body);font-size:1rem;padding:1rem;transition:all .3s ease}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888}.contact-form input:focus,.contact-form textarea:focus{background:#0000001a;border-color:var(--accent-color);box-shadow:0 0 15px rgba(var(--accent-rgb),.3);outline:none}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:0 5px 15px rgba(var(--accent-rgb),.2);color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;padding:1rem 1.5rem;transition:all .3s ease}.contact-form button:hover{box-shadow:0 8px 25px rgba(var(--accent-rgb),.4);transform:translateY(-3px)}.contact-form button:disabled{background-color:#555;box-shadow:none;cursor:not-allowed;transform:translateY(0)}.status-message{border-radius:var(--border-radius);margin-top:-.5rem;padding:.8rem;text-align:center}.status-message.success{background-color:#28a745cc;color:#fff}.status-message.error{background-color:#dc3545cc;color:#fff}@media (max-width:900px){.contact-grid{gap:3rem;grid-template-columns:1fr;text-align:center}.contact-subtext,.contact-title{border-left:none;padding-left:0}}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.loading-container{display:grid;font-size:1.5rem;min-height:100vh;place-items:center}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:80px 5%}.login-form-wrapper{animation:fadeInUp .8s ease-out forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1ab3;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 0 50px rgba(var(--accent-rgb),.15);max-width:450px;padding:2.5rem;width:100%}.login-title{color:var(--primary-color);font-family:var(--font-heading);font-size:2.5rem;letter-spacing:2px;margin:0 0 var(--spacing-lg) 0;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form input{background:#0003;border:1px solid #444;border-radius:4px;color:var(--primary-color);font-family:var(--font-body);font-size:1rem;padding:1rem;transition:all .3s ease}.login-form input:focus{background:#0000001a;border-color:var(--accent-color);box-shadow:0 0 15px rgba(var(--accent-rgb),.3);outline:none}.login-form button{background-color:var(--accent-color);border:none;border-radius:4px;box-shadow:0 5px 15px rgba(var(--accent-rgb),.2);color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;padding:1rem 1.5rem;transition:all .3s ease}.login-form button:hover{box-shadow:0 8px 25px rgba(var(--accent-rgb),.4);transform:translateY(-3px)}.login-form button:disabled{background-color:#555;box-shadow:none;cursor:not-allowed;transform:translateY(0)}.error-message{background-color:#dc3545cc;border-radius:var(--border-radius);color:#fff;margin-top:-.5rem;padding:.8rem;text-align:center}.admin-layout{background-color:#121212;display:flex;min-height:100vh}.admin-sidebar{background-color:#1a1a1a;border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;padding:2rem;width:250px}.admin-logo{font-family:var(--font-heading);letter-spacing:2px;margin:0 0 3rem;text-align:center}.admin-nav{display:flex;flex-direction:column;flex-grow:1;gap:.5rem}.admin-nav a{border-radius:4px;color:#ccc;font-size:1.1rem;padding:.8rem 1rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.admin-nav a:hover{background-color:#2a2a2a;color:#fff}.admin-nav a.active{background-color:var(--accent-color);color:#121212;font-weight:700}.admin-sidebar-footer .logout-button{background-color:initial;border:2px solid #555;border-radius:var(--border-radius);color:#aaa;cursor:pointer;font-family:var(--font-heading);padding:.7rem 1rem;transition:all .3s ease;width:100%}.admin-sidebar-footer .logout-button:hover{border-color:var(--accent-color);color:var(--accent-color)}.admin-main-content{flex-grow:1;margin-top:40px;overflow-y:auto;padding:3rem 5%}.admin-page-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.admin-page-header h1{font-family:var(--font-heading);font-size:2.5rem;margin:0}.admin-page-header div{align-items:center;display:flex;gap:1rem}.admin-page-header .save-button,.save-button{background-color:var(--accent-color);border:none;border-radius:4px;color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1rem;font-weight:700;padding:.8rem 1.5rem;transition:all .3s ease}.admin-page-header .save-button:hover:not(:disabled){box-shadow:0 5px 15px rgba(var(--accent-rgb),.3);transform:translateY(-2px)}.admin-page-header .save-button:disabled{background-color:#555;cursor:not-allowed}.admin-page-header .success-message{color:#28a745;font-weight:700}.admin-page-header .error-message{color:#dc3545;font-weight:700}.stats-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{align-items:center;background:#1a1a1a;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 10px #0003;display:flex;gap:1.5rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-5px)}.stat-card-icon{align-items:center;background-color:#2a2a2a;border-radius:50%;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.stat-card-info{display:flex;flex-direction:column}.stat-card-title{color:#aaa;font-size:.9rem;margin-bottom:.25rem}.stat-card-value{color:var(--primary-color);font-family:var(--font-heading);font-size:2.5rem;font-weight:700}.dashboard-welcome{background-color:#1a1a1a;border-radius:8px;margin-top:3rem;padding:2rem;text-align:center}.dashboard-welcome h2{margin-top:0}.image-picker-container{margin-bottom:1.5rem}.image-picker-container label{color:#aaa;display:block;font-weight:700;margin-bottom:.5rem}.image-preview-wrapper{align-items:center;display:flex;gap:1rem}.image-preview{border:1px solid var(--border-color);border-radius:var(--border-radius);height:100px;object-fit:cover;width:100px}.browse-button{background-color:initial;border:2px solid #555;border-radius:var(--border-radius);color:#aaa;cursor:pointer;font-family:var(--font-heading);padding:.5rem 1rem;transition:all .3s ease}.browse-button:hover{border-color:var(--accent-color);color:var(--accent-color)}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;height:80vh;max-width:900px;width:90%}.modal-header{border-bottom:1px solid #333;padding:1rem 1.5rem}.close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:2rem}.modal-body{flex-grow:1;overflow-y:auto;padding:1.5rem}.image-gallery{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.gallery-item{border:2px solid #0000;cursor:pointer;position:relative;transition:border-color .2s}.gallery-item:hover{border-color:var(--accent-color)}.gallery-item img{aspect-ratio:1/1;display:block;height:100%;object-fit:cover;width:100%}.delete-image-button{background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;height:24px;opacity:0;position:absolute;right:5px;top:5px;transition:opacity .2s;width:24px}.gallery-item:hover .delete-image-button{opacity:1}.modal-footer{align-items:center;border-top:1px solid #333;display:flex;justify-content:space-between;padding:1rem 1.5rem}.upload-button{background-color:var(--accent-color);border-radius:var(--border-radius);color:#121212;cursor:pointer;padding:.7rem 1.2rem}.upload-button.disabled{background-color:#555;cursor:not-allowed}.upload-button input[type=file]{display:none}.modal-error{color:#dc3545;margin:0}.editor-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1ab3;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:2rem;padding:2rem}.editor-card.full-width{grid-column:1/-1}.editor-card h3{border-bottom:1px solid var(--border-color);font-family:var(--font-heading);font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.8rem}.form-group{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin-bottom:1.5rem}.form-group-full{margin-bottom:1.5rem}.form-group .label-wrapper,.form-group-full{display:flex;flex-direction:column}.form-group label,.form-group-full label{color:#ddd;font-weight:700}.form-group .label-description{color:#888;font-size:.8rem;margin-top:4px}.form-group input,.form-group textarea,.form-group-full textarea{background:#101010;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);font-family:var(--font-body);font-size:1rem;padding:.8rem;width:100%}.form-group-full textarea{margin-top:.5rem}.form-group .image-picker-container{margin-bottom:0}@media (max-width:768px){.form-group{align-items:flex-start;gap:.5rem;grid-template-columns:1fr}}.file-picker-container{display:contents}.file-input-group{align-items:center;display:flex}.file-input-group input[type=text]{border-bottom-right-radius:0;border-top-right-radius:0;flex-grow:1}.file-input-group .browse-button{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.file-picker-error{color:#dc3545;font-size:.8rem;grid-column:2/-1;margin:-1rem 0 0}.book-form-modal-fullscreen{animation:slideInFromRight .5s cubic-bezier(.19,1,.22,1);background-color:#1a1a1a;min-height:100vh;padding-top:80px;width:100vw}@keyframes slideInFromRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.book-form-content{margin:0 auto;max-width:100vw;padding:2rem 5% 4rem}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.modal-header h2{font-family:var(--font-heading);font-size:2.5rem;margin:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions{display:flex;gap:1rem}.cancel-button{background-color:initial;border:2px solid #555;border-radius:4px;color:#aaa;cursor:pointer;font-family:var(--font-heading);padding:.7rem 1.2rem;transition:all .3s ease}.cancel-button:hover{border-color:#aaa;color:#fff}.modal-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:2.5rem}.tab-button{background:none;border:none;color:#888;cursor:pointer;font-family:var(--font-heading);font-size:1.1rem;padding:1rem 1.5rem;position:relative;transition:color .3s ease}.tab-button:after{background-color:var(--accent-color);bottom:-1px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s ease;width:100%}.tab-button.active,.tab-button:hover{color:#fff}.tab-button.active:after{transform:scaleX(1)}.modal-tab-content{animation:fadeIn .5s ease;max-width:100%}.checkbox-group.single-checkbox{align-items:center;background:#101010;border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;gap:.8rem;height:100%;padding:.8rem}.checkbox-group.single-checkbox input{flex-shrink:0;height:1.2em;width:1.2em}.checkbox-group.single-checkbox label{color:var(--primary-color);font-weight:400;margin:0}.tox-tinymce{border:1px solid var(--border-color)!important;border-radius:4px!important}.tox .tox-statusbar,.tox .tox-tbtn,.tox .tox-tbtn--bespoke,.tox .tox-toolbar,.tox .tox-toolbar-overlord,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary,.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#1a1a1a!important}.tox-statusbar,.tox-statusbar__help-text,.tox-statusbar__right-container{display:none!important}.feedback-modal{max-width:800px}.feedback-list-admin{list-style-type:none;margin:0;padding:0}.feedback-item-admin{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:1rem 0}.feedback-item-admin:last-child{border-bottom:none}.feedback-content-admin{flex-grow:1}.feedback-header-admin{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.feedback-nickname-admin{color:var(--primary-color);font-weight:700}.feedback-stars-admin{color:#ffc107}.feedback-text-admin{color:#ccc;font-style:italic;margin:0 0 .5rem}.feedback-meta-admin{color:#888;font-size:.8rem}.toolbar{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.add-new-button{background-color:var(--accent-color);border:none;border-radius:var(--border-radius);color:#121212;cursor:pointer;font-family:var(--font-heading);font-size:1rem;font-weight:700;padding:.7rem 1.4rem;transition:all .3s ease}.add-new-button:hover{box-shadow:0 5px 15px rgba(var(--accent-rgb),.3);transform:translateY(-2px)}.books-table{border-collapse:collapse;color:#ccc;font-size:.9rem;width:100%}.books-table td,.books-table th{border-bottom:1px solid var(--border-color);padding:1rem;text-align:left;white-space:nowrap}.books-table th{color:#fff;font-family:var(--font-heading);font-size:1rem;letter-spacing:.5px}.table-cover-preview{aspect-ratio:2/3;border-radius:2px;display:block;height:auto;object-fit:cover;width:40px}.actions-cell{text-align:right}.action-button{border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:700;margin-left:.5rem;padding:.5rem 1rem;transition:opacity .2s ease}.action-button:hover{opacity:.8}.action-button.edit{background-color:#007bff;color:#fff}.action-button.delete{background-color:#dc3545;color:#fff}.action-button.moderate{background-color:#17a2b8;color:#fff}.page-description{color:#aaa;margin:-1rem 0 2rem}.praise-list{background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:8px;display:block;padding:1rem}.praise-item{background:#242424;border:1px solid #333;border-radius:4px;display:flex;margin-bottom:8px;padding:12px}.praise-item:last-child{margin-bottom:0}.praise-content{flex-grow:1}.praise-book-title{color:var(--accent-color);display:block;font-size:.8rem;font-weight:700;margin-bottom:.5rem}.praise-quote-admin{font-style:italic;margin:0 0 .5rem}.praise-source-admin{color:#888;font-size:.9rem}.praise-actions{display:flex;gap:.5rem}.praise-drag-handle{align-items:center;color:#999!important;cursor:grab;display:flex;justify-content:center;padding-right:1rem;transition:color .2s ease}.praise-item:hover .praise-drag-handle{color:#999}.event-count{color:#888;font-size:1rem}.table-wrapper{overflow-x:auto}.analytics-table{border-collapse:collapse;color:#ccc;font-size:.9rem;width:100%}.analytics-table td,.analytics-table th{border-bottom:1px solid var(--border-color);padding:.8rem 1rem;text-align:left;white-space:nowrap}.analytics-table th{color:#fff;font-family:var(--font-heading);font-size:1rem;letter-spacing:.5px}.event-badge{border-radius:var(--border-radius);color:#fff;font-size:.8rem;font-weight:700;padding:4px 8px;text-transform:uppercase}.event-page_view{background-color:#3d3d3d}.event-download{background-color:#007bff}.event-feedback_submit{background-color:#28a745}.event-contact_form_submit{background-color:#ffc107;color:#121212}.event-admin_login_success{background-color:#17a2b8}.event-admin_login_failed{background-color:#dc3545}.userid-cell{color:#888}.details-cell,.userid-cell{font-family:Courier New,Courier,monospace}.details-cell{font-size:.8rem;max-width:300px;white-space:pre-wrap;word-break:break-all}.useragent-cell{color:#888;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-links-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.social-link-item{grid-gap:1rem;align-items:center;background-color:#242424;border:1px solid #333;border-radius:4px;display:grid;gap:1rem;grid-template-columns:30px 150px 1fr 60px auto;padding:1rem}.item-icon{color:#555;font-size:1.5rem;text-align:center}.social-link-item input,.social-link-item select{background:#101010;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);font-family:var(--font-body);font-size:1rem;padding:.8rem;width:100%}.action-button.small{padding:.4rem .8rem}.switch{display:inline-block;height:28px;position:relative;width:50px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#555;border-radius:28px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;width:20px}input:checked+.slider{background-color:var(--accent-color)}input:checked+.slider:before{transform:translateX(22px)}
/*# sourceMappingURL=main.2423cebb.css.map*/