@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Great+Vibes&family=Uncial+Antiqua&display=swap";
.enchanted-theme{--background:35 30% 95%;--foreground:270 25% 18%;--card:35 25% 92%;--card-foreground:270 25% 18%;--popover:35 30% 95%;--popover-foreground:270 25% 18%;--primary:280 38% 42%;--primary-foreground:35 40% 97%;--secondary:35 35% 87%;--secondary-foreground:270 25% 22%;--muted:35 20% 89%;--muted-foreground:270 12% 46%;--accent:42 72% 58%;--accent-foreground:270 30% 14%;--destructive:0 84.2% 60.2%;--destructive-foreground:35 40% 98%;--border:35 22% 83%;--input:35 22% 83%;--ring:300 40% 50%;--radius:.75rem;--rose-gold:300 32% 62%;--rose-gold-light:300 40% 78%;--parchment:38 38% 91%;--parchment-dark:36 28% 80%;--sparkle:46 88% 70%;--glow:300 65% 65%;--gold:42 72% 58%;--gold-light:44 82% 74%;--parchment-deep:34 24% 72%;--violet:270 42% 52%;--violet-light:270 52% 74%;--font-display:"Cinzel", serif;--font-script:"Great Vibes", cursive;--font-medieval:"Uncial Antiqua", cursive;--gradient-romantic:linear-gradient(135deg, #d8c4f0, #a88bd8);--gradient-parchment:linear-gradient(180deg, #f4efe6, #e3dace);--gradient-parchment-warm:linear-gradient(160deg, #f5f1ea, #e5ddd2, #dbd2c7);--gradient-glow:radial-gradient(circle, #da81da59, transparent 70%);--gradient-spine:linear-gradient(180deg, #b34db3, #8a4ca9, #e1b347);--shadow-romantic:0 8px 32px -8px #8f3d8f47;--shadow-book:0 20px 60px -15px #2e203c61;background:hsl(var(--background));min-height:100vh;color:hsl(var(--foreground));font-family:var(--font-display)}.enchanted-theme *,.enchanted-theme :before,.enchanted-theme :after{box-sizing:border-box}.enchanted-theme .bg-background{background-color:hsl(var(--background))}.enchanted-theme .text-foreground{color:hsl(var(--foreground))}.enchanted-theme .bg-card{background-color:hsl(var(--card))}.enchanted-theme .text-card-foreground{color:hsl(var(--card-foreground))}.enchanted-theme .bg-popover{background-color:hsl(var(--popover))}.enchanted-theme .text-popover-foreground{color:hsl(var(--popover-foreground))}.enchanted-theme .bg-primary{background-color:hsl(var(--primary))}.enchanted-theme .text-primary{color:hsl(var(--primary))}.enchanted-theme .text-primary-foreground{color:hsl(var(--primary-foreground))}.enchanted-theme .bg-secondary{background-color:hsl(var(--secondary))}.enchanted-theme .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.enchanted-theme .bg-muted{background-color:hsl(var(--muted))}.enchanted-theme .text-muted-foreground{color:hsl(var(--muted-foreground))}.enchanted-theme .bg-accent{background-color:hsl(var(--accent))}.enchanted-theme .text-accent-foreground{color:hsl(var(--accent-foreground))}.enchanted-theme .border-border{border-color:hsl(var(--border))}.enchanted-theme .ring-ring{--tw-ring-color:hsl(var(--ring))}.enchanted-theme .font-script{font-family:var(--font-script)}.enchanted-theme .font-display{font-family:var(--font-display)}.enchanted-theme .font-medieval{font-family:var(--font-medieval)}.enchanted-theme .font-script{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-script)!important;font-weight:400!important}.enchanted-theme .bg-parchment{background:var(--gradient-parchment)}.enchanted-theme .bg-romantic-gradient{background:var(--gradient-romantic)}.enchanted-theme .shadow-romantic{box-shadow:var(--shadow-romantic)}.enchanted-theme .shadow-book{box-shadow:var(--shadow-book)}.enchanted-theme .text-rose-gold{color:hsl(var(--rose-gold))}.enchanted-theme .bg-rose-gold{background-color:hsl(var(--rose-gold))}.enchanted-theme .text-gold{color:hsl(var(--gold))}.enchanted-theme .bg-gold{background-color:hsl(var(--gold))}.enchanted-theme .glow-effect{box-shadow:0 0 40px 10px hsl(var(--glow) / .45), 0 0 80px 20px hsl(var(--sparkle) / .28)}.enchanted-theme .sparkle-particle{background:hsl(var(--sparkle));pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute}.enchanted-theme .book-page{background:var(--gradient-parchment-warm);border:1px solid hsl(var(--parchment-dark));position:relative}.enchanted-theme .book-page:before{content:"";background:linear-gradient(90deg,#c2a3c226,#0000);width:30px;position:absolute;top:0;bottom:0}.enchanted-theme .book-page-left:before{right:0}.enchanted-theme .book-page-right:before{left:0}.enchanted-theme .book-page:after{content:"";pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px 128px;position:absolute;inset:0}.enchanted-theme .book-spine{box-shadow:inset 1px 0 #ffffffb3,inset -1px 0 #785a3c1f;background:linear-gradient(#f1e8dd 0%,#d8cbb9 45%,#f6efe6 100%)!important}.enchanted-theme .perspective-1000{perspective:1000px}.enchanted-theme .preserve-3d{transform-style:preserve-3d}.enchanted-theme .backface-hidden{backface-visibility:hidden}.enchanted-theme .enchanted-frame-corner{pointer-events:none;opacity:.55;width:48px;height:48px;position:absolute}.enchanted-theme .enchanted-frame-corner svg{width:100%;height:100%}.enchanted-theme .enchanted-frame-corner--tl{top:10px;left:10px}.enchanted-theme .enchanted-frame-corner--tr{top:10px;right:10px;transform:scaleX(-1)}.enchanted-theme .enchanted-frame-corner--bl{bottom:10px;left:10px;transform:scaleY(-1)}.enchanted-theme .enchanted-frame-corner--br{bottom:10px;right:10px;transform:scale(-1)}.enchanted-theme .bookmark-ribbon{background:var(--gradient-romantic);color:hsl(var(--primary-foreground));font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);min-width:160px;box-shadow:var(--shadow-romantic);border:none;justify-content:center;align-items:center;padding:.75rem 2.5rem 1.25rem;font-size:.8125rem;transition:transform .18s,box-shadow .18s;display:inline-flex;position:relative}.enchanted-theme .bookmark-ribbon:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 12px 48px -10px #7d367d66}.enchanted-theme .bookmark-ribbon:active{transform:scale(.97)}.enchanted-theme .shimmer-btn{position:relative;overflow:hidden}.enchanted-theme .shimmer-btn:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff4d652 50%,#0000 65%) -100% 0/220% 100%;animation:3.4s ease-in-out infinite shimmerSweep;position:absolute;inset:0}@keyframes shimmerSweep{0%{background-position:-100% 0}60%{background-position:200% 0}to{background-position:200% 0}}.enchanted-theme .end-flourish-line{opacity:.55;justify-content:center;align-items:center;gap:.75rem;display:flex}.enchanted-theme .end-flourish-line:before,.enchanted-theme .end-flourish-line:after{content:"";background:linear-gradient(90deg, transparent, hsl(var(--gold)), transparent);flex:1;max-width:80px;height:1px}.enchanted-theme .parchment-texture{position:relative}.enchanted-theme .parchment-texture:after{content:"";pointer-events:none;border-radius:inherit;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.enchanted-theme .bg-parchment{background-blend-mode:multiply, normal;background-color:#e8e4ed;background-image:url(/assets/textures/beige-paper.png),linear-gradient(#f4f0f4,#e7e2e9);background-size:auto,100% 100%}.enchanted-theme .mobile-top-chapter{width:fit-content;color:hsl(var(--foreground));font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 2px #ffffff59;background:#ffffff42;border:1px solid #785a961f;border-radius:999px;margin:4px auto 16px;padding:8px 12px;font-size:12px;font-weight:700}.enchanted-theme .mobile-nav-pill{border:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff52;border-radius:999px;box-shadow:0 4px 10px #503c641f}
