.flying-books{pointer-events:none;z-index:0;contain:strict;background:radial-gradient(at 50% 40%,#46321426,#0000 70%);width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.flying-book{--w:clamp(46px, 4.6vw, 80px);--dir:1;top:var(--top);width:calc(var(--w) * 2);height:calc(var(--w) * 1.4);opacity:0;filter:blur(var(--blur,0px)) brightness(var(--dim,1));animation:flyLTR var(--duration) linear infinite both;animation-delay:var(--delay);will-change:transform, opacity;position:absolute;left:0}.flying-book.rtl{--dir:-1;animation-name:flyRTL}@keyframes flyLTR{0%{opacity:0;transform:translate(-22vw)}7%{opacity:1}93%{opacity:1}to{opacity:0;transform:translate(112vw)}}@keyframes flyRTL{0%{opacity:0;transform:translate(112vw)}7%{opacity:1}93%{opacity:1}to{opacity:0;transform:translate(-22vw)}}.lane-y{width:100%;height:100%;animation:laneY var(--y-period) ease-in-out infinite;animation-delay:var(--y-delay);will-change:transform;position:relative}@keyframes laneY{0%,to{transform:translateY(var(--y-amp))}50%{transform:translateY(calc(var(--y-amp) * -1))}}.lane-z{width:100%;height:100%;transform:scale(var(--s));animation:laneZ var(--z-period) ease-in-out infinite alternate;will-change:transform;position:relative}@keyframes laneZ{0%{transform:scale(calc(var(--s) * .88))}to{transform:scale(calc(var(--s) * 1.12))}}.scene{perspective:700px;perspective-origin:50%;position:absolute;inset:0}.attitude{transform-style:preserve-3d;animation:pitch var(--y-period) ease-in-out infinite;animation-delay:var(--y-delay);position:absolute;inset:0}@keyframes pitch{0%,50%,to{transform:rotate(0)}25%{transform:rotateZ(calc(var(--dir) * -11deg))}75%{transform:rotateZ(calc(var(--dir) * 9deg))}}.pose{transform-style:preserve-3d;transform:rotateX(-24deg) rotateY(calc(var(--dir) * 58deg)) rotateX(90deg) rotateZ(180deg);position:absolute;inset:0}.roll{transform-style:preserve-3d;animation:6.5s ease-in-out infinite alternate roll;animation-delay:var(--y-delay);position:absolute;inset:0}@keyframes roll{0%{transform:rotateY(-9deg)}to{transform:rotateY(9deg)}}.book{transform-style:preserve-3d;animation:bob var(--flap) ease-in-out infinite;animation-delay:calc(0s - var(--phase));position:absolute;inset:0}@keyframes bob{0%{transform:translateZ(0)}7%{transform:translateZ(-2px)}16%{transform:translateZ(7px)}24%{transform:translateZ(-1px)}33%{transform:translateZ(7px)}41%{transform:translateZ(-1px)}50%{transform:translateZ(6px)}58%{transform:translateZ(1px)}70%{transform:translateZ(0)}to{transform:translateZ(0)}}.layer{width:50%;height:100%;transform-style:preserve-3d;animation:flap var(--flap) ease-in-out infinite;animation-delay:calc(var(--lag) - var(--phase));will-change:transform;position:absolute;top:0}.layer.right{transform-origin:0%;--side:1;left:50%}.layer.left{transform-origin:100%;--side:-1;left:0}@keyframes flap{0%{transform:rotateY(calc(var(--side) * var(--k) * -14deg))}7%{transform:rotateY(calc(var(--side) * var(--k) * -68deg))}16%{transform:rotateY(calc(var(--side) * var(--k) * 28deg))}24%{transform:rotateY(calc(var(--side) * var(--k) * -68deg))}33%{transform:rotateY(calc(var(--side) * var(--k) * 28deg))}41%{transform:rotateY(calc(var(--side) * var(--k) * -62deg))}50%{transform:rotateY(calc(var(--side) * var(--k) * 22deg))}58%{transform:rotateY(calc(var(--side) * var(--k) * -30deg))}70%{transform:rotateY(calc(var(--side) * var(--k) * -18deg))}85%{transform:rotateY(calc(var(--side) * var(--k) * -12deg))}to{transform:rotateY(calc(var(--side) * var(--k) * -14deg))}}.layer .plate{transform-style:preserve-3d;transform:translateZ(var(--z));position:absolute;inset:0}.layer.cover .plate{top:-3%;bottom:-3%}.layer.cover.right .plate{right:-3.5%}.layer.cover.left .plate{left:-3.5%}.face{box-sizing:border-box;backface-visibility:hidden;position:absolute;inset:0}.face.back{transform:rotateY(180deg)}.layer.right .face{border-radius:0 3px 3px 0}.layer.left .face{border-radius:3px 0 0 3px}.face:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;animation:shade var(--flap) ease-in-out infinite;animation-delay:calc(var(--lag) - var(--phase));background:#190c0099;position:absolute;inset:0}@keyframes shade{0%{opacity:.05}7%{opacity:0}16%{opacity:.4}24%{opacity:0}33%{opacity:.4}41%{opacity:.02}50%{opacity:.35}58%{opacity:.1}to{opacity:.05}}.leaf .face{background-origin:content-box,border-box,border-box;background-clip:content-box,border-box,border-box;background-image: repeating-linear-gradient(to bottom, #462e1657 0, #462e1657 1px, transparent 1px, transparent calc(var(--w) * .07)),  linear-gradient(calc(90deg * var(--side)), #50320f6b, transparent 24%),  linear-gradient(180deg, #f7ecd0, #eddcb4);padding:11% 13%}.leaf .face.back{background-image:repeating-linear-gradient(to bottom, #462e164d 0, #462e164d 1px, transparent 1px, transparent calc(var(--w) * .07)), linear-gradient(calc(-90deg * var(--side)), #50320f6b, transparent 24%), linear-gradient(180deg, #eddcb4, #e2cfa2)}.cover .face.front{background:linear-gradient(calc(90deg * var(--side)), #3c230a80, transparent 26%), #a98b57}.cover .face.back{background:linear-gradient(135deg, #ffebb438, transparent 30%, #00000059), var(--book-color);text-align:center;color:#f8e6b8;border:1.5px solid #ffdc9673;flex-direction:column;justify-content:center;align-items:center;padding:8% 10%;display:flex;box-shadow:inset 0 0 0 3px #00000047,inset 0 0 0 4px #f0c8788c}.cover h3{font-family:Georgia,Times New Roman,serif;font-size:calc(var(--w) * .135);letter-spacing:.4px;overflow-wrap:break-word;text-shadow:0 1px 2px #000000d9;margin:4px 0;font-weight:600;line-height:1.3}.cover p{font-family:Georgia,serif;font-size:calc(var(--w) * .1);color:#e8c978;margin:3px 0;font-style:italic}.book-decoration{font-size:calc(var(--w) * .16);color:#f0d485;text-shadow:0 0 8px #ffd778e6;animation:2s ease-in-out infinite runeGlow;animation-delay:var(--phase);line-height:1}.book-decoration.crest{font-size:calc(var(--w) * .42)}.spine{width:calc(var(--w) * .16);height:106%;margin-left:calc(var(--w) * -.08);backface-visibility:hidden;background:linear-gradient(to bottom, transparent 14%, #f0c878d9 14%, #f0c878d9 16%, transparent 16%, transparent 84%, #f0c878d9 84%, #f0c878d9 86%, transparent 86%), linear-gradient(90deg, #0a0a0a, var(--book-color) 35%, var(--book-color) 65%, #0a0a0a);border-radius:2px;position:absolute;top:-3%;left:50%;transform:translateZ(-3.9px)rotateY(180deg)}.aura{pointer-events:none;animation:2.4s ease-in-out infinite alternate auraPulse;animation-delay:var(--phase);background:radial-gradient(circle,#ffdc8c4d 0%,#ffc8641a 40%,#0000 70%);border-radius:50%;position:absolute;inset:-35%}@keyframes auraPulse{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}@keyframes runeGlow{0%,to{opacity:.7}50%{opacity:1;text-shadow:0 0 14px #ffe18c}}.trail{pointer-events:none;position:absolute;inset:0}.trail .spark{color:#ffe5a8;text-shadow:0 0 6px #fc6,0 0 14px #ff9d33;opacity:0;will-change:transform, opacity;animation:2.6s ease-out infinite trailFade;animation-delay:var(--t-delay);font-size:8px;position:absolute;top:50%;left:50%}@keyframes trailFade{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1}to{transform:translate(calc(var(--dir) * var(--tx) * -1), var(--ty)) scale(1.2);opacity:0}}.trail .scrap{opacity:0;width:6px;height:8px;animation:3.6s ease-in infinite scrapFall;animation-delay:var(--t-delay);background:#f1e3bf;border-radius:1px;position:absolute;top:50%;left:50%}@keyframes scrapFall{0%{opacity:0;transform:translate(0)rotate(0)}12%{opacity:.9}to{transform:translate(calc(var(--dir) * var(--tx) * -1), 90px) rotate(var(--r));opacity:0}}.particles{pointer-events:none;position:absolute;inset:0}.particles span{left:var(--x);top:var(--y);color:#ffe8b0;font-size:var(--size,9px);text-shadow:0 0 8px #fc6,0 0 18px #ffaa3c99;will-change:transform, opacity;animation:sparkle var(--dur,3s) ease-in-out infinite;animation-delay:var(--delay,0s);position:absolute}@keyframes sparkle{0%,to{opacity:.15;transform:scale(.5)translateY(0)rotate(0)}50%{opacity:1;transform:scale(1.4)translateY(-18px)rotate(180deg)}}@media (prefers-reduced-motion:reduce){.flying-book{display:none}.particles span{opacity:.35;animation:none}}@media (width<=768px){.flying-book.extra{display:none}.flying-book{filter:none}.particles span:nth-child(n+16){display:none}}.flying-books.is-light{background:0 0}.wizard-flyer{--wz-delay:1s;--wz-w:clamp(130px, 15vw, 230px);width:var(--wz-w);height:calc(var(--wz-w) * .6);opacity:0;animation:20s linear infinite both wzCross;animation-delay:var(--wz-delay);will-change:transform, opacity;position:absolute;top:16%;left:0}@keyframes wzCross{0%{opacity:0;transform:translate(-26vw)}3%{opacity:1}55%{opacity:1;transform:translate(105vw)}58%{opacity:0;transform:translate(118vw)}to{opacity:0;transform:translate(118vw)}}.wz-lane{width:100%;height:100%;animation:20s ease-in-out infinite wzSwoop;animation-delay:var(--wz-delay);position:relative}@keyframes wzSwoop{0%{transform:translateY(5vh)rotate(-8deg)}14%{transform:translateY(-5vh)rotate(3deg)}22%{transform:translateY(-4vh)rotate(-10deg)}34%{transform:translateY(-4vh)rotate(-360deg)}46%{transform:translateY(7vh)rotate(-352deg)}58%{transform:translateY(0)rotate(-360deg)}to{transform:translateY(0)rotate(-360deg)}}.wz-svg{filter:drop-shadow(0 6px 8px #281e5040);width:100%;height:100%;overflow:visible}.wz-rig{animation:.25s linear infinite alternate wzBuzz}@keyframes wzBuzz{0%{transform:translateY(-.7px)}to{transform:translateY(.7px)}}.wz-cloak{transform-origin:96px 58px;animation:.5s ease-in-out infinite alternate wzCloak}@keyframes wzCloak{0%{transform:rotate(-5deg)scaleX(1)}to{transform:rotate(5deg)scaleX(1.08)}}.wz-scarf-tail{transform-origin:103px 51px;animation:.38s ease-in-out infinite alternate wzScarf}@keyframes wzScarf{0%{transform:rotate(-8deg)}to{transform:rotate(9deg)}}.wz-bristles{transform-origin:26px 87px;animation:.4s ease-in-out infinite alternate wzBristles}@keyframes wzBristles{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}.wz-sparks{pointer-events:none;position:absolute;top:72%;left:4%}.wz-sparks span{color:#c98a10;text-shadow:0 0 6px #dc9614b3;opacity:0;animation:1.6s ease-out infinite wzSpark;animation-delay:var(--t-delay);font-size:9px;position:absolute}@keyframes wzSpark{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{transform:translate(var(--tx), var(--ty)) scale(1.2);opacity:0}}@media (prefers-reduced-motion:reduce){.wizard-flyer{display:none!important}}@media (width<=768px){.wizard-flyer{--wz-w:clamp(110px, 30vw, 160px)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;transition:background-color .3s,color .3s}body.dark-mode{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:root{--bg:#f6f6f3;--surface:#fff;--surface-soft:#f0f0ed;--text:#151515;--text-secondary:#626262;--text-muted:#8a8a8a;--border:#ddddda;--border-light:#ebebe7;--primary:#111;--primary-text:#fff;--star:#e5a900;--danger:#d32f2f;--success:#2e7d32;--shadow:0 12px 35px #0000000f;--shadow-hover:0 20px 45px #0000001a}body.dark-mode{--bg:#0b0b0c;--surface:#151516;--surface-soft:#202023;--text:#f5f5f5;--text-secondary:#b5b5b5;--text-muted:#858585;--border:#303033;--border-light:#27272a;--primary:#fff;--primary-text:#111;--star:#ffc107;--shadow:0 15px 40px #00000059;--shadow-hover:0 20px 50px #00000080}body,.navbar,.book-card,.details-card,.review-card,.review-form,.discover-book,.discover-panel,.reviewer-card,.reading-item,.profile-header,.stat-card,.profile-panel,.notification-card,.auth-card,.empty-state,.empty-library,.no-reviews,.not-found,.search-box,.icon-button,.login-nav-button,.logout-button,.secondary-button,.favorite-button,.category-button,.form-group input,.form-group select,.form-group textarea{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}.navbar{z-index:1000;background:var(--surface);border-top:4px solid var(--text);border-bottom:1px solid var(--border);width:100%;transition:background-color .3s,border-color .3s;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:25px;width:min(1200px,100% - 48px);min-height:84px;margin:0 auto;display:flex}.brand{letter-spacing:-.8px;white-space:nowrap;align-items:center;gap:13px;font-size:26px;font-weight:800;display:flex}.brand-icon{background:var(--text);width:46px;height:46px;color:var(--bg);border-radius:13px;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:flex}.nav-links{align-items:center;gap:5px;display:flex}.nav-link{color:var(--text-secondary);border-radius:10px;padding:11px 16px;font-size:15px;font-weight:700;transition:all .2s}.nav-link:hover,.nav-link.active{background:var(--surface-soft);color:var(--text)}.nav-actions{align-items:center;gap:9px;display:flex}.theme-toggle{border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffffd9,#f0f0ede6);border-radius:999px;align-items:center;gap:10px;padding:8px 12px 8px 10px;transition:all .3s,transform .2s;display:inline-flex}body.dark-mode .theme-toggle{background:linear-gradient(135deg,#202023f2,#151516)}.theme-toggle:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.theme-toggle-track{background:#11111114;border:1px solid #11111114;border-radius:999px;align-items:center;width:54px;height:30px;padding:4px;display:inline-flex;position:relative}body.dark-mode .theme-toggle-track{background:#ffffff14;border-color:#ffffff1f}.theme-toggle-thumb{background:linear-gradient(135deg,#ffe082,#ffb703);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .35s,background .35s;display:flex;position:absolute;left:4px;transform:translate(0);box-shadow:0 6px 16px #ffb70359}body.dark-mode .theme-toggle-thumb{background:linear-gradient(135deg,#f5f5f5,#d4d4d8);transform:translate(24px);box-shadow:0 6px 16px #ffffff26}.theme-toggle-icon{font-size:12px;line-height:1}.theme-toggle-text{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.icon-button{border:1px solid var(--border);background:var(--surface);width:46px;height:44px;color:var(--text);border-radius:11px;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.icon-button:hover{background:var(--surface-soft);transform:translateY(-1px)}.login-nav-button,.logout-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:11px;padding:11px 19px;font-size:14px;font-weight:800;transition:all .2s}.login-nav-button:hover,.logout-button:hover{background:var(--text);color:var(--bg)}.profile-mini{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.avatar-small{background:var(--text);width:36px;height:36px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;overflow:hidden}.avatar-small-image{object-fit:cover;width:100%;height:100%;display:block}.page-container{width:min(1200px,100% - 48px);margin:0 auto;padding:70px 0}.page-header{margin-bottom:50px}.page-header h1{color:var(--text);letter-spacing:-2px;margin:8px 0 12px;font-size:54px;line-height:1.05}.page-header p{max-width:680px;color:var(--text-secondary);font-size:17px;line-height:1.7}.small-heading{color:var(--text-muted);letter-spacing:2px;font-size:12px;font-weight:800;display:block}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;width:min(1200px,100% - 48px);min-height:580px;margin:0 auto;padding:80px 0;display:grid}.hero-content{max-width:660px}.hero-label{color:var(--text-muted);letter-spacing:2.5px;margin-bottom:20px;font-size:12px;font-weight:800;display:inline-block}.hero h1{color:var(--text);letter-spacing:-4px;margin-bottom:25px;font-size:clamp(48px,6vw,78px);line-height:.98}.hero p{max-width:600px;color:var(--text-secondary);margin-bottom:30px;font-size:18px;line-height:1.7}.search-box{background:var(--surface);border:1px solid var(--border);width:100%;max-width:610px;height:62px;box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:12px;padding:0 20px;display:flex}.search-box span{color:var(--text-muted);font-size:28px}.search-box input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:16px}.search-box input::placeholder{color:var(--text-muted)}.hero-links{align-items:center;gap:12px;margin-top:20px;display:flex}.hero-visual{justify-content:center;align-items:center;min-height:400px;display:flex}.hero-book-stack{width:330px;height:360px;position:relative;transform:rotate(-5deg)}.floating-book{border:1px solid var(--border);background:var(--surface);width:230px;height:300px;color:var(--text);letter-spacing:2px;border-radius:10px;justify-content:center;align-items:center;font-size:23px;font-weight:900;transition:all .3s;display:flex;position:absolute;box-shadow:0 25px 50px #0000001f}.floating-book:hover{transform:translateY(-10px)}.book-one{top:30px;left:20px;transform:rotate(-9deg)}.book-two{background:var(--text);color:var(--bg);top:10px;left:70px;transform:rotate(2deg)}.book-three{top:55px;left:115px;transform:rotate(10deg)}.primary-button{border:1px solid var(--text);background:var(--text);min-height:46px;color:var(--bg);border-radius:11px;justify-content:center;align-items:center;padding:13px 21px;font-size:14px;font-weight:800;transition:all .2s;display:inline-flex}.primary-button:hover{opacity:.9;transform:translateY(-2px)}.secondary-button{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--text);border-radius:11px;justify-content:center;align-items:center;padding:12px 20px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.secondary-button:hover{background:var(--surface-soft)}.full-width{width:100%}.books-section{width:min(1200px,100% - 48px);margin:0 auto;padding:80px 0}.section-top{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.section-top h2{color:var(--text);letter-spacing:-1.3px;margin-top:7px;font-size:38px}.section-top>p{color:var(--text-muted);font-size:14px}.category-list{flex-wrap:wrap;gap:9px;margin-bottom:35px;display:flex}.category-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:30px;padding:10px 17px;font-size:13px;font-weight:700;transition:all .2s}.category-button:hover{border-color:var(--text);color:var(--text)}.category-button.selected{background:var(--text);border-color:var(--text);color:var(--bg)}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.book-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:transform .25s,box-shadow .25s,background-color .3s;overflow:hidden;box-shadow:0 4px 20px #00000008}.book-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px)}.book-cover{background:var(--surface-soft);height:330px;position:relative;overflow:hidden}.book-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.book-card:hover .book-cover img{transform:scale(1.04)}.favorite-floating{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:19px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.favorite-floating:hover{transform:scale(1.08)}.favorite-floating.liked{color:#d32f2f}.book-card-content{padding:20px}.category{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:9px;font-size:11px;font-weight:800;display:inline-block}.book-card h3{color:var(--text);margin-bottom:7px;font-size:20px;line-height:1.25}.author{color:var(--text-secondary);margin-bottom:14px;font-size:14px}.book-rating{color:var(--text);align-items:center;gap:6px;margin-bottom:17px;display:flex}.star{color:var(--star)}.review-count{color:var(--text-muted);font-size:13px}.details-button{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--text);border-radius:9px;justify-content:center;align-items:center;padding:10px 15px;font-size:13px;font-weight:800;transition:all .2s;display:inline-flex}.details-button:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.card-actions{gap:8px;display:flex}.card-actions .details-button{flex:1}.empty-state,.empty-library,.no-reviews,.not-found{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;padding:80px 30px}.empty-icon{background:var(--surface-soft);width:64px;height:64px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:20px;font-weight:800;display:flex}.empty-state h3,.empty-library h2,.no-reviews h3,.not-found h1{color:var(--text);margin-bottom:10px}.empty-state p,.empty-library p,.no-reviews p,.not-found p{max-width:500px;color:var(--text-secondary);margin:0 auto 25px;line-height:1.6}.back-link{color:var(--text-secondary);margin-bottom:25px;font-size:14px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--text)}.details-card{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:300px 1fr;align-items:start;gap:60px;padding:45px;display:grid}.details-cover{justify-content:center;display:flex}.details-cover img{object-fit:cover;border-radius:12px;width:260px;height:380px;box-shadow:0 25px 50px #00000029}.details-content{padding-top:5px}.details-content h1{color:var(--text);letter-spacing:-2px;margin:10px 0 8px;font-size:52px;line-height:1.03}.details-author{color:var(--text-secondary);margin-bottom:25px;font-size:18px}.details-rating{color:var(--text-secondary);align-items:center;gap:10px;margin-bottom:28px;display:flex}.large-star{color:var(--star);font-size:26px}.details-rating strong{color:var(--text);font-size:20px}.book-meta{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);gap:60px;padding:22px 0;display:flex}.book-meta div{flex-direction:column;gap:6px;display:flex}.book-meta span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:800}.book-meta strong{color:var(--text);font-size:15px}.description-section{margin-top:30px}.description-section h3{color:var(--text);margin-bottom:10px;font-size:20px}.description-section p{max-width:720px;color:var(--text-secondary);line-height:1.8}.details-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.favorite-button{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--text);border-radius:11px;padding:12px 20px;font-size:14px;font-weight:700;transition:all .2s}.favorite-button:hover,.favorite-button.active{background:var(--surface-soft)}.reader-reviews{width:100%;max-width:900px;margin:90px auto 0}.section-heading{margin-bottom:30px}.section-heading h2{color:var(--text);letter-spacing:-1px;margin:8px 0 10px;font-size:38px;line-height:1.1}.section-heading p{color:var(--text-secondary);font-size:16px}.reviews-list{flex-direction:column;gap:20px;display:flex}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:0 5px 20px #00000008}.review-user{align-items:center;gap:12px;display:flex}.avatar{background:var(--text);width:42px;height:42px;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.review-user div:last-child{flex-direction:column;gap:3px;display:flex}.review-user small{color:var(--text-muted)}.stars{color:var(--star);letter-spacing:2px;margin-top:17px}.review-text{color:var(--text-secondary);margin:12px 0;font-size:15px;line-height:1.75}.review-actions{gap:20px;margin-top:17px;display:flex}.review-actions button{color:var(--text-secondary);background:0 0;border:none;font-size:13px;font-weight:700}.review-actions button:hover{color:var(--text)}.comments{border-top:1px solid var(--border-light);margin-top:20px;padding-top:18px}.comment{color:var(--text-secondary);gap:8px;margin-bottom:10px;font-size:14px;line-height:1.5;display:flex}.comment-form{gap:8px;margin-top:15px;display:flex}.comment-form input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:9px;outline:none;flex:1;padding:11px 13px}.comment-form input::placeholder{color:var(--text-muted)}.comment-form button{background:var(--text);color:var(--bg);border:none;border-radius:9px;padding:0 18px;font-weight:700}.review-section{width:100%;max-width:900px;margin:90px auto 0}.review-form{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:18px;padding:36px}.form-group{margin-bottom:24px}.form-group label{color:var(--text);margin-bottom:9px;font-size:14px;font-weight:800;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:11px;outline:none;padding:14px 15px;font-size:15px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px #7878781f}.form-group textarea{resize:vertical;min-height:165px}.form-message{background:var(--surface-soft);color:var(--text);border-radius:9px;margin-top:17px;padding:13px 15px;font-size:14px}.toast-message{z-index:2000;background:var(--surface);border:1px solid var(--border);border-radius:13px;align-items:center;gap:12px;width:min(380px,100% - 30px);padding:15px;animation:.25s toastIn;display:flex;position:fixed;top:105px;right:25px;box-shadow:0 15px 40px #00000026}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-icon{background:var(--text);width:35px;height:35px;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.toast-content{flex-direction:column;flex:1;gap:3px;display:flex}.toast-content strong{color:var(--text);font-size:14px}.toast-content span{color:var(--text-secondary);font-size:13px;line-height:1.4}.toast-close{color:var(--text-muted);background:0 0;border:none;font-size:23px}.discover-section{margin-bottom:80px}.discover-book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.discover-book{background:var(--surface);border:1px solid var(--border);border-radius:15px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden}.discover-book:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.discover-book img{object-fit:cover;width:100%;height:270px}.discover-book>div{padding:18px}.discover-book h3{color:var(--text);margin-bottom:5px;font-size:18px}.discover-book p{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.text-link{color:var(--text);font-size:14px;font-weight:800}.text-link:hover{text-decoration:underline}.reviewer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.reviewer-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;align-items:center;gap:14px;padding:20px;display:flex;position:relative}.avatar.large{width:50px;height:50px}.reviewer-info h3{color:var(--text);margin-bottom:3px;font-size:16px}.reviewer-info p{color:var(--text-muted);margin-bottom:9px;font-size:12px}.reviewer-stats{color:var(--text-secondary);gap:10px;font-size:11px;display:flex}.rank{color:var(--text-muted);font-size:12px;font-weight:800;position:absolute;top:12px;right:14px}.discover-columns{grid-template-columns:1fr 1fr;gap:25px;display:grid}.discover-panel{background:var(--surface);border:1px solid var(--border);border-radius:17px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-light);padding:25px}.panel-header h2{color:var(--text);margin-top:7px;font-size:24px}.discussion-item{border-bottom:1px solid var(--border-light);gap:13px;padding:20px 25px;display:flex}.discussion-item:last-child{border-bottom:none}.discussion-item strong{color:var(--text);font-size:14px}.discussion-item p{color:var(--text-secondary);margin:5px 0;font-size:13px;line-height:1.5}.discussion-item span{color:var(--text-muted);font-size:12px}.liked-review{border-bottom:1px solid var(--border-light);padding:20px 25px}.liked-review:last-child{border-bottom:none}.liked-review p{color:var(--text-secondary);margin:10px 0;font-size:14px;line-height:1.6}.liked-review-footer{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.reading-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.reading-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:22px;padding:20px;display:flex;box-shadow:0 4px 20px #00000008}.reading-item img{object-fit:cover;border-radius:9px;flex-shrink:0;width:130px;height:190px}.reading-info{flex:1;padding-top:5px}.reading-info h2{color:var(--text);margin:4px 0 7px;font-size:23px}.reading-info p{color:var(--text-secondary);margin-bottom:15px;font-size:14px}.reading-actions{gap:9px;margin-top:20px;display:flex}.reading-actions .details-button{width:auto}.remove-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px 15px;font-size:13px;font-weight:700;transition:all .2s}.remove-button:hover{background:var(--danger);border-color:var(--danger);color:#fff}.favorite-button.active{background:var(--surface-soft);color:var(--text)}.profile-header{background:linear-gradient(135deg, var(--surface) 0%, #ffffffeb 100%);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:30px;margin-bottom:25px;padding:35px;display:flex}body.dark-mode .profile-header{background:linear-gradient(135deg, var(--surface) 0%, #18181beb 100%)}.profile-identity{flex-direction:column;align-items:center;gap:12px;min-width:150px;display:flex}.profile-avatar-button{background:linear-gradient(135deg, var(--text) 0%, #3d3d3d 100%);width:118px;height:118px;color:var(--bg);box-shadow:var(--shadow-hover);cursor:pointer;border:none;border-radius:26px;flex-shrink:0;justify-content:center;align-items:center;font-size:42px;font-weight:800;display:flex;position:relative;overflow:hidden}.profile-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.camera-badge{width:32px;height:32px;color:var(--text);background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 8px 20px #00000026}.profile-badges{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.profile-badge{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.04em;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700}.profile-badge.subtle{background:0 0}.profile-main{flex-direction:column;flex:1;justify-content:center;display:flex}.profile-main h1{color:var(--text);letter-spacing:-.08em;margin:8px 0 12px;font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.04}.profile-meta{flex-wrap:wrap;gap:20px;margin:8px 0 14px;display:flex}.profile-meta div{flex-direction:column;gap:6px;min-width:180px;display:flex}.profile-meta span{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.profile-meta strong{color:var(--text);font-size:15px;font-weight:700}.profile-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.profile-main .secondary-button{margin-top:0}.ghost-button{background:var(--surface-soft)}.profile-edit-form{flex-direction:column;gap:16px;max-width:540px;display:flex}.profile-field{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:7px;font-size:11px;font-weight:800;display:flex}.profile-edit-form input{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);border-radius:12px;outline:none;padding:14px 15px;transition:all .2s}.profile-edit-form input:focus{border-color:var(--text);box-shadow:0 0 0 4px #1111110f}.profile-upload-helper{border:1px dashed var(--border);background:var(--surface-soft);border-radius:14px;padding:12px 14px}.profile-upload-helper p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.avatar-error{color:var(--danger);margin-top:8px;font-weight:700;display:block}.crop-modal-backdrop{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.crop-modal{background:var(--surface);border:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow-hover);border-radius:22px;padding:24px}.crop-modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.crop-modal-header h3{color:var(--text);letter-spacing:-.05em;font-size:24px}.crop-stage{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;justify-content:center;align-items:center;width:100%;height:320px;display:flex;overflow:hidden}.crop-image{object-fit:contain;max-width:100%;max-height:100%;transition:transform .2s}.crop-slider{color:var(--text-secondary);flex-direction:column;gap:8px;margin-top:18px;font-size:13px;font-weight:700;display:flex}.crop-slider input{width:100%}.crop-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.profile-edit-form-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px;display:grid}.stat-card{text-align:left;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:24px 20px 22px;position:relative}.stat-card:before{content:"";background:linear-gradient(90deg, var(--text) 0%, #11111140 100%);border-radius:18px 18px 0 0;width:100%;height:3px;position:absolute;top:0;left:0}.stat-card strong{color:var(--text);letter-spacing:-.06em;margin-bottom:8px;font-size:clamp(1.8rem,2vw,2.5rem);display:block}.stat-card span{color:var(--text-secondary);font-size:13px;font-weight:600}.profile-columns{grid-template-columns:1fr 1fr;gap:25px;display:grid}.profile-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.empty-panel{color:var(--text-secondary);padding:35px 30px;font-size:14px}.empty-panel p{margin-bottom:12px}.profile-review{border-bottom:1px solid var(--border-light);padding:22px 25px}.profile-review:last-child{border-bottom:none}.profile-review .stars{color:var(--star);letter-spacing:.18em;font-size:15px}.profile-review p{color:var(--text-secondary);margin:12px 0;font-size:14px;line-height:1.7}.profile-review>span{color:var(--text-muted);font-size:12px;font-weight:600}.mini-book{border-bottom:1px solid var(--border-light);align-items:center;gap:14px;padding:18px 22px;transition:all .2s;display:flex}.mini-book:last-child{border-bottom:none}.mini-book img{object-fit:cover;border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;width:58px;height:82px}@media (width<=900px){.profile-header{flex-direction:column;align-items:flex-start}.profile-identity{align-items:flex-start}.profile-badges{justify-content:flex-start}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-columns{grid-template-columns:1fr}}@media (width<=560px){.profile-header{padding:24px 20px}.profile-avatar{border-radius:20px;width:96px;height:96px;font-size:36px}.profile-meta{gap:14px}.profile-meta div{min-width:100%}.profile-actions,.profile-edit-form-actions{flex-direction:column;align-items:stretch}.profile-stats{grid-template-columns:1fr}}.mini-book:hover{background:var(--surface-soft)}.mini-book img{object-fit:cover;border-radius:5px;width:48px;height:65px}.mini-book div{flex-direction:column;gap:4px;display:flex}.mini-book strong{color:var(--text);font-size:14px}.mini-book span{color:var(--text-muted);font-size:12px}.notification-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.notifications-list{flex-direction:column;gap:12px;display:flex}.notification-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:17px;padding:20px;transition:all .2s;display:flex;position:relative}.notification-card:hover{background:var(--surface-soft)}.notification-card.unread{border-color:var(--text)}.notification-icon{background:var(--surface-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.notification-content{flex:1}.notification-content h3{color:var(--text);margin-bottom:5px;font-size:15px}.notification-content p{color:var(--text-secondary);margin-bottom:6px;font-size:13px}.notification-content span{color:var(--text-muted);font-size:11px}.unread-dot{background:var(--text);border-radius:50%;width:9px;height:9px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:calc(100vh - 84px);padding:60px 20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow);border-radius:20px;padding:42px}.auth-logo{background:var(--text);width:52px;height:52px;color:var(--bg);border-radius:14px;justify-content:center;align-items:center;margin-bottom:25px;font-weight:900;display:flex}.auth-card h1{color:var(--text);letter-spacing:-1px;margin:8px 0 10px;font-size:38px}.auth-card>p{color:var(--text-secondary);margin-bottom:30px;line-height:1.6}.auth-form{flex-direction:column;display:flex}.form-error{color:#c62828;background:#fff0f0;border-radius:9px;margin-bottom:16px;padding:12px 14px;font-size:13px}body.dark-mode .form-error{color:#ff8f8f;background:#351818}.auth-footer{color:var(--text-secondary);justify-content:center;gap:5px;margin-top:25px;font-size:13px;display:flex}.auth-footer a{color:var(--text);font-weight:800}body.dark-mode select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.dark-mode select option{color:#fff;background:#151516}body.dark-mode .floating-book{color:#fff;background:#151516;border-color:#303033}body.dark-mode .floating-book.book-two{color:#111;background:#fff}@media (width<=1100px){.navbar-inner,.hero,.books-section,.page-container{width:min(100% - 30px,1000px)}.nav-links{gap:0}.nav-link{padding:10px 12px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discover-book-grid,.reviewer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.navbar-inner{min-height:75px}.brand{font-size:21px}.brand-icon{width:40px;height:40px}.nav-links{display:none}.hero{text-align:center;grid-template-columns:1fr;min-height:auto;padding:60px 0}.hero-content{max-width:700px;margin:0 auto}.hero p{margin-left:auto;margin-right:auto}.search-box{margin:0 auto}.hero-links{justify-content:center}.hero-visual{min-height:350px}.details-card{grid-template-columns:1fr;gap:35px;padding:30px}.details-cover img{width:230px;height:335px}.details-content h1{font-size:42px}.reading-list,.profile-columns,.discover-columns{grid-template-columns:1fr}}@media (width<=700px){.page-container,.hero,.books-section{width:calc(100% - 24px)}.navbar-inner{width:calc(100% - 20px)}.profile-mini span:last-child,.logout-button{display:none}.hero{padding:50px 0}.hero h1{letter-spacing:-2.5px;font-size:48px}.hero p{font-size:16px}.hero-visual{min-height:300px}.hero-book-stack{transform:scale(.8)rotate(-5deg)}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-cover{height:280px}.page-header h1{font-size:42px}.section-top{flex-direction:column;align-items:flex-start}.details-card{border-radius:16px;padding:22px}.details-content h1{font-size:36px}.book-meta{gap:30px}.review-section,.reader-reviews{max-width:100%;margin-top:65px}.review-form{padding:25px}.profile-header{flex-direction:column;align-items:flex-start}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-heading{flex-direction:column;align-items:flex-start}}@media (width<=500px){.navbar-inner{min-height:70px}.brand{font-size:19px}.brand-icon{border-radius:10px;width:38px;height:38px}.nav-actions{gap:6px}.icon-button{width:40px;height:40px}.login-nav-button{padding:10px 14px}.hero{padding:45px 0}.hero h1{letter-spacing:-2px;font-size:39px}.hero-label{font-size:10px}.hero-links{flex-direction:column;align-items:stretch}.hero-links a{width:100%}.hero-visual{min-height:250px}.hero-book-stack{transform:scale(.62)rotate(-5deg)}.books-section{padding:55px 0}.section-top h2{font-size:31px}.category-list{gap:7px}.category-button{padding:9px 12px;font-size:11px}.book-grid{grid-template-columns:1fr;gap:18px}.book-cover{height:350px}.discover-book-grid,.reviewer-grid{grid-template-columns:1fr}.discover-columns{gap:18px}.reading-item{flex-direction:column}.reading-item img{width:140px;height:200px}.reading-actions{flex-direction:column}.reading-actions .details-button{width:100%}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-avatar{width:85px;height:85px;font-size:30px}.profile-main h1{font-size:30px}.review-form{padding:20px}.section-heading h2{font-size:30px}.details-actions{flex-direction:column}.details-actions button{width:100%}.details-cover img{width:200px;height:295px}.comment-form{flex-direction:column}.comment-form button{min-height:42px}.auth-card{padding:28px 20px}.auth-card h1{font-size:32px}.toast-message{top:85px;right:15px}}@media (width<=360px){.brand{font-size:17px}.brand-icon{width:34px;height:34px}.login-nav-button{padding:9px 11px;font-size:13px}.hero h1{font-size:34px}.book-cover{height:300px}.profile-stats{grid-template-columns:1fr}}.read-book-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.read-book-button:hover{opacity:.9;transform:translateY(-2px)}.read-book-button.disabled{cursor:not-allowed;background:#9ca3af;transform:none}html,body{overflow-x:clip}@media (width<=900px){.navbar-inner{flex-wrap:wrap;row-gap:10px;min-height:0;padding-top:14px}.brand{order:1}.nav-actions{order:2}.nav-links{scrollbar-width:none;-webkit-overflow-scrolling:touch;order:3;gap:4px;width:100%;padding-bottom:12px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;flex:none;padding:8px 14px;font-size:14px}.toast-message{top:130px}.auth-page{min-height:calc(100vh - 130px)}}@media (width<=700px){.hero-visual{min-height:0}.hero-book-stack{margin:-36px 0}}@media (width<=500px){.hero-book-stack{margin:-68px 0}}.app{min-height:100vh;position:relative;overflow-x:hidden}.app-background{z-index:0;pointer-events:none;background-image:url(/ONLINE-BOOK-REVIEW-COMMUNITY/books/background.jpg);background-position:100%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:fixed;inset:0}.app.dark .app-background{background-image:url(/ONLINE-BOOK-REVIEW-COMMUNITY/books/background-dark.jpg)}.app-overlay{z-index:1;pointer-events:none;background:#ffffff0d;width:100%;height:100%;position:fixed;inset:0}.app.dark .app-overlay{background:#05080f14}.flying-books-layer{z-index:2;pointer-events:none;position:fixed;inset:0}.app-content{z-index:3;min-height:100vh;position:relative}
