@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";*{box-sizing:border-box}body{margin:0;background:#f7f0e3;color:#211b22;font-family:DM Sans,sans-serif}button{font:inherit}.hero{min-height:100svh;padding:18vh 8vw 8vh;background:radial-gradient(circle at 78% 18%,#b991d755,transparent 25%),radial-gradient(circle at 18% 62%,#e5b35b55,transparent 28%),linear-gradient(160deg,#17111e,#30213c 55%,#17111e);color:#fff;position:relative;overflow:hidden}.hero:after{content:"✦  ·  ✧  ·  ✦";position:absolute;right:-10px;top:12%;font-size:28px;color:#f7d48c;opacity:.65;transform:rotate(12deg)}.spark{font-size:42px;color:#e7c276;text-shadow:0 0 28px #e7c276}.eyebrow{letter-spacing:.18em;font-size:11px;color:#e8d9c0}.hero h1{font:600 52px/1.03 Playfair Display;max-width:600px;margin:28px 0}.hero h1 em{color:#e7c276}.lead{font-size:18px;line-height:1.55;color:#e9dfec;max-width:500px}.hero button,.shell>button,.ending button{border:0;border-radius:999px;padding:18px 24px;background:#f0cc82;color:#241a28;font-weight:700;width:100%;max-width:480px;margin-top:26px}.tiny{opacity:.55;font-size:11px;margin-top:20px}.shell{min-height:100svh;padding:32px 6vw 70px;max-width:760px;margin:auto}.shell header,.book header{display:flex;justify-content:space-between;letter-spacing:.12em;font-size:12px}.trail{display:flex;gap:8px;margin:32px 0 55px}.trail i{height:3px;background:#b58b50;flex:1;border-radius:3px}.shell h2,.choice h2,.ending h2{font:600 42px/1.08 Playfair Display;margin:0 0 14px}.shell h3{margin-top:38px}.drop{border:1px dashed #a98d68;border-radius:24px;padding:42px 20px;text-align:center;display:flex;flex-direction:column;margin:35px 0;background:#fff8ee}.drop input{display:none}.drop b{font-size:18px}.drop small{margin-top:7px;opacity:.6}.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.cards button,.chips button{padding:18px;border:1px solid #d8c9b3;border-radius:18px;background:#fff9f0}.cards .sel,.chips .sel{background:#2d2134;color:#fff;border-color:#2d2134;box-shadow:0 8px 28px #503d5a33}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{padding:12px 15px}.shell label{display:flex;flex-direction:column;gap:9px;margin:25px 0;font-weight:600}.shell input[type=text],.shell input:not([type]),textarea{border:1px solid #d5c5ae;border-radius:16px;padding:16px;background:#fffaf3;font:inherit}textarea{min-height:100px}.summary{display:flex;flex-wrap:wrap;gap:7px}.summary span{padding:8px 11px;background:#eadcc7;border-radius:999px;font-size:12px}.error{background:#ffe2dc;color:#8c2c1c;padding:14px;border-radius:12px}.book{max-width:800px;margin:auto;padding:28px 5vw 80px}.book header{margin-bottom:35px}.pages{display:grid;gap:28px}.pages article{background:#fffaf2;border-radius:28px;padding:12px 12px 24px;box-shadow:0 16px 55px #3b263b14;position:relative}.pages img,.ghost{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;background:#e9dfd0}.pages article h2{font:600 30px Playfair Display;margin:20px 14px 8px}.pages article p{margin:0 14px;line-height:1.65;color:#5b5057}.num{position:absolute;z-index:2;top:24px;left:24px;background:#211824dd;color:#fff;border-radius:999px;padding:7px 10px;font-size:11px}.choice,.ending{margin:38px 0;padding:30px 20px;border-radius:28px;background:linear-gradient(145deg,#2a1d31,#463151);color:#fff}.choice>p{color:#e8c982;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.choice button{display:flex;align-items:center;gap:14px;width:100%;border:1px solid #ffffff28;background:#ffffff0c;color:#fff;border-radius:16px;padding:15px;margin:9px 0;text-align:left}.choice button b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e8c982;color:#2b2030}.magic{text-align:center;padding:45px 20px;color:#5b415f}.magic i{display:block;font-size:34px;color:#b58545;animation:pulse 1.2s infinite}.magic small{display:block;margin-top:7px}.ending{text-align:center}.ending span{font-size:40px;color:#e8c982}@keyframes pulse{50%{transform:scale(1.3);opacity:.45}}@media(min-width:700px){.pages{grid-template-columns:1fr 1fr}.hero{padding-left:15vw}.hero h1{font-size:70px}}
