:root{color-scheme:dark;--night:#130b27;--plum:#24113e;--ink:#0c081b;--cyan:#6ceeff;--pink:#fb69d7;--heart:#ff839f;--gold:#f8dbb1;--cream:#fff4e7;--muted:#c4b5cf;--line:#ffffff29;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--cream);background:var(--night)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:300px;background:var(--night);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.48;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}[hidden]{display:none!important}
.skip-link{position:absolute;z-index:100;left:16px;top:-100px;background:var(--gold);color:var(--ink);padding:10px 16px}.skip-link:focus{top:12px}
.site-header{height:88px;padding:0 clamp(24px,5vw,84px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:#130b27d9;border-bottom:1px solid #ffffff1d;backdrop-filter:blur(18px)}.wordmark,.footer-brand{font:27px/1.1 Georgia,Times New Roman,serif;letter-spacing:-1.2px;white-space:nowrap}.wordmark{display:inline-flex;align-items:center;gap:11px}.wordmark em{font-weight:normal;color:var(--gold)}.wordmark-star{font:27px system-ui;color:var(--pink);filter:drop-shadow(0 0 14px var(--pink))}.header-link{border:1px solid #ffffff42;border-radius:100px;padding:10px 17px;font-size:12px;letter-spacing:.02em;transition:background .2s,border-color .2s}.header-link:hover{background:#ffffff16;border-color:var(--cyan)}.header-link span{color:var(--cyan);padding-left:9px}
.hero{position:relative;isolation:isolate;min-height:760px;padding:95px clamp(24px,5vw,84px) 85px;display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);align-items:center;gap:min(6vw,90px);background:radial-gradient(ellipse at 61% 54%,#422364 0,transparent 56%),radial-gradient(ellipse at 98% 3%,#0c477650 0,transparent 36%),linear-gradient(125deg,#120a27,#190d31 57%,#0c1433)}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(circle,#fff9 0 1px,transparent 1.5px);background-size:89px 107px;mask-image:linear-gradient(to bottom,#0008,transparent 76%);opacity:.23}.landing-sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.aurora{pointer-events:none;position:absolute;z-index:-2;filter:blur(64px);mix-blend-mode:screen;opacity:.53;border-radius:50%}.aurora-one{width:54vw;height:24vw;top:4%;right:5%;background:linear-gradient(110deg,#247acc,#e235bc,#6519aa);transform:rotate(-24deg);animation:aurora-drift 14s ease-in-out infinite alternate}.aurora-two{width:40vw;height:23vw;bottom:3%;right:-10%;background:linear-gradient(40deg,#00bfd5,#ab35bf);transform:rotate(31deg);animation:aurora-drift 17s ease-in-out -8s infinite alternate}
.hero-content{z-index:2;max-width:590px}.eyebrow{color:var(--cyan);font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.22em;margin:0 0 22px}.eyebrow-star{font-size:22px;color:var(--gold);vertical-align:-3px;margin-right:8px}.hero h1{font:normal clamp(52px,5.9vw,91px)/.99 Georgia,Times New Roman,serif;letter-spacing:-.059em;margin:0 0 27px;text-wrap:balance;text-shadow:0 3px 30px #130b2770}.hero h1 em,h2 em{font-style:italic;font-weight:normal;color:var(--gold)}.hero h1 em{display:block;background:linear-gradient(110deg,#f8dfbc 4%,#fff3d8 55%,#f99edb 98%);color:transparent;background-clip:text}.hero-lead{font-size:clamp(16px,1.35vw,20px);line-height:1.72;color:#e3d9e8;max-width:530px;margin:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:33px}.hero-actions>span{font-size:12px;color:#d2c4d6;letter-spacing:.02em}.primary,.secondary{min-height:52px;padding:13px 21px;border-radius:8px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;font-weight:730;transition:transform .23s,box-shadow .23s,background .23s}.primary{color:#211128;background:linear-gradient(112deg,#fff1d7,#f9d4ac 64%,#ffbdb4);box-shadow:0 11px 32px #ff9bd02d,0 0 0 1px #fff7e944 inset}.primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px #ff9bd05a,0 0 26px #f9d4ac4d}.primary span{font-size:18px}.secondary{color:var(--cream);border-color:#e2bdde80;background:#ffffff0b}.secondary:hover{transform:translateY(-2px);background:#ffffff1d}.occasion-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:47px}.occasion-row span{border:1px solid #ffffff34;background:#321e4b93;border-radius:100px;padding:6px 11px;font-size:10px;letter-spacing:.035em;color:#f4e5ee}.occasion-row span:nth-child(2){border-color:#6ceeff73}.occasion-row span:nth-child(3){border-color:#fb69d78a}.occasion-row span:nth-child(4){border-color:#f8dbb189}
.showcase{z-index:1;position:relative;min-width:0;max-width:790px;width:100%;justify-self:center;border:1px solid #f8dbb172;border-radius:21px;padding:12px;background:linear-gradient(145deg,#331e51d9,#100a24f0 65%);box-shadow:0 32px 90px #030108ba,0 0 70px #e84cce40,0 0 0 1px #fff3df20 inset;transform:rotate(1.6deg)}.showcase-halo{position:absolute;z-index:-1;inset:-18%;border-radius:50%;background:conic-gradient(from 18deg,#6ceeff78,#5a14a600,#fb69d782,#a033bd00,#6ceeff78);filter:blur(45px);animation:halo-spin 28s linear infinite}.showcase-top,.showcase-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 7px 10px}.preview-index{color:var(--gold);font-size:10px;letter-spacing:.2em;font-weight:700}.preview-index i{display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px 4px #6ceeff90}.showcase-switch{display:flex;gap:2px;padding:3px;border:1px solid #ffffff38;background:#0e0a20d9;border-radius:100px}.showcase-switch button{min-height:32px;border:0;border-radius:100px;padding:6px 12px;background:transparent;color:#d4c3dc;font-size:11px}.showcase-switch button[aria-pressed=true]{background:var(--gold);color:#211128;font-weight:700}.map-scene{position:relative;aspect-ratio:1.52;overflow:hidden;border-radius:13px;background:#080c22;border:1px solid #f8dbb17c}.map-scene img{display:block;width:100%;height:100%;object-fit:cover}.map-scene #world-preview{filter:saturate(1.38) contrast(1.08) hue-rotate(10deg)}.map-scene #world-map{object-fit:contain;background:#16112a}.scene-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#fca5e81f,transparent 34%,#79d9ff18 66%,#08072022);box-shadow:inset 0 0 45px #140823;mix-blend-mode:screen}.scene-heart{position:absolute;pointer-events:none;color:var(--heart);text-shadow:0 0 18px var(--heart),0 0 35px var(--pink);font-size:31px;opacity:.9;animation:heart-float 6s ease-in-out infinite}.heart-one{top:11%;left:62%}.heart-two{font-size:18px;top:29%;left:34%;animation-delay:-2.6s}.showcase-bottom{padding:13px 7px 3px}.map-caption{font:italic 18px Georgia,serif;color:var(--gold)}.showcase-bottom small{font:9px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;color:#bcb0cf;text-align:right}.hero-scroll{position:absolute;bottom:30px;left:clamp(24px,5vw,84px);display:flex;align-items:center;gap:12px;color:#cebad5;font-size:9px;letter-spacing:.25em}.hero-scroll span{width:27px;height:1px;background:var(--pink);box-shadow:0 0 9px var(--pink)}
.story{padding:75px clamp(24px,5vw,84px) 80px;background:linear-gradient(180deg,#1a0e31,#1c1033 60%,#160c2b);border-top:1px solid #ffffff19}.story-heading{max-width:900px;margin:0 auto 38px;text-align:center}.story-heading .eyebrow{margin-bottom:8px}.story h2,.studio h2,.result h2{font:normal clamp(36px,4vw,57px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:0}.story-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.story-grid>div{min-height:207px;padding:28px 30px;border:1px solid #ffffff25;border-radius:14px;background:radial-gradient(circle at 9% 4%,#fb69d721,transparent 52%),#ffffff06}.story-grid>div:nth-child(2){background:radial-gradient(circle at 9% 4%,#6ceeff1c,transparent 52%),#ffffff06}.story-grid>div:nth-child(3){background:radial-gradient(circle at 9% 4%,#f8dbb11b,transparent 52%),#ffffff06}.story-glyph{display:block;color:var(--pink);font-size:31px;line-height:1;margin-bottom:17px}.story-grid>div:nth-child(2) .story-glyph{color:var(--cyan)}.story-grid>div:nth-child(3) .story-glyph{color:var(--gold)}.story h3{font:normal 23px Georgia,serif;margin:0 0 8px}.story p{color:#cbbbd2;font-size:13px;line-height:1.7;margin:0;max-width:340px}
.studio{padding:87px clamp(24px,5vw,84px) 94px;background:radial-gradient(ellipse at 92% 25%,#42205252,transparent 37%),linear-gradient(180deg,#160c2b,#0e0a1e);scroll-margin-top:0}.studio-heading{max-width:1320px;margin:0 auto 33px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.studio-heading .eyebrow{margin-bottom:9px}.studio-heading p:not(.eyebrow){color:#d4c5da;max-width:660px;font-size:14px;margin:15px 0 0}.studio-heading .secondary{flex:none;margin-bottom:5px}#create,.progress,.result{max-width:1320px;margin-left:auto;margin-right:auto}.workbench{padding:16px;border:1px solid #f8dbb154;border-radius:19px;background:linear-gradient(130deg,#3c1e5a87,#1b102ff5 55%,#170d29);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:16px;box-shadow:0 25px 60px #05020d82}.dropzone{position:relative;min-height:545px;border:1px dashed #e7abd98c;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px;background:radial-gradient(circle at 50% 35%,#9d399c4d,transparent 48%),radial-gradient(circle at 30% 80%,#097a9b26,transparent 40%),#180e2d;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.dropzone:hover,.dropzone.over{border-color:var(--cyan);box-shadow:inset 0 0 38px #6ceeff1c}.dropzone:focus-within{outline:3px solid var(--cyan);outline-offset:3px}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.drop-icon{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;color:var(--gold);font-size:39px;background:#f8dbb11a;border:1px solid #f8dbb18a;box-shadow:0 0 40px #fb69d73b;margin-bottom:13px}.dropzone strong{font:normal 37px/1.1 Georgia,serif;letter-spacing:-.04em}.dropzone>span:not(.drop-icon){font-size:14px;color:#dfd0e3}.dropzone small{font-size:11px;line-height:1.7;color:#bbabc8;margin-top:9px}.dropzone.busy{opacity:.55;cursor:default}.options{padding:26px clamp(17px,3vw,42px);border-radius:12px;background:#130b25a6;display:flex;flex-direction:column;align-items:stretch}.options-title{display:flex;align-items:center;gap:9px;color:var(--gold);font:normal 23px Georgia,serif;margin-bottom:18px}.tiny-star{font:26px system-ui;color:var(--pink)}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#eadceb;margin:7px 0}.field input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #ffffff4c;border-radius:7px;background:#0c081bd9;color:var(--cream);font-size:16px;outline:none}.field input::placeholder{color:#9b87a9}.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #6ceeff1b}.field-note{margin:5px 0 17px;font-size:11px;line-height:1.6;color:#bdaec7}.optional{display:inline;font-size:10px;color:#baadcb;font-weight:400}.music-field input{font-size:12px;padding:8px}.music-field input::file-selector-button{border:1px solid #e5c1d669;background:#41274f;color:var(--cream);border-radius:5px;padding:6px 10px;margin-right:10px;cursor:pointer}.music-field small{font-size:10px;line-height:1.5;font-weight:400;color:#bdaec7}.music-status{margin:1px 0 12px;min-height:1em;font-size:11px;color:var(--cyan)}.create-button{width:100%;min-height:55px;margin-top:auto}.cancel-button{width:100%;margin-top:8px}
.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:19px 0 14px;color:#e4d5e7;font-size:12px}.quiet-link{border:0;background:none;color:var(--cyan);font-size:12px;padding:10px}.quiet-link:hover{text-decoration:underline}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:13px}.gallery-order-note{grid-column:1/-1;color:#cdbdd7;font-size:12px;margin:0 0 3px}.image-card{min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px;background:#211333;border:1px solid #ffffff2f;border-radius:10px}.image-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.picture-slot{font:normal 16px Georgia,serif;color:var(--gold)}.image-card button{border:1px solid #ffffff47;background:#160d29;color:var(--cream);cursor:pointer}.image-card .remove-picture{width:44px;height:44px;border-radius:7px;font-size:22px}.image-preview{height:130px;position:relative;overflow:hidden;display:grid;place-items:center;background:#10091f;border-radius:5px}.image-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.preview-fallback{padding:10px;color:#cdbdd7;text-align:center;font-size:11px}.picture-filename{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bdaec7;font-size:11px}.picture-order{display:flex;gap:6px}.picture-order button{flex:1;min-height:44px;border-radius:6px;font-size:20px}.image-card button:disabled{opacity:.35;cursor:default}.picture-placements,.picture-details{border-top:1px solid #ffffff25;padding-top:2px;margin:0}.picture-placements summary,.picture-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:none;font-size:11px;color:var(--cyan)}.picture-placements summary::-webkit-details-marker,.picture-details summary::-webkit-details-marker{display:none}.picture-placements summary:before,.picture-details summary:before{content:'✧';color:var(--pink);margin-right:6px;font-size:16px}.picture-placements ul{padding:0;margin:0;list-style:none}.picture-placements li{padding:6px 0;border-top:1px solid #ffffff1b;font-size:10px;color:#cbbbd2}.picture-details label{display:grid;gap:4px;margin:7px 0;color:#dacbdf;font-size:11px}.picture-details input{width:100%;min-height:44px;padding:7px;background:#10091f;color:var(--cream);border:1px solid #ffffff4b;border-radius:5px;font-size:16px}
.progress{margin-top:25px;background:#25133d;border:1px solid #ffffff28;border-radius:9px;padding:16px 20px}.progress progress{width:100%;height:8px;accent-color:var(--cyan)}.progress p{margin:9px 0 0;color:#e4d5e7;font-size:13px}.result{margin-top:36px;padding:30px;border:1px solid #f8dbb16b;border-radius:15px;background:radial-gradient(circle at 94% 0,#fb69d72b,transparent 43%),#24143c}.result .eyebrow{margin:0 0 10px}.result p{color:#e4d5e7;font-size:13px}.download-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.save-note{max-width:780px;line-height:1.7}.result iframe{width:100%;height:min(75vh,780px);border:1px solid #ffffff53;border-radius:10px;margin-top:15px;background:#09091c}.site-footer{min-height:100px;padding:25px clamp(24px,5vw,84px);border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#0e0a1e;color:#b9a8c6;font-size:11px}.footer-brand{font-size:18px;color:var(--gold)}.site-footer a:hover{color:var(--cyan)}
@keyframes aurora-drift{to{transform:translate(-8%,10%) rotate(-12deg) scale(1.12)}}@keyframes halo-spin{to{transform:rotate(360deg)}}@keyframes heart-float{50%{transform:translateY(-18px) rotate(8deg);opacity:.65}}
@media(max-width:1050px){.hero{min-height:0;grid-template-columns:1fr;padding-top:65px;padding-bottom:70px;gap:47px}.hero-content{max-width:790px}.hero h1{font-size:clamp(52px,8vw,83px)}.showcase{max-width:750px;transform:none}.hero-scroll{display:none}.workbench{grid-template-columns:1fr 1fr}.dropzone{min-height:500px}}
@media(max-width:760px){.site-header{height:72px}.wordmark{font-size:22px}.hero{padding-top:53px;padding-bottom:53px}.hero h1{font-size:clamp(47px,10vw,68px)}.hero-lead{font-size:16px}.occasion-row{margin-top:33px}.story{padding-top:58px;padding-bottom:59px}.story-grid{grid-template-columns:1fr;gap:10px}.story-grid>div{min-height:0;padding:22px 25px}.story-glyph{margin-bottom:7px}.story h3{font-size:21px}.studio{padding-top:62px;padding-bottom:68px}.studio-heading{align-items:flex-start;flex-direction:column}.workbench{grid-template-columns:1fr}.dropzone{min-height:300px}.options{padding:25px}.site-footer{flex-wrap:wrap}.showcase-bottom small{font-size:8px}}
@media(max-width:480px){.site-header{padding:0 17px;gap:8px}.wordmark{font-size:19px;gap:7px}.wordmark-star{font-size:20px}.header-link{font-size:10px;padding:8px 10px;white-space:nowrap}.header-link span{padding-left:2px}.hero{padding-left:20px;padding-right:20px;padding-top:42px;gap:38px}.hero h1{font-size:clamp(43px,12vw,57px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-actions .primary{min-width:215px}.occasion-row{gap:6px}.occasion-row span{font-size:9px;padding:5px 8px}.showcase{padding:8px;border-radius:13px}.showcase-top{padding:2px 2px 8px}.preview-index{font-size:7px;letter-spacing:.09em}.preview-index i{width:5px;height:5px;margin-right:3px}.showcase-switch button{padding:5px 8px;font-size:9px;min-height:30px}.map-scene{aspect-ratio:1.2}.showcase-bottom{display:block}.showcase-bottom small{display:block;text-align:left;margin-top:3px}.map-caption{font-size:16px}.story,.studio{padding-left:20px;padding-right:20px}.studio h2,.story h2{font-size:40px}.studio-heading .secondary{width:100%}.workbench{padding:9px}.dropzone{min-height:270px;padding:20px}.drop-icon{width:68px;height:68px;font-size:31px;margin-bottom:5px}.dropzone strong{font-size:31px}.dropzone small{font-size:10px}.options{padding:19px}.gallery{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.download-actions>*{width:100%}.result{padding:19px}.site-footer{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.hero{overflow:clip}.showcase-halo{inset:0}.studio,.story{min-width:0}.options,.workbench{min-width:0}input[type=file]{max-width:100%}

/* The creator is the home view; the two reading views have their own tabs. */
main{display:flex;flex-direction:column}
main>.studio{order:0}main>.hero{order:1}main>.story{order:2}main>.about{order:3}
main>.hero,main>.story,main>.about{display:none}
main:has(#showcase-page:target)>.studio,main:has(#about-page:target)>.studio{display:none}
main:has(#showcase-page:target)>.hero{display:grid}
main:has(#showcase-page:target)>.story{display:block}
main:has(#about-page:target)>.about{display:block}
.site-header{height:72px;position:sticky;top:0}
.site-nav{display:flex;align-items:center;gap:clamp(12px,2vw,30px)}
.site-nav>a:not(.header-link){font-size:12px;color:#e6dce9;transition:color .2s}
.site-nav>a:hover,.site-nav>a:focus-visible{color:var(--cyan)}
body:has(#showcase-page:target) .site-nav>a[href="#showcase-page"],body:has(#about-page:target) .site-nav>a[href="#about-page"],body:not(:has(#showcase-page:target,#about-page:target)) .site-nav>a[href="./#studio"]{color:var(--gold)}
.studio{position:relative;isolation:isolate;min-height:calc(100svh - 72px);padding:clamp(18px,3vh,32px) clamp(20px,5vw,80px) 25px;background:radial-gradient(ellipse at 85% 10%,#4223648a,transparent 54%),linear-gradient(115deg,#130b27,#1a0d31 58%,#0c1433);scroll-margin-top:72px}
.studio .landing-sky{z-index:0;height:min(100svh,900px)}
.studio .aurora{z-index:0;opacity:.32;filter:none;mix-blend-mode:screen;will-change:transform}
.studio .aurora-one{width:45vw;height:22vw;top:0;right:1%;background:radial-gradient(ellipse,#dc40b087,transparent 70%)}
.studio .aurora-two{width:40vw;height:28vw;bottom:2%;right:16%;background:radial-gradient(ellipse,#2cbacc6e,transparent 70%)}
.showcase-halo{filter:none;animation:none;background:radial-gradient(ellipse,#fb69d744,transparent 66%)}
.studio-heading,.studio #testing-note,.studio #create,.studio .progress,.studio .result{position:relative;z-index:1}
.studio-heading{max-width:1120px;margin-bottom:10px;align-items:center}
.studio-heading .eyebrow{margin-bottom:4px}
.studio h2{font-size:clamp(32px,3.2vw,48px)}
.studio-heading p:not(.eyebrow){margin:5px 0 0;font-size:13px;line-height:1.4}
.studio-heading .secondary{margin:0;min-height:44px;white-space:nowrap}
.studio #testing-note{max-width:1120px;margin:0 auto 12px;color:#dfcfe4}
.studio #create,.studio .progress,.studio .result{max-width:1120px}
.workbench{grid-template-columns:minmax(0,1fr) minmax(290px,.82fr);gap:12px;padding:10px;border-radius:15px}
.dropzone{min-height:255px;padding:16px;gap:4px}
.drop-icon{width:54px;height:54px;font-size:26px;margin:0 0 3px}
.dropzone strong{font-size:29px}.dropzone>span:not(.drop-icon){font-size:12px}.dropzone small{font-size:10px;line-height:1.4;margin-top:3px}
.options{padding:16px 19px}.options-title{font-size:20px;margin-bottom:5px}.tiny-star{font-size:20px}
.music-field{margin:0}.music-field input{min-height:43px}.music-field small{line-height:1.35}
.music-status{margin:1px 0 5px}.create-button{min-height:53px;font-size:15px}
.gallery-head{margin:5px 0;color:#e6d8eb}.gallery:empty{display:none}
.result{margin-top:18px}.download-actions #save-world{min-width:230px;font-size:15px;box-shadow:0 12px 32px #ff9bd04d}
.about{min-height:calc(100svh - 72px);padding:clamp(44px,7vw,90px) clamp(20px,6vw,90px);background:radial-gradient(ellipse at 80% 8%,#61317188,transparent 50%),#130b27}
.about>p,.about>h1,.about-grid,.about>.primary{max-width:1000px;margin-left:auto;margin-right:auto}
.about>h1{font:normal clamp(43px,6vw,76px)/1 Georgia,serif;letter-spacing:-.05em;margin-top:0;margin-bottom:18px}.about>h1 em{color:var(--gold)}
.about>p:not(.eyebrow){font-size:17px;color:#e1d4e6;line-height:1.55}
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;margin-bottom:30px}
.about-grid>div{padding:22px;border:1px solid #ffffff32;border-radius:12px;background:#ffffff0a}
.about-grid h2{font:normal 23px Georgia,serif;margin:0 0 10px;color:var(--gold)}.about-grid p{font-size:13px;line-height:1.6;color:#d6c8dd;margin:0}
@media(max-width:760px){.site-header{height:64px;padding:0 18px;gap:12px}.wordmark{font-size:19px}.site-nav{gap:12px}.site-nav>a:not(.header-link){font-size:11px}.site-nav .header-link{display:none}.studio{min-height:calc(100svh - 64px);padding:18px 18px 20px;scroll-margin-top:64px}.studio-heading{flex-direction:row;align-items:end;gap:8px}.studio h2{font-size:clamp(28px,7vw,36px)}.studio-heading p:not(.eyebrow){font-size:11px}.studio-heading .secondary{min-height:39px;padding:8px 10px;font-size:10px;white-space:normal;max-width:120px}.studio #testing-note{font-size:10px;line-height:1.35;margin-bottom:8px}.workbench{grid-template-columns:1fr;padding:7px;gap:7px}.dropzone{min-height:140px;padding:10px;gap:1px}.drop-icon{width:33px;height:33px;font-size:17px;margin:0}.dropzone strong{font-size:23px}.dropzone small{margin-top:1px;font-size:9px}.options{padding:9px 12px}.options-title{font-size:17px;margin:0}.music-field{font-size:11px;gap:2px}.music-field input{min-height:38px;padding:5px;font-size:11px}.music-field small{font-size:9px}.music-status{font-size:10px;margin:0 0 4px}.create-button{min-height:48px;margin:0}.gallery-head{font-size:10px;margin:3px 0}.gallery-head .quiet-link{padding:5px}.about-grid{grid-template-columns:1fr}.about{min-height:calc(100svh - 64px)}.hero{padding-top:36px}.story{padding-top:36px}}
@media(max-width:420px){.wordmark{font-size:17px;gap:4px}.wordmark-star{font-size:18px}.site-nav{gap:9px}.site-nav>a:not(.header-link){font-size:10px}.studio-heading .secondary{font-size:9px;max-width:104px}.studio-heading .secondary span{display:none}}

/* The completed gift has its own compact view; the scene runs only when opened. */
body.world-ready .studio-heading,body.world-ready #testing-note,body.world-ready #create,body.world-ready #progress{display:none}
body.world-ready .result{margin-top:clamp(16px,6vh,70px)}
body.world-ready #save-world{min-height:58px;font-size:18px}
body.player-expanded{overflow:hidden}
body.player-expanded #preview{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}
#close-player{position:fixed;z-index:1001;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));min-height:42px;border:1px solid #c4d9e880;border-radius:8px;background:#101426dc;color:white;padding:8px 13px;font-size:12px}
#gallery{display:flex;overflow-x:auto;gap:8px;padding:0 0 4px;scroll-snap-type:x proximity;align-items:start}
#gallery .image-card{flex:0 0 148px;padding:7px;scroll-snap-align:start;max-height:200px;overflow-y:auto}
#gallery .image-preview{height:64px;aspect-ratio:auto}
#gallery .gallery-order-note,#gallery .picture-placements{display:none}
#gallery .image-card-heading{font-size:11px}#gallery .picture-filename{font-size:10px}#gallery .picture-order{margin:3px 0}#gallery .picture-details{font-size:10px}
@media(max-width:760px){
 .studio:has(.image-card) .dropzone{min-height:66px}.studio:has(.image-card) .drop-icon,.studio:has(.image-card) .dropzone small{display:none}
 #gallery .image-card{flex-basis:120px;max-height:145px}#gallery .image-preview{height:45px}
 .studio:has(.image-card) .studio-heading p:not(.eyebrow){display:none}
}
@media(max-height:740px) and (max-width:760px){
 .studio{padding-top:10px}.studio-heading .eyebrow{display:none}.studio-heading p:not(.eyebrow){display:none}.studio h2{font-size:25px}
 .dropzone{min-height:100px}.drop-icon{display:none}.options-title{display:none}.music-field small{display:none}
 .studio #testing-note{font-size:9px}.music-status:empty{display:none}.options{padding:7px 10px}
}

body:not(:has(#about-page:target)) .site-footer{display:none}

body.player-expanded .site-header{visibility:hidden;pointer-events:none}
.site-header{backdrop-filter:none;background:#130b27}

/* Cached atmosphere: large moving gradient layers repeatedly rasterized on the test GPU.
   Stars, drifting hearts and fireworks keep moving in the small-budget canvas. */
.studio .aurora{animation:none;transform:none;mix-blend-mode:normal;will-change:auto}
.showcase-halo{animation:none;filter:none;mix-blend-mode:normal;background:radial-gradient(ellipse,#fb69d73b,transparent 72%)}

html{-webkit-touch-callout:none}
button,button *,.mobile-controls,.mobile-controls *,#view{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
button svg,button img{-webkit-user-drag:none;pointer-events:none}
