:root{--primary-color:#b7791f;--primary-hover:#8a5417;--primary-light:#f6d58b;--secondary-color:#0f766e;--secondary-hover:#115e59;--danger-color:#ef4444;--danger-hover:#dc2626;--ink:#24180f;--ink-soft:#5f4b3a;--paper:#fffdf8;--paper-warm:#fbf2df;--paper-deep:#f2dfbd;--wood:#7a431f;--sage:#0f766e;--gold:#b7791f;--text-primary:#24180f;--text-secondary:#6b5745;--text-light:#8f7a64;--bg-primary:#fffdf8;--bg-secondary:#fbf2df;--bg-tertiary:#f2dfbd;--border-color:rgba(183,121,31,.22);--border-radius:12px;--border-radius-sm:8px;--border-radius-lg:16px;--border-radius-xl:22px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 8px 20px rgba(67,42,16,.08);--shadow-lg:0 18px 42px rgba(67,42,16,.12);--shadow-xl:0 28px 70px rgba(67,42,16,.16);--transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;flex-direction:column;background:radial-gradient(circle at 8% 8%,hsla(41,86%,75%,.36),transparent 28rem),radial-gradient(circle at 92% 12%,rgba(15,118,110,.09),transparent 24rem),linear-gradient(180deg,#fffaf0,#fbf2df 54%,#f7ead3)}#app,.navbar{color:var(--text-primary);display:flex}.navbar{justify-content:space-between;align-items:center;padding:1rem 2.5rem;background:rgba(255,253,248,.86);border-bottom:1px solid rgba(183,121,31,.16);box-shadow:0 10px 30px rgba(67,42,16,.08);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px)}.nav-brand a{color:var(--text-primary);text-decoration:none;font-size:1.75rem;font-weight:700;letter-spacing:-.5px;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-brand a:hover{opacity:.9;transform:translateY(-1px)}.nav-menu{display:flex;list-style:none;gap:.5rem;align-items:center}.nav-menu li{margin:0}.nav-menu a{color:var(--text-secondary);text-decoration:none;padding:.625rem 1.25rem;border-radius:var(--border-radius-sm);font-weight:500;position:relative;overflow:hidden}.nav-menu a,.nav-menu a:before{transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-menu a:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(183,121,31,.08);opacity:0}.nav-menu a.router-link-exact-active:before,.nav-menu a:hover:before{opacity:1}.nav-menu a.router-link-exact-active,.nav-menu a:hover{color:var(--text-primary);background-color:rgba(183,121,31,.1);transform:translateY(-1px)}.logout-link{color:#9a3412!important}.logout-link:hover{background-color:hsla(0,93%,94%,.7)!important}.main-content{padding:2rem;max-width:1400px;margin:0 auto}.home-main,.main-content{flex:1;width:100%}.footer{text-align:center;padding:2rem;background:var(--bg-primary);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;margin-top:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .25s cubic-bezier(.4,0,.2,1)}.modal-content{background:var(--bg-primary);padding:2.5rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:420px;width:90%;text-align:center;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.modal-content h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.5rem;font-weight:600}.modal-content p{margin-bottom:2rem;color:var(--text-secondary);font-size:1rem}.modal-actions{display:flex;justify-content:center;gap:1rem}.modal-actions button{padding:.75rem 2rem;border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:1rem;font-weight:500;transition:var(--transition);min-width:100px}.btn-confirm{background:linear-gradient(135deg,var(--secondary-color) 0,var(--secondary-hover) 100%);color:#fff;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-confirm:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-cancel{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-cancel:hover{background-color:var(--border-color);transform:translateY(-1px)}@media (max-width:768px){.navbar{padding:1rem 1.5rem;flex-wrap:wrap}.nav-brand a{font-size:1.5rem}.nav-menu{gap:.25rem;flex-wrap:wrap}.nav-menu a{padding:.5rem 1rem;font-size:.875rem}.main-content{padding:1.5rem 1rem}.home-main{padding:0}.modal-content{padding:2rem 1.5rem}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease,transform .3s ease}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-enter-to,.fade-leave-from{opacity:1;transform:translateY(0)}.fade-leave-to{opacity:0;transform:translateY(-10px)}.home{display:flex;min-height:100vh;position:relative;overflow:hidden;align-items:stretch;background:radial-gradient(circle at 18% 48%,rgba(252,211,77,.18) 0,rgba(252,211,77,.06) 24%,transparent 46%),radial-gradient(circle at 76% 44%,rgba(245,158,11,.14) 0,rgba(245,158,11,.04) 22%,transparent 42%),linear-gradient(90deg,#fdf9f2,#fbf4e5 30%,#fdf8ee 58%,#fefbf6)}.home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,hsla(0,0%,100%,.34),rgba(255,247,226,.12) 34%,rgba(255,247,226,.12) 66%,hsla(0,0%,100%,.26)),radial-gradient(circle at 50% 50%,hsla(0,0%,100%,.2) 0,transparent 52%);pointer-events:none;z-index:0}.left-section,.right-section{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center}.left-section{flex:3;justify-content:center;overflow:hidden;background:linear-gradient(135deg,rgba(255,252,246,.88),hsla(45,92%,95%,.88) 34%,hsla(47,92%,90%,.74) 62%,hsla(43,78%,95%,.82))}.left-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 48%,hsla(0,0%,100%,.56) 0,transparent 50%),radial-gradient(circle at 72% 28%,hsla(48,96%,89%,.24) 0,transparent 38%),radial-gradient(circle at 54% 72%,hsla(45,97%,77%,.16) 0,transparent 42%),linear-gradient(90deg,transparent,rgba(255,244,214,.22) 68%,rgba(255,250,240,.1));pointer-events:none}.right-section{flex:2;justify-content:center;padding:2.5rem 3.5rem 2.5rem 2.25rem;background:linear-gradient(135deg,rgba(255,252,246,.58),rgba(255,248,236,.76) 32%,rgba(255,251,243,.92) 72%,rgba(255,253,248,.96));backdrop-filter:blur(10px)}.right-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 50%,hsla(48,96%,89%,.1) 0,transparent 56%),radial-gradient(circle at 82% 30%,hsla(45,97%,77%,.06) 0,transparent 44%),linear-gradient(90deg,rgba(255,247,228,.24),transparent 22%);pointer-events:none}.content-container{width:100%;max-width:500px;padding:4rem 3rem;border-radius:var(--border-radius-lg);background:linear-gradient(180deg,rgba(255,253,249,.95),rgba(255,250,242,.91));box-shadow:0 24px 60px rgba(94,62,24,.08),0 0 0 1px hsla(39,88%,68%,.1);position:relative;z-index:1;backdrop-filter:blur(14px);animation:slideInRight .8s cubic-bezier(.4,0,.2,1)}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}h1{color:var(--text-primary);margin-bottom:1rem;font-size:3rem;font-weight:700;letter-spacing:-1px;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:slideInRight .8s cubic-bezier(.4,0,.2,1) .2s both}p{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.25rem;line-height:1.6;font-weight:400;animation:slideInRight .8s cubic-bezier(.4,0,.2,1) .3s both}.actions{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem;animation:slideInRight .8s cubic-bezier(.4,0,.2,1) .4s both}.actions,.btn{align-items:center}.btn{display:inline-flex;justify-content:center;width:min(100%,320px);min-width:0;padding:1rem 2.5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;text-decoration:none;border-radius:50px;transition:all .4s cubic-bezier(.4,0,.2,1);border:none;cursor:pointer;font-size:1rem;font-weight:600;box-shadow:0 10px 30px rgba(245,158,11,.3);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 40px rgba(245,158,11,.4);background:linear-gradient(135deg,#fcd34d,#fbbf24)}.btn:active{transform:translateY(-1px) scale(1.02)}:root{--book-w:260px;--book-h:380px;--spine-w:40px;--cover-color:#5d4037}.figure-wrap{position:absolute;top:75%;left:65%;width:120px;height:180px;opacity:.9;z-index:10;animation:floatFigure 4s ease-in-out infinite;display:flex;justify-content:center;align-items:center;visibility:hidden;pointer-events:none}@keyframes floatFigure{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}.figure{width:100%;height:100%;display:flex;flex-direction:column;align-items:center}.figure,.head{position:relative}.head{width:50px;height:50px;background-color:#fff;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.1);transform-origin:center bottom;animation:thinkHead 6s ease-in-out infinite}@keyframes thinkHead{0%,to{transform:rotate(-10deg)}50%{transform:rotate(5deg)}}.body{width:60px;height:80px;background-color:#fff;border-radius:20px 20px 10px 10px;margin-top:-5px;position:relative;box-shadow:0 4px 10px rgba(0,0,0,.1)}.tie{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:30px solid #3498db;position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:2}.arm-left{background-color:#e0e0e0;left:-6px;top:10px;transform:rotate(15deg)}.arm-left,.arm-right{width:12px;height:40px;position:absolute;border-radius:6px}.arm-right{background-color:#fff;right:-5px;top:5px;transform-origin:top center;transform:rotate(-130deg);z-index:3}.arm-right:after{content:"";position:absolute;bottom:-6px;left:0;width:14px;height:14px;background-color:#fff;border-radius:50%}.scene{width:100%;height:100%;perspective:2000px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.book-wrap{position:relative;transform-style:preserve-3d;margin-left:0;transform:rotateX(25deg) rotateY(-10deg) rotate(-5deg);animation:floatBook 8s ease-in-out infinite}@keyframes floatBook{0%,to{transform:rotateX(25deg) rotateY(-10deg) rotate(-5deg) translateY(0)}50%{transform:rotateX(25deg) rotateY(-12deg) rotate(-5deg) translateY(-20px)}}.book{width:260px;height:380px;position:relative;border-radius:4px;box-shadow:0 15px 35px rgba(0,0,0,.25),0 5px 15px rgba(0,0,0,.1)}.book,.face{transform-style:preserve-3d}.face{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:left center;border-radius:0 4px 4px 0}.back-cover{background-color:#5d4037;transform:rotateY(0deg) translateZ(-1px);z-index:-1;box-shadow:10px 10px 30px rgba(0,0,0,.3)}.front-cover{background-color:#5d4037;background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:4px 4px;z-index:100;animation:coverAnim 16s ease-in-out infinite;animation-duration:inherit;box-shadow:inset 4px 0 10px rgba(0,0,0,.2)}.cover-content{padding:30px;color:#d4af37;text-align:center;box-sizing:border-box;transform:translateZ(1px)}.cover-border,.cover-content{height:100%;display:flex;flex-direction:column;justify-content:center}.cover-border{border:3px double #d4af37;padding:20px;border-radius:4px}.cover-content h1{font-family:Times New Roman,serif;font-size:2.2rem;margin-bottom:10px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.cover-content h2{font-size:.9rem;font-weight:400;letter-spacing:2px;opacity:.8}.logo-decoration{font-size:3rem;margin-top:40px}.spine{width:40px;left:-40px;background-color:#4e342e;transform-origin:right center;transform:rotateY(-90deg);border-radius:2px 0 0 2px;visibility:hidden}.page{background-color:#fdf5e6;border:1px solid #eaddcf;border-left:none;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.645,.045,.355,1);transform-style:preserve-3d}.page-overlay{background:linear-gradient(90deg,rgba(0,0,0,.1) 0,transparent 10%,transparent 90%,rgba(0,0,0,.05))}.first-page-msg,.page-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.first-page-msg{display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateZ(1px);font-family:FangSong,STFangSong,SimSun,serif;font-size:1.4rem;line-height:2;color:#5d4037;letter-spacing:2px;writing-mode:horizontal-tb;backface-visibility:visible;z-index:60;animation:msgFade 21s linear infinite;opacity:0;text-align:center;pointer-events:none}@keyframes msgFade{0%,9%{opacity:0}10%,32%{opacity:1}34%,to{opacity:0}}@media (max-width:1024px){.home{flex-direction:column}.left-section{flex:none;min-height:360px}.right-section{flex:none;width:100%;min-height:auto;padding:1rem 1rem 2.25rem}.content-container{padding:3rem 2rem}}@media (max-width:768px){.left-section{min-height:300px}.content-container{padding:3rem 2rem;margin:0}h1{font-size:2.25rem}p{font-size:1.1rem;margin-bottom:2rem}.actions{gap:.75rem}.btn{width:100%;min-width:auto}}.auth-page{background:radial-gradient(circle at 16% 28%,rgba(252,211,77,.22) 0,rgba(252,211,77,.04) 28%,transparent 48%),radial-gradient(circle at 78% 22%,rgba(245,158,11,.16) 0,rgba(245,158,11,.03) 26%,transparent 46%),linear-gradient(135deg,#fdf9f2,#fbf4e4 34%,#fdf9f1 68%,#fffdf8)}.glow{opacity:.7}.glow-left{left:-60px}.glow-right{width:260px;height:260px;right:-30px;animation-delay:1.8s}.spark{transform:rotate(-18deg)}.spark-one{top:20%;left:18%;width:180px}.spark-two{right:12%;bottom:22%;width:140px;animation-delay:1.4s}.auth-layout{width:min(1200px,calc(100vw - 48px));grid-template-columns:minmax(320px,1.05fr) minmax(380px,.95fr);gap:3rem;padding:48px 0}.story-badge{background:rgba(255,248,230,.82)}.auth-story h1{color:#9a5a10}.story-copy,.story-strip{max-width:520px}.auth-panel{padding:2.4rem}.panel-glow{width:220px;height:220px;right:-60px}@media (max-width:980px){.auth-layout{width:min(760px,calc(100vw - 32px));grid-template-columns:1fr;gap:1.5rem;padding:32px 0}.auth-story{padding:1rem 0 0}.auth-story h1,.story-copy,.story-strip{max-width:none}.left-section,.right-section{min-height:auto}}.auth-page{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 20% 24%,rgba(252,211,77,.22) 0,rgba(252,211,77,.05) 28%,transparent 48%),radial-gradient(circle at 76% 18%,rgba(245,158,11,.18) 0,rgba(245,158,11,.03) 24%,transparent 46%),linear-gradient(135deg,#fdf9f1,#fbf2df 34%,#fef9ef 70%,#fffdf9)}.auth-backdrop{position:absolute;inset:0;pointer-events:none}.glow,.spark{position:absolute;border-radius:999px}.glow{filter:blur(26px);opacity:.72;animation:glowFloat 10s ease-in-out infinite}.glow-left{width:320px;height:320px;left:-40px;top:10%;background:rgba(252,211,77,.24)}.glow-right{width:280px;height:280px;right:-40px;bottom:8%;background:rgba(245,158,11,.18);animation-delay:1.4s}.spark{background:linear-gradient(90deg,hsla(0,0%,100%,0),rgba(255,245,217,.92),hsla(0,0%,100%,0));height:2px;transform:rotate(-14deg);filter:blur(.4px);animation:sparkDrift 7s ease-in-out infinite}.spark-one{top:22%;left:20%;width:160px}.spark-two{right:10%;bottom:20%;width:150px;animation-delay:1.2s}.auth-layout{position:relative;z-index:1;min-height:100vh;width:min(1220px,calc(100vw - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(340px,1.06fr) minmax(400px,.94fr);align-items:center;gap:3.2rem;padding:44px 0}.auth-story{position:relative;padding:2rem 1rem 2rem 0;animation:fadeLift .8s cubic-bezier(.22,1,.36,1) both}.story-badge{display:inline-flex;align-items:center;padding:.5rem .85rem;border-radius:999px;background:rgba(255,248,230,.84);color:#b56b11;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 25px rgba(194,135,43,.08)}.auth-story h1{margin:1.35rem 0 1rem;font-size:clamp(2.8rem,4vw,4.4rem);line-height:1.04;color:#99590f;letter-spacing:0}.story-copy{max-width:540px;margin:0;color:#7b6b57;font-size:1.08rem;line-height:1.9}.story-strip{margin-top:2.4rem;display:grid;gap:.9rem;max-width:540px}.strip-line{height:1px;background:linear-gradient(90deg,rgba(233,186,96,0),rgba(233,186,96,.72),rgba(233,186,96,0))}.strip-card{display:flex;flex-direction:column;gap:.35rem;padding:1.2rem 1.3rem;background:rgba(255,251,242,.68);border:1px solid hsla(40,77%,69%,.24);border-radius:14px;box-shadow:0 18px 35px rgba(96,64,18,.05)}.strip-title{color:#b56b11;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.strip-value{color:#6d5b43;font-size:1rem}.auth-panel{position:relative;padding:2.35rem;border-radius:22px;background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(255,249,240,.9));border:1px solid hsla(40,81%,69%,.18);box-shadow:0 26px 70px rgba(98,66,21,.08),inset 0 0 0 1px hsla(0,0%,100%,.45);overflow:hidden;animation:fadeLift .8s cubic-bezier(.22,1,.36,1) .08s both}.panel-glow{position:absolute;width:240px;height:240px;top:-80px;right:-70px;background:radial-gradient(circle,rgba(251,191,36,.18) 0,transparent 70%);filter:blur(10px);pointer-events:none}.auth-panel h2{position:relative;margin:0 0 .45rem;color:#9a5a10;font-size:2rem;font-weight:700}.panel-copy{position:relative;margin:0 0 1.8rem;color:#7a6a57;font-size:.98rem;line-height:1.8}.auth-form{position:relative;display:grid;gap:1.1rem}.form-group{display:grid;gap:.55rem}.form-group label{color:#614c35;font-weight:600}.form-group input{width:100%;height:52px;padding:0 1rem;border:1px solid hsla(41,78%,67%,.34);border-radius:12px;background:hsla(0,0%,100%,.82);color:#3c3126;font-size:1rem;outline:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.form-group input:focus{border-color:rgba(245,158,11,.72);box-shadow:0 0 0 4px rgba(245,158,11,.12);transform:translateY(-1px)}.form-group input::-moz-placeholder{color:#b8a998}.form-group input::placeholder{color:#b8a998}.auth-btn{margin-top:.4rem;height:54px;border:none;border-radius:14px;background:linear-gradient(135deg,#f4ab31,#dc871f);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 18px 34px rgba(220,135,31,.26);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 22px 38px rgba(220,135,31,.34);filter:saturate(1.03)}.switch-link{position:relative;margin:1.45rem 0 0;color:#7a6a57;font-size:.95rem;text-align:center}.switch-link a{color:#cf7d17;font-weight:700;text-decoration:none}.switch-link a:hover{color:#b9690b}@keyframes glowFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(10px,-14px,0) scale(1.04)}}@keyframes sparkDrift{0%,to{opacity:.25;transform:rotate(-14deg) translateX(0)}50%{opacity:.9;transform:rotate(-14deg) translateX(12px)}}@keyframes fadeLift{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.auth-layout{width:min(760px,calc(100vw - 32px));grid-template-columns:1fr;gap:1.5rem;padding:32px 0}.auth-story{padding:1rem 0 0}.auth-story h1,.story-copy,.story-strip{max-width:none}}@media (max-width:640px){.auth-layout{width:calc(100vw - 24px)}.auth-panel{padding:1.6rem 1.2rem;border-radius:18px}.auth-story h1{font-size:2.4rem}.story-copy{font-size:1rem}}.book-list{width:min(1180px,100%);margin:0 auto;animation:fadeInUp .45s cubic-bezier(.4,0,.2,1)}.library-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem;padding:2rem;background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(255,251,235,.94)),radial-gradient(circle at top right,rgba(16,185,129,.16),transparent 34%);border:1px solid rgba(245,158,11,.26);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.eyebrow{margin:0 0 .5rem;color:var(--primary-hover);font-size:.86rem}.eyebrow,.library-hero h1{font-weight:800;letter-spacing:0}.library-hero h1{margin:0;color:var(--text-primary);font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.1}.hero-copy{max-width:520px;margin:.9rem 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.7}.library-stats{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:.85rem;flex:0 0 auto}.library-stats div{padding:1rem;background:#fff;border:1px solid rgba(245,158,11,.22);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm)}.library-stats strong{display:block;color:var(--primary-hover);font-size:1.55rem;line-height:1}.library-stats span{display:block;margin-top:.45rem;color:var(--text-secondary);font-size:.88rem;font-weight:650}.browse-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.25rem;align-items:start}.category-panel,.empty-state,.list-state,.result-bar,.search-card{background:var(--bg-primary);border:1px solid rgba(245,158,11,.22);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.category-panel{position:sticky;top:96px;padding:1rem}.panel-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem;color:var(--text-primary);font-weight:800}.panel-title i{color:var(--primary-color)}.category-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:42px;margin-top:.45rem;padding:.65rem .75rem;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.95rem;font-weight:700;text-align:left;transition:var(--transition)}.category-option strong{min-width:2rem;padding:.15rem .45rem;color:var(--text-light);background:var(--bg-secondary);border-radius:999px;font-size:.78rem;text-align:center}.category-option:hover{color:var(--text-primary);background:rgba(245,158,11,.08)}.category-option.active{color:#92400e;background:hsla(48,97%,77%,.46);border-color:rgba(245,158,11,.28)}.category-option.active strong{color:#fff;background:var(--primary-color)}.books-area{min-width:0}.search-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;padding:.9rem;margin-bottom:1rem}.search-field{display:flex;align-items:center;gap:.75rem;min-width:0;padding:0 1rem;background:#fffdf8;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);transition:var(--transition)}.search-field:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(245,158,11,.12)}.search-field i{color:var(--text-light)}.search-field input{width:100%;min-height:44px;color:var(--text-primary);background:transparent;border:none;outline:none;font-size:1rem}.search-field input::-moz-placeholder{color:var(--text-light)}.search-field input::placeholder{color:var(--text-light)}.reset-btn,.search-btn{min-height:44px;padding:0 1.15rem;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.96rem;font-weight:800;transition:var(--transition)}.search-btn{color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:1px solid transparent;box-shadow:0 10px 18px rgba(217,119,6,.2)}.reset-btn{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color)}.reset-btn:hover,.search-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-categories{display:none}.result-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem}.result-bar div{display:flex;align-items:baseline;gap:.35rem;color:var(--text-secondary);font-weight:700}.result-bar strong{color:var(--primary-hover);font-size:1.35rem}.result-bar p{margin:0;color:var(--text-light);font-size:.92rem;text-align:right}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.book-card{min-width:0;border:1px solid rgba(245,158,11,.22);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}.book-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.book-cover{position:relative;aspect-ratio:3/4}.book-cover img{display:block;transition:transform .35s ease}.book-card:hover .book-cover img{transform:scale(1.045)}.book-tag{position:absolute;left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);padding:.35rem .55rem;color:#92400e;background:hsla(0,0%,100%,.9);border:1px solid rgba(245,158,11,.22);border-radius:var(--border-radius-sm);font-size:.78rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(8px)}.book-info{padding:1rem}.book-info h3{min-height:3rem;font-size:1.05rem;font-weight:800;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.author{display:flex;align-items:center;gap:.45rem;margin:.65rem 0 0;font-weight:650}.author i{color:var(--primary-color);font-size:.82rem}.author span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description{margin:.75rem 0 0;color:var(--text-light);font-size:.86rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state,.list-state{min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;color:var(--text-secondary);text-align:center}.empty-state i,.list-state i{color:var(--primary-color);font-size:1.8rem}.empty-state h2{margin:0;color:var(--text-primary);font-size:1.35rem}.empty-state p{margin:0;color:var(--text-light)}@media (max-width:900px){.library-hero{align-items:flex-start;flex-direction:column}.library-stats{width:100%}.browse-shell{grid-template-columns:1fr}.category-panel{display:none}.mobile-categories{display:flex;gap:.5rem;margin:0 0 1rem;padding:.25rem 0 .35rem;overflow-x:auto}.mobile-categories button{flex:0 0 auto;min-height:38px;padding:.55rem .85rem;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:750;transition:var(--transition)}.mobile-categories button.active{color:#fff;background:var(--primary-color);border-color:var(--primary-color)}}@media (max-width:640px){.library-hero{padding:1.35rem}.library-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.search-card{grid-template-columns:1fr}.search-field{padding:0 .85rem}.result-bar{align-items:flex-start;flex-direction:column}.result-bar p{text-align:left}.books-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem}.book-info{padding:.85rem}.book-info h3{font-size:.98rem}}.reader-window-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(245,158,11,.1);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .35s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reader-window{width:90%;max-width:900px;height:90vh;background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-reader-theme=dark] .reader-window{background:#1a1a1a;color:#e0e0e0}.reader-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}[data-reader-theme=dark] .reader-header{background:#252525;border-bottom-color:#333}.reader-title h2{margin:0 0 .25rem 0;font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.3}[data-reader-theme=dark] .reader-title h2{color:#f0f0f0}.reader-title .book-name{font-size:.9rem;color:var(--text-secondary);font-weight:400}[data-reader-theme=dark] .reader-title .book-name{color:#999}.close-reader-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);line-height:1;padding:0}.close-reader-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}[data-reader-theme=dark] .close-reader-btn{color:#999}[data-reader-theme=dark] .close-reader-btn:hover{background:#333;color:#fff}.reader-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}[data-reader-theme=dark] .reader-controls{background:#252525;border-bottom-color:#333}.nav-btn{padding:.625rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}[data-reader-theme=dark] .nav-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-reader-theme=dark] .nav-btn:hover:not(:disabled){background:var(--primary-color);color:#fff}.chapter-info{font-size:.9rem;color:var(--text-secondary);font-weight:500}[data-reader-theme=dark] .chapter-info{color:#999}.reader-content-wrapper{flex:1;overflow-y:auto;padding:2rem;background:var(--bg-primary);position:relative}[data-reader-theme=dark] .reader-content-wrapper{background:#1a1a1a}.reader-content{max-width:700px;margin:0 auto;line-height:2;font-size:18px;color:var(--text-primary);text-align:justify}[data-reader-theme=dark] .reader-content{color:#e0e0e0}.chapter-text{word-wrap:break-word;word-break:break-all}.chapter-paragraph{margin:0 0 1.5em 0;text-indent:2em;line-height:2;font-size:inherit;color:inherit}.chapter-paragraph:first-child{text-indent:0;font-weight:500}.chapter-subtitle{margin:2em 0 1em 0;font-size:1.2em;font-weight:600;text-align:center;color:var(--text-primary);padding:.5em 0;border-bottom:2px solid var(--border-color)}[data-reader-theme=dark] .chapter-subtitle{color:#f0f0f0;border-bottom-color:#444}.error-content,.loading-content{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}[data-reader-theme=dark] .error-content,[data-reader-theme=dark] .loading-content{color:#999}.reader-footer{padding:1rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}[data-reader-theme=dark] .reader-footer{background:#252525;border-top-color:#333}.reader-settings{display:flex;align-items:center;justify-content:center;gap:1rem}.setting-btn{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;font-size:1rem;font-weight:600;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:44px}.setting-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}[data-reader-theme=dark] .setting-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-reader-theme=dark] .setting-btn:hover{background:var(--primary-color);color:#fff}.font-size-display{font-size:.9rem;color:var(--text-secondary);min-width:50px;text-align:center;font-weight:500}[data-reader-theme=dark] .font-size-display{color:#999}.theme-btn{font-size:1.2rem}.reader-content-wrapper::-webkit-scrollbar{width:8px}.reader-content-wrapper::-webkit-scrollbar-track{background:var(--bg-secondary)}[data-reader-theme=dark] .reader-content-wrapper::-webkit-scrollbar-track{background:#252525}.reader-content-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.reader-content-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-light)}[data-reader-theme=dark] .reader-content-wrapper::-webkit-scrollbar-thumb{background:#444}[data-reader-theme=dark] .reader-content-wrapper::-webkit-scrollbar-thumb:hover{background:#666}@media (max-width:768px){.reader-window{width:100%;height:100vh;border-radius:0}.reader-header{padding:1rem 1.5rem}.reader-title h2{font-size:1.25rem}.reader-controls{padding:.75rem 1rem}.nav-btn{padding:.5rem 1rem;font-size:.85rem}.reader-content-wrapper{padding:1.5rem 1rem}.reader-content{font-size:16px}.reader-footer{padding:.75rem 1rem}}.book-detail{width:min(1120px,100%);margin:0 auto;padding:0 0 2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.625rem .875rem;color:var(--primary-hover);text-decoration:none;font-weight:600;border-radius:var(--border-radius-sm);transition:var(--transition)}.back-link:hover{background:rgba(245,158,11,.12);transform:translateX(-3px)}.book-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2.5rem;align-items:stretch;padding:2rem;background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(255,251,235,.94)),radial-gradient(circle at top right,rgba(16,185,129,.16),transparent 34%);border:1px solid rgba(245,158,11,.28);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);animation:fadeInUp .45s cubic-bezier(.4,0,.2,1)}.hero-cover{width:260px;aspect-ratio:2/3;align-self:start;overflow:hidden;background:var(--bg-tertiary);border-radius:var(--border-radius);box-shadow:0 18px 36px rgba(120,53,15,.16)}.hero-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .35s ease}.book-hero:hover .hero-cover img{transform:scale(1.025)}.hero-info{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:.5rem 0}.hero-eyebrow,.section-label{margin:0 0 .5rem;color:var(--primary-hover);font-size:.85rem;font-weight:700;letter-spacing:0}.hero-info h1{margin:0;color:var(--text-primary);font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;font-weight:800;letter-spacing:0;overflow-wrap:anywhere}.hero-author{display:inline-flex;align-items:center;gap:.5rem;margin:1rem 0 0;color:var(--text-secondary);font-size:1.05rem;font-weight:600}.hero-author i{color:var(--primary-color)}.hero-summary{max-width:720px;margin:1.5rem 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}.hero-meta span{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .75rem;color:#92400e;background:hsla(48,97%,77%,.48);border:1px solid rgba(245,158,11,.28);border-radius:var(--border-radius-sm);font-size:.92rem;font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2rem}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.85rem 1.35rem;border-radius:var(--border-radius-sm);border:1px solid transparent;cursor:pointer;font-size:1rem;font-weight:700;transition:var(--transition)}.primary-action{color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));box-shadow:0 12px 22px rgba(217,119,6,.24)}.secondary-action{color:#047857;background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.28)}.primary-action:hover,.secondary-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.book-navigation{margin-top:1.5rem;background:var(--bg-primary);border:1px solid rgba(245,158,11,.24);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;animation:fadeInUp .45s cubic-bezier(.4,0,.2,1) .08s both}.tabs{display:flex;gap:.5rem;padding:.75rem;background:hsla(33,85%,97%,.8);border-bottom:1px solid var(--border-color)}.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:112px;min-height:42px;padding:.625rem 1rem;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.98rem;font-weight:700;transition:var(--transition)}.tabs button:hover{color:var(--text-primary);background:rgba(245,158,11,.1)}.tabs button.active{color:#92400e;background:#fff;border-color:rgba(245,158,11,.28);box-shadow:var(--shadow-sm)}.tab-content{padding:2rem;min-height:360px}.detail-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.chapters-header h2,.detail-section h2{margin:0;color:var(--text-primary);font-size:1.45rem;line-height:1.35}.description-text{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.9}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.info-tile{min-width:0;padding:1rem;background:#fffdf8;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.info-tile span{display:block;margin-bottom:.45rem;color:var(--text-light);font-size:.85rem}.info-tile strong{display:block;color:var(--text-primary);font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.chapters-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.chapters-header>span{flex:0 0 auto;padding:.45rem .7rem;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--border-radius-sm);font-weight:700}.chapters-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;margin:0;padding:0}.chapter-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.875rem;min-height:58px;padding:.75rem 1rem;color:var(--text-primary);background:#fffdf8;border:1px solid rgba(245,158,11,.2);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition)}.chapter-item:hover{background:#fff7ed;border-color:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.chapter-index{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:#92400e;background:hsla(48,97%,77%,.6);border-radius:var(--border-radius-sm);font-size:.82rem;font-weight:800}.chapter-title{min-width:0;color:var(--text-primary);font-size:.98rem;font-weight:650;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-item i{color:var(--text-light);font-size:.8rem}.chapters-state,.loading{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:220px;color:var(--text-secondary);font-size:1rem;font-weight:600}.loading{min-height:420px}.reader-controls button{padding:8px 16px;background-color:#f59e0b;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:var(--transition)}.reader-controls button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.chapter-content pre{white-space:pre-wrap;font-family:Microsoft YaHei,sans-serif;line-height:1.8;font-size:16px}@media (max-width:900px){.book-hero{grid-template-columns:210px minmax(0,1fr);gap:1.75rem}.hero-cover{width:210px}.detail-section{gap:1rem}.chapters-list,.detail-grid,.detail-section{grid-template-columns:1fr}}@media (max-width:640px){.book-detail{padding-bottom:1rem}.back-link{margin-bottom:.75rem}.book-hero{grid-template-columns:1fr;padding:1.25rem}.hero-cover{width:min(190px,66vw);justify-self:center}.hero-info{text-align:center;align-items:center}.hero-summary{-webkit-line-clamp:4}.hero-actions{width:100%}.primary-action,.secondary-action{flex:1 1 160px}.tabs{padding:.5rem}.tabs button{flex:1;min-width:0}.tab-content{padding:1.25rem}.chapters-header{align-items:flex-start}.chapter-item{min-height:54px;padding:.65rem .75rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.bookshelf{padding:0;animation:shelfFadeIn .45s ease}.bookshelf h2{margin-bottom:1.75rem;color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1.15}.stats{display:flex;justify-content:center;margin-bottom:2rem}.stat-item{min-width:180px;padding:1.55rem 2rem;text-align:center;color:#fff;background:linear-gradient(135deg,#c98218,#a85e12);border-radius:14px;box-shadow:0 14px 32px rgba(139,80,14,.16)}.number{display:block;margin-bottom:.35rem;font-size:2.6rem;font-weight:800;line-height:1}.label{color:hsla(0,0%,100%,.92);font-size:.96rem;font-weight:600}.empty-state{margin-bottom:1.75rem;padding:1.1rem 1.25rem;border:1px solid rgba(183,121,31,.18);border-radius:12px;background:hsla(0,0%,100%,.8);color:var(--text-secondary);text-align:center;box-shadow:0 8px 18px rgba(67,42,16,.05)}.collections{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem}.book-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(183,121,31,.18);border-radius:14px;background:var(--bg-primary);box-shadow:0 10px 24px rgba(67,42,16,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.book-card:hover{transform:translateY(-2px);border-color:rgba(183,121,31,.34);box-shadow:0 16px 34px rgba(67,42,16,.12)}.book-cover{width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--bg-tertiary)}.book-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.book-info{flex:1;display:flex;flex-direction:column;gap:.45rem;padding:1rem 1rem 1.1rem}.book-info h3{margin:0;color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.35}.author{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.remove-btn{margin-top:.5rem;width:100%;padding:.78rem 1rem;border:none;border-radius:10px;background:linear-gradient(135deg,#d44f4f,#bb3737);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.remove-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(187,55,55,.2)}.upload-card{padding:0;border-style:dashed;border-color:rgba(183,121,31,.28);background:linear-gradient(180deg,#fffcf6,#fff6e7);cursor:pointer}.upload-cover{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,hsla(42,79%,87%,.7),rgba(255,249,238,.96))}.upload-book-shell{position:relative;width:128px;height:176px;border-radius:0 16px 16px 0;background:linear-gradient(145deg,#efb24b,#d98722);box-shadow:0 18px 32px rgba(187,121,31,.2),inset 0 0 0 1px hsla(0,0%,100%,.18)}.upload-book-spine{position:absolute;top:0;left:-16px;width:16px;height:100%;border-radius:7px 0 0 7px;background:linear-gradient(180deg,#b96c15,#8d4c0b)}.upload-book-title{position:absolute;top:22px;left:20px;right:16px;color:rgba(255,250,240,.96);font-size:.96rem;font-weight:700;line-height:1.35}.upload-book-plus{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);color:rgba(255,252,247,.98);font-size:2rem;font-weight:400}.upload-info h3{color:#a85e12}.bookshelf-upload-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(33,27,20,.46);backdrop-filter:blur(8px);animation:shelfOverlayFade .18s ease}.bookshelf-upload-modal{position:relative;width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid hsla(39,53%,81%,.7);border-radius:20px;background:linear-gradient(180deg,rgba(255,254,251,.99),rgba(255,250,242,.98));box-shadow:0 32px 80px rgba(67,42,16,.18)}.bookshelf-upload-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:none;border-radius:999px;background:rgba(255,248,234,.96);color:#8d6231;font-size:1.5rem;line-height:1;cursor:pointer;z-index:2}.bookshelf-upload-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0}.bookshelf-upload-aside{display:grid;align-content:center;justify-items:center;gap:1rem;padding:2rem 1.4rem;border-right:1px solid hsla(39,53%,81%,.5);background:radial-gradient(circle at 50% 14%,rgba(245,158,11,.16) 0,transparent 42%),linear-gradient(180deg,#fffaef,#fff5e5)}.bookshelf-upload-kicker{padding:.34rem .8rem;border:1px solid rgba(183,121,31,.18);border-radius:999px;color:#9e651e;font-size:.82rem;font-weight:700;letter-spacing:.02em;background:hsla(0,0%,100%,.6)}.bookshelf-upload-figure{position:relative;width:124px;height:176px;border-radius:0 14px 14px 0;background:linear-gradient(145deg,#efb24b,#d98722);box-shadow:0 18px 34px rgba(187,121,31,.2),inset 0 0 0 1px hsla(0,0%,100%,.16)}.bookshelf-upload-spine{position:absolute;top:0;left:-15px;width:15px;height:100%;border-radius:7px 0 0 7px;background:linear-gradient(180deg,#b96c15,#8d4c0b)}.bookshelf-upload-paper{position:absolute;top:12px;right:10px;width:10px;height:calc(100% - 24px);border-radius:6px;background:linear-gradient(180deg,rgba(255,253,249,.98),hsla(39,63%,89%,.96))}.bookshelf-upload-mark{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);color:rgba(255,252,248,.98);font-size:2.1rem;font-weight:300}.bookshelf-upload-note{max-width:210px;margin:0;color:#7b6245;font-size:.96rem;line-height:1.7;text-align:center}.bookshelf-upload-note code{padding:0 .25rem;border-radius:6px;background:hsla(0,0%,100%,.75);color:#8d6231}.bookshelf-upload-main{display:flex;flex-direction:column;padding:1.8rem 1.8rem 1.7rem}.bookshelf-upload-header{display:grid;gap:.35rem;padding-right:2.6rem;margin-bottom:1.25rem}.bookshelf-upload-header h3{margin:0;color:#8f5d20;font-size:1.55rem;font-weight:800;line-height:1.2}.bookshelf-upload-header p{margin:0;color:#836b53;font-size:.95rem;line-height:1.55}.bookshelf-upload-form{display:flex;flex-direction:column;min-height:0}.bookshelf-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bookshelf-upload-grid-wide{grid-column:1/-1}.tag-picker{display:flex;flex-wrap:wrap;gap:.75rem}.tag-chip{padding:.7rem 1rem;border:1px solid hsla(39,50%,77%,.95);border-radius:999px;background:rgba(255,252,246,.98);color:#7d6444;font-size:.93rem;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.tag-chip.active{border-color:rgba(206,139,39,.82);background:linear-gradient(135deg,#efb24b,#ce8b27);color:#fff;box-shadow:0 10px 18px rgba(206,139,39,.16)}.tag-chip:hover{transform:translateY(-1px)}.form-group{margin:0}.form-group label{display:block;margin-bottom:.55rem;color:#66513b;font-size:.94rem;font-weight:700}.form-group input,.form-group textarea{width:100%;box-sizing:border-box;padding:.88rem 1rem;border:1px solid hsla(39,50%,77%,.85);border-radius:12px;background:hsla(0,0%,100%,.94);color:var(--text-primary);font-size:.98rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:rgba(198,128,38,.72);box-shadow:0 0 0 4px rgba(239,183,91,.14)}.file-input-wrapper{position:relative}.file-dropzone{border-radius:14px}.file-dropzone.dragover .file-input-label{border-color:rgba(206,139,39,.95);background:#fff7e9;box-shadow:0 0 0 4px rgba(239,183,91,.14)}.file-input-wrapper input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-input-label{display:grid;gap:.25rem;min-height:78px;padding:.9rem 1rem;border:1px dashed hsla(39,50%,77%,.95);border-radius:14px;background:rgba(255,252,246,.98);color:#8c745a}.file-input-title{color:#6d5337;font-size:.98rem;font-weight:700}.file-input-name{overflow:hidden;color:#a18a72;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.bookshelf-upload-actions{display:flex;justify-content:flex-end;gap:.85rem;margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid hsla(39,53%,81%,.45)}.bookshelf-upload-cancel,.bookshelf-upload-submit{min-width:128px;padding:.88rem 1.35rem;border:none;border-radius:12px;font-size:.96rem;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.bookshelf-upload-cancel{background:#fff8e8;color:#7d6444;box-shadow:inset 0 0 0 1px hsla(39,50%,77%,.7)}.bookshelf-upload-submit{background:linear-gradient(135deg,#e7ab43,#ce8b27);color:#fff;box-shadow:0 16px 28px rgba(206,139,39,.18)}.bookshelf-upload-cancel:hover,.bookshelf-upload-submit:hover{transform:translateY(-1px)}.bookshelf-upload-cancel:disabled,.bookshelf-upload-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading{padding:4rem 2rem;text-align:center;color:var(--text-secondary);font-size:1.05rem}@keyframes shelfFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shelfOverlayFade{0%{opacity:0}to{opacity:1}}@media (max-width:980px){.bookshelf-upload-shell{grid-template-columns:240px minmax(0,1fr)}.bookshelf-upload-main{padding:1.5rem 1.4rem 1.4rem}}@media (max-width:760px){.bookshelf h2{font-size:1.7rem}.collections{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.book-cover{aspect-ratio:4/5.2}.bookshelf-upload-modal{width:100%}.bookshelf-upload-shell{grid-template-columns:1fr}.bookshelf-upload-aside{padding:1.35rem 1.1rem 1.15rem;border-right:none;border-bottom:1px solid hsla(39,53%,81%,.5)}.bookshelf-upload-header{padding-right:0}.bookshelf-upload-grid{grid-template-columns:1fr}.tag-picker{gap:.6rem}.bookshelf-upload-actions{flex-direction:column}.bookshelf-upload-cancel,.bookshelf-upload-submit{width:100%}}.lucky-drawer-page{width:min(1280px,100%);margin:0 auto;padding:.25rem 0 2rem}.drawer-stage{display:grid;grid-template-columns:minmax(320px,.74fr) minmax(560px,1.26fr);gap:clamp(1.25rem,2.4vw,2.3rem);align-items:center;padding:clamp(.25rem,1vw,.8rem);border-radius:28px;background:linear-gradient(135deg,rgba(255,253,248,.9),hsla(41,78%,93%,.74)),radial-gradient(circle at 74% 18%,rgba(15,118,110,.1),transparent 30rem);border:1px solid rgba(183,121,31,.14);box-shadow:0 24px 70px rgba(67,42,16,.08)}.drawer-control{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(1.25rem,2.4vw,2.1rem);background:rgba(255,253,248,.92);border:1px solid rgba(183,121,31,.18);border-radius:22px;box-shadow:0 18px 45px rgba(93,58,17,.08);backdrop-filter:blur(14px)}.section-kicker{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 .75rem}.section-kicker span{width:2.25rem;height:2px;background:linear-gradient(90deg,#0f766e,rgba(183,121,31,.4))}.section-kicker p{margin:0;color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.drawer-control h1{margin:0;color:#24180f;font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.08;font-weight:850;letter-spacing:0}.hero-text{margin:1rem 0 0;color:#725f4c;font-size:1rem;line-height:1.8}.drawer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;margin-top:1.2rem}.drawer-stats div{min-width:0;padding:.78rem .72rem;background:rgba(255,248,234,.76);border:1px solid rgba(183,121,31,.14);border-radius:var(--border-radius-sm)}.drawer-stats strong{display:block;color:#24180f;font-size:1.08rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-stats span{display:block;margin-top:.34rem;color:#8f7a64;font-size:.74rem;font-weight:750}.theme-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;margin-top:1rem}.theme-chip{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:44px;padding:.7rem .8rem;color:#6b5745;background:hsla(0,0%,100%,.74);border:1px solid rgba(187,145,83,.22);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;backdrop-filter:blur(10px)}.theme-chip:hover{transform:translateY(-2px);border-color:rgba(15,118,110,.28);box-shadow:0 10px 22px rgba(77,54,26,.08)}.theme-chip.active{color:#134e4a;background:#ecfdf5;border-color:rgba(15,118,110,.45);box-shadow:0 0 0 3px rgba(20,184,166,.12)}.theme-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-count{flex:0 0 auto;min-width:1.7rem;padding:.12rem .45rem;color:#8a5a13;background:#fff7df;border-radius:999px;font-size:.78rem;text-align:center}.theme-chip.active .theme-count{color:#fff;background:#0f766e}.draw-actions{display:flex;flex-wrap:wrap;gap:.75rem;width:100%;margin-top:1.3rem}.dislike-btn,.like-btn,.primary-draw-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.8rem 1.08rem;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.96rem;font-weight:850;letter-spacing:0;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.primary-draw-btn{flex:1 1 190px;color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 14px 24px rgba(20,184,166,.22)}.secondary-btn{color:#5c4329;background:#fff;border-color:rgba(187,145,83,.26)}.dislike-btn:hover,.like-btn:hover,.primary-draw-btn:hover,.secondary-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(74,50,21,.12)}.primary-draw-btn:disabled{cursor:not-allowed;opacity:.72;transform:none}.state-card{display:flex;align-items:flex-start;gap:.65rem;width:100%;min-height:48px;margin-top:1rem;padding:.75rem .85rem;color:#7a654f;background:#fff8ea;border:1px solid rgba(217,119,6,.14);border-radius:var(--border-radius-sm)}.state-card.success{color:#14532d;background:#f0fdf4;border-color:rgba(22,163,74,.18)}.state-card p{margin:0;line-height:1.55}.state-dot{flex:0 0 auto;width:.62rem;height:.62rem;margin-top:.45rem;background:#d97706;border-radius:50%;box-shadow:0 0 0 4px rgba(217,119,6,.12)}.state-card.success .state-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12)}.scene-wrap{min-width:0}.scene-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.72rem;padding:0 .2rem}.scene-toolbar div{min-width:0}.scene-toolbar span{display:block;color:#8f7a64;font-size:.78rem;font-weight:800}.scene-toolbar strong{display:block;margin-top:.18rem;color:#24180f;font-size:1.08rem}.scene-toolbar p{margin:0;color:#0f766e;font-size:.86rem;font-weight:850}.scene-frame{position:relative;width:100%;aspect-ratio:1662/946;overflow:hidden;border-radius:22px;background:#f6ead2;border:1px solid rgba(183,121,31,.16);box-shadow:0 24px 60px rgba(76,48,15,.16);isolation:isolate}.scene-image{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drawer-overlay{position:absolute;inset:0;z-index:2}.drawer-hotspot{position:absolute;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;color:#fff7e8;background:transparent;border:1px solid transparent;border-radius:12px;cursor:pointer;opacity:.08;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.drawer-hotspot:before{content:"";position:absolute;inset:32% 40%;border-radius:50%;background:rgba(255,239,194,.14);box-shadow:0 0 14px rgba(255,231,158,.14);transition:inset .2s ease,opacity .2s ease}.drawer-hotspot:focus-visible,.drawer-hotspot:hover{opacity:.5;background:rgba(255,245,218,.06);border-color:rgba(255,244,214,.12);box-shadow:inset 0 0 28px rgba(255,236,178,.18),0 0 0 4px rgba(255,236,178,.08);transform:translateX(2px);outline:none}.drawer-hotspot:focus-visible:before,.drawer-hotspot:hover:before{inset:18% 28%}.drawer-hotspot.active{opacity:.22;background:rgba(255,245,218,.05);border-color:rgba(255,244,214,.1)}.drawer-hotspot.opening,.drawer-hotspot.revealed{opacity:.62;background:rgba(255,236,178,.1);border-color:rgba(255,218,129,.18);box-shadow:inset 0 0 36px rgba(255,224,147,.2),0 0 0 7px rgba(245,158,11,.08);transform:translateX(4px);z-index:3}.drawer-hotspot-label{position:relative;z-index:1;padding:.25rem .45rem;color:#5c3a16;background:rgba(255,248,232,.84);border-radius:999px;font-size:.72rem;font-weight:900;opacity:0;transform:translateY(3px);transition:opacity .18s ease,transform .18s ease}.drawer-hotspot.active .drawer-hotspot-label,.drawer-hotspot.opening .drawer-hotspot-label,.drawer-hotspot.revealed .drawer-hotspot-label,.drawer-hotspot:focus-visible .drawer-hotspot-label,.drawer-hotspot:hover .drawer-hotspot-label{opacity:1;transform:translateY(0)}.drawer-overlay.drawing .drawer-hotspot:not(.opening){opacity:.32;pointer-events:none}.drawer-sprite{position:absolute;z-index:4;pointer-events:none;background-repeat:no-repeat;background-size:calc(var(--frames)*100%) 100%;background-position:0 0;filter:drop-shadow(0 16px 20px rgba(80,48,16,.16));transform-origin:center center;animation:drawerSpriteFrames .66s steps(var(--frame-steps)) forwards,drawerSpriteSettle .62s cubic-bezier(.18,.82,.22,1) forwards}@keyframes drawerSpriteFrames{0%{background-position:0 0}to{background-position:100% 0}}@keyframes drawerSpriteSettle{0%{opacity:0;transform:translateX(-1.5%) scale(.985)}22%{opacity:1}72%{transform:translateX(2.5%) scale(1.01)}to{opacity:1;transform:translateX(1.2%) scale(1)}}.book-flyer{position:absolute;z-index:5;width:clamp(34px,5.2%,58px);aspect-ratio:3/4;border-radius:4px;overflow:hidden;background:#efe0c3;box-shadow:6px 12px 18px rgba(49,31,12,.2),inset -8px 0 0 rgba(0,0,0,.08);transform:translate(-50%,-50%) rotate(-5deg);transform-origin:50% 85%;pointer-events:none}.book-flyer:after{content:"";position:absolute;inset:0 0 0 72%;background:hsla(0,0%,100%,.18)}.book-flyer img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.book-result-card{position:absolute;z-index:5;display:grid;grid-template-columns:78px minmax(0,1fr);gap:.8rem;width:min(390px,46%);min-height:118px;padding:.8rem;background:rgba(255,253,248,.94);border:1px solid rgba(213,151,66,.28);border-radius:var(--border-radius);box-shadow:0 18px 36px rgba(60,41,20,.18);backdrop-filter:blur(10px);transform:translate(-50%,-50%);transform-origin:50% 68%}.cover-wrap{overflow:hidden;aspect-ratio:3/4;background:#f7ead5;border-radius:var(--border-radius-sm);box-shadow:inset 0 0 0 1px rgba(91,54,14,.08)}.cover-wrap img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.book-result-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.book-result-copy p{margin:0 0 .28rem;color:#0f766e;font-size:.74rem;font-weight:900}.book-result-copy h2{margin:0;color:#24180f;font-size:1.16rem;line-height:1.28;letter-spacing:0}.book-result-copy small,.book-result-copy span{display:block;margin-top:.26rem;color:#76604a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-result-copy small{color:#9a6a20;font-weight:800}.scene-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:.75rem 0 0;color:#725f4c;font-size:.92rem}.scene-hint span{display:inline-flex;align-items:center;gap:.42rem;padding:.42rem .62rem;background:rgba(255,253,248,.68);border:1px solid rgba(183,121,31,.12);border-radius:999px}.result-panel{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(280px,1.2fr) auto;gap:1rem;align-items:center;margin-top:1rem;padding:1rem 1.1rem;background:linear-gradient(135deg,rgba(255,253,248,.96),rgba(255,248,234,.94));border:1px solid rgba(20,184,166,.18);border-radius:18px;box-shadow:0 14px 32px rgba(58,41,18,.08)}.result-copy{min-width:0}.result-copy p{margin:0 0 .25rem;color:#0f766e;font-size:.8rem;font-weight:900}.result-copy h2{margin:0;color:#24180f;font-size:1.25rem;line-height:1.35}.result-copy span{display:block;margin-top:.28rem;color:#76604a}.result-reason{margin:0;color:#6b5745;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.result-actions{display:flex;gap:.65rem}.like-btn{color:#fff;background:#0f766e;box-shadow:0 12px 22px rgba(15,118,110,.18)}.dislike-btn{color:#5c4329;background:#fff8ea;border-color:rgba(217,119,6,.2)}.auth-tip,.error-message{grid-column:1/-1;margin:.2rem 0 0}.auth-tip{color:#8a735f}.error-message{padding:.85rem 1rem;color:#991b1b;background:#fef2f2;border:1px solid rgba(239,68,68,.2);border-radius:var(--border-radius-sm);font-weight:800}.book-fly-enter-active{animation:bookFlyOut .56s cubic-bezier(.16,.9,.24,1) forwards}.book-fly-leave-active{transition:opacity .18s ease}.book-fly-leave-to{opacity:0}@keyframes bookFlyOut{0%{opacity:0;transform:translate(-50%,18%) rotate(-8deg) scale(.54);filter:brightness(.9)}48%{opacity:1;transform:translate(-50%,-62%) rotate(4deg) scale(1.03)}76%{transform:translate(-50%,-48%) rotate(-2deg) scale(.98)}to{opacity:1;transform:translate(-50%,-54%) rotate(-4deg) scale(1);filter:brightness(1)}}.book-reveal-enter-active,.book-reveal-leave-active{transition:opacity .28s ease,transform .34s cubic-bezier(.2,.82,.22,1)}.book-reveal-enter-from,.book-reveal-leave-to{opacity:0;transform:translate(-50%,-42%) scale(.72)}@media (prefers-reduced-motion:reduce){.book-fly-enter-active,.book-fly-leave-active,.book-flyer,.book-reveal-enter-active,.book-reveal-leave-active,.dislike-btn,.drawer-hotspot,.drawer-sprite,.like-btn,.primary-draw-btn,.secondary-btn,.theme-chip{animation:none;transition:none}}@media (max-width:1040px){.drawer-stage{grid-template-columns:1fr}.drawer-control{order:2}.scene-wrap{order:1}}@media (max-width:760px){.lucky-drawer-page{padding-top:0}.drawer-control{padding:1rem}.theme-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-chip{flex-direction:column;align-items:flex-start;min-height:58px;gap:.35rem}.book-result-card{grid-template-columns:58px minmax(0,1fr);width:min(88%,340px);min-height:92px;padding:.65rem}.book-result-copy h2{font-size:.98rem}.book-result-copy small,.book-result-copy span{font-size:.78rem}.result-panel{grid-template-columns:1fr}.result-actions{width:100%}.dislike-btn,.like-btn{flex:1}}@media (max-width:520px){.theme-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-hotspot-label{display:none}.scene-hint{font-size:.84rem}}.ai-chat-page{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 150px);padding:2rem 1rem;overflow:hidden;position:relative}.ai-chat-page .page-title{text-align:center;font-size:3rem;color:#c77a4d;margin-bottom:.75rem;font-family:Comic Sans MS,Chalkboard SE,cursive}.ai-chat-page .subtitle{text-align:center;color:#e4a27d;margin-bottom:2rem;font-size:1.25rem}.ac-bg-layer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.ac-bokeh{position:absolute;border-radius:50%;opacity:.18;filter:blur(40px);animation:ac-bokeh-drift 18s ease-in-out infinite alternate}.ac-bokeh-1{width:250px;height:250px;background:#fcd34d;top:5%;left:10%}.ac-bokeh-2{width:200px;height:200px;background:#f59e0b;top:60%;right:8%;animation-delay:-5s}.ac-bokeh-3{width:180px;height:180px;background:#fbbf24;bottom:10%;left:30%;animation-delay:-10s}.ac-bokeh-4{width:160px;height:160px;background:#c77a4d;top:30%;right:25%;animation-delay:-3s}@keyframes ac-bokeh-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-20px) scale(1.1)}to{transform:translate(-20px,15px) scale(.95)}}.ac-float-star{position:absolute;font-size:1.2rem;color:#fbbf24;opacity:.4;animation:ac-star-float 8s ease-in-out infinite}.ac-star-1{top:8%;left:5%;animation-delay:0s}.ac-star-2{top:15%;right:12%;animation-delay:-2s}.ac-star-3{top:50%;left:3%;animation-delay:-4s}.ac-star-4{top:70%;right:6%;animation-delay:-1s}.ac-star-5{bottom:15%;left:15%;animation-delay:-3s}@keyframes ac-star-float{0%,to{transform:translateY(0) rotate(0deg);opacity:.3}50%{transform:translateY(-18px) rotate(180deg);opacity:.6}}.ac-mini-book{position:absolute;opacity:.25;color:#d2a679;animation:ac-book-float 12s ease-in-out infinite}.ac-mini-book-1{top:12%;right:4%;animation-delay:-2s}.ac-mini-book-2{bottom:20%;left:6%;animation-delay:-6s}.ac-mini-book-3{top:45%;left:2%;animation-delay:-9s}@keyframes ac-book-float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-22px) rotate(5deg)}}.chat-container{position:relative;z-index:1;width:100%;max-width:760px;background:linear-gradient(145deg,#fffdf7,#fef9f0);border-radius:24px;border:2px solid #fde68a;box-shadow:0 8px 32px rgba(197,122,77,.12),0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.8);display:flex;flex-direction:column;overflow:hidden;animation:ac-container-enter .6s cubic-bezier(.34,1.56,.64,1)}@keyframes ac-container-enter{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #fde68a}.chat-header,.status-indicator{display:flex;align-items:center}.status-indicator{gap:8px;font-size:.875rem;color:#92400e;font-weight:500}.status-dot{width:10px;height:10px;border-radius:50%;background:#d97706;transition:background .4s}.status-indicator.online .status-dot{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.5);animation:ac-pulse 2s ease-in-out infinite}.status-indicator.checking .status-dot{background:#fbbf24;animation:ac-pulse 1s ease-in-out infinite}@keyframes ac-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.clear-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #d2a679;border-radius:20px;background:hsla(0,0%,100%,.7);color:#92400e;font-size:.8rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.icon-clear{display:block;color:#92400e}.clear-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(197,122,77,.15)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;min-height:420px;max-height:500px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#e4a27d;border-radius:3px}.welcome-card{text-align:center;padding:3rem 2rem;animation:ac-welcome-in .8s cubic-bezier(.34,1.56,.64,1)}@keyframes ac-welcome-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{margin-bottom:1rem;display:flex;justify-content:center;animation:ac-book-bounce 3s ease-in-out infinite}@keyframes ac-book-bounce{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.welcome-card h3{font-size:1.5rem;color:#c77a4d;margin-bottom:.75rem;font-family:Comic Sans MS,Chalkboard SE,cursive}.welcome-card p{color:#92400e;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.suggestion-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.chip{padding:8px 18px;border:1.5px solid #e4a27d;border-radius:20px;background:hsla(0,0%,100%,.8);color:#92400e;font-size:.85rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.chip:hover{background:#fef3c7;border-color:#c77a4d;transform:translateY(-2px);box-shadow:0 4px 12px rgba(197,122,77,.15)}.message-row{display:flex;gap:12px;margin-bottom:1.25rem;animation:ac-msg-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes ac-msg-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-row.user{flex-direction:row-reverse}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fde68a;box-shadow:0 2px 8px rgba(197,122,77,.1)}.icon-avatar{display:block}.message-row.user .avatar{background:linear-gradient(135deg,#c77a4d,#d2a679);border-color:#c77a4d}.bubble{max-width:70%;padding:12px 18px;border-radius:18px;position:relative;line-height:1.6;word-break:break-word}.message-row.assistant .bubble{background:#fff;border:1px solid #fde68a;border-top-left-radius:4px;color:#1f2937;box-shadow:0 2px 8px rgba(0,0,0,.04)}.message-row.user .bubble{background:linear-gradient(135deg,#c77a4d,#d2a679);border:none;border-top-right-radius:4px;color:#fff;box-shadow:0 4px 12px rgba(197,122,77,.25)}.bubble-text{font-size:.95rem;white-space:pre-wrap}.bubble-time{font-size:.7rem;margin-top:6px;opacity:.5;text-align:right}.typing-bubble{display:flex;align-items:center;gap:6px;padding:14px 22px;background:#fff;border:1px solid #fde68a;border-top-left-radius:4px}.typing-dot{width:8px;height:8px;background:#d2a679;border-radius:50%;animation:ac-typing 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes ac-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.chat-input-area{padding:1rem 1.5rem 1.25rem;background:linear-gradient(0deg,#fef9f0,#fffdf7);border-top:1px solid #fde68a}.input-wrapper{display:flex;align-items:flex-end;gap:10px;background:#fff;border:2px solid #fde68a;border-radius:20px;padding:8px 10px 8px 18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-wrapper:focus-within{border-color:#c77a4d;box-shadow:0 0 0 3px rgba(199,122,77,.12)}.input-wrapper textarea{flex:1;border:none;outline:none;resize:none;font-size:.95rem;font-family:inherit;color:#1f2937;background:transparent;line-height:1.5;max-height:100px;padding:4px 0}.input-wrapper textarea::-moz-placeholder{color:#d2a679}.input-wrapper textarea::placeholder{color:#d2a679}.send-btn{width:40px;height:40px;border:none;border-radius:50%;background:linear-gradient(135deg,#c77a4d,#d2a679);color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.send-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 16px rgba(197,122,77,.35)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-icon{display:block;color:#fff}.input-hint{text-align:center;font-size:.72rem;color:#d2a679;margin-top:8px}.book-highlight{color:#c77a4d;font-weight:600}.action-cards{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed #fde68a}.action-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#fffdf7,#fef3c7);border:1px solid #fde68a;transition:all .2s ease}.action-card:hover{border-color:#c77a4d;box-shadow:0 2px 12px rgba(197,122,77,.15);transform:translateY(-1px)}.action-card-info{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.action-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;margin-top:2px}.action-card-text{flex:1;min-width:0}.action-card-title{font-size:.88rem;font-weight:600;color:#1f2937;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-card-author{font-size:.76rem;color:#c77a4d;margin-top:2px}.action-card-subtitle{font-size:.76rem;color:#6b7280;margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.action-card-btn{flex-shrink:0;padding:6px 16px;border:none;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-book .action-card-btn{background:linear-gradient(135deg,#c77a4d,#d2a679);color:#fff}.action-book .action-card-btn:hover{background:linear-gradient(135deg,#b06a3d,#c77a4d);box-shadow:0 2px 8px rgba(197,122,77,.3)}.action-search .action-card-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.action-search .action-card-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}.action-navigate .action-card-btn{background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff}.action-navigate .action-card-btn:hover{background:linear-gradient(135deg,#4f46e5,#6366f1)}@media (max-width:768px){.ai-chat-page .page-title{font-size:2rem}.ai-chat-page .subtitle{font-size:1rem;padding:0 1rem}.chat-container{border-radius:18px;margin:0 .5rem}.chat-messages{min-height:320px;max-height:400px;padding:1rem}.bubble{max-width:82%}.welcome-card{padding:2rem 1rem}.suggestion-chips{flex-direction:column;align-items:center}}@media (max-width:480px){.ai-chat-page .page-title{font-size:1.6rem}.chat-header{padding:.75rem 1rem}.avatar{width:34px;height:34px;font-size:1.1rem}.bubble{max-width:85%;padding:10px 14px}}.admin-layout[data-v-08ab8454]{display:flex;min-height:100vh;background:#f0f2f5}.admin-sidebar[data-v-08ab8454]{width:240px;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200}.sidebar-header[data-v-08ab8454]{padding:1.8rem 1.5rem 1.2rem;text-align:center;border-bottom:1px solid hsla(0,0%,100%,.08)}.sidebar-logo[data-v-08ab8454]{font-size:2.2rem;display:block;margin-bottom:.3rem}.sidebar-header h2[data-v-08ab8454]{font-size:1.3rem;font-weight:700;margin:0;letter-spacing:1px}.sidebar-tag[data-v-08ab8454]{display:inline-block;background:rgba(245,158,11,.25);color:#fbbf24;font-size:.72rem;padding:.15rem .6rem;border-radius:10px;margin-top:.4rem;letter-spacing:1px}.sidebar-nav[data-v-08ab8454]{flex:1;padding:1.2rem .8rem;display:flex;flex-direction:column;gap:.3rem}.nav-item[data-v-08ab8454]{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;border-radius:10px;color:hsla(0,0%,100%,.65);text-decoration:none;font-size:.95rem;font-weight:500;transition:all .25s}.nav-item.active[data-v-08ab8454],.nav-item[data-v-08ab8454]:hover{background:rgba(245,158,11,.18);color:#fbbf24}.nav-item.active[data-v-08ab8454]{box-shadow:inset 3px 0 0 #f59e0b}.nav-icon[data-v-08ab8454]{font-size:1.2rem}.sidebar-footer[data-v-08ab8454]{padding:1.2rem 1.5rem;border-top:1px solid hsla(0,0%,100%,.08)}.logout-btn[data-v-08ab8454]{width:100%;background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3);padding:.6rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s}.logout-btn[data-v-08ab8454]:hover{background:rgba(239,68,68,.3);color:#fee2e2}.admin-main[data-v-08ab8454]{flex:1;margin-left:240px;padding:2rem;min-height:100vh}.admin-dashboard[data-v-0ba9e6b8]{animation:fadeInUp-0ba9e6b8 .5s}@keyframes fadeInUp-0ba9e6b8{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-title[data-v-0ba9e6b8]{font-size:1.6rem;color:#1a1a2e;margin-bottom:1.5rem;font-weight:700}.stats-row[data-v-0ba9e6b8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-0ba9e6b8]{background:#fff;border-radius:14px;padding:1.3rem 1.2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:transform .25s,box-shadow .25s}.stat-card[data-v-0ba9e6b8]:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.stat-icon[data-v-0ba9e6b8]{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.stat-users .stat-icon[data-v-0ba9e6b8]{background:#eff6ff;color:#3b82f6}.stat-books .stat-icon[data-v-0ba9e6b8]{background:#fef3c7;color:#f59e0b}.stat-collections .stat-icon[data-v-0ba9e6b8]{background:#d1fae5;color:#10b981}.stat-spins .stat-icon[data-v-0ba9e6b8]{background:#fef3c7;color:#f59e0b}.stat-likes .stat-icon[data-v-0ba9e6b8]{background:#fce7f3;color:#ec4899}.stat-ratio .stat-icon[data-v-0ba9e6b8]{background:#ede9fe;color:#8b5cf6}.stat-info[data-v-0ba9e6b8]{display:flex;flex-direction:column}.stat-value[data-v-0ba9e6b8]{font-size:1.5rem;font-weight:800;color:#1a1a2e;line-height:1.2}.stat-label[data-v-0ba9e6b8]{font-size:.78rem;color:#6b7280;margin-top:.15rem}.charts-grid[data-v-0ba9e6b8]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.chart-card[data-v-0ba9e6b8]{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 16px rgba(0,0,0,.06);transition:box-shadow .3s}.chart-card[data-v-0ba9e6b8]:hover{box-shadow:0 6px 28px rgba(0,0,0,.1)}.chart-card.chart-wide[data-v-0ba9e6b8]{grid-column:span 1}.chart-header[data-v-0ba9e6b8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid #f3f4f6}.chart-header h3[data-v-0ba9e6b8]{font-size:1rem;color:#1a1a2e;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.chart-title-icon[data-v-0ba9e6b8]{font-size:1.1rem}.chart-badge[data-v-0ba9e6b8]{font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:20px;letter-spacing:1px}.badge-hot[data-v-0ba9e6b8]{background:#fef2f2;color:#ef4444;border:1px solid #fecaca}.badge-cold[data-v-0ba9e6b8]{background:#ecfeff;color:#06b6d4;border:1px solid #a5f3fc}.chart-body-wide[data-v-0ba9e6b8],.chart-body[data-v-0ba9e6b8]{display:flex;flex-direction:column;gap:1rem}.chart-container[data-v-0ba9e6b8]{position:relative;height:240px}.chart-container-wide[data-v-0ba9e6b8]{height:220px}.chart-summary[data-v-0ba9e6b8]{background:#f9fafb;border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.45rem}.summary-item[data-v-0ba9e6b8]{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#4b5563}.summary-dot[data-v-0ba9e6b8]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.summary-text strong[data-v-0ba9e6b8]{color:#1a1a2e;font-weight:700}.summary-divider[data-v-0ba9e6b8]{height:1px;background:#e5e7eb;margin:.2rem 0}.summary-insight[data-v-0ba9e6b8]{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;color:#6b7280;line-height:1.5}.summary-insight i[data-v-0ba9e6b8]{color:#f59e0b;margin-top:2px;flex-shrink:0}.summary-insight strong[data-v-0ba9e6b8]{color:#374151}@media (max-width:900px){.charts-grid[data-v-0ba9e6b8]{grid-template-columns:1fr}}.admin-books[data-v-741bda22]{animation:fadeInUp-741bda22 .5s}@keyframes fadeInUp-741bda22{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header[data-v-741bda22]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header h1[data-v-741bda22]{font-size:1.5rem;color:#1a1a2e;margin:0}.total-badge[data-v-741bda22]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.8rem;padding:.25rem .8rem;border-radius:20px;font-weight:600}.search-bar[data-v-741bda22]{margin-bottom:1.2rem}.search-input[data-v-741bda22]{width:100%;max-width:400px;padding:.7rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;outline:none;transition:border-color .3s}.search-input[data-v-741bda22]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.books-table-wrapper[data-v-741bda22]{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden}.books-table[data-v-741bda22]{width:100%;border-collapse:collapse}.books-table thead[data-v-741bda22]{background:linear-gradient(135deg,#fef3c7,#fde68a)}.books-table th[data-v-741bda22]{padding:.9rem 1.2rem;text-align:left;font-size:.85rem;color:#92400e;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.books-table td[data-v-741bda22]{padding:.8rem 1.2rem;border-bottom:1px solid #f3f4f6;font-size:.9rem;color:#374151}.books-table tbody tr[data-v-741bda22]:hover{background:#fffbeb}.id-cell[data-v-741bda22]{width:60px;color:#9ca3af;font-weight:600}.title-cell[data-v-741bda22]{font-weight:600;color:#1f2937}.rec-cell[data-v-741bda22]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280}.empty-row[data-v-741bda22]{text-align:center;color:#9ca3af;padding:2rem!important}.btn-delete[data-v-741bda22]{background:#fef2f2;color:#ef4444;border:1px solid #fecaca;padding:.35rem .9rem;border-radius:6px;font-size:.82rem;cursor:pointer;transition:all .2s}.btn-delete[data-v-741bda22]:hover{background:#ef4444;color:#fff}.modal-overlay[data-v-741bda22]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-box[data-v-741bda22]{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:90%;text-align:center;animation:slideUp .3s}.modal-box h3[data-v-741bda22]{margin-bottom:.8rem;color:#1f2937}.modal-box p[data-v-741bda22]{color:#6b7280;margin-bottom:1.5rem;font-size:.95rem}.modal-actions[data-v-741bda22]{display:flex;gap:.8rem;justify-content:center}.btn-confirm[data-v-741bda22]{background:#ef4444;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-confirm[data-v-741bda22]:hover{background:#dc2626}.btn-cancel[data-v-741bda22]{background:#f3f4f6;color:#374151;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-cancel[data-v-741bda22]:hover{background:#e5e7eb}.admin-users[data-v-bd34707e]{animation:fadeInUp-bd34707e .5s}@keyframes fadeInUp-bd34707e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header[data-v-bd34707e]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header h1[data-v-bd34707e]{font-size:1.5rem;color:#1a1a2e;margin:0}.total-badge[data-v-bd34707e]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.8rem;padding:.25rem .8rem;border-radius:20px;font-weight:600}.search-bar[data-v-bd34707e]{margin-bottom:1.2rem}.search-input[data-v-bd34707e]{width:100%;max-width:400px;padding:.7rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;outline:none;transition:border-color .3s}.search-input[data-v-bd34707e]:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.users-table-wrapper[data-v-bd34707e]{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden}.users-table[data-v-bd34707e]{width:100%;border-collapse:collapse}.users-table thead[data-v-bd34707e]{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.users-table th[data-v-bd34707e]{padding:.9rem 1.2rem;text-align:left;font-size:.85rem;color:#065f46;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.users-table td[data-v-bd34707e]{padding:.8rem 1.2rem;border-bottom:1px solid #f3f4f6;font-size:.9rem;color:#374151}.users-table tbody tr[data-v-bd34707e]:hover{background:#f0fdf4}.id-cell[data-v-bd34707e]{width:60px;color:#9ca3af;font-weight:600}.name-cell[data-v-bd34707e]{font-weight:600;color:#1f2937}.date-cell[data-v-bd34707e]{color:#6b7280;font-size:.85rem}.collection-badge[data-v-bd34707e]{display:inline-block;background:#eff6ff;color:#3b82f6;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:700}.role-badge[data-v-bd34707e]{display:inline-block;background:#f3f4f6;color:#6b7280;padding:.2rem .6rem;border-radius:12px;font-size:.78rem;font-weight:600}.role-admin[data-v-bd34707e]{background:#fef3c7;color:#d97706}.empty-row[data-v-bd34707e]{text-align:center;color:#9ca3af;padding:2rem!important}.btn-delete[data-v-bd34707e]{background:#fef2f2;color:#ef4444;border:1px solid #fecaca;padding:.35rem .9rem;border-radius:6px;font-size:.82rem;cursor:pointer;transition:all .2s}.btn-delete[data-v-bd34707e]:hover{background:#ef4444;color:#fff}.modal-overlay[data-v-bd34707e]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-box[data-v-bd34707e]{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:90%;text-align:center;animation:fadeInUp-bd34707e .3s}.modal-box h3[data-v-bd34707e]{margin-bottom:.8rem;color:#1f2937}.modal-box p[data-v-bd34707e]{color:#6b7280;margin-bottom:1.5rem;font-size:.95rem}.modal-actions[data-v-bd34707e]{display:flex;gap:.8rem;justify-content:center}.btn-confirm[data-v-bd34707e]{background:#ef4444;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600}.btn-confirm[data-v-bd34707e]:hover{background:#dc2626}.btn-cancel[data-v-bd34707e]{background:#f3f4f6;color:#374151;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600}.btn-cancel[data-v-bd34707e]:hover{background:#e5e7eb}