:root{color-scheme:dark;--gold:#f5c56e;--gold2:#a66528;--night:#0e0a20;--violet:#35215b;--cream:#fff0d3;--drift-time:11s;--left-shift:-3.5%;--cr-drop:4%;--cr-scale:1.05;--cr-chamber-left-shift:-2.5%;--cr-chamber-drop:-1.5%;--cr-chamber-scale:0.93;--scene-transition:1328ms;--cr-zoom:1;--cr-star-speed:2s;--cr-star-opacity:1;--cr-star-opacity-low:0.5555555555555556;--cr-star-size:1.7;--cr-star-glow:11px;--cr-chamber-stars-top:79%;--cr-chamber-star-speed:7s;--cr-chamber-star-opacity:1;--cr-chamber-star-low:0.5555555555555556;--cr-chamber-star-size:22px;--cr-chamber-star-travel:7px;--cr-mist-opacity:0;--cr-portal-opacity:1.5;--cr-curtain-opacity:1;--cr-halo-opacity:1.5;--cr-halo-speed:5.5s;--cr-rune-speed:99s;--cr-sheen-opacity:0.35;--cr-sheen-speed:15s;--cr-night-stars:0.55;--cr-cabinet-glow:0.75;--cr-logo-size:1;--cr-reading-size:15px;--cr-panel-glow:1.05;--cr-landing-logo:0.9;--cr-landing-ball:0.95;--cr-wood-richness:1.05;--cr-arcade-ball-size:0.69;--cr-chamber-ball-size:0.83;--cr-parchment:1.25;--cr-chamber-logo-width:75%}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Georgia, 'Times New Roman',serif}body{background:#0d0718;color:#f5e8d0}button,textarea,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a1e5ff;outline-offset:4px}button:focus-visible{border-radius:8px}
.app{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,#4730868f,transparent 48%),radial-gradient(ellipse at 5% 85%,#1e358b88,transparent 40%),radial-gradient(ellipse at 85% 75%,#8d225f4d,transparent 42%),linear-gradient(180deg,#07091e,#150b2f 50%,#0b091a)}.app:before{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#04051380,transparent 20%,transparent 80%,#080411a0);z-index:1}.night-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.skypoints{position:absolute;inset:0;opacity:var(--cr-night-stars);background-image:radial-gradient(1.5px 1.5px at 12% 18%,#ffd77b,transparent),radial-gradient(1px 1px at 20% 63%,#edf0ff,transparent),radial-gradient(1px 1px at 35% 9%,#fff,transparent),radial-gradient(1.5px 1.5px at 49% 39%,#90ccff,transparent),radial-gradient(1px 1px at 61% 16%,#fff,transparent),radial-gradient(2px 2px at 87% 28%,#f8e0aa,transparent),radial-gradient(1px 1px at 79% 70%,#fff,transparent),radial-gradient(2px 2px at 29% 83%,#dddfff,transparent),radial-gradient(1px 1px at 95% 95%,#e8bbff,transparent);background-size:400px 380px;animation:slowStars 50s linear infinite}.sky-moon{position:absolute;top:11%;right:10%;width:45px;height:45px;border-radius:50%;box-shadow:-9px 3px 0 0 #f5ddb0, -9px 3px 26px #b9c6ff88;opacity:.7}.corner-top{position:absolute;top:0;z-index:1;width:110px;height:100vh;pointer-events:none;opacity:.32;background:linear-gradient(90deg,#a86a2f,#e3b365 3%,#4a2351 8%,transparent 28%)}.corner-left{left:0}.corner-right{right:0;transform:scaleX(-1)}
.stage{position:relative;z-index:2;min-height:100vh;min-height:100dvh;width:100%;display:none;flex-direction:column;justify-content:center;align-items:center;padding:clamp(58px,6vw,80px) 16px clamp(30px,4vw,50px)}.app[data-stage="landing"] .landing,.app[data-stage="arcade"] .arcade,.app[data-stage="chamber"] .chamber{display:flex}.stage-label{display:block;color:#d5ac6f;opacity:.75;letter-spacing:.25em;font:10px/1.4 system-ui,sans-serif;text-align:center;margin:22px auto 0}.landing{gap:0;padding-top:52px}.landing-ornament{font:clamp(10px,1.3vw,13px) system-ui,sans-serif;letter-spacing:.24em;color:#f6c879;text-align:center}.landing-logo-hit{border:0;outline-offset:10px;background:none;padding:0;display:block;width:min(83vw,720px);max-height:54vh;position:relative;filter:drop-shadow(0 5px 22px #b777e25e)}.landing-logo{display:block;width:100%;max-height:54vh;object-fit:contain;transform:scale(var(--cr-landing-logo));transition:transform .2s}.landing-logo-hit:hover .landing-logo{filter:brightness(1.14)}.landing-crystal{width:clamp(115px,16vw,200px);aspect-ratio:1;position:relative;margin:-14px auto -8px;transform:scale(var(--cr-landing-ball));z-index:2}.landing-crystal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 22px #6b89ffdb);animation:orbPulse 5.5s ease-in-out infinite}.crystal-aura{position:absolute;inset:-35%;border-radius:50%;background:radial-gradient(ellipse,#af77f366,#28affd3a 33%,transparent 66%);filter:blur(16px);animation:orbPulse 7s infinite}.crystal-base{position:absolute;left:22%;right:22%;bottom:-3%;height:13%;border-radius:50%;background:linear-gradient(#fff0a5,#b67c37 50%,#48221a);box-shadow:0 7px 10px #04000c,0 0 21px #b879ff}.landing-invite{font-style:italic;color:#f9df9e;font-size:clamp(22px,3vw,37px);margin:14px 0 17px;text-shadow:0 0 15px #9d80ff}.gold-button{background:linear-gradient(180deg,#fff0ad,#e9b858 42%,#b87824 90%);border:1px solid #ffe69c;border-radius:9px;box-shadow:inset 0 1px 3px #fff9c1,0 0 15px #f6a72c33,0 4px 1px #4d250a;color:#42200d;padding:12px 22px;font-weight:700;text-shadow:0 1px #ffe5ae;font-size:15px}.gold-button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 25px #eeac6170}.enter-button{min-width:min(310px,90vw);padding:17px 25px;letter-spacing:.05em;text-transform:uppercase}.enter-hint{font:11px/1.5 system-ui,sans-serif;color:#c2b6d4;margin:16px 0 0;text-align:center}
.top-tools{position:fixed;z-index:60;top:12px;right:16px;display:flex;gap:10px;align-items:center}.prototype-pill{border:1px solid #c4a16b56;background:#0a0818c9;padding:8px 10px;border-radius:99px;letter-spacing:.08em;font:10px/1.3 system-ui,sans-serif;color:#d7ba81}.workshop-trigger,.quiet-control,.linkish,.ghost-button{background:#130e2aa8;color:#f5dca8;border:1px solid #aa754c91;border-radius:9px;padding:9px 12px}.workshop-trigger{background:#251b39e6;font:12px system-ui,sans-serif}.stage-head{width:min(100%,1120px);display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 16px;color:#f2ca83;font:11px/1.4 system-ui,sans-serif;letter-spacing:.12em}.quiet-control{font:12px system-ui,sans-serif;color:#dbd3df;letter-spacing:0}.section-eyebrow{font:11px/1.5 system-ui,sans-serif;letter-spacing:.22em;color:#e3bc7e}.arcade{justify-content:center}.arcade-layout{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(300px,1fr);gap:clamp(24px,4vw,76px);align-items:center;width:min(1080px,100%);margin:auto}.cabinet-wrapper{display:flex;justify-content:center;align-items:center;min-width:0;max-width:500px;margin:auto;width:100%}.cabinet{position:relative;width:100%;max-width:465px;filter:drop-shadow(0 20px 25px #050010a8) drop-shadow(0 0 calc(17px * var(--cr-cabinet-glow)) #b26aff80);padding:0 clamp(11px,1.8vw,20px);background:repeating-linear-gradient(90deg,#23101a,#452015 3%,#13081a 9%,#482714 13%,#1e0d14 17%);border:6px ridge #ac6b30;border-radius:51% 51% 20px 20px / 10% 10% 15px 15px;box-shadow:inset 0 0 3px 3px #ffda7e,inset 0 0 28px #12070f,0 0 0 4px #1a0b16;transition:filter .3s}.cabinet-crown{height:84px;margin:0 -13px -3px;padding:18px 15px 13px;background:linear-gradient(120deg,#3d1918,#75401e 24%,#1d0e18 58%,#6f3a1f 88%,#291017);border:5px ridge #c89b54;border-radius:53% 53% 12px 12px / 60% 60% 5px 5px;display:flex;align-items:center;justify-content:space-evenly;color:#ffe3a4;text-shadow:0 0 6px #f7ab30,0 1px #34140b;text-align:center;letter-spacing:.075em;font-size:clamp(12px,1.5vw,17px);font-weight:bold;position:relative;z-index:8;box-shadow:0 5px 8px #0d080f}.crown-gem{font-size:15px;color:#7ddcff}.cabinet-topline{height:10px;background:repeating-linear-gradient(90deg,#71401e,#ecc67c 12px,#412119 23px);border:2px solid #deb971;margin:0 -8px;position:relative;z-index:6}.cabinet-view{height:clamp(300px,32vw,408px);position:relative;overflow:hidden;border:5px solid #daa960;border-radius:9px 9px 20px 20px;background:radial-gradient(circle at 50% 35%,#4a2c8c,#1a1040 62%,#080b19);box-shadow:inset 0 0 32px #11031f,0 0 0 5px #451e13,0 0 0 8px #9f652e}.cabinet-view:before{content:'';position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20% 20%,#fff4cf 60%,transparent),radial-gradient(1.5px 1.5px at 72% 28%,#fbe5ad 60%,transparent),radial-gradient(1px 1px at 33% 75%,#fbf8ff 60%,transparent),radial-gradient(2px 2px at 80% 78%,#fff5bd 60%,transparent);background-size:220px 240px;opacity:.7}.cabinet-post{position:absolute;top:0;bottom:0;width:8px;z-index:10;border:1px solid #ffd18d;background:linear-gradient(90deg,#331517,#edb864,#662d1a,#29121c);box-shadow:0 0 9px #ebac55}.post-left{left:0}.post-right{right:0}.cabinet-curtain{position:absolute;z-index:2;top:-35px;width:42%;height:52%;background:repeating-linear-gradient(92deg,#1c0630,#592048 16%,#8c3270 23%,#350d32 34%);border-bottom:10px solid #c18b45;opacity:var(--cr-curtain-opacity);box-shadow:2px 12px 23px #10071f}.curtain-a{left:-18%;border-radius:0 0 85% 15%;transform:rotate(-7deg)}.curtain-b{right:-18%;border-radius:0 0 15% 85%;transform:rotate(7deg)}.cabinet-night{position:absolute;inset:0;background:radial-gradient(circle at 44% 50%,#af44ff31,transparent 57%),radial-gradient(circle at 70% 75%,#1fbbff24,transparent 45%)}.arcade-halo{position:absolute;inset:10% 12% 1%;z-index:0;opacity:var(--cr-halo-opacity);background:radial-gradient(ellipse,#bd64ff20,#12a8fa17 31%,transparent 68%);animation:orbPulse var(--cr-halo-speed) ease-in-out infinite}.character-stage{position:absolute;inset:-1% -3% -4%;z-index:4;transform:translate(var(--left-shift),var(--cr-drop)) scale(var(--cr-scale));transform-origin:center center;pointer-events:none}.float-layer{width:100%;height:100%;animation:cristobalEight var(--drift-time) linear infinite}.cristobal-og{width:100%;height:100%;object-fit:contain;object-position:center 12%;filter:drop-shadow(0 0 8px #7243ff66)}.cabinet-orb{position:absolute;z-index:6;left:54%;bottom:2%;width:calc(32% * var(--cr-arcade-ball-size));aspect-ratio:1;transform:translateX(-15%);pointer-events:none}.cabinet-orb img,.chamber-orb img{width:100%;height:100%;object-fit:contain;animation:orbPulse 5s ease-in-out infinite;filter:drop-shadow(0 0 14px #33a3f8)}.cabinet-orb-halo{position:absolute;inset:-26%;border-radius:50%;background:radial-gradient(circle,#50c6ff66,transparent 65%);filter:blur(9px)}.orb-mount{position:absolute;z-index:2;bottom:-8px;left:25%;right:25%;height:13%;border:2px ridge #ffd06d;border-radius:50%;background:linear-gradient(#f2cb84,#854520 65%,#39141b)}.arcade-stars{position:absolute;inset:0;pointer-events:none;z-index:3}.arcade-stars i{position:absolute;left:8%;top:25%;font-style:normal;font-size:calc(14px * var(--cr-star-size));color:#ffdf9d;text-shadow:0 0 var(--cr-star-glow) #ffe7ac,0 0 12px #a778ff;animation:twinkle var(--cr-star-speed) ease-in-out infinite;opacity:var(--cr-star-opacity)}.arcade-stars i:nth-child(2){animation-delay:-.6s}.arcade-stars i:nth-child(3){animation-delay:-1.5s}.arcade-stars i:nth-child(4){animation-delay:-.2s}.arcade-stars i:nth-child(5){animation-delay:-1s}.glass-sheen{position:absolute;inset:-40%;z-index:11;pointer-events:none;mix-blend-mode:screen;opacity:var(--cr-sheen-opacity);background:linear-gradient(110deg,transparent 42%,#b9dcff2d 48%,#fff9ff18 50%,transparent 56%);animation:glassSlide var(--cr-sheen-speed) linear infinite}.cabinet-deck{height:55px;margin:3px -9px 0;background:linear-gradient(160deg,#7e4422,#1f0e15 33%,#68331b 60%,#1a0b11);border:4px ridge #d4a558;box-shadow:inset 0 0 6px #bd7b4b;text-align:center;color:#ffdea2;padding:8px 0}.deck-flourish{font-size:11px;letter-spacing:.1em}.cabinet-deck-studs{display:flex;justify-content:space-evenly;color:#7aceff;margin-top:6px;font-size:12px}.cabinet-plinth{height:64px;margin:0 -9px;display:flex;align-items:center;justify-content:space-around;background:repeating-linear-gradient(90deg,#381821 0,#76391d 9px,#30121a 24px);border:4px ridge #b98648;color:#f5d6a2;font-size:12px;letter-spacing:.07em;font-weight:bold}.cabinet-stand{height:51px;margin:0 -17px -6px;border:5px ridge #c99858;background:linear-gradient(110deg,#1c0c18,#6b351d,#2a1020 50%,#8c5327,#231016);border-radius:0 0 12px 12px;display:flex;justify-content:center;align-items:center;position:relative}.stand-medallion{width:45px;height:45px;border-radius:50%;background:radial-gradient(#3da5ff,#0a3469 43%,#c28e3a 45%,#6d3515 74%);box-shadow:0 0 12px #8bc6ff;color:#ffe49f;display:grid;place-items:center;font-size:23px}.cabinet{filter:drop-shadow(0 0 calc(20px * var(--cr-cabinet-glow)) #8e53bf) brightness(var(--cr-wood-richness))}
.arcade-dialog{padding:15px 0 0;max-width:490px}.arcade-dialog h1{font-size:clamp(27px,3vw,44px);font-weight:normal;line-height:1.12;color:#fbe4a8;text-shadow:0 0 14px #9977bc64;margin:16px 0}.arcade-dialog h1 em{color:#e5c9fc}.greeting{font-style:italic;line-height:1.65;font-size:clamp(14px,1.4vw,17px);color:#fff0d1;min-height:80px}.linkish{border:0;background:none;color:#e2b577;padding:4px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.intro-tagline{margin:20px 0 12px;color:#f4dfa2;font-size:14px}.question-box{background:linear-gradient(145deg,#472a538c,#1b122ad1);border:2px ridge #bf8b50;padding:14px;border-radius:12px;box-shadow:0 0 23px rgba(172,85,253,calc(var(--cr-panel-glow) * .2))}.question-box label{display:block;color:#ffd787;text-align:center;letter-spacing:.07em;font:10px/1.5 system-ui,sans-serif;margin-bottom:12px}.question-box textarea,.followup-form textarea{display:block;width:100%;min-height:82px;resize:vertical;border:1px solid #9070a6;border-radius:7px;background:#0e0b23;color:#ffeed8;padding:13px;line-height:1.5}.form-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;font:11px system-ui,sans-serif;color:#cbaccb}.ideas{margin-top:16px;font:10px system-ui,sans-serif;color:#efcca0;letter-spacing:.12em}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chips button{border:1px solid #725181;background:#342344aa;color:#f4e8fb;border-radius:20px;padding:8px 10px;font:11px system-ui,sans-serif}.chips button:hover{background:#4c3264}
.chamber{justify-content:center}.chamber-layout{width:min(1140px,100%);display:grid;grid-template-columns:minmax(320px,1.07fr) minmax(310px,.93fr);gap:clamp(22px,3.2vw,55px);align-items:stretch;margin:auto}.chamber-world{position:relative;min-height:min(65vh,630px);border:6px ridge #b58247;background:radial-gradient(ellipse at 45% 44%,#703c9b9c,transparent 53%),linear-gradient(115deg,#120820,#27204b,#0e0a2a);border-radius:45% 45% 16px 16px / 11% 11% 16px 16px;overflow:hidden;box-shadow:inset 0 0 40px #0f001b,0 10px 33px #030007,0 0 20px #d092524d}.chamber-night{position:absolute;inset:0;background:radial-gradient(1px 1px at 20% 18%,white,transparent),radial-gradient(2px 2px at 74% 31%,#ffe8a6,transparent),radial-gradient(2px 2px at 40% 65%,#a6baff,transparent);background-size:150px 170px}.chamber-vault{position:absolute;inset:0;box-shadow:inset 0 0 45px #120019}.chamber-portal{position:absolute;z-index:0;width:80%;height:65%;left:10%;top:10%;border-radius:50%;opacity:var(--cr-portal-opacity);background:radial-gradient(ellipse,#d782ff57,#47aeff36 34%,transparent 65%);filter:blur(11px);animation:portalPulse 9s ease-in-out infinite}.chamber-curtain{position:absolute;top:-10%;height:56%;width:41%;z-index:3;opacity:var(--cr-curtain-opacity);background:repeating-linear-gradient(96deg,#360d39,#7d315e 15%,#2e0a34 27%,#672552 37%);border-bottom:8px solid #d3a65a}.chamber-curtain-left{left:-18%;transform:rotate(-9deg);border-radius:0 0 96% 2%}.chamber-curtain-right{right:-18%;transform:rotate(9deg);border-radius:0 0 2% 96%}.chamber-column{position:absolute;z-index:10;top:0;bottom:0;width:20px;background:linear-gradient(90deg,#3f191c,#ffdc96,#a45f34,#230c17);border:2px ridge #d7ad71;box-shadow:0 0 13px #f4be7b}.chamber-col-l{left:0}.chamber-col-r{right:0}.chamber-character{position:absolute;z-index:5;inset:1% -3% 5%;transform:translate(var(--cr-chamber-left-shift),var(--cr-chamber-drop)) scale(var(--cr-chamber-scale));pointer-events:none}.chamber-character img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 14px #bd72ff94)}.chamber-orb{position:absolute;z-index:7;left:50%;bottom:9%;width:calc(31% * var(--cr-chamber-ball-size));transform:translateX(15%);aspect-ratio:1}.chamber-floor{position:absolute;z-index:6;bottom:0;left:0;right:0;height:15%;border-top:4px solid #daac65;background:linear-gradient(#66341c,#11091c);box-shadow:0 0 30px #dda1594a}.chamber-mist{position:absolute;z-index:8;left:-25%;right:-25%;bottom:-18%;height:43%;opacity:var(--cr-mist-opacity);background:radial-gradient(ellipse at 29% 47%,#b070ffe0,transparent 43%),radial-gradient(ellipse at 73% 37%,#5bb6f9e8,transparent 46%),radial-gradient(ellipse at 47% 64%,#fff4fb85,transparent 43%);filter:blur(23px);pointer-events:none;animation:mistDrift 17s ease-in-out infinite}.chamber-stars{position:absolute;z-index:4;inset:0;pointer-events:none}.chamber-stars i{position:absolute;top:var(--cr-chamber-stars-top);font-size:var(--cr-chamber-star-size);font-style:normal;color:#fbe0a0;opacity:var(--cr-chamber-star-opacity);text-shadow:0 0 12px #eac7ff;animation:chamberDrift var(--cr-chamber-star-speed) ease-in-out infinite}.chamber-stars i:nth-child(1){left:14%}.chamber-stars i:nth-child(2){left:31%;animation-delay:-1s}.chamber-stars i:nth-child(3){left:54%;animation-delay:-2s}.chamber-stars i:nth-child(4){left:73%;animation-delay:-3s}.chamber-stars i:nth-child(5){left:89%;animation-delay:-4s}.chamber-plaque{position:absolute;z-index:11;left:0;right:0;bottom:11px;text-align:center;color:#ffe1a6;text-shadow:0 0 7px #bc6e43;font:11px system-ui,sans-serif;letter-spacing:.12em}.reading-panel{position:relative;background:radial-gradient(ellipse at 45% 35%,rgba(222,166,89,calc(.08 * var(--cr-parchment))),transparent 67%),linear-gradient(135deg,#21142d,#0f1025);padding:clamp(20px,3vw,38px);border:7px ridge #aa713a;border-radius:13px;box-shadow:inset 0 0 0 1px #f2bd76,inset 0 0 30px #33183f,0 0 26px #6f4abc45;display:flex;flex-direction:column;justify-content:center;min-height:470px}.reading-panel:before,.reading-panel:after{content:'✥';position:absolute;color:#e4b46e;font-size:20px}.reading-panel:before{top:2px;left:12px}.reading-panel:after{bottom:2px;right:12px}.reading-header-decor{font-size:clamp(22px,2.3vw,32px);font-weight:bold;color:#f5d9a5;text-align:center;border-top:1px solid #bf8b56;border-bottom:1px solid #bf8b56;margin:18px 0 24px;padding:12px 0}.reading-header-decor span{padding:0 10px}.reading-text{font-size:var(--cr-reading-size);line-height:1.76;color:#fff1d6;white-space:pre-wrap;margin:0;min-height:130px}.reading-actions{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0 0}.ghost-button{font:12px system-ui,sans-serif}.reading-disclaimer{color:#b8a8be;line-height:1.4;margin:25px 0 0;font:11px/1.5 system-ui,sans-serif}.followup-form{display:grid;gap:8px;margin-top:20px;color:#efce98;font-size:13px}.followup-form .gold-button{justify-self:end}
/* Pause continual decorative repaints only while the cinematic cover is running. */
.app.is-transitioning .skypoints,.app.is-transitioning .float-layer,.app.is-transitioning .glass-sheen,.app.is-transitioning .arcade-stars i,.app.is-transitioning .chamber-stars i,.app.is-transitioning .chamber-mist,.app.is-transitioning .chamber-portal,.app.is-transitioning .landing-crystal img,.app.is-transitioning .cabinet-orb img,.app.is-transitioning .chamber-orb img{animation-play-state:paused!important}
.modal-backdrop{position:fixed;z-index:90;inset:0;background:#070410dc;display:grid;place-items:center;padding:20px;overflow:auto}.keepsake-modal{position:relative;background:#1c122b;border:2px solid #caa36b;border-radius:14px;padding:25px;width:min(460px,95vw);max-height:94vh;overflow:auto;text-align:center;color:#ecddc5}.modal-x{position:absolute;top:5px;right:12px;border:0;background:none;color:#f6cc83;font-size:31px}.fortune-keepsake{display:flex;flex-direction:column;align-items:center;gap:10px;aspect-ratio:3/4;justify-content:center;border:10px double #d9b878;background:radial-gradient(#51306b88,transparent 54%),linear-gradient(#160d24,#3b183e,#0e1b3a);padding:30px 16px}.fortune-keepsake h2{font-size:40px;margin:5px;color:#f5d993}.fortune-keepsake img{width:120px}.fortune-keepsake p{font:italic 23px/1.3 Georgia;color:#ffecc8}.card-eyebrow{font:11px system-ui;letter-spacing:.2em}.signature{font:italic 24px Georgia}.fortune-keepsake small{font-size:11px;letter-spacing:.1em;color:#c2a7d7}.email-demo{margin-top:12px;display:grid;gap:10px;color:#dcc7d3;font:13px system-ui,sans-serif}.email-demo label{display:grid;gap:8px}.email-demo input[type=email]{background:#151327;border:1px solid #756384;padding:10px;border-radius:5px}.email-demo .marketing{display:flex;gap:8px;justify-content:center}
.motion-lab{position:fixed;z-index:70;top:55px;right:12px;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 70px);overflow:auto;background:#120e28f8;border:2px solid #a77942;border-radius:14px;box-shadow:0 16px 40px #000c;color:#fff0d9;font:12px/1.45 system-ui,sans-serif;padding:18px}.lab-head{display:flex;justify-content:space-between;gap:16px}.lab-head strong{font:20px Georgia;color:#e9c791}.lab-head small{display:block;font:11px system-ui;color:#a9a0af}.lab-close{border:0;background:none;color:#f5cf8c;font-size:27px}.lab-help,.lab-hint{color:#c8b2d2;font-size:11px}.lab-preview,.lab-save-actions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.lab-preview button,.lab-save-actions button{border:1px solid #9e7453;background:#281d3c;color:#f5dca1;border-radius:7px;padding:7px 10px;font:11px system-ui}.lab-pref,.lab-preset{margin:12px 0}.lab-preset{display:flex;gap:9px;align-items:center}.lab-preset select,.lab-field select{background:#281b3d;color:#f9e9d0;border:1px solid #826a84;border-radius:6px;padding:6px}.lab-section{border:1px solid #77567e;border-radius:8px;margin:9px 0;background:#201730}.lab-section summary{padding:12px;cursor:pointer;color:#f1ce95;letter-spacing:.02em}.lab-section-content{padding:8px 12px 12px;border-top:1px solid #77567e}.lab-field{display:grid;grid-template-columns:1fr;gap:6px;margin:14px 0}.lab-field span{display:flex;justify-content:space-between;gap:6px;color:#f5ead0}.lab-field output{color:#94deff;font-weight:700}.lab-field input[type=range]{width:100%;accent-color:#ecc66e}.lab-scale{font-size:10px;color:#ac9ab6}.lab-explain{color:#bdb0c8;font:11px/1.5 system-ui;margin:12px 0 6px}.lab-subhead{font-size:11px;color:#f8ca81;letter-spacing:.08em;margin:10px 0}.lab-star-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lab-star-grid .lab-field{margin:6px 0}.lab-danger{color:#f5c1bb!important}
@keyframes slowStars{to{background-position:400px 380px}}@keyframes orbPulse{0%,100%{filter:brightness(.9) drop-shadow(0 0 8px #79b6ff)}50%{filter:brightness(1.17) drop-shadow(0 0 22px #a575ff)}}@keyframes twinkle{0%,100%{opacity:var(--cr-star-opacity-low);transform:scale(.85)}50%{opacity:var(--cr-star-opacity);transform:scale(1.08)}}@keyframes chamberDrift{0%,100%{opacity:var(--cr-chamber-star-low);transform:translateY(0)}50%{opacity:var(--cr-chamber-star-opacity);transform:translateY(calc(-1 * var(--cr-chamber-star-travel)))}}@keyframes portalPulse{0%,100%{filter:blur(10px) brightness(.75)}50%{filter:blur(18px) brightness(1.1)}}@keyframes glassSlide{0%,100%{transform:translateX(-45%)}50%{transform:translateX(40%)}}@keyframes mistDrift{0%,100%{transform:translateX(-7%)}50%{transform:translateX(8%)}}
@media(max-width:760px){.stage{padding:65px 13px 25px}.top-tools{right:8px;top:6px}.prototype-pill{display:none}.stage-head{margin-bottom:12px;max-width:470px}.arcade-layout,.chamber-layout{grid-template-columns:1fr;gap:19px;width:min(465px,100%)}.cabinet-wrapper{width:min(88%,370px)}.cabinet-view{height:320px}.cabinet-crown{height:70px}.cabinet-stand{height:35px}.cabinet-deck{height:45px}.cabinet-plinth{height:53px}.cabinet{border-width:4px}.arcade-dialog{padding:8px;max-width:100%;margin:0 auto}.arcade-dialog h1{font-size:30px}.greeting{min-height:auto}.chamber-world{min-height:340px;max-height:420px}.chamber-character{inset:1% 0 4%}.chamber-layout{max-width:480px}.reading-panel{min-height:320px}.landing-logo-hit{width:min(98vw,570px);max-height:50vh}.landing-logo{max-height:50vh}.landing-crystal{width:140px}.sky-moon{right:7%;top:16%;width:30px;height:30px}.stage-label{margin-top:20px}.motion-lab{right:6px;width:calc(100vw - 12px);max-height:calc(100dvh - 62px);top:55px}}
@media(max-width:400px){.stage{padding-left:8px;padding-right:8px}.cabinet-wrapper{width:95%}.cabinet-view{height:275px}.arcade-layout{gap:8px}.cabinet-crown{font-size:12px;height:59px;padding:13px 6px}.arcade-dialog h1{font-size:26px}.question-box{padding:10px}.landing-invite{font-size:26px}.chamber-world{min-height:310px}.reading-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-override=true]) .float-layer,html:not([data-motion-override=true]) .glass-sheen,html:not([data-motion-override=true]) .arcade-stars i,html:not([data-motion-override=true]) .chamber-stars i,html:not([data-motion-override=true]) .chamber-mist,html:not([data-motion-override=true]) .landing-crystal img,html:not([data-motion-override=true]) .chamber-portal{animation:none!important}}

/* v0.5.2: official logo is intentionally NOT a clickable control. */
.landing-logo-hit { pointer-events:none; cursor:default; }
.landing-logo-hit:hover .landing-logo { filter:none; }
.landing-crystal { appearance:none;display:block;border:0;padding:0;background:transparent;cursor:pointer;touch-action:manipulation;isolation:isolate;transition:filter .25s ease,transform .25s ease; }
.landing-crystal:hover { filter:brightness(1.22) drop-shadow(0 0 17px #9970f7);transform:scale(calc(var(--cr-landing-ball)*1.055)); }
.landing-crystal:focus-visible{outline:3px solid #ffe2a3;outline-offset:9px;border-radius:50%;}
.landing-crystal img,.landing-crystal .crystal-aura,.landing-crystal .crystal-base { pointer-events:none; }
/* v0.5.3 — sculpted cabinet and crystal-ball passage */
.cabinet{padding:0 28px;background:radial-gradient(ellipse at 50% 0,#a07838 0,transparent 58%),repeating-linear-gradient(94deg,#231c1b 0,#50412b 3px,#29221e 5px,#30271d 9px);border:7px ridge #9d814d;border-radius:46% 46% 18px 18px / 7% 7% 15px 15px;box-shadow:inset 0 0 0 3px #30251a,inset 0 0 0 5px #b49a5d,inset 0 0 25px #000,9px 12px 0 #181313,11px 13px 0 #755b35,0 25px 45px #0009}
.cabinet:before,.cabinet:after{content:'❧\A◆\A❧\A✧\A❧\A◆\A❧';white-space:pre;position:absolute;top:25%;bottom:15%;width:25px;display:flex;align-items:center;justify-content:center;text-align:center;font:27px/2 Georgia,serif;color:#b69759;text-shadow:1px 2px 0 #f0d89a,-2px -2px 1px #080a09;background:linear-gradient(90deg,#1c302b,#304b3c,#172d26);border:2px ridge #ad9057;border-radius:15px;overflow:hidden;pointer-events:none}
.cabinet:before{left:0}.cabinet:after{right:0;transform:scaleX(-1)}
.cabinet-crown{height:auto;min-height:190px;margin:-10px -34px 0;padding:12px 24px 15px;isolation:isolate;border:7px ridge #c0a065;border-radius:48% 48% 13px 13px / 35% 35% 9px 9px;background:radial-gradient(ellipse at 50% 45%,#711d35,#310f28 60%,#170e1c);box-shadow:inset 0 0 0 3px #37251c,inset 0 0 0 5px #e3c48a,inset 0 0 22px #050408,0 6px 0 #35261b,0 10px 0 #ae8a51}
.marquee-logo{display:block;width:100%;height:auto;max-height:235px;object-fit:contain;filter:drop-shadow(0 3px 3px #0008)}
.cabinet-topline{margin:7px -20px 0;height:15px;border-width:3px;background:repeating-linear-gradient(90deg,#35271d 0 7px,#c3a362 8px 12px,#58472c 13px 20px)}
.cabinet-view{height:clamp(305px,32vw,390px);border:7px ridge #ba995d;border-radius:38% 38% 10px 10px / 7% 7% 10px 10px;box-shadow:inset 0 0 30px #080819,0 0 0 4px #211e18,0 0 0 7px #7e6942}
.character-stage{inset:3% 6% 7%}
.cabinet-post{width:10px;background:repeating-linear-gradient(0deg,#655030 0 12px,#e3c78a 13px 16px,#3f3022 17px 23px);border-color:#ad925e;box-shadow:none}
.cabinet-deck{height:auto;min-height:65px;margin:5px -20px 0;padding:13px 5px 9px;border:5px ridge #af9156;background:linear-gradient(110deg,#281921,#591d32 50%,#281921);box-shadow:inset 0 0 14px #000}
.deck-flourish{font:bold clamp(12px,1.3vw,17px)/1.3 Georgia,serif;letter-spacing:.12em;color:#f3d79c;text-shadow:0 2px #1d1418}
.cabinet-deck-studs{margin-top:8px;color:#af9a61;font-size:9px}
.cabinet-plinth{height:76px;margin:0 -20px;border:5px ridge #ad9057;background:radial-gradient(ellipse,#32503d,#17291f);font-style:italic;font-size:clamp(12px,1.4vw,17px);letter-spacing:.03em;box-shadow:inset 0 0 0 3px #172018,inset 0 0 0 4px #ac9059,inset 0 0 20px #000}
.cabinet-plinth>span{font-size:29px;color:#ba9c60;text-shadow:1px 2px #ead8a0,-1px -2px #15140b}
.cabinet-stand{margin:0 -34px -9px;height:48px;border:6px ridge #aa8c57;background:repeating-linear-gradient(90deg,#28231d 0 4px,#8b7146 5px 7px,#383026 8px 11px);border-radius:0 0 10px 10px}
.stand-medallion{width:31px;height:31px;font-size:16px;box-shadow:none}
.chamber .stage-head{display:grid;grid-template-columns:minmax(320px,1.07fr) minmax(310px,.93fr);gap:clamp(22px,3.2vw,55px);width:min(1140px,100%);min-height:0;margin-bottom:12px}.chamber-logo{display:block;justify-self:center;width:var(--cr-chamber-logo-width,75%);height:auto;object-fit:contain;filter:drop-shadow(0 3px 7px #080513b8)}.chamber .stage-head .quiet-control{justify-self:end}
#orbTransition{position:fixed;inset:0;z-index:55;overflow:hidden;pointer-events:none;display:none;isolation:isolate}#orbTransition.active{display:block;pointer-events:auto}#orbTransition img{position:absolute;object-fit:contain;transform-origin:center;will-change:transform,opacity}.orb-passage{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 45%,#294078,#211b49 45%,#110c24 90%);opacity:0;z-index:1;will-change:opacity}
@media(max-width:760px){.cabinet-wrapper{width:min(95%,390px)}.cabinet{padding:0 24px}.cabinet-crown{margin-left:-30px;margin-right:-30px;min-height:160px;padding:10px 19px}.marquee-logo{max-height:195px}.cabinet-view{height:325px}.cabinet-stand{margin-left:-30px;margin-right:-30px}.cabinet:before,.cabinet:after{width:21px;font-size:22px}.chamber .stage-head{grid-template-columns:1fr;gap:12px;width:min(465px,100%);max-width:480px}.chamber .stage-head .quiet-control{grid-row:1}.chamber-logo{grid-row:2}}
@media(max-width:400px){.cabinet-crown{min-height:140px}.marquee-logo{max-height:170px}.cabinet-view{height:285px}.cabinet-deck{min-height:60px}.deck-flourish{font-size:11px}.cabinet-plinth{height:62px;font-size:12px}}

/* Approved lettering-only marquee: retain the artwork's natural proportions. */
.cabinet-crown{min-height:0;padding:15px 9px 12px;border-radius:38% 38% 12px 12px / 18% 18% 8px 8px}
.marquee-logo{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:760px){.cabinet-crown{min-height:0;padding:13px 7px 10px}.marquee-logo{max-height:none}}
@media(max-width:400px){.cabinet-crown{min-height:0;padding:11px 5px 9px}.marquee-logo{max-height:none}}

.landing-invite{font-size:clamp(17px,2.6vw,30px);text-align:center;text-wrap:balance;max-width:92vw;line-height:1.3}

/* Pedestal artwork: sphere occupies 68% of the square source width.
   Compensate for transparent margins, preserve sphere width, and allow
   the support its own vertical space without stretching the artwork. */
.landing-crystal,.cabinet-orb,.chamber-orb{aspect-ratio:1 / 1.4}
.landing-crystal img,.cabinet-orb img,.chamber-orb img{position:absolute;width:147.06%;height:auto;max-width:none;left:-23.53%;bottom:0;object-fit:contain}
.fortune-keepsake img{width:176.47px;height:auto;max-width:none}
#orbTransition img{transform-origin:50% 35%}

/* Carved cabinet finish: richer walnut grain, raised gold molding and
   repeating leaf engraving on the existing side panels. */
.cabinet{
 background:
  linear-gradient(90deg,transparent 0 2.1%,#d2b16c 2.2%,#4b3822 2.55%,transparent 3.1% 96.9%,#4b3822 97.45%,#d2b16c 97.8%,transparent 97.9%),
  repeating-linear-gradient(92deg,#291812 0,#53321e 2px,#382318 4px,#211514 7px,#604027 9px,#2c1a14 14px);
 border:8px ridge #aa8850;
 box-shadow:inset 0 0 0 2px #241913,inset 0 0 0 5px #d0ae67,inset 0 0 0 8px #3d2718,inset 0 0 25px #080606,0 0 0 2px #e1c47f,9px 12px 0 #181313,11px 13px 0 #755b35,0 25px 45px #0009;
}
.cabinet:before,.cabinet:after{
 width:27px;
 color:#d1ad64;
 text-shadow:1px 1px 0 #f4dfa2,-1px -2px 1px #090a08,0 0 7px #d7b45c80;
 background-color:#193027;
 background-image:
  radial-gradient(ellipse at 50% 8%,#e0bd70 0 2px,transparent 3px),
  radial-gradient(ellipse at 50% 25%,#a9874c 0 2px,transparent 3px),
  radial-gradient(ellipse at 50% 42%,#e0bd70 0 2px,transparent 3px),
  radial-gradient(ellipse at 50% 59%,#a9874c 0 2px,transparent 3px),
  radial-gradient(ellipse at 50% 76%,#e0bd70 0 2px,transparent 3px),
  radial-gradient(ellipse at 50% 93%,#a9874c 0 2px,transparent 3px),
  repeating-linear-gradient(90deg,#193027 0 4px,#35513b 5px,#182820 8px);
 box-shadow:inset 0 0 0 2px #172019,inset 0 0 0 4px #ac9059,inset 0 0 12px #060806,2px 2px 2px #080606;
}
.cabinet-topline{height:19px;margin-top:8px;border:3px ridge #d4b46e;background:repeating-linear-gradient(90deg,#302016 0 5px,#82663b 6px 8px,#d2b16c 9px 11px,#37251a 12px 17px);box-shadow:0 3px 5px #0009,inset 0 0 4px #140e0a}
.cabinet-deck{position:relative;border:6px ridge #bd9b5c;background:repeating-linear-gradient(90deg,#301a18 0 5px,#71452b 6px 8px,#3b201b 9px 15px);box-shadow:inset 0 0 0 3px #2a1914,inset 0 0 0 5px #cfad67,inset 0 0 15px #070505,0 4px 0 #211610}
.cabinet-deck:before,.cabinet-deck:after{content:'❧';position:absolute;top:50%;transform:translateY(-50%);font:26px/1 Georgia,serif;color:#d2b36f;text-shadow:1px 2px #2a1710,-1px -1px #f0dba0;pointer-events:none}
.cabinet-deck:before{left:10px}.cabinet-deck:after{right:10px;transform:translateY(-50%) scaleX(-1)}
.cabinet-plinth{border-color:#c2a363;box-shadow:inset 0 0 0 2px #152119,inset 0 0 0 5px #d2b36f,inset 0 0 0 8px #23352a,inset 0 0 22px #070907,0 4px 0 #241911}
.cabinet-stand{box-shadow:inset 0 0 0 3px #291b13,inset 0 0 0 6px #c5a15c,inset 0 0 15px #080505,0 5px 6px #050404}

/* Keep the left carved panel in front of the window trim, like the right. */
.cabinet::before{z-index:1}

/* Fit the fortune inscription panel between the side columns. */
.cabinet-deck{margin-left:0;margin-right:0}

/* Cabinet inscriptions: embedded fonts and balanced, centered lettering. */
@font-face{font-family:CabinetSerif;src:url('assets/fonts/cabinet-serif.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:CabinetScript;src:url('assets/fonts/cabinet-script.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
.cabinet-deck{display:grid;place-items:center;min-height:65px;height:auto;padding:8px 37px;text-align:center}
.cabinet-deck-studs{display:none}
.deck-flourish{display:grid;gap:2px;width:100%;margin:0;font-family:CabinetSerif,Georgia,serif;font-size:clamp(13px,1.35vw,16px);font-weight:700;line-height:1.1;letter-spacing:.075em;text-align:center}
.deck-flourish>span,.eternity-inscription>span{display:block;color:#ffe6a2;background:linear-gradient(180deg,#fff4c8 0%,#f7d78b 38%,#bf8741 52%,#ffe6a4 70%,#d6a656 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #1b100b) drop-shadow(0 0 3px #b6812938);text-shadow:none}
.cabinet-plinth{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;justify-items:center;column-gap:4px;padding:5px 8px;text-align:center}
.eternity-inscription{display:grid;gap:0;justify-items:center;font-family:CabinetScript,'Palatino Linotype',serif;font-size:clamp(23px,2.3vw,28px);font-weight:400;font-style:normal;line-height:.95;letter-spacing:0;padding-top:3px}
@media(max-width:400px){.cabinet-deck{min-height:65px}.deck-flourish{font-size:13px}.cabinet-plinth{height:70px}.eternity-inscription{font-size:25px}}

/* Keep both cabinet inscriptions on one centered line. */
.deck-flourish{display:block;white-space:nowrap;font-size:clamp(11px,1.2vw,15px);letter-spacing:.035em;line-height:1.2}
.eternity-inscription{display:block;white-space:nowrap;font-size:clamp(17px,1.85vw,24px);letter-spacing:-.025em;line-height:1.1;padding-top:0}

/* v0.5.4 — Landing fit: keep ENTER above the fold on short desktop viewports. Scale only; aspect ratios and workshop multipliers unchanged. */
@media(min-width:761px){#landing .landing-logo-hit,#landing .landing-logo{max-height:38vh;max-height:38dvh}#landing .landing-crystal{width:clamp(115px,min(16vw,19vh),200px);width:clamp(115px,min(16vw,19dvh),200px)}}

/* v0.5.7: accessible reading announcement and inline auto-entry control. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.auto-entry-control{font:inherit;color:#f5dca8;background:none;border:0;padding:2px 4px;text-decoration:underline;text-underline-offset:3px}

/* v0.5.9: local scripted-demo controls; existing artwork and scene geometry retained. */
.question-box select{width:100%;min-height:48px;background:#0e0b23;color:#ffeed8;border:1px solid #9070a6;border-radius:7px;padding:12px;font-size:16px}
.demo-note,.install-help{font:12px/1.6 system-ui,sans-serif;color:#d9c6df}.install-help{margin-top:18px}.install-help summary{cursor:pointer;color:#f4dfa2}.followup-choices{display:grid;gap:9px}.followup-choices button{text-align:left;min-height:44px;line-height:1.5}.reading-panel>#originalReading,.reading-panel>#resetDemo{align-self:flex-start;margin-top:15px;min-height:36px}.modal-backdrop{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.keepsake-modal{max-height:90dvh;overflow-y:auto}button,select{touch-action:manipulation}
