
:root { color-scheme: dark; font-family: "DM Sans", system-ui, sans-serif; color: #f9f8ff; background: #07091a; --muted: #aaa9bf; --line: rgba(255,255,255,.11); --pink: #f04dac; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; min-height: 100vh; margin: 0; overflow-x: hidden; background: radial-gradient(circle at 72% 13%, rgba(70,57,156,.15), transparent 28rem), linear-gradient(#07091a,#090b21 48%,#07091a); }
#app:focus { outline: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
.site-header { position: sticky; z-index: 20; top: 0; display: flex; height: 78px; align-items: center; justify-content: space-between; padding: 0 clamp(22px,5vw,76px); border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(7,9,26,.84); backdrop-filter: blur(20px); }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 1.14rem; font-weight: 700; letter-spacing: .08em; }
.brand-mark { display: block; width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 0 8px rgba(139,92,246,.42)); }
.site-navigation { display: flex; align-items: center; gap: clamp(22px,4vw,48px); font-size: .9rem; }
.site-navigation a { color: #d9d7e6; }
.site-navigation a:last-child { padding: 10px 17px; border: 1px solid rgba(177,139,255,.4); border-radius: 999px; }
.menu-button { display: none; border: 0; background: transparent; color: white; }
.page-section { width: min(calc(100% - 44px),1320px); margin-inline: auto; }
.hero { display: grid; min-height: calc(100vh - 78px); grid-template-columns: .9fr 1.1fr; align-items: center; gap: 6vw; padding-block: clamp(64px,9vw,118px); }
.hero-copy { position: relative; z-index: 2; max-width: 660px; }
.eyebrow { margin: 0 0 13px; color: #c6b5ff; font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
h1,h2,h3,p { margin-top: 0; }
.hero h1,.discover h1,.preview h1,.selection h1,.empty-state h1 { margin-bottom: 24px; font-family: "Playfair Display",Georgia,serif; font-size: clamp(3rem,6.2vw,6rem); font-weight: 600; line-height: 1.03; letter-spacing: -.035em; }
.hero h1 em { color: var(--pink); font-weight: inherit; }
.hero h1 span { color: #6b82ff; }
.hero-intro { max-width: 520px; margin-bottom: 31px; color: #d2d0de; font-size: clamp(1rem,1.4vw,1.18rem); line-height: 1.75; }
.first-book-entry { min-block-size: 7.5rem; margin: 0 0 26px; color: #f9f8ff; }
.entry-price-label { display: block; margin-bottom: 8px; font-size: clamp(.875rem, 1.2vw, 1rem); line-height: 1.5; text-wrap: balance; }
.entry-price-amount { display: block; font-family: "Playfair Display", Georgia, serif; font-size: clamp(3.5rem, 5vw, 5rem); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; }
.entry-price-currency { margin-inline-end: .08em; font-size: .52em; letter-spacing: -.02em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font-weight: 700; }
.button-primary { background: linear-gradient(105deg,#ef4ead,#7c54ff 58%,#2e7cff); color: white; box-shadow: 0 12px 36px rgba(139,92,246,.26); }
.button-secondary { border-color: var(--line); background: rgba(255,255,255,.035); color: #efedf7; }
.no-signup-note { margin-top: 25px; color: #8e8da3; font-size: .84rem; }
.hero-visual { position: relative; display: grid; min-height: 620px; place-items: center; perspective: 1300px; }
.hero-visual::before { position: absolute; inset: 10% -20% -4% 7%; border-radius: 50%; background: radial-gradient(circle,rgba(236,72,153,.19),rgba(76,29,149,.11) 35%,transparent 70%); content: ""; filter: blur(12px); }
.hero-visual::after { position: absolute; z-index: -1; right: -12vw; bottom: 5%; width: 120%; height: 28%; border-radius: 50%; background: linear-gradient(90deg,transparent,rgba(238,129,53,.18),rgba(111,65,173,.16),transparent); content: ""; filter: blur(35px); }
.hero-book-showcase { position: absolute; inset: 0; }
.hero-book-stage { position: relative; width: 100%; height: 100%; min-height: 0; perspective: 1300px; }
.hero-book-slide { position: absolute; inset: 0; display: grid; place-items: center; cursor: pointer; opacity: .72; transform-origin: 50% 62%; transition: opacity .42s ease,filter .42s ease,transform .58s cubic-bezier(.2,.75,.25,1); }
.hero-book-slide.is-active { z-index: 3; opacity: 1; filter: none; transform: translateX(0) translateY(1%) scale(.98); }
.hero-book-slide.is-left { z-index: 1; filter: brightness(.68) saturate(.82); transform: translateX(-27%) translateY(-2%) scale(.78) rotateZ(-6deg); }
.hero-book-slide.is-right { z-index: 2; filter: brightness(.76) saturate(.9); transform: translateX(27%) translateY(-1%) scale(.8) rotateZ(6deg); }
.hero-book-slide.is-far { z-index: 0; opacity: 0; pointer-events: none; transform: translateY(2%) scale(.62); }
.hero-book-slide.is-left:hover,.hero-book-slide.is-right:hover { opacity: .9; filter: brightness(.86) saturate(.95); }
.hero-book-slide:focus-visible { outline: 2px solid #c6b5ff; outline-offset: -8px; }
.book { position: relative; filter: drop-shadow(12px 17px 18px rgba(0,0,0,.42)); transform-style: preserve-3d; }
.book::before { position: absolute; z-index: 0; inset: 1.2% -4.4% -1.4% 2.5%; width: auto; height: auto; border: 1px solid rgba(93,132,185,.46); border-radius: 3px 7px 7px 3px; background: linear-gradient(90deg,#07142e 0%,#12305a 84%,#06152f 100%); box-shadow: inset 0 2px 1px rgba(160,205,238,.24),inset 0 -2px 2px rgba(0,4,16,.5),6px 7px 12px rgba(0,0,0,.34); content: ""; transform: translateZ(-7px); }
.book::after { position: absolute; z-index: 1; inset: 2% -2.8% 1.9% 3%; width: auto; height: auto; border-radius: 1px 4px 4px 1px; background: repeating-linear-gradient(0deg,rgba(96,78,50,.1) 0 1px,transparent 1px 6px),linear-gradient(90deg,#b8aa8f 0%,#eee6d4 30%,#ded3bd 73%,#aa997b 100%); box-shadow: inset -2px 0 3px rgba(58,42,22,.22),inset 0 1px 1px rgba(255,255,255,.45); content: ""; transform: translateZ(-3px); }
.book-cover { position: relative; z-index: 2; display: flex; height: 100%; flex-direction: column; align-items: center; padding: 18% 11%; overflow: hidden; border: 2px solid rgba(90,126,172,.55); border-left-color: rgba(55,78,116,.62); border-radius: 3px 6px 6px 3px; color: #272232; text-align: center; box-shadow: inset 9px 0 13px rgba(40,31,26,.2),inset 0 2px 1px rgba(255,255,255,.25),inset 0 -2px 2px rgba(0,0,0,.2),inset -2px 0 2px rgba(255,255,255,.2); }
.book-cover::before { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 70% 70%,rgba(255,219,135,.75),transparent 23%),linear-gradient(160deg,transparent 38%,rgba(57,79,70,.4) 39%,transparent 72%); content: ""; }
.book-cover-image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.book-pages { display: none; }
.book-symbol { margin-top: auto; font-size: clamp(2.2rem,5vw,5rem); opacity: .72; }
.book-title { font-family: "Playfair Display",Georgia,serif; font-size: clamp(1.18rem,2vw,2rem); line-height: 1.08; }
.book-subtitle { margin-top: 8px; margin-bottom: auto; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.book-card { width: 100%; aspect-ratio: 1; transition: transform .22s ease; }
.book-hero { width: min(84%,520px); aspect-ratio: 1; filter: drop-shadow(8px 12px 9px rgba(0,0,0,.32)) drop-shadow(28px 34px 32px rgba(0,0,0,.48)); transform: rotateY(-15deg) rotateX(2deg) rotateZ(1.5deg); }
.book-hero::before { position: absolute; z-index: 0; inset: 1.1% -4.6% -1.4% 2.5%; width: auto; height: auto; border: 1px solid rgba(93,132,185,.5); border-radius: 3px 7px 7px 3px; background: linear-gradient(90deg,#07142e 0%,#12305a 84%,#06152f 100%); box-shadow: inset 0 2px 1px rgba(160,205,238,.28),inset 0 -2px 2px rgba(0,4,16,.5),8px 9px 15px rgba(0,0,0,.38); transform: translateZ(-7px); }
.book-hero::after { position: absolute; z-index: 1; inset: 1.8% -2.9% 1.7% 2.9%; width: auto; height: auto; border-radius: 1px 4px 4px 1px; background: repeating-linear-gradient(0deg,rgba(96,78,50,.11) 0 1px,transparent 1px 6px),linear-gradient(90deg,#b8aa8f 0%,#eee6d4 30%,#ded3bd 73%,#aa997b 100%); box-shadow: inset -2px 0 3px rgba(58,42,22,.24),inset 0 1px 1px rgba(255,255,255,.5); content: ""; transform: translateZ(-3px); }
.book-preview { width: min(92%,560px); aspect-ratio: 1; transform: rotateY(12deg) rotateZ(-1deg); }
.has-cover-image .book-cover { justify-content: flex-start; padding: 7.5% 8%; color: #fff; text-shadow: 0 3px 12px rgba(0,0,0,.82); }
.has-cover-image .book-cover::before { display: none; }
.has-cover-image .book-cover-image { transform: scale(1.006); }
.has-cover-image .book-title { width: 88%; font-size: clamp(.9rem,2.5vw,2.35rem); line-height: .98; text-wrap: balance; }
.has-cover-image .book-subtitle { margin: 8px 0 0; color: rgba(255,255,255,.82); font-size: clamp(.36rem,.6vw,.56rem); font-weight: 700; letter-spacing: .18em; }
.book-card.has-cover-image .book-title { font-size: clamp(.82rem,1.7vw,1.38rem); }
.book-card.has-cover-image .book-subtitle { margin-top: 5px; font-size: clamp(.3rem,.48vw,.46rem); }
.book-card .book-cover-brand { right: 6%; bottom: 5%; gap: 4px; font-size: clamp(.28rem,.42vw,.4rem); }
.book-card .book-cover-brand-mark { width: clamp(13px,1.8vw,20px); height: clamp(13px,1.8vw,20px); }
.cover-hero-sample .book-cover { justify-content: flex-start; padding: 7.5% 8%; border: 2px solid rgba(95,142,197,.65); border-left-color: rgba(60,91,139,.72); border-radius: 3px 6px 6px 3px; color: #fff; background: #071b43; box-shadow: inset 10px 0 16px rgba(0,5,20,.5),inset 0 2px 1px rgba(185,222,246,.3),inset 0 -3px 2px rgba(0,5,22,.48),inset -2px 0 2px rgba(143,194,229,.2),4px 6px 8px rgba(0,0,0,.3); text-shadow: 0 3px 12px rgba(0,0,0,.82); }
.cover-fire-sample::before { border-color: rgba(173,67,65,.5); background: linear-gradient(90deg,#3a090d 0%,#842022 84%,#2b070a 100%); }
.cover-fire-sample .book-cover { border-color: rgba(224,91,81,.65); border-left-color: rgba(121,35,37,.76); }
.cover-dinosaur-sample::before { border-color: rgba(76,128,82,.52); background: linear-gradient(90deg,#082817 0%,#235d35 84%,#061d10 100%); }
.cover-dinosaur-sample .book-cover { border-color: rgba(105,158,93,.68); border-left-color: rgba(49,93,54,.78); }
.cover-kampung-sample::before { border-color: rgba(36,137,112,.58); background: linear-gradient(90deg,#07382f 0%,#157c69 84%,#052820 100%); }
.cover-kampung-sample .book-cover { border-color: rgba(70,190,155,.68); border-left-color: rgba(27,105,87,.82); }
.book-hero.cover-kampung-sample .book-title { width: 92%; font-size: clamp(1.35rem,2.7vw,2.55rem); }
.cover-hero-sample .book-cover::before { display: none; }
.book .book-cover::after { position: absolute; z-index: 3; top: 0; bottom: 0; left: 2.2%; width: 2.4%; border-left: 1px solid rgba(255,255,255,.13); background: linear-gradient(90deg,rgba(0,3,15,.34),rgba(255,255,255,.07),rgba(0,6,24,.18)); box-shadow: 3px 0 7px rgba(0,0,0,.18); content: ""; pointer-events: none; }
.cover-hero-sample .book-cover-image { transform: scale(1.006); }
.cover-hero-sample .book-title { width: 88%; font-size: clamp(1.65rem,3.25vw,3.15rem); line-height: .98; text-wrap: balance; }
.cover-hero-sample .book-subtitle { margin: 10px 0 0; color: rgba(255,255,255,.8); font-size: clamp(.45rem,.7vw,.62rem); font-weight: 700; letter-spacing: .18em; }
.book-cover-brand { position: absolute; right: 6.5%; bottom: 5.5%; display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.92); font-size: clamp(.38rem,.63vw,.58rem); font-weight: 700; letter-spacing: .14em; text-shadow: 0 2px 7px rgba(0,0,0,.75); }
.book-cover-brand-mark { width: clamp(16px,3vw,29px); height: clamp(16px,3vw,29px); object-fit: contain; filter: drop-shadow(0 2px 5px rgba(0,0,0,.5)); }
.cover-forest .book-cover { background: linear-gradient(155deg,#f1dfb4,#c8bc75 55%,#657f45); }
.cover-dinosaur .book-cover { background: linear-gradient(155deg,#f0d2a6,#d69b64 50%,#5e6f3e); }
.cover-ocean .book-cover { background: linear-gradient(155deg,#d9e8df,#79abb0 54%,#154d69); }
.cover-magic .book-cover { background: linear-gradient(155deg,#e4d3a4,#a3ae6d 55%,#364f32); }
.value-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border-block: 1px solid var(--line); background: var(--line); }
.value-item { display: grid; grid-template-columns: auto 1fr; padding: 30px clamp(20px,4vw,70px); background: #090b20; }
.value-item h2 { margin-bottom: 4px; font-size: 1rem; }
.value-item p { grid-column: 2; margin-bottom: 0; color: var(--muted); font-size: .84rem; }
.value-icon { grid-row: span 2; margin-right: 14px; color: #f58dbe; font-size: 1.7rem; }
.story-meaning { position: relative; display: grid; min-height: 480px; place-items: center; overflow: visible; padding:clamp(72px,7vw,104px) clamp(24px,8vw,120px); isolation: isolate; }
.story-meaning::before { position:absolute; z-index:-2; top:-18%; bottom:-18%; left:50%; width:100vw; background:conic-gradient(from 205deg at 3% 64%,transparent 0 35%,rgba(29,118,221,.38) 39%,rgba(78,108,235,.18) 43%,rgba(151,57,203,.32) 47%,transparent 53%),conic-gradient(from 25deg at 97% 60%,transparent 0 34%,rgba(225,53,172,.3) 39%,rgba(127,70,224,.28) 44%,rgba(43,116,226,.3) 49%,transparent 55%); content:""; filter:blur(42px); opacity:.72; transform:translateX(-50%) rotate(-2deg); -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 78%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 78%,transparent 100%); pointer-events:none; }
.story-meaning::after { position:absolute; z-index:-1; top:-8%; bottom:-10%; left:50%; width:100vw; background:radial-gradient(ellipse at 10% 55%,rgba(30,121,215,.2),transparent 29%),radial-gradient(ellipse at 90% 52%,rgba(184,49,176,.18),transparent 31%),radial-gradient(ellipse at 50% 58%,rgba(70,76,170,.1),transparent 42%); content:""; filter:blur(32px); transform:translateX(-50%); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 76%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 76%,transparent); pointer-events:none; }
.story-meaning-content { position: relative; z-index: 2; width: min(100%,820px); text-align: center; }
.story-meaning .eyebrow { margin-bottom: 20px; }
.story-meaning h2 { margin-bottom: 24px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.35rem,4.5vw,4.6rem); font-weight:600; line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.story-meaning-intro { width:min(100%,610px); margin:0 auto; color:#c1bfd0; font-size:clamp(.92rem,1.35vw,1.08rem); line-height:1.72; text-wrap:balance; }
.likeness-proof { position:relative; display:grid; min-height:500px; padding:clamp(54px,6vw,86px) 0; grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr); align-items:center; gap:clamp(36px,6vw,88px); isolation:isolate; }
.likeness-proof::before { position:absolute; z-index:-1; inset:6% -18% 4%; background:radial-gradient(ellipse at 78% 48%,rgba(112,65,201,.15),transparent 43%),radial-gradient(ellipse at 16% 55%,rgba(30,101,190,.1),transparent 34%); content:""; filter:blur(28px); pointer-events:none; }
.likeness-proof-copy { position:relative; z-index:2; max-width:430px; }
.likeness-proof-copy .eyebrow { margin-bottom:19px; }
.likeness-proof-copy h2 { margin:0 0 24px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.8rem,5.3vw,5.25rem); font-weight:600; line-height:1.01; letter-spacing:-.04em; }
.likeness-proof-copy>p:last-of-type { max-width:390px; margin-bottom:27px; color:#bbb9ca; font-size:clamp(.92rem,1.25vw,1.04rem); line-height:1.72; }
.likeness-proof-link { display:inline-block; color:#c5a6ff; font-size:.84rem; font-weight:700; transition:color .18s ease,transform .18s ease; }
.likeness-proof-link:hover { color:#fff; transform:translateX(3px); }
.likeness-proof-visual { position:relative; min-width:0; aspect-ratio:16/9; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:26px; background:#0a0c22; box-shadow:0 30px 80px rgba(0,0,0,.34),0 0 52px rgba(98,68,205,.1); }
.likeness-proof-visual::after { position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,rgba(7,9,26,.18),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 22%,rgba(6,7,20,.08)); content:""; pointer-events:none; }
.likeness-proof-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.section-transition { position:relative; width:min(65vw,860px); height:38px; margin:0 auto; overflow:hidden; pointer-events:none; }
.section-transition::before { position:absolute; right:3%; bottom:0; left:3%; height:30px; border-top:1px solid transparent; border-radius:50% 50% 0 0/100% 100% 0 0; background:linear-gradient(#07091a,#07091a) padding-box,linear-gradient(90deg,transparent 1%,rgba(50,132,255,.4) 24%,rgba(137,93,255,.68) 51%,rgba(235,77,177,.38) 77%,transparent 99%) border-box; content:""; filter:drop-shadow(0 -3px 8px rgba(111,91,255,.34)); opacity:.9; }
.section-transition::after { position:absolute; right:14%; bottom:-15px; left:14%; height:27px; border-radius:50%; background:linear-gradient(90deg,rgba(35,120,244,.13),rgba(132,79,239,.24),rgba(222,62,170,.12)); content:""; filter:blur(16px); }
.character-styles { position:relative; padding:clamp(52px,5vw,72px) 0 24px; isolation:isolate; }
.character-styles::before { position:absolute; z-index:-1; top:2%; right:-20vw; bottom:0; left:-20vw; background:radial-gradient(ellipse at 3% 60%,rgba(54,73,194,.16),transparent 31%),radial-gradient(ellipse at 98% 68%,rgba(54,104,221,.2),transparent 28%); content:""; filter:blur(32px); pointer-events:none; }
.character-styles-heading { width:min(100%,820px); margin:0 auto clamp(48px,6vw,76px); text-align:center; }
.character-styles-heading .eyebrow { margin-bottom:18px; }
.character-styles-heading h2 { margin-bottom:20px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.35rem,4.4vw,4.25rem); font-weight:600; line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.character-styles-heading>p:last-child { width:min(100%,650px); margin:0 auto; color:#bbb9ca; font-size:clamp(.9rem,1.25vw,1.03rem); line-height:1.7; }
.character-styles-showcase { display:grid; width:min(100%,1080px); margin:0 auto; grid-template-columns:minmax(220px,310px) minmax(76px,120px) minmax(0,1fr); align-items:center; gap:clamp(16px,2.5vw,34px); }
.character-styles figure { margin:0; }
.character-styles figcaption { margin-top:13px; color:#eceaf4; font-size:.78rem; font-weight:600; text-align:center; }
.character-portrait { position:relative; overflow:hidden; border-radius:18px; background:#12152e; box-shadow:0 18px 42px rgba(0,0,0,.24); }
.character-portrait::after { position:absolute; inset:0; border:1px solid rgba(255,255,255,.1); border-radius:inherit; content:""; pointer-events:none; }
.character-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.character-portrait-original { aspect-ratio:353/448; border:1px solid rgba(105,125,255,.72); box-shadow:0 0 0 1px rgba(172,107,255,.18),0 22px 58px rgba(0,0,0,.34),0 0 34px rgba(88,80,255,.13); }
.character-transform { position:relative; height:2px; background:linear-gradient(90deg,rgba(94,106,255,.18),#7668ff 45%,#55a4ff); box-shadow:0 0 13px rgba(102,118,255,.75); }
.character-transform::after { position:absolute; top:50%; right:-1px; width:14px; height:14px; border-top:2px solid #72aaff; border-right:2px solid #72aaff; content:""; transform:translateY(-50%) rotate(45deg); }
.character-transform span { position:absolute; inset:-7px 10% -7px 0; background:linear-gradient(90deg,transparent,rgba(118,104,255,.16),transparent); filter:blur(5px); }
.character-style-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:start; gap:clamp(14px,2vw,24px); }
.character-style-grid figure { grid-column:span 2; }
.character-style-grid figure:nth-child(4) { grid-column:2/span 2; }
.character-style-grid .character-portrait { aspect-ratio:353/448; }
.character-worlds{min-width:0}.worlds-label{margin:0 0 15px;color:#a99be0;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.character-worlds .character-portrait{background:#0d1029;transition:box-shadow .28s,transform .28s}.character-worlds figure{transition:transform .28s}.character-worlds figure:hover{transform:translateY(-7px)}.character-worlds figure:hover .character-portrait{box-shadow:0 24px 55px rgba(0,0,0,.38),0 0 28px rgba(119,84,224,.16)}
.character-worlds-question{margin:clamp(35px,4vw,48px) auto 0;color:#ded8f0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,2.4vw,2rem);font-style:italic;text-align:center}
.character-styles-action { display:flex; width:fit-content; margin:clamp(42px,5vw,62px) auto 0; }
.featured,.journey,.discover,.preview,.selection,.creation,.photo-page,.empty-state,.account-page { padding-block: clamp(70px,9vw,130px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 44px; }
.section-heading h2,.discover-heading h1 { margin: 0; font-family: "Playfair Display",Georgia,serif; font-size: clamp(2.2rem,4vw,4.2rem); }
.section-heading>a { color: #b89aff; font-size: .9rem; }
.featured{padding-top:0;padding-bottom:clamp(38px,4.5vw,64px)}.featured .section-heading{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 32px;margin:0 auto 28px;padding:0;color:#fff}
.featured .section-heading>div{flex:1 1 32rem;min-width:0}.featured .section-heading h2{max-width:26ch;font-size:clamp(1.85rem,3.5vw,3rem);line-height:1.2;text-wrap:balance;overflow-wrap:break-word}.featured .section-heading>a{display:inline-flex;flex:0 0 auto;align-self:flex-end;align-items:center;justify-content:center;max-width:100%;min-height:44px;margin:0;padding:10px 18px;border:1px solid rgba(199,171,255,.26);border-radius:999px;background:rgba(7,9,26,.42);line-height:1.4;text-align:center;overflow-wrap:break-word}.featured-intro{margin:13px 0 0;color:#bbb8ca;font-size:.88rem;line-height:1.6}.featured-room{position:relative;min-height:680px;overflow:hidden;border:1px solid rgba(187,151,112,.22);border-radius:28px;background:linear-gradient(180deg,rgba(4,7,20,.1),rgba(3,5,15,.18)),url("../assets/optimized/Cerika_Room_Catalogue_Background-1600.webp") center/cover no-repeat;box-shadow:0 34px 90px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05);isolation:isolate}.featured-room::after{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(3,6,18,.12),transparent 24%,transparent 76%,rgba(3,6,18,.12)),linear-gradient(180deg,rgba(3,6,18,.06),transparent 45%,rgba(3,5,13,.12));content:"";pointer-events:none}
.story-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(20px,3vw,38px); }
.story-grid-featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
.story-card { display: block; padding: 14px 14px 20px; border: 1px solid transparent; border-radius: 18px; background: linear-gradient(rgba(255,255,255,.045),rgba(255,255,255,.018)); transition: .18s ease; }
.story-card:hover { border-color: rgba(154,117,255,.38); transform: translateY(-5px); }
.story-card-details { padding: 21px 7px 0; }
.story-card-title { margin-bottom: 7px; font-family: "Playfair Display",Georgia,serif; font-size: 1.25rem; }
.story-age { margin-bottom: 17px; color: var(--muted); font-size: .8rem; }
.story-preview-link { color: #bd9dff; font-size: .83rem; font-weight: 700; }
.featured-room .story-grid-featured{position:absolute;z-index:2;right:6%;bottom:72px;left:6%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(20px,3.2vw,48px);padding:46px 24px 20px;overflow-x:auto;overflow-y:visible;scrollbar-color:rgba(185,145,255,.42) transparent;scrollbar-width:thin}.featured-room .story-card{width:clamp(170px,18vw,238px);min-width:clamp(170px,18vw,238px);padding:0;border:0;border-radius:8px;background:transparent;filter:drop-shadow(13px 18px 17px rgba(0,0,0,.48));transform-origin:bottom center;transition:transform .24s ease,filter .24s ease}.featured-room .story-card:hover,.featured-room .story-card:focus-visible{filter:drop-shadow(14px 22px 22px rgba(0,0,0,.54)) drop-shadow(0 0 11px rgba(158,103,255,.42));transform:translateY(-15px) rotate(-1deg);outline:none}.featured-room .story-card .book-card{border-radius:4px 10px 10px 4px}.featured-room .story-card-details{position:relative;margin:12px 3px 0;padding:10px 12px 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(6,9,25,.79);box-shadow:0 9px 20px rgba(0,0,0,.26);backdrop-filter:blur(9px)}.featured-room .story-card-title{margin-bottom:6px;color:#fff;font-size:.88rem;line-height:1.2;overflow-wrap:anywhere}.featured-room .story-age{margin:0;color:#aaa7ba;font-size:.58rem}.featured-room .story-preview-link{display:block;color:#cab1ff;font-size:.58rem}.featured-room .catalogue-state{position:absolute;z-index:2;right:12%;bottom:94px;left:12%;min-height:220px;background:rgba(7,9,26,.82);backdrop-filter:blur(10px)}
.section-heading-centred { justify-content: center; text-align: center; }
.journey { position:relative; overflow:hidden; padding-top:clamp(64px,7vw,96px); padding-bottom:clamp(42px,4.5vw,62px); text-align:center; isolation:isolate; }
.journey::before { position:absolute; z-index:-1; inset:4% -18% 0; background:radial-gradient(ellipse at 50% 38%,rgba(72,82,181,.11),transparent 47%); content:""; pointer-events:none; }
.journey-heading { margin-bottom:clamp(42px,4.5vw,62px); }
.journey-heading .eyebrow { margin-bottom:16px; }
.journey-heading h2 { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.35rem,4.4vw,4.25rem); font-weight:600; line-height:1.08; letter-spacing:-.035em; }
.journey-steps { display:grid; width:min(100%,1180px); grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(36px,5vw,72px); margin:0 auto; padding:0; list-style:none; }
.journey-steps li { position:relative; display:flex; min-width:0; min-height:0; align-items:center; flex-direction:column; padding:0 clamp(6px,1vw,14px); border:0; background:none; }
.journey-steps li:not(:last-child)::after { position:absolute; top:35px; right:calc(clamp(36px,5vw,72px)/-2); width:1px; height:132px; background:linear-gradient(transparent,rgba(172,111,255,.3) 25%,rgba(73,152,255,.22) 72%,transparent); content:""; }
.journey-visual { display:flex; width:100%; height:264px; align-items:center; justify-content:center; margin-bottom:22px; }
.journey-mini-book { position:relative; width:198px; aspect-ratio:1; filter:drop-shadow(11px 17px 18px rgba(0,0,0,.5)); }
.journey-mini-book::before { position:absolute; z-index:-2; inset:2px -8px -5px 5px; border:1px solid rgba(82,126,183,.48); border-radius:2px 6px 6px 2px; background:#0a2144; content:""; }
.journey-mini-book::after { position:absolute; z-index:-1; inset:5px -5px 3px 7px; border-radius:0 3px 3px 0; background:repeating-linear-gradient(0deg,rgba(91,75,49,.12) 0 1px,transparent 1px 5px),linear-gradient(90deg,#b7aa90,#eee6d5 58%,#aa9879); content:""; }
.journey-mini-book img { display:block; width:100%; height:100%; object-fit:cover; border:1px solid rgba(99,145,198,.62); border-radius:2px 5px 5px 2px; box-shadow:inset 7px 0 rgba(0,0,0,.12); }
.journey-cover-copy { position:absolute; z-index:2; top:8%; right:8%; left:8%; color:#fff; text-align:center; text-shadow:0 2px 7px rgba(0,0,0,.9); }
.journey-cover-copy strong { display:block; font-family:"Playfair Display",Georgia,serif; font-size:clamp(.52rem,.8vw,.68rem); font-weight:600; line-height:1; }
.journey-cover-copy small { display:block; margin-top:4px; color:rgba(255,255,255,.82); font-size:.22rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.journey-cover-brand { position:absolute; z-index:2; right:7%; bottom:5%; display:flex; align-items:center; gap:3px; color:#fff; font-size:.2rem; font-weight:700; letter-spacing:.1em; text-shadow:0 1px 4px rgba(0,0,0,.9); }
.journey-cover-brand img { width:10px; height:10px; border:0; border-radius:0; box-shadow:none; object-fit:contain; }
.journey-visual-character { gap:18px; }
.journey-visual-character img { width:154px; height:154px; object-fit:cover; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 18px 40px rgba(0,0,0,.34),0 0 0 5px rgba(255,255,255,.018); }
.journey-visual-character span { color:#c9a9ff; font-size:1.3rem; }
.journey-visual-keepsake { position:relative; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:4px; isolation:isolate; }
.journey-keepsake-child { position:relative; display:block; min-width:0; width:100%; height:100%; object-fit:contain; object-position:center bottom; border-radius:0; mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent); mask-composite:intersect; }
.journey-visual-keepsake .journey-device { position:relative; z-index:1; align-self:end; margin-bottom:12%; translate:8% 0; width:100%; min-width:0; box-sizing:border-box; }
.journey-device { position:relative; width:238px; aspect-ratio:1.55; padding:7px 10px 7px 7px; border:1px solid rgba(196,189,175,.38); border-radius:12px; background:#080b18; box-shadow:0 19px 40px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025); }
.journey-device::after { position:absolute; top:50%; right:3px; width:3px; height:3px; border:1px solid rgba(255,255,255,.24); border-radius:50%; content:""; transform:translateY(-50%); }
.journey-room-preview{display:block;width:100%;height:100%;border-radius:7px;object-fit:cover;object-position:center;box-shadow:inset 0 0 18px rgba(0,0,0,.45)}
.journey-device-room{display:block; padding:0; aspect-ratio:1.45; border:1px solid #737782; border-radius:10px; background:#08090c; box-shadow:0 10px 18px rgba(0,0,0,.45),inset 0 0 0 1px #252730; transform:none}
.journey-device-room::before{position:absolute;top:-2px;left:18%;width:15%;height:2px;border-radius:2px;background:#777b85;content:""}
.journey-device-room::after{top:2px;right:50%;width:2px;height:2px;border:0;background:#253443;box-shadow:0 0 0 1px #020306;transform:none}
.journey-room-screen{position:absolute; inset:5px; overflow:hidden; border-radius:8px; container-type:inline-size; background:#10121c url("../assets/optimized/Cerika_Room_Catalogue_Background-1600.webp") center/cover no-repeat; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.journey-room-screen::after{position:absolute;z-index:4;bottom:3%;left:40%;width:20%;height:2px;border-radius:2px;background:rgba(255,255,255,.55);content:""}
.journey-room-heading{position:absolute;z-index:2;top:9%;right:5%;left:5%;color:#f4edf8;text-align:center;text-shadow:0 1px 5px #000}
.journey-room-heading span{display:block;margin-bottom:3px;color:#c8a5ff;font-size:2.4cqw;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.journey-room-heading strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:5.5cqw;line-height:1.15}
.journey-room-book{position:absolute;z-index:2;bottom:28%;left:50%;width:28%;height:40%;filter:drop-shadow(3px 5px 4px rgba(0,0,0,.68));transform:translateX(-50%) perspective(220px) rotateY(-5deg);transform-origin:bottom center}
.journey-room-book::before{display:none;content:none}
.journey-room-book::after{position:absolute;z-index:-1;top:1px;bottom:1px;left:-3px;width:6px;border-radius:2px 0 0 2px;background:linear-gradient(90deg,#0b5a55,#159b8c 58%,#073c39);box-shadow:inset -1px 0 rgba(255,255,255,.2);content:""}
.journey-room-story{display:block;width:100%;height:100%;object-fit:cover;border:1px solid rgba(124,226,207,.72);border-radius:2px 3px 3px 2px;box-shadow:inset 3px 0 rgba(0,0,0,.14)}
.journey-room-cover-copy{position:absolute;z-index:3;top:6%;right:5%;left:5%;color:#fff;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.95)}
.journey-room-cover-copy strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.65cqw;font-weight:700;line-height:1.05;letter-spacing:-.02em}
.journey-room-cover-copy small{display:block;margin-top:3px;font-size:.1rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.journey-room-cover-brand{position:absolute;z-index:3;right:4px;bottom:3px;display:flex;align-items:center;gap:1px;color:#fff;font-size:.09rem;font-weight:800;letter-spacing:.06em;text-shadow:0 1px 2px #000}
.journey-room-cover-brand img{width:5px;height:5px;object-fit:contain}
.journey-number { display:block; margin-bottom:12px; color:#b998ff; font-size:.69rem; font-weight:700; letter-spacing:.12em; }
.journey-steps h3 { margin-bottom:10px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.45rem,1.75vw,1.72rem); font-weight:600; line-height:1.15; }
.journey-steps p { max-width:280px; margin:0; color:#aaa9bf; font-size:.81rem; line-height:1.62; text-wrap:balance; }
.journey-action { display:inline-flex; min-height:42px; align-items:center; margin-top:clamp(28px,3vw,38px); padding:0 18px; border:1px solid rgba(190,157,255,.2); border-radius:999px; background:rgba(151,103,255,.055); color:#c9adff; font-size:.8rem; font-weight:700; transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease; }
.journey-action:hover { border-color:rgba(190,157,255,.42); background:rgba(151,103,255,.11); color:#fff; transform:translateY(-2px); }
.discover { min-height: 76vh; }
.discover-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 54px; }
.discover-heading h1 { margin-bottom: 9px; }
.discover-heading p:last-child { margin-bottom: 0; color: var(--muted); }
.prototype-badge { display: inline-flex; width: fit-content; padding: 7px 11px; border: 1px solid rgba(155,124,255,.27); border-radius: 999px; background: rgba(121,75,215,.12); color: #c9b5ff; font-size: .72rem; font-weight: 700; }
.back-link { display: inline-block; margin-bottom: 38px; color: var(--muted); font-size: .88rem; }
.preview-layout { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(35px,8vw,120px); }
.preview-book-stage { display: grid; min-height: 590px; place-items: center; perspective: 1200px; }
.preview-copy h1 { margin: 23px 0 11px; font-size: clamp(2.8rem,5vw,5rem); }
.preview-description { max-width: 550px; color: var(--muted); font-size: 1.03rem; line-height: 1.7; }
.preview-assurance { margin-block: 24px 30px; padding-left: 15px; border-left: 2px solid #9b74ff; color: #c2bed2; font-size: .84rem; line-height: 1.6; }
.spread-preview { display: grid; min-height: 390px; grid-template-columns: 1fr 1fr; margin-top: 90px; overflow: hidden; border: 10px solid #e9dfcc; border-radius: 13px; background: #e9dfcc; color: #28232c; }
.spread-page { display: grid; padding: clamp(30px,6vw,80px); place-items: center; background: #f1e8d8; }
.spread-art { background: radial-gradient(circle,#ffd28c,#9aa76b 50%,#405849); }
.spread-art span { font-size: 7rem; opacity: .7; }
.spread-copy p { max-width: 330px; font-family: "Playfair Display",Georgia,serif; font-size: clamp(1.15rem,2.4vw,1.8rem); line-height: 1.7; }
.selection { display: grid; min-height: 75vh; grid-template-columns: .55fr 1fr; align-items: center; gap: clamp(40px,8vw,110px); }
.selection-book { width: min(100%,270px); margin: auto; }
.selection-copy { max-width: 700px; }
.selection-copy h1 { font-size: clamp(2.8rem,5vw,5rem); }
.selection-copy>p:not(.eyebrow) { color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.selection-copy .prototype-badge { display: flex; margin: 25px 0; }
.creation { display: grid; min-height: calc(100vh - 78px); grid-template-columns: minmax(220px,.52fr) minmax(0,1fr); align-items: start; gap: clamp(35px,7vw,100px); }
.creation-summary { position: sticky; top: 120px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.025); text-align: center; }
.creation-summary-book { width: min(68%,220px); margin: 22px auto 28px; }
.creation-summary h2 { margin-bottom: 7px; font-family: "Playfair Display",Georgia,serif; font-size: 1.45rem; }
.creation-summary>p:last-child { margin-bottom: 0; color: var(--muted); font-size: .84rem; }
.creation-panel { width: min(100%,680px); padding: clamp(26px,5vw,54px); border: 1px solid var(--line); border-radius: 28px; background: rgba(16,18,41,.82); box-shadow: 0 28px 80px rgba(0,0,0,.25); }
.creation-panel h1 { margin-bottom: 14px; font-family: "Playfair Display",Georgia,serif; font-size: clamp(2.5rem,5vw,4.5rem); line-height: 1.04; }
.creation-panel h1 span { color: #f18ac7; }
.creation-intro { max-width: 540px; margin-bottom: 35px; color: var(--muted); line-height: 1.65; }
.creation-form { display: grid; }
.creation-form label { margin: 0 0 9px; color: #e9e7f2; font-size: .88rem; font-weight: 700; }
.creation-form input,.creation-form select { width: 100%; min-height: 54px; margin-bottom: 25px; padding: 0 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; outline: 0; background: #090b21; color: white; font: inherit; }
.creation-form input:focus,.creation-form select:focus { border-color: #9471ff; box-shadow: 0 0 0 3px rgba(148,113,255,.14); }
.creation-form input[aria-invalid="true"] { border-color: #fb7185; }
.creation-form .field-note { margin: -17px 0 27px; color: #858398; font-size: .75rem; }
.field-error { margin: -18px 0 22px; color: #fb8b9e; font-size: .78rem; }
.privacy-note { display: flex; gap: 12px; margin: 2px 0 27px; padding: 14px 16px; border: 1px solid rgba(120,189,255,.16); border-radius: 12px; background: rgba(52,120,255,.06); color: #aaa9bf; font-size: .78rem; line-height: 1.55; }
.privacy-note span { color: #6fdcff; }
.privacy-note p { margin: 0; }
.creation-form .button { width: 100%; }
.photo-page { display: grid; min-height: calc(100vh - 78px); place-items: start center; }
.photo-panel { width: min(100%,760px); }
.photo-dropzone { display: grid; min-height: 290px; padding: 26px; place-items: center; align-content: center; border: 1px dashed rgba(177,139,255,.48); border-radius: 20px; background: rgba(139,92,246,.055); cursor: pointer; text-align: center; }
.photo-dropzone:hover { background: rgba(139,92,246,.09); }
.photo-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.photo-preview { display: grid; width: 126px; height: 126px; margin-bottom: 17px; overflow: hidden; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: #0b0d27; color: #b995ff; font-size: 2.2rem; }
.photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.photo-dropzone strong { margin-bottom: 5px; }
.photo-dropzone>span:last-child { color: var(--muted); font-size: .78rem; }
.photo-filename { margin: 11px 0 25px; color: var(--muted); font-size: .78rem; text-align: center; }
.photo-guidance { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 24px; }
.photo-guidance p { margin: 0; padding: 12px; border-radius: 10px; background: rgba(255,255,255,.03); color: #b8b6c8; font-size: .75rem; }
.photo-guidance span { color: #54d6ad; }
.photo-continue { width: 100%; }
.photo-continue:disabled { cursor: not-allowed; filter: grayscale(.6); opacity: .45; }
.photo-status { margin: 18px 0 0; padding: 14px; border-radius: 10px; background: rgba(255,255,255,.04); color: #bcb9cb; font-size: .8rem; line-height: 1.55; text-align: center; }
.character-pending { text-align: center; }
.character-pending .creation-intro { margin-inline: auto; }
.character-pending .button { margin-top: 18px; }
.account-page{display:grid;min-height:calc(100vh - 78px);place-items:start center}.account-card{width:min(100%,560px);padding:clamp(28px,5vw,52px);border:1px solid var(--line);border-radius:26px;background:rgba(16,18,41,.88);box-shadow:0 28px 80px rgba(0,0,0,.28)}.account-card h1{margin-bottom:13px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);line-height:1.05}.account-intro{margin-bottom:30px;color:var(--muted);line-height:1.65}.account-form{display:grid}.account-form label{display:grid;gap:9px;margin-bottom:18px;color:#e9e7f2;font-size:.84rem;font-weight:700}.account-form input{width:100%;min-height:54px;padding:0 16px;border:1px solid rgba(255,255,255,.13);border-radius:12px;outline:0;background:#090b21;color:#fff;font:inherit}.account-form input:focus{border-color:#9471ff;box-shadow:0 0 0 3px rgba(148,113,255,.14)}.account-form .button{width:100%}.auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:21px}.auth-link{min-height:auto;padding:0;border:0;background:transparent;color:#bca2ff;cursor:pointer;font:inherit;font-size:.76rem;font-weight:700}.auth-status{min-height:20px;margin:18px 0 0;color:#e8c981;font-size:.76rem;line-height:1.5;text-align:center}.account-form .field-note{margin:-8px 0 22px;color:#858398;font-size:.72rem;line-height:1.5}.account-empty{margin:24px 0;padding:18px;border:1px solid rgba(156,122,255,.2);border-radius:13px;background:rgba(156,122,255,.06);color:var(--muted);font-size:.8rem;line-height:1.6}.account-actions{display:flex;flex-wrap:wrap;gap:10px}
.empty-state { min-height: 70vh; text-align: center; }
.catalogue-state { display: grid; min-height: 280px; padding: 40px; place-items: center; align-content: center; border: 1px dashed rgba(174,140,255,.32); border-radius: 22px; background: rgba(255,255,255,.02); text-align: center; }
.catalogue-state-icon { margin-bottom: 16px; color: #b68fff; font-size: 2.4rem; }
.catalogue-state h3 { margin-bottom: 8px; font-family: "Playfair Display",Georgia,serif; font-size: 1.65rem; }
.catalogue-state p,.error-detail { max-width: 560px; margin-bottom: 0; color: var(--muted); line-height: 1.65; }
.loading-state { display: grid; min-height: 72vh; place-items: center; align-content: center; color: var(--muted); }
.loading-orbit { width: 44px; height: 44px; margin-bottom: 18px; border: 2px solid rgba(255,255,255,.12); border-top-color: #b68fff; border-radius: 50%; animation: orbit .8s linear infinite; }
.image-loading{opacity:.16;filter:grayscale(1) blur(18px);transform:scale(1.025)}.image-ready{opacity:1;filter:none;transform:none;transition:opacity .42s ease,filter .55s ease,transform .55s ease}.image-load-error{opacity:.35;filter:grayscale(1)}
.has-cover-image .book-cover{background:#09132f}
.has-cover-image .book-cover.has-image-loading{background:linear-gradient(110deg,#09132f 18%,#172455 40%,#3a2865 50%,#172455 60%,#09132f 82%);background-size:260% 100%;animation:book-cover-loading 1.35s ease-in-out infinite}
.book-cover-image.image-loading{opacity:0;filter:none;transform:scale(1.006)}
@keyframes book-cover-loading{to{background-position:-160% 0}}
.page-skeleton{min-height:72vh;padding-top:clamp(70px,9vw,120px)}.skeleton{overflow:hidden;border-radius:10px;background:linear-gradient(100deg,rgba(255,255,255,.045) 25%,rgba(255,255,255,.12) 42%,rgba(255,255,255,.045) 60%);background-size:260% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-eyebrow{width:135px;height:18px}.skeleton-title{width:min(72%,680px);height:clamp(52px,7vw,88px);margin-top:22px}.skeleton-copy{width:min(88%,760px);height:17px;margin-top:24px}.skeleton-copy-short{width:min(58%,480px);margin-top:12px}.skeleton-grid{display:grid;margin-top:58px;grid-template-columns:repeat(3,1fr);gap:22px}.skeleton-card{aspect-ratio:.78;border-radius:22px}@keyframes skeleton-shimmer{to{background-position:-160% 0}}@media(max-width:700px){.skeleton-grid{grid-template-columns:repeat(2,1fr)}.skeleton-grid .skeleton-card:last-child{display:none}}@media(prefers-reduced-motion:reduce){.skeleton,.image-ready{animation:none!important;transition:none!important}}
.published-spread { margin: 70px auto 0; overflow: hidden; border: 9px solid #e9dfcc; border-radius: 13px; background: #e9dfcc; box-shadow: 0 28px 70px rgba(0,0,0,.35); }
.published-spread-pair{width:min(100%,1080px);aspect-ratio:2/1}
.published-spread-single{width:min(100%,640px);aspect-ratio:1}
.published-spread img { display: block; width: 100%; height: 100%; object-fit:cover; }
.preview .published-spread-pair:has(.preview-narration){position:relative}
.preview-narration{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,64px);padding:clamp(70px,10vw,125px) clamp(24px,4vw,52px) clamp(20px,3.4vw,40px);color:#fff;background:linear-gradient(transparent,rgba(7,9,26,.9));pointer-events:none}
.preview-page-text{margin:0;font:600 clamp(.82rem,1.45vw,1.14rem)/1.55 Georgia,serif;text-shadow:0 2px 8px rgba(0,0,0,.9);white-space:pre-line}
.preview-page-text:last-child{text-align:right}
.catalogue-reader{margin-top:clamp(70px,10vw,140px)}
.catalogue-reader-heading{max-width:720px;margin:0 auto 34px;text-align:center}.catalogue-reader-heading h2{margin:10px 0 12px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3.4rem)}.catalogue-reader-heading>p:last-child{margin:0;color:var(--muted);line-height:1.65}.catalogue-reader-heading .eyebrow{margin-inline:auto}
.catalogue-reader-stage{position:relative;display:grid;min-height:clamp(390px,58vw,720px);padding:clamp(18px,3vw,44px);overflow:hidden;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:30px;outline:0;background-color:#15132d;background-image:linear-gradient(rgba(8,9,28,.2),rgba(8,9,28,.38)),url("../assets/optimized/Cerika_Room_Catalogue_Background-1600.webp");background-position:center 54%;background-size:135% auto;cursor:grab;perspective:1800px;touch-action:pan-y}.catalogue-reader-stage.is-page-grabbed{cursor:grabbing;user-select:none}.catalogue-reader-stage:focus-visible{box-shadow:0 0 0 3px #9b74ff}.catalogue-reader-stage::after{position:absolute;right:9%;bottom:4%;left:9%;height:11%;border-radius:50%;background:rgba(8,6,20,.48);content:"";filter:blur(28px)}
.catalogue-reader-surface{position:relative;z-index:1;width:min(100%,1320px);aspect-ratio:2/1;margin:0;overflow:hidden;border:0;border-radius:5px 10px 10px 5px;background:#151515;box-shadow:-5px 7px 0 rgba(85,65,42,.48),-9px 12px 0 rgba(54,40,25,.34),0 35px 70px rgba(8,6,20,.5);backface-visibility:hidden;transform-style:preserve-3d}.catalogue-reader-surface.is-cover{background:transparent;box-shadow:none}.catalogue-reader-surface>img{display:block;width:100%;height:100%;object-fit:cover}.catalogue-reader-surface.is-cover>img{position:absolute;top:0;right:0;width:50%;filter:drop-shadow(-7px 10px 0 rgba(54,40,25,.42)) drop-shadow(0 28px 32px rgba(8,6,20,.46))}.catalogue-reader-surface.turn-forward{animation:catalogue-turn-forward .8s cubic-bezier(.2,.72,.2,1)}.catalogue-reader-surface.turn-back{animation:catalogue-turn-back .8s cubic-bezier(.2,.72,.2,1)}
.catalogue-reader-surface:not(.catalogue-reader-underlay):not(.catalogue-reader-fixed-half){z-index:3}.catalogue-reader-surface.is-manual-turn{animation:none!important;will-change:transform,opacity}.catalogue-reader-underlay,.catalogue-reader-fixed-half{position:absolute;z-index:1;margin:0;animation:none!important;pointer-events:none}.catalogue-reader-fixed-half{z-index:2}
.catalogue-reader-underlay-natural{top:50%;left:50%;transform:translate(-50%,-50%)}
.catalogue-reader-turn-back{position:absolute;z-index:4;margin:0;opacity:0;animation:none!important;backface-visibility:visible;pointer-events:none;will-change:transform,opacity}.catalogue-reader-turn-back::after{display:none}.catalogue-reader-turn-back>img{width:100%;height:100%;object-fit:cover}
.catalogue-reader-closing-cover{position:absolute;z-index:5;margin:0;aspect-ratio:1;overflow:visible;animation:none!important;pointer-events:none;transform-style:preserve-3d;will-change:transform}.catalogue-reader-closing-cover.is-cover>img{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(-7px 10px 0 rgba(54,40,25,.42)) drop-shadow(0 28px 32px rgba(8,6,20,.46));backface-visibility:hidden}.catalogue-reader-closing-cover .catalogue-reader-cover-copy,.catalogue-reader-closing-cover .catalogue-reader-cover-brand{backface-visibility:hidden}.catalogue-reader-closing-cover .catalogue-reader-cover-copy{right:7%;left:7%}.catalogue-reader-closing-cover .catalogue-reader-cover-brand{right:5%}.catalogue-reader-closing-cover .catalogue-cover-open-hint{display:none}.catalogue-reader-closing-inside{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;transform:rotateY(180deg)}.catalogue-reader-closing-inside img{width:200%;max-width:none;height:100%;object-fit:cover;object-position:left center}
.catalogue-reader-closing-cover{backface-visibility:visible}
.catalogue-reader-surface.is-spread::after{position:absolute;top:0;bottom:0;left:50%;z-index:2;width:2%;background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.12) 48%,rgba(0,0,0,.24));content:"";pointer-events:none;transform:translateX(-50%)}
.catalogue-cover-open-hint{position:absolute;inset:0 50% 0 0;display:grid;place-content:center;justify-items:center;gap:12px;color:rgba(255,255,255,.78);text-align:center}.catalogue-cover-open-hint span{font-size:2rem}.catalogue-cover-open-hint strong{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.catalogue-reader-cover-copy{position:absolute;top:7%;right:4%;left:54%;z-index:3;color:#fff;text-align:center;text-shadow:0 3px 7px rgba(0,0,0,.9),0 0 18px rgba(0,0,0,.65)}.catalogue-reader-cover-copy h3{max-width:520px;margin:0 auto;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,3vw,3rem);line-height:1}.catalogue-reader-cover-copy span{display:block;margin-top:11px;font-size:clamp(.5rem,.8vw,.72rem);font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.catalogue-reader-cover-brand{position:absolute;right:3%;bottom:5%;z-index:3;display:flex;align-items:center;gap:8px;color:#fff;font-size:clamp(.5rem,.8vw,.7rem);font-weight:800;letter-spacing:.12em;text-shadow:0 2px 7px rgba(0,0,0,.9)}.catalogue-reader-cover-brand img{width:clamp(20px,2.4vw,34px)!important;height:clamp(20px,2.4vw,34px)!important;object-fit:contain!important}
.catalogue-reader-surface.is-locked{display:grid;width:min(100%,1320px);aspect-ratio:2/1;place-items:center}.catalogue-reader-locked-art{position:absolute;inset:-5%;width:110%!important;height:110%!important;filter:blur(24px) brightness(.3);transform:scale(1.06)}.catalogue-reader-lock{position:relative;z-index:2;display:grid;max-width:560px;padding:28px;justify-items:center;color:#fff;text-align:center}.catalogue-reader-lock-icon{display:grid;width:58px;height:58px;margin-bottom:19px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:1.6rem}.catalogue-reader-lock strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.7rem,4vw,3rem)}.catalogue-reader-lock p{max-width:480px;margin:13px 0 24px;color:#d7d3df;line-height:1.6}
.catalogue-reader-surface.is-preview-locked .preview-page-text:last-child{visibility:hidden}.catalogue-preview-stop{position:absolute;top:0;right:0;bottom:0;z-index:5;display:grid;width:50%;padding:clamp(20px,4vw,54px);align-content:center;justify-items:center;background:rgba(8,9,29,.48);color:#fff;text-align:center;backdrop-filter:blur(22px) brightness(.42) saturate(.65)}.catalogue-preview-lock-icon{display:grid;width:clamp(44px,5vw,68px);height:clamp(44px,5vw,68px);margin-bottom:18px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:clamp(1.25rem,2vw,1.8rem)}.catalogue-preview-stop strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.4rem,3vw,2.7rem);line-height:1.05}.catalogue-preview-stop p{max-width:390px;margin:12px 0 23px;color:#ddd9e8;font-size:clamp(.68rem,1.15vw,.9rem);line-height:1.55}.catalogue-preview-stop .button{min-height:46px;padding-inline:22px;font-size:clamp(.65rem,1vw,.78rem)}.catalogue-reader-underlay .catalogue-preview-stop>*{opacity:0}
.catalogue-reader-arrow[hidden]{display:none}
.catalogue-reader-stage.is-preloading{cursor:wait}.catalogue-reader-preload{position:absolute;inset:0;z-index:10;display:grid;padding:24px;align-content:center;justify-items:center;background:rgba(8,9,28,.82);color:#fff;backdrop-filter:blur(10px)}.catalogue-reader-preload-heading{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.catalogue-reader-preload-percent{margin-top:8px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,8vw,6rem);font-variant-numeric:tabular-nums;line-height:1}.catalogue-reader-preload-detail{margin-top:8px;color:#d0ccdc;font-size:.72rem}.catalogue-reader-preload-track{position:relative;width:min(72%,440px);height:7px;margin-top:22px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.18)}.catalogue-reader-preload-bar{display:block;width:0;height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#e94bb5,#7c54ff,#397cff);transition:width .35s cubic-bezier(.2,.75,.25,1)}.catalogue-reader-preload-bar::after{display:block;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);content:"";animation:catalogue-preload-shimmer 1.1s linear infinite;transform:translateX(-120%)}.catalogue-reader-preload.has-error{gap:10px;text-align:center}.catalogue-reader-preload.has-error .button{margin-top:8px}@keyframes catalogue-preload-shimmer{to{transform:translateX(330%)}}
.catalogue-reader-controls{position:absolute;inset:0 clamp(10px,2vw,28px);z-index:6;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.catalogue-reader-arrow{display:grid;width:54px;height:54px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(10,10,30,.7);color:#fff;cursor:pointer;font:inherit;font-size:1.25rem;box-shadow:0 8px 28px rgba(0,0,0,.35);pointer-events:auto;backdrop-filter:blur(8px)}.catalogue-reader-arrow:hover:not(:disabled){border-color:#a884ff;background:rgba(81,52,147,.82)}.catalogue-reader-arrow:disabled{cursor:not-allowed;opacity:.28}.catalogue-reader-counter{position:absolute;bottom:18px;left:50%;min-width:145px;padding:7px 12px;border-radius:99px;background:rgba(10,10,30,.65);color:#eeeaf7;font-size:.72rem;text-align:center;transform:translateX(-50%);backdrop-filter:blur(8px)}
@keyframes catalogue-turn-forward{0%{opacity:.35;transform:rotateY(-20deg) translateX(2%);filter:brightness(.7)}60%{opacity:1;transform:rotateY(3deg)}100%{transform:rotateY(0)}}@keyframes catalogue-turn-back{0%{opacity:.35;transform:rotateY(20deg) translateX(-2%);filter:brightness(.7)}60%{opacity:1;transform:rotateY(-3deg)}100%{transform:rotateY(0)}}
@media(prefers-reduced-motion:reduce){.catalogue-reader-surface,.catalogue-reader-surface>*,.catalogue-reader-preload-bar::after{animation:none!important;transition:none!important}}
@keyframes orbit { to { transform: rotate(360deg); } }
.site-footer{position:relative;display:grid;padding:clamp(46px,6vw,78px) clamp(22px,8vw,140px);grid-template-columns:minmax(260px,1.25fr) minmax(180px,.8fr) minmax(270px,1fr);gap:clamp(34px,6vw,90px);overflow:hidden;border-top:1px solid rgba(156,122,255,.16);background:radial-gradient(circle at 88% 120%,rgba(99,54,210,.24),transparent 30%),linear-gradient(135deg,#111335,#171044 60%,#160d40);color:#b3afc4;font-size:.8rem}
.site-footer h2{margin:0 0 24px;color:#d7d1e7;font-family:inherit;font-size:1.25rem}
.site-footer p{max-width:360px;margin:24px 0 28px;line-height:1.65}
.site-footer address{max-width:360px;font-style:normal;line-height:1.55}
.site-footer small{display:block;color:#aaa5ba;font-size:.74rem}
.footer-brand,.footer-links,.footer-contact{position:relative;z-index:1}
.footer-links{display:flex;align-items:flex-start;flex-direction:column;gap:13px}
.footer-links a,.footer-email{color:#aaa5ba;transition:color .2s ease}
.footer-links a:hover,.footer-email:hover{color:#fff}
.footer-email{display:inline-block;margin-top:22px;color:#9c72ff}
.legal-page { max-width: 900px; margin-inline: auto; padding-block:clamp(58px,7vw,96px) clamp(68px,8vw,110px); line-height: 1.75; }
.legal-page>h1 { margin:0 0 30px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(3rem,5vw,4.7rem); font-weight:600; line-height:1.02; letter-spacing:-.035em; }
.legal-page h2 { margin:2.6rem 0 .85rem; font-size:clamp(1.22rem,2vw,1.55rem); line-height:1.25; letter-spacing:-.015em; }
.legal-page .legal-translation>h1 { margin:0 0 24px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.25rem,4vw,3.4rem); font-weight:600; line-height:1.08; letter-spacing:-.025em; }
.consent-check { display:flex; gap:.65rem; align-items:flex-start; font-size:.82rem; line-height:1.45; }
.consent-check input { width:auto; margin-top:.2rem; }
.brand-small { margin-right: auto; color: white; font-size: .85rem; }
.brand-small .brand-mark { width: 29px; height: 29px; }
.prototype-note { color: #78768c; }

@media (max-width:1100px) { .story-meaning-content { width:min(100%,720px); } .character-styles-showcase { grid-template-columns:minmax(190px,260px) 70px minmax(0,1fr); } }
@media (max-width:920px) { .hero { grid-template-columns: 1fr; text-align: center; } .hero-copy,.hero-intro { margin-inline: auto; } .hero-actions { justify-content: center; } .hero-visual { min-height: 500px; } .book-hero { width: min(52%,330px); } .story-grid { grid-template-columns: repeat(2,1fr); } .preview-layout { grid-template-columns: 1fr; } .preview-book-stage { min-height: 520px; } .creation { grid-template-columns: 1fr; } .creation-summary { position: static; display: grid; grid-template-columns: 100px 1fr; align-items: center; text-align: left; } .creation-summary .eyebrow { grid-column: 1/-1; } .creation-summary-book { grid-row: span 2; width: 75px; margin: 0 20px 0 0; } }
@media (min-width:701px) and (max-width:1050px) { .journey-steps{gap:28px}.journey-visual{height:218px}.journey-mini-book{width:158px}.journey-visual-character{gap:10px}.journey-visual-character img{width:108px;height:108px}.journey-visual-keepsake{gap:8px}.journey-visual-keepsake .journey-mini-book{width:82px}.journey-device{width:164px} }
@media (max-width:620px) { .preview-narration{gap:16px;padding:48px 14px 12px}.preview-page-text{font-size:clamp(.58rem,2.65vw,.78rem);line-height:1.35} }
@media (max-width:620px) { .catalogue-reader-stage{min-height:340px;padding:12px;border-radius:18px}.catalogue-reader-surface{border-width:0;box-shadow:-3px 4px 0 rgba(85,65,42,.46),-6px 8px 0 rgba(54,40,25,.3),0 18px 34px rgba(8,6,20,.46)}.catalogue-reader-surface.is-cover{box-shadow:none}.catalogue-cover-open-hint{gap:5px}.catalogue-cover-open-hint span{font-size:1.2rem}.catalogue-cover-open-hint strong{max-width:90px;font-size:.48rem}.catalogue-reader-lock{padding:16px}.catalogue-reader-lock-icon{width:42px;height:42px;margin-bottom:10px}.catalogue-reader-lock p{margin:8px 0 14px;font-size:.72rem}.catalogue-reader-lock .button{min-height:38px;padding:0 16px;font-size:.7rem} }
@media (max-width:620px) { .catalogue-preview-stop{padding:12px}.catalogue-preview-lock-icon{width:34px;height:34px;margin-bottom:8px;font-size:1rem}.catalogue-preview-stop strong{font-size:clamp(.9rem,4vw,1.25rem)}.catalogue-preview-stop p{margin:7px 0 10px;font-size:.55rem;line-height:1.3}.catalogue-preview-stop .button{min-height:34px;padding-inline:10px;font-size:.55rem} }
@media (max-width:700px) { .site-header { height: 68px; } .menu-button { display: grid; width: 42px; height: 42px; place-content: center; gap: 7px; } .menu-button>span:not(.sr-only) { display: block; width: 21px; height: 1px; background: white; } .site-navigation { position: absolute; top: 68px; right: 16px; left: 16px; display: none; flex-direction: column; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: #101229; } .site-navigation.is-open { display: flex; } .site-navigation a { padding: 14px; } .site-navigation a:last-child { border: 0; } .hero { min-height: auto; padding-top: 75px; } .hero h1 { font-size: clamp(2.85rem,14vw,4.4rem); } .hero-visual { min-height: 410px; } .book-hero { width: min(66%,280px); } .hero-book-slide.is-active{transform:translateY(1%) scale(.9)}.hero-book-slide.is-left{transform:translateX(-20%) translateY(-2%) scale(.7) rotateZ(-5deg)}.hero-book-slide.is-right{transform:translateX(20%) translateY(-1%) scale(.72) rotateZ(5deg)}.hero-book-tabs{max-width:calc(100% - 18px);gap:18px}.hero-book-tab{min-height:30px;padding:0 0 6px;font-size:.6rem}.value-strip,.journey-steps { grid-template-columns: 1fr; } .section-heading,.discover-heading { align-items: start; flex-direction: column; } .story-grid { gap: 14px; } .story-card { padding: 9px 9px 15px; } .story-card-title { font-size: 1rem; } .preview-book-stage { min-height: 0; padding-block: 24px 40px; } .preview-book-stage .book-preview { width: min(92%,560px); } .spread-preview { grid-template-columns: 1fr; } .spread-page { min-height: 300px; } .selection { grid-template-columns: 1fr; padding-top: 65px; text-align: center; } .selection-book { width: 190px; } .selection-copy .prototype-badge { margin-inline: auto; } .site-footer { grid-template-columns:1fr; gap:36px; } }
@media(max-width:700px){.character-styles{padding-bottom:22px}.featured{width:100%;padding-top:0;padding-bottom:34px}.featured .section-heading{width:min(calc(100% - 36px),1320px);margin:0 auto 24px;padding:0;gap:16px}.featured .section-heading>div{flex-basis:auto}.featured .section-heading>a{align-self:flex-start}.featured-intro{max-width:none}.featured-room{min-height:610px;border-right:0;border-left:0;border-radius:0;background-position:47% center}.featured-room .story-grid-featured{right:0;bottom:54px;left:0;justify-content:flex-start;padding-inline:28px}.featured-room .story-card{width:168px;min-width:168px}.journey{padding-top:54px}}
@media(max-width:700px){.journey{padding-bottom:42px}.journey-heading{margin-bottom:42px}.journey-steps{gap:56px}.journey-steps li{padding-inline:0}.journey-steps li:not(:last-child)::after{top:auto;right:auto;bottom:-28px;left:50%;width:72px;height:1px;background:linear-gradient(90deg,transparent,rgba(160,105,255,.42),transparent);transform:translateX(-50%)}.journey-visual{height:190px;margin-bottom:18px}.journey-mini-book{width:146px}.journey-visual-character img{width:108px;height:108px}.journey-visual-keepsake .journey-mini-book{width:88px}.journey-device{width:180px}.journey-action{margin-top:34px}}
@media (max-width:700px) { .creation-summary { display: none; } .creation-panel { padding: 25px 20px; border-radius: 20px; } .photo-guidance { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } * { transition-duration: .01ms!important; } }
.account-subheading{margin:26px 0 14px;font-family:"Playfair Display",Georgia,serif}.child-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:26px}.child-choice{display:grid;min-height:120px;padding:16px;place-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);color:white;cursor:pointer}.child-choice>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:rgba(156,122,255,.16);color:#cfbfff;font-family:"Playfair Display",serif;font-size:1.2rem}.child-choice small{color:var(--muted)}
.room-page{min-height:78vh;overflow:hidden;border-radius:32px;background:radial-gradient(circle at 15% 15%,rgba(244,197,98,.2),transparent 20rem),linear-gradient(145deg,#17143b,#38245c 55%,#172c4b)}.room-heading{max-width:680px}.room-decorations{display:flex;min-height:80px;align-items:center;gap:12px;padding:18px 0;flex-wrap:wrap}.room-decoration{padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08)}.room-shelf{display:flex;min-height:260px;align-items:flex-end;gap:28px;padding:42px 6% 30px;overflow-x:auto;border-bottom:22px solid #765138;background:linear-gradient(transparent 75%,rgba(0,0,0,.24))}.room-book{display:grid;width:150px;flex:0 0 150px;gap:9px;color:#fff;text-decoration:none}.room-book-cover{display:grid;width:150px;aspect-ratio:1;place-items:center;border-radius:4px 13px 13px 4px;background:linear-gradient(145deg,#e96d8d,#6c4eb5);box-shadow:12px 16px 22px rgba(0,0,0,.35),inset 8px 0 rgba(0,0,0,.12);font-size:36px;transition:transform .2s ease}.room-book:hover .room-book-cover,.room-book:focus .room-book-cover{transform:translateY(-10px) rotate(-2deg)}.room-recommendations{padding:40px 0}.world-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.published-spread.living-active{position:relative;isolation:isolate}.living-scene{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#111}.living-layer{position:absolute;inset:-4%;width:108%!important;height:108%!important;object-fit:cover}.living-layer-base{animation:living-pan var(--living-duration,8s) ease-in-out infinite alternate}.living-layer-atmosphere{opacity:.16;filter:blur(5px) saturate(1.15);mix-blend-mode:screen;animation:living-drift var(--living-duration,8s) ease-in-out infinite alternate}.living-particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,242,174,.75) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.5) 0 1px,transparent 2px);background-position:10% 20%,70% 80%;background-size:91px 83px,137px 119px;animation:living-particles calc(var(--living-duration,8s)*1.5) linear infinite}.living-copy{position:relative;z-index:3;background:linear-gradient(transparent,rgba(7,9,26,.7))}@keyframes living-pan{from{transform:scale(1.035) translate3d(-.5%,-.25%,0)}to{transform:scale(1.055) translate3d(.5%,.35%,0)}}@keyframes living-drift{from{transform:scale(1.06) translate3d(-1%,.4%,0)}to{transform:scale(1.08) translate3d(1%,-.4%,0)}}@keyframes living-particles{to{background-position:10% -63px,70% -39px}}@media(prefers-reduced-motion:reduce){.living-layer,.living-particles{animation:none!important}}
.published-spread-pair .living-scene{aspect-ratio:2/1}

/* Premium footer shared with the Admin workspace. */
.site-footer{position:relative;display:block;padding:0;border-top:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 12% 0,rgba(91,66,190,.11),transparent 25rem),rgba(7,9,26,.94);color:#9693a8}
.site-footer::before{position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(226,76,190,.45),rgba(117,84,255,.55),rgba(54,132,255,.42),transparent);content:""}
.site-footer .footer-inner{position:relative;display:grid;width:min(calc(100% - 44px),1240px);margin:auto;padding:clamp(42px,5vw,66px) 0;grid-template-columns:minmax(280px,1.35fr) minmax(260px,1fr) minmax(220px,.8fr);gap:clamp(38px,7vw,96px)}
.site-footer h2{margin:3px 0 20px;color:#f0edf8;font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.site-footer .footer-brand p{max-width:390px;margin:22px 0 30px;color:#aaa7ba;font-size:.78rem;line-height:1.7}
.site-footer .footer-brand small{color:#6f6d80;font-size:.66rem}
.site-footer .brand-small{margin:0;font-size:.86rem;letter-spacing:.1em}
.site-footer .footer-contact,.site-footer .footer-links{display:block}
.site-footer .footer-email{margin:0 0 17px;color:#c8b6ff;font-size:.82rem;font-weight:700}
.site-footer address{color:#898699;font-size:.7rem;line-height:1.72}
.site-footer .footer-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}
.site-footer .footer-link-grid a{color:#aaa7ba;font-size:.72rem;transition:color .18s ease}
.site-footer .footer-link-grid a:hover{color:#fff}
@media(max-width:820px){.site-footer .footer-inner{grid-template-columns:1fr 1fr}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-brand p{margin-bottom:18px}}
@media(max-width:560px){.site-footer .footer-inner{width:min(calc(100% - 36px),1240px);grid-template-columns:1fr;gap:34px}.site-footer .footer-brand{grid-column:auto}.site-footer .footer-link-grid{max-width:280px}}

/* Calm, compact authentication flow. */
.account-page{min-height:calc(100vh - 78px);padding-block:clamp(48px,7vw,88px);place-items:start center}
.account-card{width:min(100%,540px);padding:clamp(30px,4vw,46px);border-color:rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(17,19,45,.96),rgba(12,14,36,.94));box-shadow:0 28px 80px rgba(0,0,0,.25)}
.account-card>.eyebrow{margin-bottom:11px;font-size:.75rem;letter-spacing:.15em}
.account-card h1{max-width:460px;margin-bottom:14px;font-size:clamp(2.35rem,5vw,3.35rem);line-height:1.04;letter-spacing:-.03em}
.account-intro{max-width:460px;margin-bottom:30px;color:#aaa9bf;font-size:.95rem;line-height:1.65}
.account-form{gap:0}
.account-form label{gap:8px;margin-bottom:18px;font-size:.84rem;line-height:1.4}
.account-form input,.account-form select{min-height:52px;padding:0 15px;border-radius:11px;font-size:1rem}
.account-form>.button{min-height:52px;margin-top:3px;font-size:.9rem}
.account-form>.button:disabled{cursor:not-allowed;box-shadow:none;filter:saturate(.35);opacity:.42}
.account-form>.auth-link{justify-self:center;margin-top:18px}
.auth-links{gap:9px 22px;margin-top:20px}
.auth-link{color:#c4adff;font-size:.8rem;line-height:1.45;text-underline-offset:3px}
.auth-link:hover{text-decoration:underline}
.account-form .consent-check{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:11px;margin:3px 0 22px;color:#aaa9bc;font-size:.78rem;font-weight:500;line-height:1.6}
.account-form .consent-check input{width:17px;height:17px;min-height:0;margin:2px 0 0;padding:0;accent-color:#8b66ff}
.consent-check a,.auth-legal-reference a{color:#c9b6ff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(201,182,255,.42);text-underline-offset:3px}
.consent-check a:hover,.auth-legal-reference a:hover{color:#fff;text-decoration-color:currentColor}
.auth-legal-reference{margin:16px 0 0;color:#8f8da1;font-size:.75rem;line-height:1.55;text-align:center}
.auth-legal-links{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:5px}
.auth-status:empty{display:none}
.auth-status{min-height:0;margin:16px 0 0;font-size:.78rem;line-height:1.55}
.account-form .field-note{margin:-7px 0 19px;font-size:.75rem;line-height:1.55}
.account-empty{font-size:.88rem;line-height:1.65}
.account-subheading{margin:28px 0 16px;font-size:1.55rem;line-height:1.2}
.child-choice strong{font-size:.95rem;line-height:1.35}
.child-choice small{font-size:.78rem;line-height:1.4}
.room-book-cover{position:relative;z-index:2;border:2px solid rgba(112,145,193,.58);border-radius:3px 6px 6px 3px;box-shadow:12px 16px 22px rgba(0,0,0,.35),inset 8px 0 rgba(0,0,0,.12),inset 0 2px 1px rgba(255,255,255,.2)}
.room-book-cover::before{position:absolute;z-index:-2;inset:2px -8px -3px 5px;border:1px solid rgba(93,132,185,.45);border-radius:3px 6px 6px 3px;background:#0b2448;box-shadow:5px 6px 9px rgba(0,0,0,.3);content:""}
.room-book-cover::after{position:absolute;z-index:-1;inset:5px -5px 5px 7px;border-radius:0 3px 3px 0;background:repeating-linear-gradient(0deg,rgba(96,78,50,.1) 0 1px,transparent 1px 5px),linear-gradient(90deg,#c2b69f,#e9dfca 45%,#aa997b);content:""}
@media(max-width:700px){.story-meaning{min-height:auto;padding:76px 20px 58px}.story-meaning-orb{display:none}.story-meaning h2 br{display:none}.character-styles{padding-top:48px}}
@media(max-width:820px){.likeness-proof{grid-template-columns:1fr;gap:36px;padding-block:62px}.likeness-proof-copy{max-width:620px;text-align:center;margin-inline:auto}.likeness-proof-copy>p:last-of-type{margin-inline:auto}.likeness-proof-copy h2 br{display:none}.likeness-proof-visual{width:min(100%,720px);margin-inline:auto;border-radius:20px}}
@media(max-width:560px){.likeness-proof{width:min(calc(100% - 36px),1320px);padding-block:50px}.likeness-proof-copy h2{font-size:clamp(2.65rem,13vw,3.5rem)}.likeness-proof-visual{border-radius:16px}}
@media(max-width:700px){.section-transition{width:min(82vw,520px);height:30px}.section-transition::before{height:23px}}
@media(max-width:820px){.character-styles-showcase{grid-template-columns:180px 52px minmax(480px,1fr);overflow-x:auto;padding:8px 4px 22px;scrollbar-width:thin;scrollbar-color:rgba(155,124,255,.42) transparent}.character-style-grid{min-width:480px}.character-styles-heading{margin-bottom:42px}}
@media(max-width:560px){.character-styles{width:100%;padding-block:78px}.character-styles-heading{width:min(calc(100% - 36px),820px)}.character-styles-heading h2{font-size:clamp(2.3rem,11vw,3.2rem)}.character-styles-showcase{width:100%;grid-template-columns:150px 36px minmax(440px,1fr);padding-inline:18px}.character-transform::after{width:11px;height:11px}.character-style-grid{min-width:440px;gap:12px}.character-portrait{border-radius:14px}.character-styles figcaption{font-size:.7rem}.character-styles-action{margin-top:34px}}
@media(max-width:560px){.character-styles{padding-bottom:22px}}
@media(max-width:820px){.character-worlds{min-width:480px}}
@media(max-width:560px){.character-worlds{min-width:440px}.worlds-label{text-align:left}.character-worlds-question{width:min(calc(100% - 36px),520px)}}
@media(prefers-reduced-motion:reduce){.character-worlds figure,.character-worlds .character-portrait{transition:none}.character-worlds figure:hover{transform:none}}
@media(max-width:560px){.legal-page{width:min(calc(100% - 36px),900px);padding-block:42px 68px}}
@media(max-width:560px){.account-page{width:min(calc(100% - 28px),1320px);padding-block:34px 48px}.account-card{padding:28px 21px;border-radius:20px}.account-card h1{font-size:clamp(2.15rem,11vw,2.75rem)}.account-intro{font-size:.92rem}.auth-links{align-items:center;flex-direction:column;gap:13px}}

/* Readable supporting typography across customer pages. */
.featured-room .story-age,.featured-room .story-preview-link{font-size:.7rem;line-height:1.4}
.journey-number{font-size:.78rem}
.catalogue-reader-preload-heading{font-size:.75rem}
.catalogue-reader-preload-detail,.catalogue-reader-counter{font-size:.78rem}
.site-footer h2{font-size:.76rem}
.site-footer .footer-brand p{font-size:.88rem;line-height:1.72}
.site-footer .footer-brand small{color:#858296;font-size:.75rem;line-height:1.55}
.site-footer .footer-email{font-size:.88rem}
.site-footer address{color:#aaa7ba;font-size:.8rem;line-height:1.7}
.site-footer .footer-link-grid a{font-size:.8rem;line-height:1.45}
@media(max-width:700px){.hero-book-tab{font-size:.72rem}.catalogue-cover-open-hint strong{font-size:.62rem}.catalogue-reader-lock p{font-size:.8rem}.catalogue-reader-lock .button{font-size:.76rem}.character-styles figcaption{font-size:.78rem}}

/* Premium interactive story discovery. */
.discover{position:relative;isolation:isolate;padding-top:clamp(76px,8vw,118px);overflow:visible}
.discover::before{position:absolute;z-index:-2;top:0;right:50%;width:100%;height:100%;background:radial-gradient(circle at 82% 7%,rgba(98,71,210,.2),transparent 28rem),radial-gradient(circle at 12% 48%,rgba(30,110,205,.09),transparent 30rem);content:"";transform:translateX(50%);pointer-events:none}
.discover-aurora{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.discover-aurora span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #a68aff;opacity:.55;animation:discover-star 4.5s ease-in-out infinite}
.discover-aurora span:nth-child(1){top:5%;right:18%}.discover-aurora span:nth-child(2){top:24%;right:5%;width:5px;height:5px;animation-delay:-1.4s}.discover-aurora span:nth-child(3){top:36%;left:48%;width:4px;height:4px;animation-delay:-2.8s}
@keyframes discover-star{50%{opacity:.16;transform:scale(.65)}}
.discover-heading{align-items:center;margin-bottom:clamp(44px,6vw,76px)}
.discover-heading>div:first-of-type{max-width:780px}
.discover-heading h1{margin:0 0 20px;font-size:clamp(3.2rem,6vw,6.2rem);line-height:.94;letter-spacing:-.045em}
.discover-heading h1 em{background:linear-gradient(100deg,#f187ce,#a780ff 48%,#68a8ff);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:inherit}
.discover-heading p:last-child{max-width:620px;color:#b7b4c7;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.7}
.discover-heading-note{display:grid;min-width:150px;padding:22px;border:1px solid rgba(167,128,255,.22);border-radius:22px;background:linear-gradient(145deg,rgba(35,30,77,.72),rgba(15,17,43,.7));text-align:center;box-shadow:0 22px 55px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(14px)}
.discover-heading-note span{color:#e66ac1;font-size:1.5rem}.discover-heading-note strong{margin-top:7px;font-size:.82rem}.discover-heading-note small{margin-top:4px;color:#8f8da1;font-size:.72rem}
.discover-catalogue{position:relative;padding:clamp(22px,3vw,34px);border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(145deg,rgba(18,20,47,.82),rgba(9,11,31,.68));box-shadow:0 35px 100px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(18px)}
.discover-filter-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;margin-bottom:20px}
.discover-filter-intro{display:flex;align-items:center;gap:13px}.discover-filter-intro>div{display:grid;gap:3px}.discover-filter-intro strong{font-size:.94rem}.discover-filter-intro small,.discover-result-count{color:#8f8da1;font-size:.76rem}
.discover-filter-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(183,145,255,.22);border-radius:13px;background:rgba(132,89,244,.1);color:#d0bbff;font-size:1.2rem}
.discover-result-count{margin:0}.discover-clear{min-height:36px;padding:0 13px;border:1px solid rgba(176,142,255,.22);border-radius:999px;background:rgba(139,92,246,.08);color:#cbb8ff;cursor:pointer;font:inherit;font-size:.73rem;font-weight:700}
.discover-clear:hover{border-color:#a982ff;background:rgba(139,92,246,.16);color:#fff}
.discover-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:clamp(30px,4vw,48px)}
.discover-filters label{display:grid;gap:8px;margin:0;color:#aaa7ba;font-size:.75rem;font-weight:700}
.discover-filters select{width:100%;min-height:52px;padding:0 44px 0 16px;border:1px solid rgba(255,255,255,.11);border-radius:14px;outline:0;background-color:#0b0d27;background-image:linear-gradient(45deg,transparent 50%,#bca9f5 50%),linear-gradient(135deg,#bca9f5 50%,transparent 50%);background-position:calc(100% - 19px) 22px,calc(100% - 13px) 22px;background-repeat:no-repeat;background-size:6px 6px;color:#f4f1fa;font:inherit;font-size:.86rem;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s,background-color .2s}
.discover-filters select:hover{border-color:rgba(174,137,255,.38);background-color:#10132f}.discover-filters select:focus{border-color:#9c7aff;box-shadow:0 0 0 3px rgba(156,122,255,.13)}
.discover-story-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(20px,3vw,34px)}
.discover .story-card{position:relative;max-width:390px;padding:12px 12px 22px;overflow:hidden;border-color:rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(155deg,rgba(31,33,70,.76),rgba(12,14,37,.9));box-shadow:0 22px 55px rgba(0,0,0,.23);opacity:1;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));animation:discover-card-in .55s cubic-bezier(.2,.78,.25,1) backwards;animation-delay:calc(var(--card-index,0)*70ms);transform-style:preserve-3d;transition:border-color .25s,box-shadow .25s,transform .18s}
@keyframes discover-card-in{from{opacity:0;transform:perspective(1000px) translateY(14px)}}
.discover .story-card::before{position:absolute;z-index:0;top:-35%;left:-55%;width:65%;height:150%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);content:"";transform:rotate(18deg);transition:left .65s ease;pointer-events:none}
.discover .story-card:hover,.discover .story-card:focus-visible{border-color:rgba(172,132,255,.48);box-shadow:0 30px 75px rgba(0,0,0,.34),0 0 45px rgba(112,75,220,.12);outline:0;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px)}
.discover .story-card:hover::before{left:115%}.discover .story-card .book{transition:filter .3s,transform .3s}.discover .story-card:hover .book{filter:drop-shadow(16px 22px 22px rgba(0,0,0,.52));transform:translateZ(10px) rotateZ(-.6deg)}
.discover .story-card-details{position:relative;z-index:1;padding:21px 10px 0}.discover .story-card-title{margin-bottom:9px;font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.16}.discover .story-age{margin-bottom:20px;font-size:.82rem}.discover .story-preview-link{display:flex;align-items:center;justify-content:space-between;color:#d0baff;font-size:.84rem}.discover .story-preview-link::after{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgba(154,117,255,.13);content:"→";transition:background .2s,transform .2s}.discover .story-card:hover .story-preview-link::after{background:#8b62ef;color:#fff;transform:translateX(3px)}
.story-taxonomy{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.story-taxonomy span{padding:5px 8px;border:1px solid rgba(151,126,222,.18);border-radius:999px;background:rgba(133,89,232,.08);color:#b8a6e4;font-size:.64rem;font-weight:700;text-transform:capitalize}
.discover-no-results{grid-column:1/-1;min-height:260px}
@media(max-width:760px){.discover-heading{align-items:flex-start}.discover-heading h1 br{display:none}.discover-heading-note{display:none}.discover-filter-heading{grid-template-columns:1fr auto}.discover-result-count{grid-column:1/-1;grid-row:2}.discover-filters{grid-template-columns:1fr}.discover-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.discover{padding-top:58px}.discover-heading h1{font-size:clamp(2.85rem,14vw,4rem)}.discover-catalogue{margin-inline:-8px;padding:18px 12px;border-radius:22px}.discover-filter-icon{display:none}.discover-filter-intro strong{font-size:.88rem}.discover-story-grid{grid-template-columns:1fr}.discover .story-card{max-width:none}.discover-filters select{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.discover-aurora span,.discover .story-card{animation:none;opacity:1}.discover .story-card,.discover .story-card:hover{transform:none}}

/* Premium, friendly first step of story creation. */
.creation{position:relative;isolation:isolate;padding-block:clamp(58px,7vw,100px);grid-template-columns:minmax(340px,.7fr) minmax(0,1fr);gap:clamp(44px,6vw,92px)}
.creation::before{position:absolute;z-index:-1;inset:0 -15vw;background:radial-gradient(circle at 15% 34%,rgba(54,112,230,.12),transparent 25rem),radial-gradient(circle at 78% 16%,rgba(147,70,220,.16),transparent 29rem);content:"";pointer-events:none}
.creation-summary{top:112px;padding:20px 10px;border:0;border-radius:0;background:transparent;box-shadow:none}
.creation-summary::before{position:absolute;z-index:-1;top:18%;right:4%;left:4%;height:58%;border-radius:50%;background:radial-gradient(circle,rgba(111,78,224,.2),transparent 68%);content:"";filter:blur(20px)}
.creation-summary .eyebrow{margin-bottom:18px}
.creation-summary-book{width:min(100%,390px);margin:0 auto 34px;filter:drop-shadow(0 32px 42px rgba(0,0,0,.42));transition:transform .35s cubic-bezier(.2,.75,.25,1),filter .35s}
.creation-summary:hover .creation-summary-book{filter:drop-shadow(0 35px 42px rgba(0,0,0,.45)) drop-shadow(0 0 20px rgba(112,82,225,.18));transform:translateY(-8px) rotate(-1deg)}
.creation-summary h2{max-width:360px;margin:0 auto 11px;font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.12}
.creation-summary .creation-summary-meta{display:inline-flex;margin:0;padding:7px 12px;border:1px solid rgba(151,122,231,.18);border-radius:999px;background:rgba(126,84,225,.08);color:#b9add8;font-size:.78rem}
.creation-panel{position:relative;width:min(100%,820px);padding:clamp(30px,5vw,62px);overflow:hidden;border-color:rgba(255,255,255,.1);border-radius:32px;background:radial-gradient(circle at 100% 0,rgba(103,62,206,.15),transparent 25rem),linear-gradient(145deg,rgba(20,22,54,.94),rgba(11,13,37,.96));box-shadow:0 38px 100px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.05)}
.creation-panel::before{position:absolute;top:0;right:12%;left:12%;height:1px;background:linear-gradient(90deg,transparent,#a578ff,transparent);content:""}
.creation-panel .back-link{margin-bottom:28px;font-size:.8rem;transition:color .2s,transform .2s}.creation-panel .back-link:hover{color:#fff;transform:translateX(-3px)}
.creation-steps{display:grid;margin:0 0 42px;grid-template-columns:repeat(3,1fr);gap:8px}
.creation-steps span{position:relative;display:flex;min-width:0;align-items:center;gap:8px;color:#6f6d81;font-size:.67rem;font-weight:700;white-space:nowrap}
.creation-steps span:not(:last-child)::after{height:1px;min-width:12px;flex:1;background:rgba(255,255,255,.09);content:""}
.creation-steps b{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;font-size:.65rem}
.creation-steps .is-current{color:#d7c9ff}.creation-steps .is-current b{border-color:rgba(183,145,255,.5);background:linear-gradient(135deg,#d94fba,#7555f1);color:#fff;box-shadow:0 0 20px rgba(131,84,241,.3)}
.creation-panel>.eyebrow{margin-bottom:14px}.creation-panel h1{max-width:720px;margin-bottom:18px;font-size:clamp(3rem,5.4vw,5.3rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.creation-intro{margin-bottom:38px;color:#b0aec1;font-size:.96rem}
.creation-form{gap:0}.creation-field{position:relative}.creation-field label{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#f0edf8;font-size:.82rem}.creation-field label span{color:#b79aff}
.creation-form input,.creation-form select{min-height:58px;margin-bottom:0;padding:0 17px;border-color:rgba(255,255,255,.11);border-radius:14px;background-color:#090b25;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background-color .2s}
.creation-form input:hover,.creation-form select:hover{border-color:rgba(171,134,255,.32);background-color:#0d102c}
.creation-field-name{margin-bottom:24px}.creation-field-name .field-error{margin:9px 0 0}
.creation-choice-grid{display:grid;margin-bottom:30px;grid-template-columns:1fr 1fr;gap:14px}
.creation-form select{padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#c2aff4 50%),linear-gradient(135deg,#c2aff4 50%,transparent 50%);background-position:calc(100% - 19px) 25px,calc(100% - 13px) 25px;background-repeat:no-repeat;background-size:6px 6px;appearance:none;-webkit-appearance:none}
.creation-next{min-height:60px!important;padding:0 20px 0 25px!important;justify-content:space-between!important;border-radius:16px!important;font-size:.92rem!important;transition:transform .2s,box-shadow .2s}
.creation-next b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);font-size:1rem;transition:transform .2s}.creation-next:hover{box-shadow:0 17px 42px rgba(124,84,255,.34);transform:translateY(-2px)}.creation-next:hover b{transform:translateX(3px)}
@media(max-width:920px){.creation{grid-template-columns:1fr}.creation-summary{position:relative;top:auto;display:grid;max-width:760px;margin:auto;grid-template-columns:180px 1fr;align-items:center;text-align:left}.creation-summary .eyebrow{grid-column:2;margin-bottom:7px}.creation-summary-book{grid-row:1/4;width:150px;margin:0 30px 0 0}.creation-summary h2{margin:0 0 8px}.creation-summary .creation-summary-meta{justify-self:start}.creation-panel{margin-inline:auto}}
@media(max-width:700px){.creation-summary{display:none}.creation-panel{padding:27px 20px;border-radius:24px}.creation-steps{margin-bottom:34px}.creation-steps span{font-size:0}.creation-steps span:not(:last-child)::after{display:block}.creation-steps b{font-size:.68rem}.creation-panel h1{font-size:clamp(2.7rem,13vw,4rem)}.creation-intro{font-size:.9rem}.creation-choice-grid{grid-template-columns:1fr;gap:20px}.creation-form input,.creation-form select{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.creation-summary-book,.creation-next{transition:none}.creation-summary:hover .creation-summary-book,.creation-next:hover{transform:none}}

/* Keep book depth neutral against the Cerika environment. */
.catalogue-reader-surface{background:#101127;box-shadow:-5px 7px 0 rgba(30,28,67,.52),-9px 12px 0 rgba(14,14,38,.42),0 35px 70px rgba(8,6,20,.5)}
.catalogue-reader-surface.is-cover{background:transparent;box-shadow:none}
.catalogue-reader-surface.is-cover>img,.catalogue-reader-closing-cover.is-cover>img{filter:drop-shadow(-7px 10px 0 rgba(26,24,58,.5)) drop-shadow(0 28px 32px rgba(8,6,20,.5))}
@media(max-width:620px){.catalogue-reader-surface{box-shadow:-3px 4px 0 rgba(30,28,67,.48),-6px 8px 0 rgba(14,14,38,.36),0 18px 34px rgba(8,6,20,.46)}.catalogue-reader-surface.is-cover{box-shadow:none}}

/* A consistent premium finish across the customer journey. */
.photo-page,.account-page,.empty-state{position:relative;isolation:isolate;overflow:hidden}
.photo-page::before,.account-page::before,.empty-state::before{position:absolute;z-index:-1;inset:0 -20vw;background:radial-gradient(circle at 18% 18%,rgba(50,111,226,.12),transparent 25rem),radial-gradient(circle at 82% 8%,rgba(171,66,196,.14),transparent 27rem);content:"";pointer-events:none}
.account-page.page-section{width:100%;padding-inline:clamp(14px,3vw,44px)}
.account-page::before{inset:0}
.photo-page{overflow:visible}
.photo-page::before{top:0;right:auto;bottom:0;left:50%;width:100vw;transform:translateX(-50%)}
.photo-panel{width:min(100%,920px);padding-inline:clamp(24px,4vw,48px);border:0;background:transparent;box-shadow:none;animation:photo-page-in .6s cubic-bezier(.2,.75,.25,1) both}
.photo-panel::before{display:none}
.photo-panel .creation-intro{margin-bottom:26px}
.photo-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 30px}
.photo-example{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#11142f;box-shadow:0 14px 32px rgba(0,0,0,.2);transition:transform .25s ease,box-shadow .25s ease}
.photo-example:hover{z-index:1;box-shadow:0 20px 42px rgba(0,0,0,.3);transform:translateY(-5px)}
.photo-example img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.photo-example figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;color:#fff}
.photo-example figcaption span{font-size:.72rem;font-weight:800;letter-spacing:.03em}.photo-example figcaption small{color:#aaa9bf;font-size:.67rem;text-align:right}
.photo-example.is-good figcaption span{color:#6ee7b7}.photo-example.is-bad img{filter:saturate(.72)}.photo-example.is-bad figcaption span{color:#f6a3b5}
.photo-dropzone{position:relative;overflow:hidden;min-height:260px;border:0;border-radius:22px;background:radial-gradient(circle at 50% 45%,rgba(102,74,215,.17),transparent 14rem),rgba(139,92,246,.055);box-shadow:inset 0 0 0 1px rgba(184,145,255,.16),0 18px 45px rgba(0,0,0,.14);transition:background .25s,box-shadow .25s,transform .25s}
.photo-dropzone::after{position:absolute;top:-60%;left:-35%;width:35%;height:210%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);content:"";transform:rotate(18deg);transition:left .65s;pointer-events:none}
.photo-dropzone:hover{background:radial-gradient(circle at 50% 45%,rgba(118,80,230,.24),transparent 15rem),rgba(139,92,246,.08);box-shadow:inset 0 0 0 1px rgba(184,145,255,.3),0 24px 60px rgba(0,0,0,.2);transform:translateY(-3px)}
.photo-dropzone:hover::after{left:125%}
.photo-preview{border:0;background:linear-gradient(145deg,rgba(147,97,239,.24),rgba(46,95,185,.14));box-shadow:0 15px 35px rgba(0,0,0,.2);animation:photo-add-pulse 2.4s ease-in-out infinite}
.photo-dropzone.has-photo .photo-preview{animation:none;box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 4px rgba(110,231,183,.13)}
.optional-characters{margin:6px 0 24px;border:0;border-radius:18px;background:rgba(255,255,255,.028)}
.optional-characters summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}.optional-characters summary::-webkit-details-marker{display:none}
.optional-characters summary span{display:grid;gap:4px}.optional-characters summary strong{font-size:.86rem}.optional-characters summary small,.optional-characters-intro{color:#9694a9;font-size:.73rem;line-height:1.5}.optional-characters summary b{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:50%;background:rgba(177,139,255,.1);color:#c5a6ff;transition:transform .25s ease}.optional-characters[open] summary b{transform:rotate(45deg)}
.optional-characters-intro{margin:0;padding:0 20px 16px}
.optional-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}
.optional-photo{display:grid;min-width:0;padding:12px;border-radius:15px;background:rgba(9,11,33,.58);cursor:pointer;text-align:center;transition:background .2s ease,transform .2s ease}.optional-photo:hover{background:rgba(139,92,246,.09);transform:translateY(-2px)}.optional-photo input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.optional-photo-preview{display:grid;width:76px;aspect-ratio:1;margin:0 auto 10px;overflow:hidden;place-items:center;border-radius:50%;background:rgba(139,92,246,.1);color:#b995ff;font-size:1.25rem}.optional-photo-preview img{width:100%;height:100%;object-fit:cover}.optional-photo strong{font-size:.76rem}.optional-photo small{overflow:hidden;margin-top:3px;color:#8f8da1;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.optional-photo.has-photo .optional-photo-preview{box-shadow:0 0 0 3px rgba(110,231,183,.12)}
.photo-guidance{display:none}
.privacy-note{border:0;border-radius:15px;background:linear-gradient(135deg,rgba(52,120,255,.07),rgba(133,81,220,.05))}
@keyframes photo-page-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes photo-add-pulse{0%,100%{box-shadow:0 15px 35px rgba(0,0,0,.2),0 0 0 0 rgba(177,139,255,.16)}50%{box-shadow:0 15px 35px rgba(0,0,0,.2),0 0 0 10px rgba(177,139,255,0)}}
.character-pending{text-align:center}.character-pending h1,.character-pending .creation-intro{margin-inline:auto}.character-pending .button{min-height:58px;margin-top:8px}
.character-reference-gallery{display:grid;max-width:720px;margin:8px auto 24px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.character-reference-card{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:19px;background:#10132e;box-shadow:0 16px 36px rgba(0,0,0,.25),inset 0 0 0 1px rgba(184,149,255,.12);animation:reference-card-in .45s cubic-bezier(.2,.75,.25,1) both}.character-reference-card.is-primary{box-shadow:0 18px 42px rgba(0,0,0,.3),0 0 0 1px rgba(183,146,255,.42)}.character-reference-card.is-primary::before{position:absolute;z-index:1;top:10px;left:10px;padding:5px 8px;border-radius:999px;background:rgba(11,13,36,.82);color:#d2baff;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;content:"Primary";backdrop-filter:blur(8px)}.character-reference-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.character-reference-card figcaption{display:grid;gap:3px;padding:12px;color:#e8e2f8;text-align:left}.character-reference-card figcaption strong{font-size:.72rem}.character-reference-card figcaption small{color:#8f8ca1;font-size:.61rem;font-weight:500}.character-reference-card.is-primary figcaption strong{color:#cdb5ff}.character-reference-note{max-width:610px;margin:0 auto 22px;color:#9693a8;font-size:.73rem;line-height:1.6}@keyframes reference-card-in{from{opacity:0;transform:translateY(12px) scale(.97)}}
.account-card{position:relative;overflow:hidden;border-color:rgba(255,255,255,.1);background:radial-gradient(circle at 100% 0,rgba(115,66,216,.14),transparent 22rem),linear-gradient(145deg,rgba(18,20,48,.97),rgba(10,12,33,.96));box-shadow:0 36px 100px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.05)}
.account-card::before{position:absolute;top:0;right:14%;left:14%;height:1px;background:linear-gradient(90deg,transparent,#a779ff,transparent);content:""}
.account-card.account-dashboard{width:min(100%,1080px)}
.account-dashboard>h1{max-width:760px}.account-dashboard>.story-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.account-card.preview-card{width:min(100%,1180px);text-align:center}.preview-card h1,.preview-card .account-intro{margin-inline:auto}.preview-card .published-spread{margin-top:36px}.preview-card>.button{margin-top:25px}
.preview-card .published-spread-single{position:relative;width:min(100%,980px);aspect-ratio:2/1;border:0;border-radius:5px 11px 11px 5px;background:#151515;box-shadow:-5px 7px 0 rgba(85,65,42,.48),-10px 13px 0 rgba(54,40,25,.34),0 38px 85px rgba(5,5,20,.55),0 0 75px rgba(112,76,221,.12)}
.preview-card .published-spread-single::before{position:absolute;z-index:2;inset:0;border:1px solid rgba(255,255,255,.13);border-radius:inherit;content:"";pointer-events:none}
.preview-card .published-spread-single::after{position:absolute;z-index:3;top:0;bottom:0;left:50%;width:2.4%;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.1) 46%,rgba(0,0,0,.25));content:"";pointer-events:none;transform:translateX(-50%)}
.preview-card .published-spread-single img{object-fit:cover}
.preview-card:has(.published-spread-single) .account-intro{margin-bottom:4px}.preview-card:has(.published-spread-single)>.auth-status{margin-top:30px;color:#bcb8ca}.preview-card:has(.published-spread-single)>.button{min-width:min(100%,360px);box-shadow:0 18px 44px rgba(99,73,236,.28)}
.preview-generation{width:min(100%,640px);margin:30px auto 0;padding:30px;border-radius:26px;background:linear-gradient(145deg,rgba(29,28,72,.72),rgba(11,14,39,.78));box-shadow:inset 0 0 0 1px rgba(187,151,255,.14),0 28px 70px rgba(0,0,0,.24)}
.preview-magic{position:relative;display:grid;width:180px;aspect-ratio:1;margin:0 auto 24px;place-items:center}.preview-magic img{position:relative;z-index:2;width:92px;filter:drop-shadow(0 0 12px rgba(72,198,255,.72)) drop-shadow(0 0 26px rgba(219,54,221,.48));animation:preview-logo-breathe 2.5s ease-in-out infinite}.preview-magic-glow{position:absolute;inset:4px;border-radius:50%;background:conic-gradient(from 30deg,rgba(243,61,187,.3),rgba(68,128,255,.28),rgba(37,232,255,.2),rgba(243,61,187,.3));filter:blur(25px);animation:preview-aurora 5s linear infinite}.preview-magic i{position:absolute;color:#d8c4ff;font-style:normal;animation:character-float 2.6s ease-in-out infinite}.preview-magic i:nth-of-type(1){top:15%;right:11%}.preview-magic i:nth-of-type(2){bottom:17%;left:9%;font-size:.65rem;animation-delay:-1.2s}
.preview-progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#eee9ff;text-align:left}.preview-progress-head strong{font-size:.78rem}.preview-progress-head b{color:#c9a8ff;font-size:.8rem}.preview-progress-track{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}.preview-progress-track span{display:block;width:25%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ed4db2,#9258f7,#378dff);box-shadow:0 0 18px rgba(115,91,255,.5);transition:width .7s ease}
.preview-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;padding:0;list-style:none;text-align:left}.preview-steps li{display:flex;gap:9px;padding:11px;border-radius:14px;color:#77758a;background:rgba(255,255,255,.018)}.preview-steps li>b{display:grid;width:25px;height:25px;flex:none;place-items:center;border-radius:50%;background:#191a39;font-size:.65rem}.preview-steps li>span{display:grid;gap:3px}.preview-steps strong{font-size:.68rem}.preview-steps small{font-size:.58rem;line-height:1.4}.preview-steps .is-active,.preview-steps .is-complete{color:#ece8f8;background:rgba(139,92,246,.065)}.preview-steps .is-active>b{background:linear-gradient(135deg,#ea4eaf,#725fff);color:#fff;box-shadow:0 0 17px rgba(137,83,239,.35)}.preview-steps .is-complete>b{background:rgba(110,231,183,.14);color:#6ee7b7}.preview-steps .is-complete>b{font-size:0}.preview-steps .is-complete>b::after{font-size:.75rem;content:"✓"}
.preview-wait-tip{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:15px;background:linear-gradient(135deg,rgba(44,111,228,.08),rgba(126,78,214,.06));color:#70d9ff;text-align:left}.preview-wait-tip>span:last-child{display:grid;gap:3px}.preview-wait-tip strong{color:#e4ecff;font-size:.7rem}.preview-wait-tip small{color:#9b99ad;font-size:.63rem;line-height:1.45}.preview-generation-status{margin:17px auto 0!important;color:#c5bdd5!important;font-size:.72rem}
@keyframes preview-logo-breathe{50%{filter:drop-shadow(0 0 18px rgba(72,198,255,.9)) drop-shadow(0 0 38px rgba(219,54,221,.7));transform:scale(1.055)}}@keyframes preview-aurora{to{transform:rotate(1turn)}}
.account-card.character-card{width:min(100%,650px);text-align:center}.character-card h1,.character-card .account-intro{margin-inline:auto}.character-card>.photo-preview{width:min(100%,330px);height:auto;aspect-ratio:1;margin:10px auto 22px;border-radius:28px}.character-card>.button{margin:8px 5px 0}
.character-card{overflow:hidden}.character-progress-visual{position:relative;display:grid;width:min(72vw,330px);aspect-ratio:1;margin:4px auto 28px;place-items:center;border-radius:30px;background:radial-gradient(circle at 50% 46%,rgba(165,118,255,.24),transparent 28%),linear-gradient(145deg,#242050,#10152f);box-shadow:inset 0 0 0 1px rgba(192,161,255,.14),0 24px 55px rgba(0,0,0,.28)}.character-orbit{width:44%;aspect-ratio:1;border:2px solid rgba(199,169,255,.16);border-top-color:#c7a9ff;border-radius:50%;animation:character-spin 2.2s linear infinite}.character-orbit::after{display:block;width:12px;aspect-ratio:1;margin:9px;border-radius:50%;background:#f05abb;box-shadow:0 0 22px #f05abb;content:""}.character-spark{position:absolute;color:#d8c1ff;animation:character-float 2.6s ease-in-out infinite}.spark-one{top:24%;right:22%;font-size:1.2rem}.spark-two{bottom:22%;left:24%;font-size:.72rem;animation-delay:-1.1s}.character-progress-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:#eee9ff;font-size:.8rem}.character-percent{color:#c5a8ff;font-weight:800}.character-progress-track{height:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.character-progress-track>span{display:block;width:10%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ec4bab,#9b52f2,#3789ff);box-shadow:0 0 16px rgba(126,87,255,.48);transition:width .7s cubic-bezier(.2,.75,.25,1)}.character-progress-track.is-failed>span{background:#e56b7b}.character-activity{display:grid;gap:0;margin:24px 0;padding:0;text-align:left;list-style:none}.character-activity li{position:relative;display:flex;gap:13px;padding:0 0 20px;color:#777589}.character-activity li:not(:last-child)::after{position:absolute;top:28px;bottom:0;left:13px;width:1px;background:rgba(255,255,255,.09);content:""}.character-activity b{z-index:1;display:grid;width:27px;height:27px;flex:none;place-items:center;border-radius:50%;background:#171832;color:#777589;font-size:.65rem}.character-activity span{display:grid;gap:3px}.character-activity strong{font-size:.76rem}.character-activity small{font-size:.67rem}.character-activity .is-complete,.character-activity .is-active{color:#eee9ff}.character-activity .is-complete b{background:rgba(110,231,183,.13);color:#6ee7b7}.character-activity .is-active b{background:linear-gradient(135deg,#e74cad,#725cff);color:#fff;box-shadow:0 0 18px rgba(132,83,241,.34)}.character-leave-note{display:flex;gap:12px;margin:4px 0 18px;padding:15px 17px;border-radius:15px;background:rgba(57,117,224,.07);color:#71d6ff;text-align:left}.character-leave-note>span:last-child{display:grid;gap:3px}.character-leave-note strong{color:#dfeaff;font-size:.72rem}.character-leave-note small{color:#979bad;font-size:.67rem;line-height:1.5}.character-review-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.character-review-actions .button{width:auto}.character-card>.photo-preview[hidden]{display:none}.character-resume{position:fixed;z-index:40;right:22px;bottom:22px;display:flex;align-items:center;gap:11px;min-width:260px;padding:14px 16px;border:1px solid rgba(190,151,255,.25);border-radius:17px;background:rgba(15,16,42,.94);box-shadow:0 20px 55px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(18px);color:#fff}.character-resume>span:nth-child(2){display:grid;gap:2px;flex:1}.character-resume strong{font-size:.73rem}.character-resume small{color:#aaa7ba;font-size:.64rem}.character-resume>b{color:#c8a9ff}.character-resume-spinner{width:22px;height:22px;border:2px solid rgba(195,163,255,.2);border-top-color:#bc91ff;border-radius:50%;animation:character-spin 1.2s linear infinite}@keyframes character-spin{to{transform:rotate(1turn)}}@keyframes character-float{50%{opacity:.45;transform:translateY(-8px) rotate(18deg)}}
.account-card.payment-card{text-align:center}.payment-card h1,.payment-card .account-intro{margin-inline:auto}.payment-card>.button{margin-top:18px}
.account-empty{border-color:rgba(163,128,255,.17);border-radius:17px;background:linear-gradient(145deg,rgba(139,92,246,.07),rgba(45,72,135,.045))}
.account-empty>summary{cursor:pointer;color:#ded7f3;font-weight:700}.account-empty>summary:hover{color:#fff}
.child-choice{transition:border-color .2s,background .2s,transform .2s}.child-choice:hover{border-color:rgba(173,137,255,.38);background:rgba(139,92,246,.1);transform:translateY(-2px)}
.room-page{position:relative;padding:clamp(34px,5vw,68px);border:1px solid rgba(255,255,255,.08);box-shadow:0 35px 100px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06)}
.room-page::before{position:absolute;top:32px;right:7%;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 20px #c1a6ff,-180px 80px 0 -2px rgba(255,255,255,.7),-400px 20px 0 -3px #fff;content:"";opacity:.7}
.room-heading h1{margin:8px 0 14px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,6vw,5.2rem);line-height:1}.room-heading>p:last-child{color:#c2bdd0;line-height:1.7}
.room-shelf{margin-inline:calc(clamp(34px,5vw,68px)*-1);padding-inline:clamp(34px,8vw,110px);scrollbar-color:rgba(187,150,255,.45) transparent}.room-book strong{line-height:1.35}.room-book small{color:#bdb8cb}
.room-recommendations{padding-top:56px}.room-recommendations h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3rem)}
.preview.page-section{position:relative}.preview .section-heading h1{font-size:clamp(2.7rem,5vw,4.7rem)}.preview .published-spread{box-shadow:0 38px 100px rgba(0,0,0,.45),0 0 70px rgba(109,75,211,.12)}
.preview.page-section>p,.preview.page-section>ol{max-width:68ch;line-height:1.7}
.preview.page-section>ol{padding-inline-start:1.5em;margin-block:24px 0}
.preview.page-section>ol>li+li{margin-top:16px}
.draft-controls{gap:10px}.draft-controls .button{transition:transform .2s,box-shadow .2s}.draft-controls .button:hover{transform:translateY(-2px)}
.empty-state{display:grid;align-content:center;justify-items:center;gap:20px}.empty-state h1{max-width:760px;margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,7vw,6rem);line-height:.98}
.legal-page{position:relative}.legal-page::before{position:absolute;z-index:-1;top:0;right:50%;width:100vw;height:380px;background:radial-gradient(circle at 50% 0,rgba(117,75,218,.13),transparent 34rem);content:"";transform:translateX(50%)}.legal-page>p,.legal-page>ul,.legal-page>address{color:#b1aec0}.legal-page h2{padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}
@media(max-width:700px){.photo-panel{padding-inline:0}.photo-examples{gap:8px}.photo-example{border-radius:13px}.photo-example figcaption{display:block;padding:9px}.photo-example figcaption span,.photo-example figcaption small{display:block;text-align:left}.photo-example figcaption small{margin-top:3px}.photo-dropzone{min-height:240px}.optional-photo-grid{gap:7px;padding-inline:12px}.optional-photo{padding:9px 5px}.optional-photo-preview{width:62px}.account-card.account-dashboard{padding-inline:20px}.room-page{margin-inline:-8px;padding:27px 20px;border-radius:24px}.room-shelf{margin-inline:-20px;padding-inline:26px}.room-page::before{display:none}.character-card>.photo-preview{max-width:260px}.draft-controls{justify-content:center}}
@media(max-width:700px){.character-progress-visual{width:min(100%,270px)}.character-resume{right:12px;bottom:12px;left:12px;min-width:0}.character-review-actions .button{width:100%}}
@media(max-width:700px){.preview-generation{padding:22px 16px}.preview-magic{width:145px;margin-bottom:18px}.preview-steps{grid-template-columns:1fr}.preview-steps li{padding:10px 12px}.preview-steps small{font-size:.62rem}}
@media(max-width:700px){.preview-card .published-spread-single{width:100%;border-radius:3px 7px 7px 3px;box-shadow:-3px 4px 0 rgba(85,65,42,.45),-6px 8px 0 rgba(54,40,25,.3),0 22px 45px rgba(5,5,20,.5)}}

/* Character review feedback and actions */
.toast-region{position:fixed;z-index:1000;top:92px;right:22px;display:grid;width:min(390px,calc(100vw - 32px));gap:12px;pointer-events:none}
.toast{display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:13px;padding:15px 14px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(15,17,43,.96);color:#f8f7ff;box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(20px);pointer-events:auto;animation:toast-in .24s ease-out both}
.toast::before{position:absolute;inset:0 auto 0 0;width:3px;border-radius:17px 0 0 17px;background:#6ee7b7;content:""}.toast-error::before{background:linear-gradient(#ff77ab,#ff9d68)}
.toast-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:rgba(110,231,183,.12);color:#72efbf;font-size:1.05rem;font-weight:850}.toast-error .toast-icon{background:rgba(255,111,145,.12);color:#ff8ba7}
.toast-copy strong,.toast-copy p{display:block;margin:0}.toast-copy strong{font-size:.79rem}.toast-copy p{margin-top:3px;color:#aaa8ba;font-size:.7rem;line-height:1.45}.toast-dismiss{width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#aaa8ba;cursor:pointer;font-size:1.2rem}.toast-dismiss:hover,.toast-dismiss:focus-visible{background:rgba(255,255,255,.08);color:#fff}
.toast-leaving{animation:toast-out .2s ease-in both}.toast-pulse{animation:toast-pulse .3s ease-out}
@keyframes toast-in{from{opacity:0;transform:translate3d(20px,-8px,0)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate3d(24px,0,0)}}@keyframes toast-pulse{50%{transform:scale(1.015)}}
.character-review-actions[hidden],.character-action-primary[hidden],.character-action-secondary[hidden]{display:none!important}
.character-review-actions{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(300px,1.22fr);align-items:center;gap:24px;margin-top:24px;padding:21px;border:1px solid rgba(190,159,255,.15);border-radius:22px;background:linear-gradient(125deg,rgba(61,42,117,.22),rgba(17,22,52,.86));box-shadow:0 24px 60px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.05);text-align:left}
.character-action-copy{display:grid;gap:4px}.character-action-kicker{color:#bf9cff;font-size:.61rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.character-action-title{color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.15}.character-action-description{color:#9290a5;font-size:.67rem;line-height:1.5}
.character-action-buttons{display:grid;grid-template-columns:1.18fr .82fr;gap:10px}.character-action-primary,.character-action-secondary{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px 11px 18px;border:0;border-radius:18px;color:#fff;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.character-action-primary{background:linear-gradient(115deg,#ed4caf,#9a4ff0 52%,#347fff);box-shadow:0 15px 34px rgba(110,72,238,.3)}.character-action-secondary{border:1px solid rgba(193,164,255,.2);background:rgba(255,255,255,.035)}.character-action-primary:hover,.character-action-secondary:hover{transform:translateY(-2px)}.character-action-primary:hover{box-shadow:0 19px 42px rgba(110,72,238,.4);filter:saturate(1.08)}.character-action-secondary:hover{border-color:rgba(193,164,255,.38);background:rgba(155,111,255,.08)}.character-action-primary>span,.character-action-secondary>span{display:grid;gap:1px}.character-action-primary small,.character-action-secondary small{color:rgba(255,255,255,.68);font-size:.58rem}.character-action-primary strong,.character-action-secondary strong{font-size:.75rem}.character-action-primary>b,.character-action-secondary>b{display:grid;width:35px;height:35px;flex:none;place-items:center;border-radius:50%;background:rgba(255,255,255,.15);font-size:1rem}.character-action-primary:disabled,.character-action-secondary:disabled{cursor:wait;filter:saturate(.45);opacity:.65;transform:none}
@media(max-width:700px){.toast-region{top:76px;right:16px}.character-review-actions{grid-template-columns:1fr;padding:18px}.character-action-buttons{grid-template-columns:1fr}.character-action-primary,.character-action-secondary{width:100%}}
@media(max-width:700px){.character-reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(prefers-reduced-motion:reduce){.photo-panel{animation:none}.photo-preview{animation:none}.photo-example,.photo-dropzone,.optional-photo,.optional-characters summary b,.child-choice,.draft-controls .button{transition:none}.photo-example:hover,.photo-dropzone:hover,.optional-photo:hover,.child-choice:hover,.draft-controls .button:hover{transform:none}.photo-dropzone::after{display:none}}
@media(prefers-reduced-motion:reduce){.character-orbit,.character-spark,.character-resume-spinner{animation:none}.character-progress-track>span{transition:none}}
@media(prefers-reduced-motion:reduce){.preview-magic img,.preview-magic-glow,.preview-magic i{animation:none}.preview-progress-track span{transition:none}}
@media(prefers-reduced-motion:reduce){.character-reference-card{animation:none}}

/* Cerika logo character loader */
.character-progress-visual{isolation:isolate;border-radius:30px;background:radial-gradient(circle,rgba(72,53,147,.12),transparent 65%);box-shadow:none}
.character-logo-aurora{position:absolute;z-index:-1;width:70%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 40deg,rgba(26,224,255,.72),rgba(74,93,255,.68),rgba(201,48,255,.72),rgba(255,47,156,.7),rgba(26,224,255,.72));filter:blur(34px);opacity:.48;animation:character-aurora 4.8s ease-in-out infinite}
.character-logo-aurora::after{position:absolute;inset:19%;border-radius:50%;background:rgba(11,13,38,.78);content:""}
.character-loader-logo{display:block;width:44%;height:44%;object-fit:contain;filter:drop-shadow(0 0 12px rgba(92,214,255,.7)) drop-shadow(0 0 26px rgba(159,65,255,.58)) drop-shadow(0 0 48px rgba(239,55,170,.34));animation:character-logo-breathe 2.8s ease-in-out infinite;will-change:transform,filter}
.character-progress-visual .character-spark{text-shadow:0 0 14px currentColor}
@keyframes character-logo-breathe{0%,100%{transform:scale(.96);filter:drop-shadow(0 0 10px rgba(92,214,255,.58)) drop-shadow(0 0 24px rgba(159,65,255,.48))}50%{transform:scale(1.045);filter:drop-shadow(0 0 18px rgba(92,214,255,.86)) drop-shadow(0 0 38px rgba(159,65,255,.72)) drop-shadow(0 0 58px rgba(239,55,170,.42))}}
@keyframes character-aurora{0%,100%{opacity:.38;transform:scale(.9) rotate(0deg)}50%{opacity:.62;transform:scale(1.08) rotate(180deg)}}
@media(prefers-reduced-motion:reduce){.character-loader-logo,.character-logo-aurora{animation:none}}

.character-review-reference-panel[hidden]{display:none!important}
.character-review-reference-panel{margin:8px 0 24px;padding:20px;border-radius:22px;background:linear-gradient(135deg,rgba(74,56,139,.13),rgba(17,21,49,.62));text-align:left}
.character-review-reference-panel h2{margin:6px 0 5px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.15}
.character-review-reference-panel>p{max-width:570px;margin:0;color:#9592a7;font-size:.68rem;line-height:1.55}
.character-review-reference-gallery{max-width:none;margin:17px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.character-review-reference-gallery:has(.character-reference-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.character-review-reference-gallery .character-reference-card{border-radius:15px;box-shadow:none}
.character-review-reference-gallery .character-reference-card img{aspect-ratio:4/3}
.character-review-reference-gallery .character-reference-card figcaption{padding:9px 10px}
@media(max-width:540px){.character-review-reference-gallery,.character-review-reference-gallery:has(.character-reference-card:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.character-review-reference-panel{padding:17px 14px}}

/* Compact character progress composition */
.account-page{overflow:visible}
.account-page::before{right:0;left:0;width:100%;background:radial-gradient(ellipse 42rem 34rem at 14% 12%,rgba(50,111,226,.11),transparent 72%),radial-gradient(ellipse 46rem 38rem at 86% 8%,rgba(171,66,196,.13),transparent 74%);transform:none}
.account-card.character-card{padding:clamp(28px,4vw,42px)}
.character-card .account-intro{margin-bottom:16px}
.character-progress-visual{width:min(48vw,220px);margin:-2px auto 17px;border-radius:0;background:transparent}
.character-logo-aurora{width:88%;filter:blur(28px);opacity:.42}
.character-loader-logo{width:54%;height:54%}
.character-progress-visual .spark-one{top:17%;right:12%}.character-progress-visual .spark-two{bottom:16%;left:12%}
.character-activity{margin-top:20px}.character-leave-note{margin-top:0}
@media(max-width:700px){.character-progress-visual{width:min(52vw,190px);margin-bottom:14px}.character-card .account-intro{margin-bottom:12px}}

/* Larger landing-page story stack. */
@media(max-width:920px){.hero-visual{min-height:560px}.book-hero{width:min(64%,400px)}}
@media(max-width:700px){.hero-visual{min-height:460px}.book-hero{width:min(74%,320px)}.hero-book-slide.is-active{transform:translateY(1%) scale(.96)}.hero-book-slide.is-left{transform:translateX(-22%) translateY(-2%) scale(.72) rotateZ(-5deg)}.hero-book-slide.is-right{transform:translateX(22%) translateY(-1%) scale(.74) rotateZ(5deg)}}

/* Approved thin hardcover treatment, shared by catalogue, hero and creation. */
.book.hardcover-book{--edge:clamp(6px,.9vw,11px);transform:rotateY(-8deg) rotateZ(-1deg);transform-style:flat;filter:none}
.book.hardcover-book::before{z-index:0;inset:3px calc(-1 * var(--edge) - 3px) -7px 8px;border:1px solid #344a40;border-radius:3px 5px 5px 3px;background:linear-gradient(90deg,#17352d,#244b3e);transform:none;box-shadow:2px 3px 2px #0005,12px 22px 30px #0006}
.book.hardcover-book::after{display:none}
.book.hardcover-book .book-cover{z-index:3;transform:none;border:1px solid #59746866;border-radius:2px 5px 5px 2px;background:#17392f;box-shadow:1px 1px 1px #071b13, inset 0 1px #ffffff26}
.book.hardcover-book .book-cover::after{inset:0;width:auto;border:0;border-radius:inherit;background:linear-gradient(90deg,#0004,transparent 1.1%,#ffffff08 1.6%,#0003 2%,transparent 2.7%,transparent 98%,#0002);box-shadow:inset 0 1px #ffffff30;pointer-events:none}
.hardcover-book .page-edge-side{position:absolute;z-index:2;left:calc(100% - 1px);top:5px;bottom:4px;width:var(--edge);transform:skewY(9deg);transform-origin:left top;border-radius:0 2px 2px 0;background:linear-gradient(180deg,#645a4426,transparent 8%,transparent 92%,#6b5c4433),repeating-linear-gradient(90deg,#eee9dc 0 1px,#bab19f 1px 1.6px,#dfd8c8 1.6px 2.8px);box-shadow:inset 2px 0 3px #534b3b55,inset -1px 0 #f4eddd88}
.hardcover-book .page-edge-bottom{position:absolute;z-index:1;left:6px;right:calc(2px - var(--edge));bottom:-3px;height:4px;background:repeating-linear-gradient(180deg,#c5bcaa 0 1px,#e3dcca 1px 2px);transform:none;transform-origin:left top}
.book.hardcover-book.book-card{--edge:clamp(3px,.5vw,5px)}
.book.hardcover-book.book-card::before{inset:2px calc(-1 * var(--edge) - 2px) -4px 4px;box-shadow:2px 3px 2px #0005,6px 10px 15px #0005}
.hardcover-book.book-card .page-edge-side{top:3px;bottom:2px}
.hardcover-book.book-card .page-edge-bottom{height:2px;bottom:-2px}
.journey-mini-book{border-color:#59746866;box-shadow:1px 1px 2px #071b1366}
.journey-mini-book::before{inset:2px -6px -4px 4px;border-color:#344a40;background:linear-gradient(90deg,#17352d,#244b3e)}
.journey-mini-book::after{inset:4px -4px 2px auto;width:5px;background:repeating-linear-gradient(90deg,#eee9dc 0 1px,#bab19f 1px 1.6px,#dfd8c8 1.6px 2.8px)}
/* Small room covers use the same restrained boards and fine paper edge. */
.journey-room-book{width:28%;height:auto;aspect-ratio:.94;container-type:inline-size;transform:translateX(-50%) perspective(500px) rotateY(-3deg);filter:drop-shadow(1px 2px 1px #0006)}
.journey-room-story{border:0;border-radius:0;box-shadow:0 0 0 .35px #243b35;object-fit:cover}
.journey-room-book::before{display:block;position:absolute;z-index:-2;inset:.7% -1.8% -.7% .7%;border:0;border-radius:0;background:#233d32;box-shadow:0 1px 1px #0004;content:""}
.journey-room-book::after{left:100%;top:1%;bottom:1%;width:1.2%;border-radius:0;background:linear-gradient(90deg,#ddd7c8,#f0eadd 45%,#aaa393);box-shadow:none}
.journey-room-cover-copy{top:7%;left:7%;right:6%}
.journey-room-cover-copy strong{font-size:9cqw;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.journey-room-cover-copy small{margin-top:4%;font-size:3.1cqw;letter-spacing:.16em;font-weight:600}
.journey-room-cover-brand{right:6%;bottom:5%;gap:3cqw;font-size:3.2cqw;letter-spacing:.08em}
.journey-room-cover-brand img{width:9cqw;height:9cqw}
.room-book-cover{border:1px solid #59746866;border-radius:2px 4px 4px 2px;box-shadow:1px 1px 1px #071b13,7px 12px 16px #0005,inset 3px 0 4px #0002;transform:perspective(700px) rotateY(-8deg) rotateZ(-1deg)}
.room-book-cover::before{inset:2px -6px -4px 4px;border:1px solid #344a40;border-radius:2px 4px 4px 2px;background:linear-gradient(90deg,#17352d,#244b3e);box-shadow:2px 3px 2px #0005}
.room-book-cover::after{inset:3px -4px 2px auto;width:4px;border-radius:0 1px 1px 0;background:repeating-linear-gradient(90deg,#eee9dc 0 1px,#bab19f 1px 1.6px,#dfd8c8 1.6px 2.8px)}

/* Preserve the original portrait; constrain the edited artwork to the book. */
div.journey-keepsake-child{width:auto;max-width:100%;height:100%;aspect-ratio:1113/1413;justify-self:center}
.journey-keepsake-child>img{display:block;width:100%;height:100%;object-fit:fill}
.journey-keepsake-child>.journey-corrected-cover{position:absolute;inset:0;clip-path:polygon(24.5% 49.2%,75.4% 49.2%,75.4% 80.7%,72% 82%,69% 85%,68% 88%,69% 91%,72% 92.9%,32% 92.9%,33% 89%,30% 85%,24.5% 81%)}

.catalogue-reader-lock-icon::before,.catalogue-preview-lock-icon::before{content:"";display:block;width:48%;height:48%;background:url("../assets/lock.svg") center/contain no-repeat}

/* Keep the entire cover soft until its artwork has decoded. */
.book.hardcover-book .book-cover{transition:filter .4s ease}
.book.hardcover-book .book-cover:has(>.book-cover-image.image-loading){filter:blur(10px);background:radial-gradient(ellipse at 30% 25%,#58638a,transparent 60%),linear-gradient(140deg,#172b41,#44385e 55%,#243e49);animation:none}
.book-cover:has(>.book-cover-image.image-loading)>.book-title,
.book-cover:has(>.book-cover-image.image-loading)>.book-subtitle,
.book-cover:has(>.book-cover-image.image-loading)>.book-cover-brand{opacity:.2}
.book.hardcover-book .book-cover-image.image-loading{opacity:.35;filter:blur(16px)}
.catalogue-reader-surface:has(>img.image-loading) .preview-page-text,
.catalogue-reader-surface:has(>img.image-loading) .book-title{filter:blur(10px)}
@media(prefers-reduced-motion:reduce){.book.hardcover-book .book-cover,.image-ready{transition:none}}

/* Moving aurora stays on the creation card border, clear of its content. */
@property --creation-aurora-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.character-card{position:relative;isolation:isolate}
.character-card .character-progress-visual{display:none}
.character-card .character-progress-head{margin-top:30px}
.character-card.is-creating::after{content:"";position:absolute;inset:0;z-index:3;padding:2px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--creation-aurora-angle),transparent 0%,#56dfff 12%,#7670ff 22%,#d75af0 32%,transparent 46%,transparent 55%,#619aff 67%,#f079ca 80%,transparent 94%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:creation-border-aurora 7s linear infinite}
@keyframes creation-border-aurora{to{--creation-aurora-angle:360deg}}
@media(prefers-reduced-motion:reduce){.character-card.is-creating::after{animation:none}}

.preview-generation{position:relative;isolation:isolate}
.preview-generation.has-error{padding:clamp(20px,4vw,40px)}
.preview-generation.has-error h2{font-size:clamp(1.4rem,3vw,2rem)}
.preview-generation.has-error p{color:var(--muted);line-height:1.6;overflow-wrap:anywhere}

.personalised-reader-frame{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:#111222 url("../assets/optimized/Cerika_Room_Catalogue_Background-1600.webp") center bottom/cover}
.personalised-reader-frame .catalogue-reader-stage{border:0;border-radius:0}
.personalised-reader-unlock{position:relative;display:flex;align-items:center;gap:18px;margin:0 clamp(12px,3vw,36px) clamp(12px,3vw,30px);padding:20px 24px;border:1px solid rgba(201,181,255,.24);border-radius:20px;background:rgba(15,15,37,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-align:left}
.personalised-reader-unlock .catalogue-reader-lock-icon{flex:0 0 42px;width:42px;height:42px;margin:0;color:#c8b5ef}
.personalised-reader-unlock-copy{flex:1;min-width:0}
.personalised-reader-unlock-copy h3{margin:0;color:#f8f5ff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.3;overflow-wrap:anywhere}
.personalised-reader-unlock-copy p{margin:6px 0 0;color:#bdb8ce;font-size:.78rem;line-height:1.5}
.personalised-reader-unlock .button{width:auto;flex-shrink:0;min-height:44px;margin:0;font-size:.78rem}
@media(max-width:760px){.personalised-reader-unlock{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px}.personalised-reader-unlock .catalogue-reader-lock-icon{width:36px;height:36px}.personalised-reader-unlock .button{grid-column:1/-1;width:100%;white-space:normal;text-align:center}.personalised-reader-frame{border-radius:18px}}

.personalised-preview-reader .catalogue-reader{margin-top:clamp(24px,4vw,48px)}

.purchase-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin:24px 0}.purchase-price del{color:#a6a0b7;font-size:1rem}.purchase-price strong{color:#f5edff;font-size:clamp(1.8rem,4vw,2.5rem)}
.header-logout{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid transparent;border-radius:50%;background:transparent;color:#bbb3ce;cursor:pointer}.header-logout svg{width:22px;height:22px}.header-logout:hover{color:#fff;background:#b298ff15;border-color:#b298ff40}.header-logout:focus-visible{outline:2px solid #c2a7ff;outline-offset:2px}.header-logout[hidden]{display:none}

.purchase-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,48px)}.purchase-product-art{display:grid;place-items:center;min-width:0;padding:16px}.purchase-product-art .book{width:min(100%,340px);height:auto;aspect-ratio:1}.purchase-product-copy{min-width:0}.purchase-product-copy .account-subheading{margin-top:0;overflow-wrap:anywhere}.purchase-product-copy .button{width:100%;white-space:normal}.purchase-product-copy .auth-status:empty{display:none}@media(max-width:700px){.purchase-product{grid-template-columns:minmax(0,1fr);text-align:center}.purchase-product-art{padding:16px 0}.purchase-product-art .book{width:min(92%,560px)}.purchase-product-copy .purchase-price{justify-content:center}}

.account-card.purchase-review-card{max-width:1080px;width:100%;padding:clamp(20px,4vw,48px)}.purchase-review-card>h1{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.12}.purchase-review-card .purchase-product{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.purchase-review-card .purchase-product-copy .button{padding:14px 20px;border-radius:16px;line-height:1.4}.purchase-review-card .purchase-product-art>.button{border-radius:12px;padding:12px 18px}.purchase-review-card .purchase-price strong{font-size:clamp(1.6rem,3vw,2.2rem)}

.account-card.purchase-review-card{max-width:1440px}.purchase-review-card .purchase-product{display:flex;flex-direction:column;align-items:stretch;gap:24px}.purchase-review-card .purchase-product-art{display:block;padding:0}.purchase-review-card .catalogue-reader{margin-top:0}.purchase-review-card .purchase-product-copy{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 28px;text-align:center}.purchase-review-card .purchase-product-copy h2{flex-basis:100%;margin:0;font-size:clamp(1.3rem,2.5vw,2rem)}.purchase-review-card .purchase-price{margin:0}.purchase-review-card .purchase-product-copy .button{width:auto;min-width:220px}.purchase-review-card .purchase-product-copy .auth-status{flex-basis:100%}@media(max-width:540px){.purchase-review-card .purchase-product-copy .button{width:100%;min-width:0}}

.purchase-included{text-align:center;padding:clamp(16px,3vw,30px) 0}.purchase-included h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;margin:12px 0}.purchase-included-description{max-width:680px;margin:0 auto;color:#c7c1d6;line-height:1.65;font-size:.95rem}.purchase-scene-samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;max-width:780px;margin:24px auto 12px}.purchase-scene-sample{margin:0;min-width:0}.purchase-scene-art{position:relative;aspect-ratio:2/1;overflow:hidden;border-radius:14px;background:#18162c;border:1px solid #bda4f430}.purchase-scene-art img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(4px) brightness(.72);transform:scale(1.04)}.purchase-scene-art .catalogue-reader-lock-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;margin:0;background:#100f2bb3;backdrop-filter:blur(8px)}.purchase-scene-sample figcaption{margin-top:8px;color:#cbc4dc;font-size:.75rem}.purchase-sample-note{font-size:.75rem;line-height:1.5;color:#aaa2ba;max-width:640px;margin:12px auto 0}

/* Purchase review is one open layout, with the room framing the book. */
.account-card.purchase-review-card{border:0;border-radius:0;background:transparent;box-shadow:none}
.purchase-review-card>.account-empty{margin:clamp(24px,4vw,40px) 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.purchase-review-card .catalogue-reader-stage{border:0}
.purchase-review-card .purchase-scene-art{border:0}

.purchase-scene-samples{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px;gap:14px}@media(max-width:760px){.purchase-scene-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.generation-time-estimate{margin:14px 0;color:#c8bedb;font-size:.82rem;line-height:1.6;overflow-wrap:anywhere;text-align:center}

.reader-mobile-copy,.reader-mobile-controls{display:none}.reader-expand{display:block;margin:0 0 10px auto;min-width:44px;min-height:44px;border:1px solid #bfa6ff44;border-radius:50%;background:#17152c;color:#ded4f6;font-size:1.5rem;cursor:pointer}.expanded-book-reader{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:16px;border:0;background:#090b20;color:#fff}.expanded-book-reader::backdrop{background:#050614ed}.expanded-reader-toolbar{display:flex;justify-content:flex-end;gap:12px;margin-bottom:12px}.expanded-reader-toolbar .button{width:auto;min-height:44px}.expanded-reader-viewport{overflow:auto;height:calc(100% - 64px);touch-action:pan-x pan-y pinch-zoom}.expanded-reader-viewport>.catalogue-reader{margin:0}.expanded-book-reader .reader-expand{display:none}.expanded-book-reader.is-zoomed .catalogue-reader-stage{width:160%;max-width:none;touch-action:pan-y pinch-zoom}.expanded-book-reader.is-zoomed .catalogue-reader-surface{pointer-events:none}
@media(max-width:760px){
.catalogue-reader-stage{min-height:0;padding:12px 8px 18px;border-radius:18px}
.catalogue-reader-stage .preview-narration{display:grid}
.reader-mobile-copy{display:grid;gap:14px;padding:18px 8px 8px;text-align:left}.reader-mobile-copy[hidden]{display:none}.reader-mobile-copy p{margin:0;color:#eee8f8;font:400 16px/1.65 Georgia,serif;white-space:pre-line}
.reader-mobile-controls{display:block;padding:12px 0}.reader-mobile-controls .catalogue-reader-controls{position:static;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;pointer-events:auto}.reader-mobile-controls .catalogue-reader-arrow{width:44px;height:44px}.reader-mobile-controls .catalogue-reader-counter{position:static;transform:none;min-width:0;grid-column:2;grid-row:1;font-size:12px;padding:8px;background:transparent}.reader-mobile-controls .catalogue-reader-arrow:last-child{grid-column:3;grid-row:1}
.expanded-book-reader{padding:12px}.expanded-book-reader .catalogue-reader-stage{overflow:hidden}
}

.personalised-reader-frame>.purchase-included{padding:clamp(24px,4vw,40px) clamp(16px,3vw,36px);background:rgba(9,10,28,.82)}

/* Keep narration proportional to the printed artwork at every reader size. */
.catalogue-reader-surface{container-type:inline-size}
.catalogue-reader-surface .preview-narration{gap:4cqw;padding:6cqw 4cqw 2.5cqw}
.catalogue-reader-surface .preview-page-text{font-size:1.53cqw;line-height:1.3}
.reader-mobile-copy{display:none}
.expanded-book-reader.is-zoomed .catalogue-reader-surface{pointer-events:auto}
.expanded-book-reader.is-zoomed .catalogue-preview-stop{padding:2cqw;align-content:center;overflow:auto}
@media(max-width:760px){
.catalogue-reader-surface .catalogue-preview-stop{padding:2cqw;gap:1cqw;overflow:auto}
.catalogue-reader-surface .catalogue-preview-stop strong{font-size:3cqw;line-height:1.15}
.catalogue-reader-surface .catalogue-preview-stop p{font-size:1.8cqw;line-height:1.4;margin:1cqw 0}
.catalogue-reader-surface .catalogue-preview-lock-icon{width:5cqw;height:5cqw;min-height:0;margin:0}
.catalogue-reader-surface .catalogue-preview-stop .button{font-size:1.8cqw;min-height:32px;padding:6px 10px;white-space:normal}
/* On a magnified book, keep the purchase prompt within the visible area. */
.expanded-book-reader.is-zoomed .catalogue-reader-surface.is-preview-locked{overflow:visible}
.expanded-book-reader.is-zoomed .catalogue-preview-stop{width:50%;max-height:100%;}
}

/* Magnify the embedded mobile preview without opening a dialog. */
.reader-inline-viewport{min-width:0;width:100%;max-width:100%}
.catalogue-reader,.personalised-reader-frame{min-width:0;max-width:100%}
@media(max-width:760px){
.catalogue-reader:not(.expanded-book-reader .catalogue-reader) .reader-inline-viewport{overflow:auto;touch-action:pan-x pan-y pinch-zoom}
.catalogue-reader:not(.expanded-book-reader .catalogue-reader) .reader-inline-viewport>.catalogue-reader-stage{width:160%;max-width:none;touch-action:pan-y pinch-zoom}
}

.catalogue-reader-stage.is-panning{cursor:grabbing;user-select:none}

/* Keep preview progress and recovery in one open page layout. */
.account-card.preview-card{border:0;border-radius:0;background:transparent;box-shadow:none}
.preview-card .preview-generation{border:0;border-radius:0;background:transparent;box-shadow:none}
.preview-card .preview-generation::after{display:none}
.preview-card .preview-generation.has-error{max-width:640px;padding:clamp(20px,4vw,40px) 0}
.preview-recovery-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
.preview-recovery-actions .button{white-space:normal;max-width:100%}
.preview-recovery-actions .auth-link{padding:12px;min-height:44px}

/* Photo confirmation shares the open preview-page treatment. */
.creation-panel.character-pending{border:0;border-radius:0;background:transparent;box-shadow:none}
.creation-panel.character-pending::before{display:none}

/* Keep character generation and approval in the open page layout. */
.account-card.character-card{border:0;border-radius:0;background:transparent;box-shadow:none}
.account-card.character-card::before,.account-card.character-card::after{display:none}

/* Personalisation: a focused editorial form with the selected story in view. */
.creation.creation-details { max-width:1160px; min-height:auto; margin-inline:auto; padding-block:clamp(28px,5vw,64px); grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,72px); align-items:center; }
.creation-details::before,.creation-details .creation-summary::before { display:none; }
.creation-details .creation-summary { position:static; padding:32px; border-radius:20px; background:linear-gradient(145deg,#24232a,#15141d); border:1px solid rgba(216,193,159,.15); }
.creation-details .creation-summary-book { width:min(75%,235px); margin:24px auto; }
.creation-details .creation-summary h2 { font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.25; }
.creation-details .creation-panel { width:100%; padding:clamp(24px,3vw,40px); background:rgba(19,18,31,.75); border-color:rgba(216,193,159,.17); box-shadow:none; border-radius:20px; }
.creation-details .creation-panel h1 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.13; letter-spacing:-.025em; }
.creation-details .creation-steps { margin-block:24px 30px; gap:12px; }
.creation-details .creation-steps .is-current b { background:#dac5a5; color:#211c18; box-shadow:none; }
.creation-details .creation-intro { margin-bottom:12px; font-size:1rem; }
.creation-details .creation-language-note { color:var(--muted); font-size:.82rem; line-height:1.6; margin:0 0 26px; max-width:46ch; }
.creation-details .creation-form input,.creation-details .creation-form select { min-height:52px; font-size:16px; background:#0e0e1b; border-radius:10px; }
.creation-details .creation-form label { font-weight:500; }
.creation-details .creation-next { background:#ddc9aa; color:#211c18; box-shadow:none; border:1px solid #ddc9aa; min-height:54px; }
.creation-details .creation-next:hover { background:#efddc1; }
.creation-details .creation-next b { background:transparent; }
@media(max-width:800px) {
 .creation.creation-details { grid-template-columns:minmax(0,1fr); gap:20px; max-width:620px; }
 .creation-details .creation-summary { display:grid; grid-template-columns:72px minmax(0,1fr); gap:4px 18px; text-align:left; padding:18px; align-items:center; }
 .creation-details .creation-summary-book { grid-column:1; grid-row:1/4; width:62px; margin:0; }
 .creation-details .creation-summary .eyebrow { grid-column:2; margin:0; font-size:.65rem; }
 .creation-details .creation-summary h2 { grid-column:2; font-size:1.15rem; margin:0; }
 .creation-details .creation-summary-meta { grid-column:2; justify-self:start; padding:0; border:0; background:none; }
 .creation-details .creation-panel { padding:24px; }
 .creation-details .creation-steps { flex-wrap:wrap; row-gap:12px; }
}
@media(max-width:400px) {
 .creation-details .creation-panel { padding:22px 18px; }
 .creation-details .creation-choice-grid { grid-template-columns:minmax(0,1fr); gap:0; }
}
.creation-details .creation-field .creation-language-note { margin:8px 0 20px; font-size:.78rem; }
.creation-details .creation-steps > span { font-size:.72rem; }
@media(max-width:600px) {
 .creation-details .creation-steps { margin-block:18px 24px; }
 .creation-details .creation-steps > span { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:8px; white-space:normal; line-height:1.4; }
 .creation-details .creation-steps > span::after { display:none; }
 .creation-details .creation-choice-grid { gap:14px; }
}

/* Authentication feedback shares the quiet accent used in story context banners. */
.account-form .auth-feedback {
  --feedback-accent: #d7c29c;
  margin: 2px 0 18px;
  padding: 15px 18px;
  border: 0;
  border-inline-start: 3px solid var(--feedback-accent);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(110deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  color: #e9e5ee;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.65;
  text-align: start;
  overflow-wrap: anywhere;
}
.account-form .auth-feedback:empty { display: none; }
.account-form .auth-feedback[data-state="error"] { --feedback-accent: #d69489; }
.account-form .auth-feedback[data-state="success"] { --feedback-accent: #9dc4ac; }
.auth-feedback[data-state="progress"]::before {
  content: ''; display: inline-block; width: 12px; height: 12px;
  margin-inline-end: 10px; vertical-align: -1px;
  border: 2px solid rgba(215,194,156,.22); border-top-color: #d7c29c;
  border-radius: 50%; animation: auth-feedback-spin 1s linear infinite;
}
@keyframes auth-feedback-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .auth-feedback[data-state="progress"]::before { animation: none; } }

/* Quiet, unframed waiting state for a purchased book. */
.book-creation-page { display:grid; justify-items:center; padding-block:clamp(40px,8vw,100px); }
.account-card.book-creation-screen { width:100%; max-width:640px; min-width:0; padding:clamp(16px,4vw,32px); border:0; border-radius:0; background:none; box-shadow:none; text-align:center; box-sizing:border-box; }
.book-creation-screen::before,.book-creation-screen::after { display:none; }
.account-card.book-creation-screen h1 { width:100%; max-width:100%; font-size:clamp(30px,4vw,48px); line-height:1.18; text-wrap:balance; text-align:center; margin:16px auto; }
.book-creation-screen .account-intro { max-width:48ch; margin:0 auto 32px; font-size:16px; line-height:1.7; }
.book-creation-screen .auth-status { display:flex; justify-content:center; align-items:center; gap:12px; margin:0; font-size:15px; line-height:1.6; }
.book-creation-progress { width:min(100%,280px); height:3px; margin:20px auto 12px; border-radius:3px; overflow:hidden; background:#dec69e26; }
.book-creation-progress::after { content:""; display:block; width:40%; height:100%; background:linear-gradient(90deg,transparent,#dec69e,transparent); animation:book-creation-sweep 2s ease-in-out infinite; }
.book-creation-timing { color:var(--text-muted,#b9b2c5); font-size:14px; line-height:1.6; }
.book-creation-screen > .button { display:inline-flex; margin:28px 6px 0; min-height:48px; max-width:100%; white-space:normal; }
@keyframes book-creation-sweep { from { transform:translateX(-100%); } to { transform:translateX(350%); } }
@media(prefers-reduced-motion:reduce) { .book-creation-progress::after { animation:none; margin:auto; } }

/* Customer content uses spacing for hierarchy rather than nested frames. */
#app .account-card,
#app .creation-panel,
#app .creation-summary,
#app .discover-catalogue,
#app .personalised-reader-frame {
  border:0;
  box-shadow:none;
  background:transparent;
}
#app .account-card::before,
#app .account-card::after { display:none; }
#app .account-empty,
#app .catalogue-state,
#app .privacy-note,
#app .discover-heading-note,
#app .character-review-actions,
#app .personalised-reader-unlock {
  border:0;
  box-shadow:none;
}
#app .catalogue-state { background:transparent; }
#app .story-card { border-color:transparent; box-shadow:none; }
#app .story-card:hover { background:rgba(255,255,255,.035); }
.customer-room-frame{display:block;width:100%;height:calc(100dvh - 80px);min-height:480px;border:0}
body:has(.customer-room-frame) footer{display:none}
.purchased-book-reader{max-width:1280px;margin-inline:auto}
.purchased-book-reader>.section-heading h1{font-size:clamp(26px,4vw,42px);line-height:1.2}
.purchased-book-reader>.auth-link{display:inline-block;margin-bottom:24px;min-height:44px}
/* A closed back cover occupies the left leaf; the front occupies the right. */
.catalogue-reader-surface.is-back-cover>img{left:0;right:auto}
.catalogue-reader-back-turn.is-back-cover>img{inset:0;width:100%;height:100%}
.catalogue-reader-back-turn .catalogue-reader-closing-inside img{transform:translateX(-50%)}
/* Keep the purchased reader beside its controls, without catalogue intro spacing. */
.preview.page-section.purchased-book-reader{padding-top:clamp(18px,3vw,36px)}
.purchased-book-reader .purchased-reader-header{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:0 0 20px}
.purchased-book-reader .purchased-reader-header h1{flex:1 1 280px;margin:0;font-size:clamp(22px,2.5vw,32px);line-height:1.3;overflow-wrap:anywhere}
.purchased-reader-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.purchased-reader-actions .auth-link{display:flex;align-items:center;min-height:44px;font-size:14px;margin:0}
.purchased-reader-actions .reader-expand{margin:0;flex-shrink:0}
.purchased-book-reader>.catalogue-reader{margin:0}
.purchased-book-reader .catalogue-reader-stage{border:0;border-radius:16px;padding-top:24px;min-height:0}
@media(max-width:540px){.purchased-reader-actions{width:100%;justify-content:space-between}.purchased-book-reader .purchased-reader-header{gap:8px;margin-bottom:12px}}
.reader-back-copy{position:absolute;left:4%;top:14%;width:42%;height:78%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;text-align:center;color:#fff;text-shadow:0 2px 8px #000;pointer-events:none}
.reader-back-copy>p{max-width:90%;margin:0;font-size:clamp(12px,1.4vw,20px);line-height:1.65;background:radial-gradient(ellipse,#06122b88,transparent);padding:12px}
.reader-back-brand{display:flex;align-items:center;justify-content:center;gap:10px;font:bold clamp(10px,1vw,15px)/1.4 system-ui;letter-spacing:.12em}
.reader-back-brand img{width:32px;height:32px;object-fit:contain}
.catalogue-reader-back-turn .reader-back-copy{left:8%;width:84%;backface-visibility:hidden}
/* Match the approved admin back-cover composition within the left cover. */
.catalogue-reader-surface .reader-back-copy{inset:0 auto 0 0;width:50%;height:100%;display:block;text-align:left;text-shadow:0 2px 6px #0008}
.reader-back-copy>p{position:absolute;left:9%;bottom:13%;width:68%;max-width:none;margin:0;padding:4.5% 5%;border:1px solid #ffffff29;border-radius:12px;background:rgba(4,10,28,.48);color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(11px,.95vw,14px);font-weight:600;line-height:1.5;box-sizing:border-box}
@media(max-width:540px){.reader-back-copy>p{left:6%;width:88%;padding:3% 4%;line-height:1.4}}
.reader-back-copy .reader-back-brand{position:absolute;right:6%;bottom:4%;gap:12px}
.reader-back-brand img{width:clamp(28px,3vw,48px);height:clamp(28px,3vw,48px)}
.catalogue-reader-back-turn .reader-back-copy{inset:0;width:100%;height:100%}

button[data-action-pending],.account-form button:disabled,.header-logout:disabled{opacity:.5;cursor:wait;transform:none;box-shadow:none}

/* Quiet, compact actions beside the personalised book title. */
.purchased-book-reader .purchased-reader-header{gap:16px 24px;padding-bottom:16px;border-bottom:1px solid #c4b4df20}
.purchased-book-reader .purchased-reader-actions{gap:8px 16px;justify-content:flex-start}
.purchased-reader-actions .reader-another-child{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #c4b4df40;border-radius:12px;background:#c4b4df08;box-shadow:none;color:#ddd3ef;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none}
.purchased-reader-actions .reader-another-child:hover{background:#c4b4df18;border-color:#c4b4df80}
.purchased-reader-actions .reader-expand{width:44px;height:44px;min-width:44px;padding:10px;border-radius:12px}
.purchased-reader-actions a:focus-visible{outline:2px solid #d9be91;outline-offset:4px}
@media(max-width:540px){.purchased-book-reader .purchased-reader-header{gap:12px}.purchased-book-reader .purchased-reader-actions{gap:8px 12px}.purchased-reader-actions .reader-expand{margin-left:auto}}

.reader-extras{margin:clamp(40px,6vw,80px) auto;padding:clamp(16px,3vw,40px);max-width:1120px}
.reader-extras-heading{text-align:center;color:#fff4e5;font:400 clamp(28px,3.5vw,44px)/1.25 Georgia,serif;margin:0 0 clamp(28px,5vw,56px);overflow-wrap:anywhere}
.reader-extras-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,64px)}
.reader-extra{min-width:0;display:flex;flex-direction:column}.reader-extra+ .reader-extra{border-left:1px solid #b8b1d333;padding-left:clamp(24px,5vw,64px)}
.reader-extra h3{font:400 clamp(25px,2.8vw,34px)/1.25 Georgia,serif;color:#d8cfc3;margin:0 0 20px;overflow-wrap:anywhere}
.reader-extra p{line-height:1.7;color:#bdbbd5;overflow-wrap:anywhere;margin:0}
.reader-extra .reader-extra-description{margin-bottom:28px;flex:1}
.reader-extra .reader-extra-price{font:400 clamp(23px,2.4vw,30px)/1.4 Georgia,serif;color:#b8a383;margin-bottom:6px}
.reader-extra .reader-extra-status{font-size:14px;margin-bottom:14px}.reader-extra .reader-extra-note{font-size:14px}
@media(max-width:680px){.reader-extras-options{grid-template-columns:minmax(0,1fr)}.reader-extra+ .reader-extra{border-left:0;border-top:1px solid #b8b1d333;padding-left:0;padding-top:28px}}

@media(max-width:680px){
  .reader-extras{margin:32px auto 16px;padding:8px 0 16px;box-sizing:border-box}
  .reader-extras-heading{max-width:24ch;margin:0 auto 28px;font-size:clamp(24px,5vw,30px);line-height:1.3;text-wrap:balance}
  .reader-extras-options{gap:24px}
  .reader-extra h3{font-size:23px;line-height:1.3;margin-bottom:12px}
  .reader-extra p{font-size:15px;line-height:1.6}
  .reader-extra .reader-extra-description{flex:none;margin-bottom:16px}
  .reader-extra .reader-extra-price{font-size:22px;margin-bottom:2px}
  .reader-extra .reader-extra-status{font-size:13px;margin-bottom:8px}
  .reader-extra .reader-extra-note{font-size:13px}
  .reader-extra+ .reader-extra{padding-top:24px}
}

/* Reading navigation remains visible; optional creation actions stay grouped. */
.purchased-book-reader .purchased-reader-header{align-items:flex-start;gap:12px 24px;padding-bottom:12px}
.purchased-book-reader .purchased-reader-header h1{min-width:0;flex-basis:320px;font-size:clamp(22px,2.5vw,32px)}
.purchased-book-reader .purchased-reader-actions{display:flex;align-items:flex-start;gap:8px 16px;max-width:100%}
.reader-book-options{min-width:0;max-width:100%;font-size:14px}
.reader-book-options>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #c4b4df40;border-radius:10px;cursor:pointer;list-style:none;color:#ddd3ef}
.reader-book-options>summary::-webkit-details-marker{display:none}
.reader-book-options>summary::after{content:'⌄';font-size:16px}
.reader-book-options[open]>summary::after{content:'⌃'}
.reader-book-options-panel{display:grid;gap:6px;padding-top:8px}
.purchased-reader-actions .reader-book-options-panel .reader-another-child{width:100%;box-sizing:border-box;justify-content:flex-start;text-align:left;white-space:normal;padding:10px 12px;border-radius:8px}
.reader-book-options>summary:focus-visible{outline:2px solid #d9be91;outline-offset:4px}
@media(max-width:760px){
 .purchased-book-reader .purchased-reader-header{display:block}
 .purchased-book-reader .purchased-reader-header h1{margin-bottom:12px}
 .purchased-book-reader .purchased-reader-actions{width:100%;gap:8px;justify-content:space-between}
 .purchased-reader-actions .reader-expand{margin-left:0}
 .reader-book-options{flex:0 1 auto}
}

.reader-expand{display:grid;place-items:center;box-sizing:border-box;padding:0;line-height:1}
.reader-expand>svg{display:block;width:22px;height:22px;flex:none}
.purchased-book-reader .purchased-reader-actions{justify-content:flex-start}
.purchased-reader-actions .reader-book-options{margin-left:auto}
.purchased-reader-actions .reader-expand{margin-left:0;padding:0}

.purchased-reader-actions .reader-book-options-panel .reader-remove-book{width:100%;box-sizing:border-box;justify-content:flex-start;text-align:left;white-space:normal;padding:10px 12px;border-radius:8px;color:#d7b9a7;margin-top:8px}

/* Only hardcover is offered while motion is paused. */
.reader-extras-options:has(>.reader-extra:only-child){grid-template-columns:minmax(0,1fr);max-width:680px;margin-inline:auto;}
/* Shared with printed covers: reserve the top 21% for the full title block. */
.cover-caption-fit{position:absolute!important;top:4.5%!important;left:10%!important;right:10%!important;width:80%!important;display:block!important;box-sizing:border-box;padding:0!important;gap:0!important;text-align:center;color:#fff;text-shadow:0 2px 6px #0009;z-index:3;background:none!important}
.cover-caption-fit>:first-child{display:block!important;width:100%!important;max-width:none!important;margin:0!important;font-family:Georgia,serif!important;font-weight:600!important;line-height:1.15!important;text-wrap:balance;overflow-wrap:anywhere;color:inherit}
.cover-caption-fit>:nth-child(2){display:block!important;margin-bottom:0!important;line-height:1.15!important;letter-spacing:.1em!important;font-weight:700;text-transform:uppercase;color:inherit}
.catalogue-reader-cover-copy.cover-caption-fit{left:55%!important;right:5%!important;width:40%!important}
.catalogue-reader-closing-cover .catalogue-reader-cover-copy.cover-caption-fit{left:10%!important;right:10%!important;width:80%!important}
/* PrintRenderer.BackCover: top 13%, 18% margins, 24% text area. */
.reader-back-copy.back-caption-fit{inset:0 auto 0 0!important;width:50%!important;height:100%!important;display:block!important;text-align:center!important;text-shadow:none!important}
.catalogue-reader-back-turn .reader-back-copy.back-caption-fit{width:100%!important}
.reader-back-copy.back-caption-fit::before{content:"";position:absolute;inset:0 0 auto;height:45%;background:linear-gradient(to bottom,rgba(255,248,226,.686),rgba(255,248,226,.804) 55%,transparent);pointer-events:none}
.reader-back-copy.back-caption-fit>p{position:absolute!important;top:13%!important;bottom:auto!important;left:18%!important;width:64%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#253124!important;font-family:Georgia,serif!important;font-weight:400!important;line-height:1.55!important;text-align:center!important;text-shadow:none!important;overflow-wrap:anywhere}
.reader-back-copy.back-caption-fit{container-type:inline-size}
.reader-back-copy.back-caption-fit::after{content:"";position:absolute;inset:78% 0 0;background:linear-gradient(transparent,rgba(7,9,26,.706));pointer-events:none}
.reader-back-copy.back-caption-fit .reader-back-brand{right:6%;bottom:7.5%;gap:2cqi;font-family:Arial,sans-serif;font-size:2.7cqi;letter-spacing:normal;z-index:1;color:#fff}
.reader-back-copy.back-caption-fit .reader-back-brand img{width:6.5cqi;height:6.5cqi}

/* Landing shelf: each cover rests on the same surface, independently of its caption. */
.featured-room {
  --shelf-scene-height: 680px;
  container-type: inline-size;
  --shelf-book-size: clamp(168px, 18vw, 238px);
  min-height: var(--shelf-scene-height);
  background-size: 100% 100%, auto var(--shelf-scene-height);
  background-position: center, center top;
  background-color: #070b13;
}
.featured-room .story-grid-featured {
  position: relative;
  inset: auto;
  margin-top: calc(var(--shelf-scene-height) * .72 - var(--shelf-book-size) - 64px);
  padding: 64px clamp(30px, 6vw, 80px) 36px;
  align-items: flex-start;
  justify-content: flex-start;
  --shelf-padding: clamp(30px, 6vw, 80px);
  --shelf-step: clamp(calc(var(--shelf-book-size) * .5), calc((100cqw - 2 * var(--shelf-padding) - var(--shelf-book-size)) / var(--shelf-gaps, 1)), calc(var(--shelf-book-size) * .82));
  gap: 0;
  overflow: auto;
  scroll-padding-inline: 40px;
}
.featured-room .story-card {
  position: relative;
  z-index: var(--shelf-layer, 1);
  flex: 0 0 var(--shelf-book-size);
  width: var(--shelf-book-size);
  min-width: 0;
  transform: none;
  transform-origin: center var(--shelf-book-size);
}
.featured-room .story-card + .story-card { margin-left: calc(var(--shelf-step) - var(--shelf-book-size)); }
.featured-room .story-card:first-child { margin-left: auto; }
.featured-room .story-card:last-child { margin-right: auto; }
.featured-room .story-card .book-card {
  transform: perspective(1100px) rotateY(-24deg);
  transform-origin: center bottom;
  transition: transform .25s ease;
}
.featured-room .story-card:nth-child(3n + 2) .book-card { transform: perspective(1100px) rotateY(-24deg); }
.featured-room .story-card:nth-child(3n) .book-card { transform: perspective(1100px) rotateY(-24deg); }
.featured-room .story-card:focus-visible {
  z-index: var(--shelf-front, 2);
  outline: 2px solid #c5a6ff;
  outline-offset: 6px;
  transform: translateY(-18px) scale(1.08);
}
.featured-room .story-card:focus-visible .book-card { transform: perspective(850px) rotateY(0); }
@media (hover: hover) and (pointer: fine) {
  .featured-room .story-card:hover { z-index: var(--shelf-front, 2); transform: translateY(-18px) scale(1.08); }
  .featured-room .story-card:hover .book-card { transform: perspective(850px) rotateY(0); }
}
@media (hover: none) {
  .featured-room .story-card:hover { transform: none; }
}
@media (max-width: 700px) {
  .featured-room { --shelf-scene-height: 560px; --shelf-book-size: 168px; }
}
@media (prefers-reduced-motion: reduce) {
  .featured-room .story-card, .featured-room .story-card .book-card { transition: none; }
}

/* Overlapping covers retain an exposed touch target; only the active caption comes forward. */
.featured-room .story-grid-featured .story-card-details { opacity: 0; pointer-events: none; }
.featured-room .story-grid-featured .story-card:hover .story-card-details,
.featured-room .story-grid-featured .story-card:focus-visible .story-card-details { opacity: 1; pointer-events: auto; }

/* Ground the books with a tight contact shadow and softer light from the room lamp. */
.featured-room .story-card { filter: drop-shadow(5px 7px 6px #0004); }
.featured-room .story-card::before {
  content: "";
  position: absolute;
  top: calc(var(--shelf-book-size) - 4px);
  left: 3%;
  width: 99%;
  height: 13px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #000b 0%, #0005 40%, transparent 72%);
  transform: skewX(-20deg);
  pointer-events: none;
}
.featured-room .book.hardcover-book.book-card::before {
  box-shadow: 2px 2px 2px #0005, 7px 5px 10px #0003;
}
.featured-room .story-card:hover,
.featured-room .story-card:focus-visible { filter: drop-shadow(8px 12px 10px #0006); }

/* A coherent solid book: front, right page edges, back board and bottom page block. */
.featured-room .book.hardcover-book.book-card {
  --shelf-depth: clamp(14px, 1.5vw, 20px);
  transform-style: preserve-3d;
}
.featured-room .book.hardcover-book.book-card .book-cover {
  transform: translateZ(0);
  backface-visibility: hidden;
  border-radius: 2px 4px 4px 2px;
}
.featured-room .book.hardcover-book.book-card::before {
  inset: 0;
  transform: translateZ(calc(-1 * var(--shelf-depth)));
  border-radius: 2px 4px 4px 2px;
  box-shadow: 0 2px 3px #0005;
}
.featured-room .book.hardcover-book.book-card .page-edge-side {
  inset: 3px auto 3px 100%;
  width: var(--shelf-depth);
  transform: rotateY(90deg);
  transform-origin: left center;
  border-radius: 0;
  background: linear-gradient(180deg, #74664d24, transparent 12%, transparent 88%, #74664d30), repeating-linear-gradient(90deg, #eee8d9 0 1px, #c8bfab 1px 1.5px, #e2dac8 1.5px 3px);
  box-shadow: inset 1px 0 #fff8, inset -2px 0 #65594355;
  backface-visibility: hidden;
}
.featured-room .book.hardcover-book.book-card .page-edge-bottom {
  top: 100%;
  bottom: auto;
  left: 2px;
  right: 2px;
  height: var(--shelf-depth);
  transform: rotateX(-90deg);
  transform-origin: center top;
  background: repeating-linear-gradient(0deg, #c3bba7 0 1px, #e8e1d0 1px 2px);
}

.character-styles .outfit-examples-note { margin:28px auto 0; padding-inline:18px; text-align:center; color:#b9b1c9; font-size:.78rem; line-height:1.6; }

/* Catalogue: let the hardcover artwork and titles carry the collection. */
#app .discover-catalogue{padding:0;margin-inline:0;border-radius:0;backdrop-filter:none}
#app .discover-heading-note{padding:0;background:none;backdrop-filter:none}
.discover-filter-icon{border:0;background:none}
.discover-story-grid{gap:44px clamp(24px,3.5vw,48px)}
#app .discover .story-card{max-width:none;min-width:0;padding:0 10px 0 0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:none;animation:none}
#app .discover .story-card::before{content:none}
#app .discover .story-card:hover{background:none;transform:none;box-shadow:none}
#app .discover .story-card:focus-visible{outline:2px solid #bda5ff;outline-offset:8px;border-radius:4px}
.discover .story-card .book{transition:transform .25s ease,filter .25s ease}
.discover .story-card:hover .book{transform:translateY(-5px);filter:drop-shadow(10px 16px 16px rgba(0,0,0,.3))}
.discover .story-card-details{padding:24px 0 0}
.discover .story-card-title{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.25;overflow-wrap:anywhere}
.discover .story-taxonomy{gap:4px 12px;margin-bottom:10px}
.discover .story-taxonomy span{padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:.75rem;font-weight:400}
.discover .story-taxonomy span+span::before{content:"·";margin-right:12px}
.discover .story-preview-link{display:none}
@media(prefers-reduced-motion:reduce){.discover .story-card .book{transition:none}.discover .story-card:hover .book{transform:none}}

/* Preserve the existing small-screen narration size. */
@media(max-width:760px){.catalogue-reader-surface .preview-page-text{font-size:1.8cqw;line-height:1.35}}

/* Scroll continuation stays within the grid width, including enlarged text. */
.discover-continuation{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-block:2rem;max-width:100%}
.discover-continuation[hidden]{display:none}
.discover-continuation button{font:inherit;color:var(--text,#f5f3ff);background:transparent;border:1px solid #45435f;border-radius:.65rem;min-width:2.75rem;min-height:2.75rem;padding:.55rem .8rem;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
.discover-continuation button:disabled{opacity:.45;cursor:default}
.discover-continuation button:focus-visible{outline:2px solid #d1b6ff;outline-offset:3px}
.discover-story-grid{scroll-margin-top:6rem}

.discover-continuation button[hidden]{display:none}
.discover-load-status{flex-basis:100%;text-align:center;color:var(--text-muted,#b9b6ca);margin:0}

/* Only the books scroll; the room remains stationary. */
.shelf-viewport{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;min-width:0}
.shelf-viewport::-webkit-scrollbar{display:none}
.featured-room .shelf-page{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;overflow:visible;min-height:calc(var(--shelf-book-size) + 190px)}
.shelf-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;color:#c9c2dc;font-size:.875rem;font-variant-numeric:tabular-nums}
.shelf-pagination[hidden]{display:none}
.shelf-arrows{position:absolute;z-index:10;top:calc(var(--shelf-scene-height) * .72 - var(--shelf-book-size) / 2);inset-inline:clamp(10px,2vw,28px);display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}
.shelf-arrows[hidden]{display:none}
.shelf-arrows button:focus-visible{outline:2px solid #c5a6ff;outline-offset:4px}
@media(max-width:700px){.shelf-arrows .catalogue-reader-arrow{width:44px;height:44px}}
@media(max-width:700px){.featured-room{--shelf-book-size:clamp(120px,38vw,168px)}.featured-room .shelf-page{--shelf-padding:20px;padding-inline:20px}}

/* Keep each larger shelf page within the room at every width. */
/* Scale to the collection as well as the room, retaining a stable size across pages. */
.featured-room{
 --shelf-page-capacity:10;--shelf-room-padding:clamp(20px,5cqw,64px);
 --shelf-visible-count:min(var(--shelf-item-count,1),var(--shelf-page-capacity));
 --shelf-book-size:min(320px,42cqw,calc((100cqw - 2 * var(--shelf-room-padding)) / (1 + (var(--shelf-visible-count) - 1) * .76)));
}
.featured-room .story-grid-featured.shelf-page{--shelf-step:calc(var(--shelf-book-size) * .76);padding-inline:var(--shelf-room-padding)}
.featured-room .story-card:hover,.featured-room .story-card:focus-visible{transform:none}
@media(min-width:701px) and (max-width:1023px){.featured-room{--shelf-page-capacity:6}}
@media(max-width:700px){.featured-room{--shelf-page-capacity:4}}

/* Caption shared by generated child portraits and child selection cards. */

.catalogue-reading-preview{margin-block:24px}
.character-progress-details{font-size:.8125rem;color:#bdb8ce}
.character-progress-details>summary{min-height:44px;padding-block:12px;cursor:pointer}

/* Quiet invitation after the complete collection. */
.discover-suggestion{margin:clamp(2rem,5vw,4rem) auto 0;padding:clamp(1.5rem,4vw,2.5rem) 0 0;border-top:1px solid var(--border,rgba(190,176,224,.18));text-align:center;max-width:42rem;}
.discover-suggestion[hidden]{display:none;}
.discover-suggestion h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.3;margin:0 0 .65rem;}
.discover-suggestion p{color:var(--text-muted,#b8b5cb);line-height:1.6;margin:0 0 .75rem;}
.discover-suggestion .auth-link,.discover-suggestion-actions .auth-link{display:inline-flex;align-items:center;min-height:44px;}
.discover-suggestion-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;}
.discover-suggestion-actions button{min-height:44px;}
