@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#061b22;--gold:#e4c492;--white:#f7f0e4;--muted:#aabec0;--line:#ffffff20;--teal:#8ce0d6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--white);font:14px/1.75 Manrope,Arial,sans-serif}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:30;background:#000;padding:12px}header{height:100px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:absolute;z-index:9;width:100%;background:linear-gradient(#04161dd9,transparent)}.brand{font-size:24px;letter-spacing:4px;font-weight:600;line-height:1.2}.brand span{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:4px;margin-top:9px;color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav button,.back{border:1px solid var(--line);border-radius:30px;color:var(--white);background:#061b2233;padding:9px 17px}.back{font-size:10px;letter-spacing:2px}.hero{position:relative;min-height:850px;height:100svh;max-height:1200px;isolation:isolate;overflow:hidden;background:#08252d url('assets/lamp.png') center/cover}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03191ff0 0%,#04191f9c 37%,transparent 70%),linear-gradient(0deg,#061b22,transparent 23%)}.hero-copy{position:relative;z-index:2;padding:220px 0 150px 7%;max-width:620px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.8px;color:var(--gold);margin:0 0 25px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.03}h1{font-size:clamp(60px,6.8vw,112px);margin:0 0 25px;letter-spacing:-3px}h1 em{color:var(--gold);font-weight:400}.lede{color:#d4ddda;font-size:16px;line-height:1.9}.choose{display:flex;gap:9px;margin:30px 0 8px}.choose button{border:1px solid #c7b48d4d;background:#09272c88;color:#b7c7c6;padding:12px 18px;border-radius:24px;font-size:11px}.choose .selected{border-color:var(--gold);color:var(--gold);background:#e4c49212}.caption,.fine{color:var(--muted);font-size:11px;line-height:1.8}.text-link{font-size:11px;display:inline-block;border:0;border-bottom:1px solid #e4c49266;background:none;color:var(--gold);padding:2px 0}.hero-copy>.text-link{margin-top:28px}.hero-bottom{position:absolute;bottom:35px;left:7%;right:5%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:9px;letter-spacing:2px;color:#c4d3d1}#lamp{position:absolute;inset:18% 2% 15% 45%;background:none;border:none;color:var(--gold);z-index:3}.lamp-hit{position:absolute;inset:20%;border-radius:50%;box-shadow:0 0 100px #73e8d020;animation:glow 4s infinite}.rub{position:absolute;bottom:18%;right:15%;font:italic 34px 'Cormorant Garamond',Georgia}.rub span{display:block;font-size:55px;transform:rotate(-20deg);animation:float 3s ease-in-out infinite}#genie{position:absolute;width:440px;height:650px;bottom:13%;right:7%;opacity:0;pointer-events:none;transform:translateY(200px) scale(.2);transform-origin:bottom;z-index:2;overflow:hidden;transition:opacity 1s,transform 2.5s cubic-bezier(.17,.8,.28,1)}#genie img{height:100%;width:200%;max-width:none;object-fit:contain;object-position:left}.male #genie img{transform:translateX(-50%)}.awake #genie{opacity:1;transform:translateY(0) scale(1);animation:float 5s 3s ease-in-out infinite}.awake #lamp{opacity:0;pointer-events:none}.awake .hero-copy{opacity:0;pointer-events:none}.reveal{position:absolute;top:32%;left:7%;max-width:440px;z-index:4}.reveal h2{font-size:80px;margin:15px 0}.reveal p:not(.eyebrow){color:#d0dedb;font-size:17px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gold);padding:14px 24px;border-radius:5px;transition:.2s}.primary{color:#122c30;background:var(--gold);font-weight:700;font-size:12px}.primary:hover{background:#f6d8a6;transform:translateY(-2px)}.secondary{background:transparent;color:var(--white);border-color:var(--line);font-size:12px}.wrap{max-width:1400px;margin:auto;padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}.section-heading>p{max-width:340px;color:var(--muted);font-size:13px}h2{font-size:clamp(40px,4.5vw,64px);margin:0}h3{font-size:31px;margin:15px 0}.wish-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.panel{border:1px solid var(--line);border-radius:12px;padding:35px;background:linear-gradient(140deg,#12333b55,#071c2355)}.wish-count{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:var(--gold);font-size:11px}.wish-count>span:first-child{font-size:24px;letter-spacing:8px}label{display:block;font-size:11px;color:#cfdbd9}textarea{background:#05171e;border:1px solid #ffffff25;border-radius:6px;width:100%;height:125px;resize:vertical;padding:17px;color:var(--white);font:13px/1.7 Manrope,Arial;margin:10px 0}textarea::placeholder{color:#849f9f}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{font-size:10px;background:#183a3f;color:#c2d6d0;border:1px solid #ffffff13;border-radius:20px;padding:7px 12px}.form-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0}.form-row label{display:flex;align-items:center;gap:10px}select{color:#e5e9e0;border:1px solid var(--line);background:#102d33;padding:8px;border-radius:4px}.wish-form>.primary{width:100%}.preview{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px}.preview>p:last-child{max-width:270px;color:var(--muted);font-size:12px}.orb{height:160px;width:160px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#d2fff92b,#36c7b31f 40%,#031c25 68%);border:1px solid #85dfce44;box-shadow:0 0 55px #69daca16,inset 0 0 25px #9fecdf33;margin-bottom:30px;animation:breathe 8s ease-in-out infinite}.orb span{font-size:45px;color:var(--gold)}.cinema{position:relative;border:1px solid #8ad2c42c;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#03161d}canvas{width:100%;height:100%;display:block}.cinema-overlay{position:absolute;inset:0;padding:7%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.cinema-overlay h3{font-size:clamp(27px,4vw,60px);max-width:800px;line-height:1.2;text-shadow:0 3px 22px #000}.pill{font-size:8px;letter-spacing:2px;color:#d5c396}#breath{color:#bfded5;font-size:12px}#timer{font-size:12px;color:var(--gold);letter-spacing:3px}.player-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.map{margin-top:40px}.map h3{margin:0 0 15px}.map-nodes{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;gap:20px}.node{position:relative;border-top:1px solid #c8b08188;padding-top:20px}.node:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:100%;background:var(--gold);box-shadow:0 0 15px var(--gold)}.node small{color:var(--gold);letter-spacing:2px;font-size:9px}.node p{font-size:12px;color:#c0d0cc}.commit{display:flex;gap:12px;align-items:center}.commit input{accent-color:var(--gold)}.library{border-top:1px solid var(--line)}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.saved-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(ellipse at top right,#17636a44,transparent 80%)}.saved-card p{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.saved-card button{margin-right:8px;margin-top:8px}.saved-empty{padding:35px;border:1px dashed #ffffff25;border-radius:10px;color:var(--muted);grid-column:1/-1}.story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;background:#0b252d}.story-image{position:relative}.story-image img{width:100%;border-radius:200px 200px 10px 10px;display:block}.story-image span{position:absolute;bottom:18px;left:24px;font-size:9px;letter-spacing:2px;text-shadow:0 1px 5px black}.story p:not(.eyebrow){color:#b3c7c5;font-size:13px}.socials a{display:block;color:var(--gold);font-size:11px;margin:9px 0;overflow-wrap:anywhere}.science-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.science-grid article{border-top:1px solid var(--line);padding-top:20px}.science-grid span{font-size:10px;color:var(--gold)}.science-grid h3{font-size:29px}.science-grid p{font-size:12px;color:var(--muted)}.science-grid a{font-size:11px;color:var(--gold)}footer{border-top:1px solid var(--line);padding:60px 7%;text-align:center}footer>a:not(.brand){display:inline-block;font-size:11px;color:var(--gold);margin:10px 15px}footer>.fine{max-width:650px;margin:25px auto}.stars{position:absolute;inset:0;pointer-events:none;opacity:.4;background-image:radial-gradient(1px 1px at 10% 20%,#e4c492,transparent),radial-gradient(2px 2px at 60% 35%,#b6fff0,transparent),radial-gradient(1px 1px at 80% 70%,#e4c492,transparent);background-size:270px 300px;animation:drift 30s linear infinite}#status,#export-status{font-size:12px;color:var(--gold)}[hidden]{display:none!important}@keyframes float{50%{transform:translateY(-15px)}}@keyframes glow{50%{box-shadow:0 0 150px #73e8d040}}@keyframes breathe{50%{transform:scale(1.07)}}@keyframes drift{to{background-position:80px -300px}}@media(max-width:850px){header{height:85px}nav{gap:15px}nav>a{display:none}.back{display:none}.hero{min-height:850px;background-position:62% center}.hero:after{background:linear-gradient(180deg,#03191f99,transparent 50%,#061b22)}.hero-copy{padding:150px 6% 0;max-width:100%;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}h1{font-size:69px;letter-spacing:-2px}.lede{font-size:13px}.choose{margin-top:20px}.hero-copy>.text-link{display:none}#lamp{inset:43% 0 10% 20%}.rub{right:15%;bottom:15%}.hero-bottom{font-size:8px}.hero-bottom>span{display:none}#genie{width:300px;height:480px;right:3%;bottom:12%}.reveal{top:19%;left:6%;max-width:85%}.reveal h2{font-size:57px}.reveal p:not(.eyebrow){font-size:13px;max-width:270px}.awake #genie{opacity:.85}.wrap{padding:65px 6%}.section-heading{display:block}.section-heading>p{max-width:100%}.wish-layout,.story{grid-template-columns:1fr}.preview{min-height:300px}.panel{padding:25px}.map-nodes{grid-template-columns:1fr 1fr}.science-grid{grid-template-columns:1fr;gap:25px}.saved-grid{grid-template-columns:1fr}.story{gap:35px}.story-image{max-width:440px}.cinema{aspect-ratio:4/3}.cinema-overlay h3{font-size:32px}.form-row{align-items:start;flex-wrap:wrap}.pill{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

#genie img{object-fit:fill}.voice-settings{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.voice-settings summary{color:var(--gold);cursor:pointer;font-size:12px}.voice-settings input{max-width:100%;margin-top:12px;font-size:11px}

/* Keep guide choices above the large lamp touch target, including on phones. */
.hero-copy{z-index:4}
.awake .hero-copy a,.awake .hero-copy button{pointer-events:none}
#change-genie{display:block;margin-top:16px}
