:root{color-scheme:dark;--night:#251523;--deep:#1b111c;--plum:#4a2840;--wine:#80334c;--rose:#eeb0be;--blush:#ffe5e1;--champagne:#ddbd86;--muted:#c4a4b3;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;scroll-padding-top:100px}body{margin:0;min-width:280px;overflow-x:hidden;color:#fff5ed;background:var(--night);background-image:radial-gradient(ellipse 95% 35% at 50% -5%,#633246b0,transparent),radial-gradient(#f2bed20e .7px,transparent .7px);background-size:auto,7px 7px;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #ffc8d4;outline-offset:3px}button:active{transform:scale(.97)}.night-sky{position:absolute;pointer-events:none;inset:0 0 auto;height:700px;overflow:hidden}.night-sky i{position:absolute;width:3px;height:3px;background:#ffe0ac;border-radius:50%;opacity:.3;animation:twinkle 4s ease-in-out infinite alternate}.night-sky i:nth-child(1){top:11%;left:14%}.night-sky i:nth-child(2){top:30%;left:84%;animation-delay:1s}.night-sky i:nth-child(3){top:40%;left:12%;animation-delay:2s}.night-sky i:nth-child(4){top:70%;left:92%;animation-delay:3s}.night-sky i:nth-child(5){top:13%;left:72%;animation-delay:1.3s}.night-sky i:nth-child(6){top:84%;left:33%;animation-delay:.4s}.topbar{height:69px;padding:0 max(22px,calc((100vw - 900px)/2));padding-top:env(safe-area-inset-top,0px);display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f5c1c920;position:relative;z-index:1}.back{font-size:12px;font-weight:700;letter-spacing:.2px;text-decoration:none;color:#f8e8e8;padding:14px 0}.back span{border-bottom:1px solid transparent}.back:active span{border-color:currentColor}.topbar-mid{font-size:9px;letter-spacing:2px;color:#e1b2a8;white-space:nowrap}.moon{font-family:Georgia,serif;font-size:26px;color:#f4cfa3}.secret-hero{max-width:890px;padding:64px 30px 60px;margin:auto;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:45px;isolation:isolate}.hero-text{position:relative;z-index:2}.label,.section-no{font-size:10px;line-height:1.5;letter-spacing:2.5px;font-weight:700;color:var(--champagne)}.tiny-star{font-size:16px;vertical-align:middle}.secret-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(66px,8vw,100px);letter-spacing:-4px;line-height:1.03;margin:29px 0}.secret-hero h1 em,.suite-content h2 em{font-weight:400;color:#f2b5c7}.title-dot{color:var(--champagne)}.hero-copy{font-size:14px;line-height:1.9;color:#e6c9d4;margin:0}.hero-signature{margin-top:36px;font:italic 23px Georgia,serif;color:#ffe9d8}.hero-signature span{color:var(--rose)}.hero-art{position:relative;max-width:340px;margin:auto;width:100%}.image-border{position:relative;overflow:hidden;border-radius:160px 160px 12px 12px;border:5px solid #fbe0dc;box-shadow:0 0 0 1px #bc8293,0 22px 75px #160c1840}.image-border:before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 70%,#30172555);pointer-events:none}.image-border img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.wax-stamp{position:absolute;right:-23px;bottom:37px;width:88px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(11deg);background:#a2445d;border:4px double #e1aab2;border-radius:50%;z-index:3;box-shadow:0 9px 22px #16071280;text-align:center}.wax-stamp span{font:italic 39px/1 Georgia,serif;color:#ffe0d6}.wax-stamp small{font-size:8px;letter-spacing:1.6px}.art-caption{font:italic 16px Georgia,serif;text-align:center;margin-top:22px;color:#ebc2ca}.fancy-divider{display:flex;align-items:center;gap:26px;justify-content:center;border-top:1px solid #f3cccc18;border-bottom:1px solid #f3cccc18;background:#341b2e;padding:21px 10px;font-size:15px;letter-spacing:6px;color:var(--champagne)}.fancy-divider b{font-size:10px;color:#ffe0df;letter-spacing:3.5px}.suite-content{max-width:660px;padding:72px 22px 60px;margin:auto}.section-intro{text-align:center}.badge-art{width:83px;height:83px;border-radius:50%;border:4px solid #f5d6db;box-shadow:0 0 0 1px #a96580,0 10px 24px #1207137a;background-image:url('../assets/yumi-badges.webp');background-size:300% 300%;background-repeat:no-repeat;display:block;margin:21px auto 15px}.badge-8{background-position:100% 100%}.suite-content h2{font:400 clamp(39px,7vw,55px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-1.2px;margin:14px 0 21px}.section-intro>p:not(.consent-note){font-size:13px;line-height:1.8;color:#dcb8c9;margin:0 auto;max-width:410px}.instructions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:32px 0 14px;font-size:11px;letter-spacing:.2px}.instructions b{font-size:10px;color:#efb4be;margin-right:4px}.instructions>span:not(.instruction-arrow){background:#633a54;border:1px solid #8d6076;padding:10px;border-radius:999px}.instruction-arrow{color:var(--champagne)}.consent-note{font-size:11px;line-height:1.75;color:#bc9aab;max-width:480px;margin:13px auto 0}.scorecard{margin:55px 0 25px;padding:20px 20px;background:linear-gradient(125deg,#512d44,#3d2238);border:1px solid #8b6075;border-radius:19px;display:grid;grid-template-columns:1fr 105px 20px;align-items:center;gap:12px}.score-label{font-size:9px;letter-spacing:1.6px;color:#ebc2c8}.score-number{margin-top:5px;display:flex;align-items:baseline;gap:5px}.score-number strong{font:40px Georgia,serif;color:#fff0e4}.score-number span{font-size:11px;color:#ddbcc9}.score-track{height:6px;background:#86657c;border-radius:99px;overflow:hidden}.score-fill{width:0;height:100%;background:linear-gradient(90deg,#e4a7bf,#ffdbb1);border-radius:inherit;transition:width .5s var(--ease)}.score-icon{font-size:25px;color:var(--champagne)}.challenge-stack{display:grid;gap:17px}.challenge{display:grid;grid-template-columns:165px minmax(0,1fr);overflow:hidden;position:relative;isolation:isolate;background:linear-gradient(120deg,#4a2b40,#382336);border:1px solid #845770;border-radius:20px;box-shadow:0 10px 24px #150a16a6;transition:border-color .2s,transform .2s var(--ease)}.challenge[data-unlocked=true]{border-color:#d5a67d;background:linear-gradient(120deg,#523a43,#493041)}.challenge-portrait{min-height:244px;width:100%;background-image:url('../assets/secret-illustrations.webp');background-size:300% 300%;background-repeat:no-repeat;background-color:#a36172;position:relative}.challenge-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#2a16212c);pointer-events:none}.challenge-content{padding:22px 19px 20px;display:flex;flex-direction:column;min-width:0}.challenge-number{font-size:9px;letter-spacing:1.8px;color:#dfbb8e;font-weight:700}.challenge h3{font:400 27px/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.6px;margin:10px 0 8px;color:#fff4ea}.challenge-desc{font-size:12px;line-height:1.6;color:#e8cbd7;margin:0 0 8px}.extra{color:#d8a9b8;font-size:11px;line-height:1.6;margin:1px 0 13px;font-style:italic}.challenge-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.small-button{border:1px solid #e7b4bd;background:#f9d6d7;color:#59283e;border-radius:100px;min-height:40px;padding:10px 14px;font-size:10px;font-weight:700;line-height:1.25;transition:transform .14s var(--ease)}.small-button.secondary{color:#f9e1df;background:transparent;border-color:#a77b8c}.small-button:disabled{opacity:.55}.prize-panel{grid-column:1/-1;padding:18px 21px 20px;background:#261725;border-top:1px dashed #b38799;position:relative}.prize-eyebrow{font-size:9px;letter-spacing:1.6px;color:#d3af83;font-weight:700}.prize-title{font:italic 22px/1.4 'Playfair Display',Georgia,serif;margin:7px 0 4px}.prize-description{font-size:12px;line-height:1.7;color:#d8b9c4;margin:0}.prize-locked{filter:blur(5px);user-select:none;pointer-events:none;opacity:.6}.prize-mask{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;color:#fbe6e0;background:linear-gradient(90deg,#261725b2,#261725c5);font-size:11px;letter-spacing:1px;pointer-events:none}.prize-redeem{margin-top:12px}.prize-redeem .small-button{min-height:37px;padding:7px 14px}.challenge[data-unlocked=true] .prize-panel{background:#322335}.status{font-size:10px;color:#dba6bf;padding-top:10px;line-height:1.45}.status.done{color:#e7c38e}.unlock-room{margin-top:50px;padding:35px 25px 31px;background:#432638;border:1px solid #a16f83;border-radius:21px;text-align:center;box-shadow:0 12px 30px #13091750}.unlock-room h2{font-size:37px;margin:15px 0}.unlock-room p{font-size:12px;line-height:1.8;color:#e4c9d4;max-width:380px;margin:0 auto 22px}.unlock-ornament{color:#d7b487;letter-spacing:9px;margin-bottom:16px}.code-form{display:flex;flex-direction:column;max-width:370px;margin:auto;gap:9px}.code-form label{font-size:9px;text-align:left;letter-spacing:2px;color:#e8bcce;font-weight:700}.code-form input{width:100%;min-width:0;min-height:54px;border:1px solid #dcb9bd;border-radius:11px;background:#fff9f4;color:#512637;font:500 16px 'DM Sans',sans-serif;text-align:center;letter-spacing:1.3px;padding:12px 14px;text-transform:uppercase;outline-offset:3px}.pink-button{min-height:53px;background:#dfa2ba;color:#3d1b2a;border:1px solid #f6cedb;border-radius:100px;padding:14px;font-weight:700;font-size:13px;box-shadow:0 8px 17px #18091133;transition:transform .16s var(--ease),background .16s}.pink-button span{margin-left:7px}.pink-button:disabled{opacity:.6}.code-message{font-size:12px;line-height:1.6;min-height:26px;color:#f0ca9a;margin-top:13px}.love-note{text-align:center;margin:53px auto 13px;border-top:1px solid #f5cedb29;padding-top:34px}.love-seal{font-size:33px;color:#e9a8b8}.love-note p{font:17px/1.8 Georgia,serif;color:#eac9d6}.love-note p em{font-size:19px}.footer{padding:23px 22px calc(37px + env(safe-area-inset-bottom,0px));border-top:1px solid #f5c1c920;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:21px;max-width:910px;margin:auto;font-size:10px}.footer a{color:#f5c8c8;text-decoration:none;font-size:12px}.footer span{font-size:9px;letter-spacing:1.4px;color:#ca9cae}.footer button{background:none;border:0;color:#dfbdcc;text-decoration:underline;font-size:11px;padding:8px}.toast{position:fixed;z-index:20;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;width:max-content;max-width:calc(100% - 35px);transform:translate(-50%,20px);background:#fbe7e1;color:#592c40;box-shadow:0 10px 40px #180718b3;border-radius:12px;padding:14px 18px;font-size:12px;line-height:1.5;text-align:center;opacity:0;pointer-events:none;transition:transform .25s var(--ease),opacity .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}.spark{position:fixed;pointer-events:none;z-index:15;width:7px;height:10px;top:-15px;border-radius:2px;background:#efb3b4;animation:sparkleFall 2.5s ease-in forwards}
@keyframes twinkle{to{opacity:.85;transform:scale(2)}}@keyframes sparkleFall{to{transform:translate(var(--drift),110vh) rotate(600deg);opacity:0}}
@media(min-width:600px){.challenge{grid-template-columns:190px 1fr}.challenge-portrait{min-height:238px}.challenge-content{padding:26px 24px}.challenge h3{font-size:31px}.challenge-desc{font-size:13px}}
@media(max-width:600px){.topbar{height:62px;padding:0 19px;padding-top:env(safe-area-inset-top,0px)}.topbar-mid{font-size:8px;letter-spacing:1.4px}.secret-hero{display:flex;flex-direction:column;padding:45px 18px 42px;gap:32px;text-align:center}.secret-hero h1{font-size:clamp(59px,14vw,78px);letter-spacing:-2.5px;margin:18px 0 16px}.hero-copy{font-size:12px;line-height:1.8}.hero-signature{margin-top:19px;font-size:20px}.hero-art{max-width:275px}.image-border{border-radius:145px 145px 12px 12px}.image-border img{max-height:385px;object-position:center 29%;object-fit:cover}.wax-stamp{width:76px;height:76px;right:-18px;bottom:34px}.wax-stamp span{font-size:33px}.art-caption{margin-top:18px}.suite-content{padding:50px 15px 48px}.fancy-divider{padding:15px}.section-intro>p:not(.consent-note){padding:0 12px}.instructions{gap:5px}.instructions>span:not(.instruction-arrow){padding:9px 8px;font-size:10px}.instruction-arrow{font-size:10px}.scorecard{margin-top:35px;grid-template-columns:1fr 70px 12px;padding:17px 14px;gap:9px}.score-number strong{font-size:33px}.score-icon{font-size:19px}.challenge-stack{gap:14px}.challenge{grid-template-columns:minmax(116px,37%) minmax(0,1fr);border-radius:16px}.challenge-portrait{min-height:249px}.challenge-content{padding:16px 13px 13px}.challenge h3{font-size:23px;margin:9px 0 7px}.challenge-desc{font-size:11px;line-height:1.55}.extra{font-size:10px;margin-bottom:10px}.small-button{font-size:10px;padding:9px 11px;min-height:36px}.status{font-size:9px;padding-top:7px}.prize-panel{padding:15px}.unlock-room{padding:31px 19px 25px}.unlock-room h2{font-size:34px}.footer{flex-direction:column;text-align:center;gap:14px}}
@media(max-width:355px){.challenge{grid-template-columns:112px minmax(0,1fr)}.challenge h3{font-size:20px}.challenge-content{padding:13px 10px}.challenge-desc{font-size:10px}.extra{font-size:9px}.small-button{font-size:9px;padding:8px}.topbar-mid{display:none}}
@media(hover:hover) and (pointer:fine){.challenge:hover{transform:translateY(-2px);border-color:#b18093}.small-button:hover,.pink-button:hover{filter:brightness(1.08)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.less-motion *,body.less-motion *:before,body.less-motion *:after{animation:none!important;transition:none!important}

/* The secret rewards have a distinct, only-when-unlocked, after-dark signature. */
.prize-heat{display:inline-block;max-width:100%;margin-top:12px;padding:7px 11px;border:1px solid #bc7d98;border-radius:99px;color:#f7c7ce;background:#58314c;letter-spacing:.8px;font-size:10px;font-weight:600;line-height:1.4}
