@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/b6df7c92285ebcd2-s.0ajnkyhx5vkqi.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/eeba9b1ad34c1404-s.0am7roo413ye~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../media/5d52bd6c4cb3f315-s.p.04niyqph9_pxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.fredoka_2f39f95a-module__db4JcW__className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.fredoka_2f39f95a-module__db4JcW__variable{--font-display:"Fredoka", "Fredoka Fallback"}
@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.0bue79j92ry8p.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.00vt6ovfanaoz.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.08vb0en80h4ak.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.0e7.nfwufgbbc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0-k1k9nod8chc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_sans_58c2d92a-module__X7BsOW__className{font-family:Nunito Sans,Nunito Sans Fallback;font-style:normal}.nunito_sans_58c2d92a-module__X7BsOW__variable{--font-body:"Nunito Sans", "Nunito Sans Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_573773a6-module__QjeaWW__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_573773a6-module__QjeaWW__variable{--font-note:"Caveat", "Caveat Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--canvas:#f8fcfd;--surface:#fff;--ink:#24313b;--muted:#66757f;--border:#d9e3e7;--pink:#f952a4;--pink-shadow:#d93682;--blue:#27b5f6;--blue-shadow:#148dc8;--green:#59c96b;--green-shadow:#329844;--gold:#ffd24d;--gold-shadow:#d9a926;--coral:#ff7666;--coral-shadow:#d95347;--plum:#6d4c8d;--plum-shadow:#4e3369}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{color:var(--ink);background:var(--canvas);font-family:var(--font-body), "Arial Rounded MT Bold", sans-serif;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid var(--ink);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display), "Arial Rounded MT Bold", sans-serif}h1{letter-spacing:-.025em;margin-bottom:16px;font-size:clamp(2rem,9vw,3rem);line-height:1.05}h2{margin-bottom:8px;font-size:1.75rem;line-height:1.12}h3{font-size:1.2rem}.lede{color:var(--muted);max-width:34rem;margin-inline:auto;font-size:1.08rem;line-height:1.55}.eyebrow,.section-kicker{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:900}.eyebrow--pink{color:var(--pink-shadow)}.eyebrow--gold{color:#8c6811}.eyebrow--blue{color:#096a9a}.eyebrow--green{color:#247732}.eyebrow--plum{color:var(--plum)}.button{border:3px solid var(--ink);width:100%;min-height:54px;font-family:var(--font-display), sans-serif;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform 50ms,box-shadow 50ms,background-color .18s;display:inline-flex}.button:active{box-shadow:none;transform:translateY(4px)}.button:disabled{opacity:.55;cursor:wait}.button--pink{color:#fff;background:var(--pink);box-shadow:0 4px 0 var(--pink-shadow)}.button--blue{color:var(--ink);background:var(--blue);box-shadow:0 4px 0 var(--blue-shadow)}.button--green{color:var(--ink);background:var(--green);box-shadow:0 4px 0 var(--green-shadow)}.button--plain{box-shadow:0 4px 0 var(--border);background:#fff}.icon-button{border:3px solid var(--ink);width:48px;height:48px;box-shadow:0 3px 0 var(--border);cursor:pointer;background:#fff;border-radius:50%;font-size:1.3rem}.icon-button:active{box-shadow:none;transform:translateY(3px)}.gate-shell,.loading-screen{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid;overflow:hidden}.gate{text-align:center;width:min(100%,420px);position:relative}.gate h1{max-width:390px}.gate .lede{margin-bottom:28px}.lock{width:120px;height:132px;margin:0 auto 24px;animation:.7s cubic-bezier(.2,.9,.2,1.2) both lock-arrive;position:relative}.lock__shackle{border:10px solid var(--ink);background:var(--blue);border-bottom:0;border-radius:38px 38px 0 0;width:70px;height:72px;position:absolute;top:0;left:25px}.lock__body{background:var(--pink);border:4px solid var(--ink);height:82px;box-shadow:0 7px 0 var(--pink-shadow);bottom:0;border-radius:22px;place-items:center;display:grid;position:absolute;inset-inline:5px;transform:rotate(-2deg)}.lock__body b{background:var(--gold);border:3px solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.sun-confetti i{background:var(--gold);border:2px solid var(--ink);width:13px;height:13px;position:absolute;transform:rotate(45deg)}.sun-confetti i:first-child{top:24px;left:12%}.sun-confetti i:nth-child(2){background:var(--blue);width:9px;height:9px;top:112px;right:8%}.sun-confetti i:nth-child(3){background:var(--pink);width:7px;height:20px;top:10px;right:23%}.pin-form fieldset{border:0;margin:0;padding:0}.pin-row{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.pin-row input{border:3px solid var(--ink);text-align:center;width:100%;min-width:0;height:64px;font-family:var(--font-display), sans-serif;box-shadow:0 4px 0 var(--border);caret-color:var(--pink);background:#fff;border-radius:12px;font-size:1.8rem;font-weight:700}.pin-row input:focus{border-color:var(--pink-shadow);background:#fff5fa}.form-message{min-height:20px;color:var(--muted);margin:14px 0 0;font-size:.84rem}.loading-screen{text-align:center;font-weight:800}.journey{min-height:100svh;transition:background-color .22s;position:relative;overflow:hidden}.journey[aria-hidden=true]{z-index:-1;opacity:0;pointer-events:none;position:fixed;inset:0}.journey--1{background:#fffbef}.journey--2{background:#fff5fa}.journey--4,.journey--6{background:#f0fbff}.journey--7{background:#f4fff5}.music-control{top:max(16px, env(safe-area-inset-top));z-index:8;position:fixed;right:16px}.scene{width:min(100%,560px);min-height:100svh;padding:88px 20px max(28px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:auto;animation:.38s cubic-bezier(.2,.8,.2,1) both scene-in;display:flex}.fortune-scene{padding-top:56px}.scene>.button{max-width:420px;margin-top:12px}.text-link{color:#096a9a;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;min-height:44px;margin-top:8px;padding:12px;font-weight:900;text-decoration:underline}.tap-note{color:var(--muted);margin-top:14px}.mini-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 12px;display:flex}.mini-badges span{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:900}.streak-scene{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));gap:0;position:relative}.streak-hero{flex-direction:column;align-items:center;display:flex;transform:translateY(-58px)}.streak-action,.fortune-action{left:50%;bottom:max(24px, env(safe-area-inset-bottom));width:min(100% - 40px,340px);position:absolute;transform:translate(-50%)}.streak-action .button,.fortune-action .button{width:100%;margin:0}.flame-badge{background:var(--canvas);isolation:isolate;width:280px;height:280px;margin:0 auto 4px;position:relative;overflow:hidden}.flame-video{object-fit:contain;mix-blend-mode:multiply;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.18)}.streak-number{font-variant-numeric:tabular-nums;color:#ffac1c;letter-spacing:-.05em;font-size:clamp(5rem,27vw,8rem);line-height:.82;display:block}.streak-number__digits{transform-origin:bottom;justify-content:center;align-items:flex-start;height:.94em;display:inline-flex}.streak-number__digits.is-revealed{animation:.7s cubic-bezier(.2,.78,.22,1.08) both streak-number-settle}.streak-number__digit,.streak-number__window{place-items:center;width:.62em;height:.94em;display:inline-grid}.streak-number__punctuation{place-items:end center;width:.28em;height:.94em;padding-bottom:.04em;display:inline-grid}.streak-number__window{overflow:hidden}.streak-number__reel{will-change:transform;backface-visibility:hidden;display:block;transform:translate(0)}.streak-number__reel.is-revealed{animation:streak-digit-roll .78s cubic-bezier(.18,.82,.22,1) var(--roll-delay) both}.streak-number__reel>span{place-items:center;height:.94em;display:grid}.streak-number__label{color:#ffac1c;font-family:var(--font-body), sans-serif;letter-spacing:-.04em;margin-top:.24em;font-size:clamp(1.8rem,10vw,3rem);font-weight:900;line-height:1;display:block}.fortune-stage{align-content:center;place-items:center;width:min(100%,430px);min-height:286px;margin:4px 0 0;display:grid;position:relative}.cookie{cursor:pointer;width:230px;height:170px;filter:drop-shadow(0 7px 0 var(--gold-shadow));z-index:2;background:0 0;border:0;transition:transform .12s;position:relative}.cookie:not(:disabled):hover{transform:translateY(-3px)rotate(-1deg)}.cookie:not(:disabled):active{transform:translateY(4px)scale(.96)}.cookie:disabled{cursor:default}.cookie__half{z-index:2;border:4px solid var(--ink);background:var(--gold);width:108px;height:116px;transition:transform .62s cubic-bezier(.16,.84,.25,1.15) .3s;position:absolute;top:26px;box-shadow:inset 0 0 0 9px #ffe98f,inset 0 -9px #efb63b}.cookie__half:before{content:"";background:#fff2ad;border-radius:50%;width:17px;height:10px;position:absolute;top:22px;transform:rotate(-24deg)}.cookie__left:before{left:38px}.cookie__right:before{right:38px;transform:rotate(24deg)}.cookie__left{border-radius:74% 25% 66% 34%/58% 28% 72% 42%;left:24px;transform:rotate(-15deg)}.cookie__right{border-radius:25% 74% 34% 66%/28% 58% 42% 72%;right:24px;transform:rotate(15deg)}.cookie__fold{z-index:3;background:0 0;border:0;width:38px;height:52px;transition:opacity .16s .34s,transform .24s .3s;position:absolute;top:57px;left:96px}.cookie__fold:before{content:"";border:4px solid var(--ink);background:#ffe88a;border-radius:48% 52% 42% 58%/34% 44% 56% 66%;position:absolute;inset:2px 5px;transform:rotate(35deg);box-shadow:inset 0 -6px #efb63b}.cookie__fold:after{content:"";background:var(--gold-shadow);border-radius:99px;width:4px;height:30px;position:absolute;top:11px;left:17px;transform:rotate(35deg)}.cookie__crack{z-index:5;background:var(--ink);clip-path:polygon(38% 0,71% 0,52% 24%,86% 24%,43% 57%,72% 57%,18% 100%,39% 65%,8% 65%,48% 31%,21% 31%);opacity:0;transform-origin:top;width:27px;height:92px;position:absolute;top:38px;left:103px;transform:scaleY(0)}.cookie__crumb{z-index:6;border:3px solid var(--ink);background:var(--gold);opacity:0;border-radius:45% 55% 60% 40%;width:12px;height:12px;position:absolute;top:78px;left:109px}.cookie__crumb--three{width:9px;height:9px}.cookie__crumb--four{width:7px;height:8px}.fortune-stage.is-open .cookie{filter:drop-shadow(0 5px 0 var(--gold-shadow));animation:.34s ease-in-out both cookie-snap}.fortune-stage.is-open .cookie__crack{animation:.48s ease-out 40ms both crack-through}.fortune-stage.is-open .cookie__left{transform:translate(-64px,14px)rotate(-42deg)}.fortune-stage.is-open .cookie__right{transform:translate(64px,14px)rotate(42deg)}.fortune-stage.is-open .cookie__fold{opacity:0;transform:scale(.18)rotate(12deg)}.fortune-stage.is-open .cookie__crumb--one{animation:.7s .25s both crumb-one}.fortune-stage.is-open .cookie__crumb--two{animation:.68s .3s both crumb-two}.fortune-stage.is-open .cookie__crumb--three{animation:.62s .28s both crumb-three}.fortune-stage.is-open .cookie__crumb--four{animation:.58s .34s both crumb-four}.fortune-strip{z-index:4;border:3px solid var(--ink);width:min(94%,390px);min-height:104px;box-shadow:0 5px 0 var(--border);opacity:0;transform-origin:50%;pointer-events:none;background:#fffef8;padding:16px 22px;position:absolute;top:84px;transform:scaleX(.08)rotate(-1deg)}.fortune-stage.is-open .fortune-strip{animation:.72s cubic-bezier(.17,.84,.29,1.08) .62s both fortune-out}.fortune-stage.is-revealing .fortune-strip{animation:.34s cubic-bezier(.3,.02,.45,1) both fortune-strip-lift}.fortune-strip small{color:var(--plum);letter-spacing:.12em;font-weight:900}.fortune-strip p{font-family:var(--font-display), sans-serif;margin:5px 0 0;font-size:1.15rem;font-weight:700;line-height:1.35}.cookie-prompt{color:var(--muted);margin:0;font-size:.84rem;font-weight:800;position:absolute;bottom:0}.fortune-next{animation:.35s cubic-bezier(.2,.9,.25,1.2) .74s both button-pop}.journey--1 .scene{gap:10px}.journey--1 .scene h1{margin-bottom:6px}.drumroll-stage{place-items:center;row-gap:6px;width:min(100%,420px);margin-top:14px;display:grid}.drumroll-button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;width:290px;height:244px;position:relative}.drumroll-button:disabled{cursor:default}.drum-stick{z-index:5;border:3px solid var(--ink);background:var(--gold);transform-origin:50% 100%;border-radius:999px;width:18px;height:106px;transition:transform 80ms;position:absolute;top:0;box-shadow:inset 0 10px #ffe98f}.drum-stick:before{content:"";border:3px solid var(--ink);background:var(--gold);width:26px;height:30px;box-shadow:inset 0 -7px 0 var(--gold-shadow);border-radius:50%;position:absolute;bottom:-12px;left:-7px}.drum-stick--left{left:91px;transform:rotate(-32deg)}.drum-stick--right{right:91px;transform:rotate(32deg)}.drumroll-button:active .drum-stick--left{transform:rotate(-14deg)}.drumroll-button:active .drum-stick--right{transform:rotate(14deg)}.tap-drum{width:238px;height:160px;filter:drop-shadow(0 7px 0 var(--blue-shadow));position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.tap-drum.is-hit{animation:.25s cubic-bezier(.2,.8,.25,1.15) both drum-hit}.tap-drum__top,.tap-drum__bottom{z-index:4;border:4px solid var(--ink);background:#fff;border-radius:50%;width:100%;height:54px;position:absolute;left:0}.tap-drum__top{box-shadow:inset 0 0 0 8px var(--border), inset 0 -10px 0 #b9cbd2;top:0}.tap-drum__top:after{content:"";border:3px solid #9eb4bd;border-radius:50%;position:absolute;inset:11px 22px}.tap-drum__bottom{z-index:1;background:var(--blue-shadow);height:47px;bottom:0;box-shadow:inset 0 8px #249bd2,inset 0 -10px #0c5c83}.tap-drum__bottom:after{content:none}.tap-drum__body{z-index:2;border-inline:4px solid var(--ink);background:var(--blue);box-shadow:inset 18px 0 0 #5ac9fb, inset -18px 0 0 var(--blue-shadow);position:absolute;inset:27px 5px;overflow:hidden}.tap-drum__body>i{z-index:2;border:2px solid var(--ink);background:#e6f0f3;border-radius:999px;width:7px;position:absolute;top:2px;bottom:2px;transform:skew(-7deg)}.tap-drum__body>i:first-child{left:14%}.tap-drum__body>i:nth-child(2){left:31%}.tap-drum__body>i:nth-child(3){left:calc(50% - 4px)}.tap-drum__body>i:nth-child(4){right:31%}.tap-drum__body>i:nth-child(5){right:14%}.drumroll-beats{justify-content:center;gap:9px;min-height:20px;margin-top:3px;display:flex}.drumroll-beats i{border:2px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s,background-color .18s}.drumroll-beats i.is-played{background:var(--pink);animation:.24s both beat-pop;transform:scale(1.16)}.drumroll-prompt{min-height:26px;color:var(--muted);margin:9px 0 0;font-weight:900}.us-popup{z-index:110;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#24313bad;place-items:center;padding:20px;animation:.18s both modal-fade;display:grid;position:fixed;inset:0}.us-polaroid{border:4px solid var(--ink);background:#fff;border-radius:5px;width:min(100%,390px);margin:0;padding:15px 15px 20px;animation:.46s cubic-bezier(.17,.82,.22,1.18) both us-popup-in;position:relative;transform:rotate(-2.5deg);box-shadow:10px 12px #24313b4d}.us-polaroid__photo{aspect-ratio:1;border:3px solid var(--ink);background:var(--border);width:100%;position:relative;overflow:hidden}.us-polaroid__photo img{object-fit:cover}.us-polaroid figcaption{font-family:var(--font-note), cursive;text-align:center;margin:10px 0 12px;font-size:2.5rem;font-weight:700;line-height:1}.us-polaroid .button{min-height:48px}.us-popup__close{z-index:4;border:3px solid var(--ink);background:var(--pink);width:44px;height:44px;box-shadow:0 3px 0 var(--pink-shadow);cursor:pointer;border-radius:50%;place-items:center;font-size:1.6rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-17px;right:-17px;transform:rotate(5deg)}.gift-reveal-transition{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gift-wrap{transform-origin:50%;animation:.56s cubic-bezier(.18,.82,.22,1.08) both gift-wrap-expand;position:absolute;inset:0;overflow:hidden}.gift-wrap__half{background:var(--pink);width:54%;box-shadow:inset 0 0 0 4px var(--ink);animation-duration:.72s;animation-timing-function:cubic-bezier(.72,.01,.32,1);animation-delay:.68s;animation-fill-mode:both;position:absolute;inset-block:0;overflow:hidden}.gift-wrap__half:before{content:"";z-index:2;background:var(--gold);border-inline:4px solid var(--ink);width:clamp(28px,9vw,88px);position:absolute;top:0;bottom:0}.gift-wrap__half:after{content:"";background:var(--gold);border-block:4px solid var(--ink);height:clamp(54px,14vh,130px);position:absolute;top:43%;left:0;right:0}.gift-wrap__half--left{clip-path:polygon(0 0,100% 0,94% 8%,100% 16%,93% 25%,99% 34%,92% 43%,100% 52%,93% 62%,99% 72%,92% 82%,100% 91%,94% 100%,0 100%);animation-name:gift-wrap-rip-left;left:0}.gift-wrap__half--left:before{right:0}.gift-wrap__half--right{clip-path:polygon(6% 0,100% 0,100% 100%,6% 100%,0 91%,8% 82%,1% 72%,7% 62%,0 52%,8% 43%,1% 34%,7% 25%,0 16%,6% 8%);animation-name:gift-wrap-rip-right;right:0}.gift-wrap__half--right:before{left:0}.gift-wrap__half i{z-index:1;aspect-ratio:1;border:3px solid var(--ink);background:var(--blue);width:clamp(22px,6vw,54px);position:absolute;transform:rotate(45deg)}.gift-wrap__half i:first-child{top:12%;left:18%}.gift-wrap__half i:nth-child(2){background:var(--green);bottom:17%;right:17%;transform:rotate(12deg)}.gift-wrap__half i:nth-child(3){background:var(--coral);width:clamp(15px,4vw,38px);bottom:30%;left:24%;transform:rotate(28deg)}.gift-wrap__bow{z-index:5;width:clamp(112px,25vw,210px);height:clamp(76px,18vw,150px);animation:1.12s cubic-bezier(.2,.8,.22,1) both gift-bow-pop-away;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gift-wrap__bow span{border:4px solid var(--ink);background:var(--blue);width:52%;height:62%;position:absolute;top:8%}.gift-wrap__bow span:first-child{border-radius:72% 18% 58% 28%;left:1%;transform:rotate(22deg)}.gift-wrap__bow span:nth-child(2){border-radius:18% 72% 28% 58%;right:1%;transform:rotate(-22deg)}.gift-wrap__bow b{z-index:2;aspect-ratio:1;border:4px solid var(--ink);background:var(--blue-shadow);border-radius:44%;width:38%;position:absolute;top:25%;left:50%;transform:translate(-50%)rotate(45deg)}.water-splash-transition{z-index:80;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden}.water-splash__wash{z-index:1;aspect-ratio:1;background:var(--blue);border-radius:50%;width:34vmax;animation:1.58s cubic-bezier(.18,.76,.2,1) both water-wash;position:absolute;bottom:-12vmax;left:50%;transform:translate(-50%)scale(0);box-shadow:inset 0 0 0 5px #24313b29}.water-splash__burst{z-index:2;width:min(1160px,126vw);height:108vh;animation:1.5s cubic-bezier(.16,.78,.2,1) both water-burst-lift;position:absolute;bottom:-9vh;left:50%;transform:translate(-50%)}.water-splash__jet{transform-origin:50% 100%;background:#72d7fa;border:4px solid #24313b42;border-bottom:0;border-radius:52% 48% 18% 22%/76% 72% 18% 18%;width:clamp(120px,24vw,330px);height:92vh;position:absolute;bottom:0;left:50%;box-shadow:inset 22px 0 #ffffff42}.water-splash__jet:after{content:"";background:#ffffffad;border-radius:999px;width:18%;height:54%;position:absolute;top:8%;left:23%;transform:rotate(5deg)}.water-splash__jet--one{transform:translate(-50%)rotate(-1deg)scale(.85,1.05)}.water-splash__jet--two{transform:translate(-106%)rotate(-24deg)scale(.58,.76)}.water-splash__jet--three{transform:translate(6%)rotate(25deg)scale(.62,.8)}.water-splash__jet--four{transform:translate(-150%)rotate(-44deg)scale(.38,.54)}.water-splash__jet--five{transform:translate(51%)rotate(46deg)scale(.4,.56)}.water-splash__drop{aspect-ratio:.72;opacity:0;background:#bceeff;border:3px solid #24313b47;border-radius:72% 34% 64% 42%;width:clamp(24px,5vw,60px);position:absolute;bottom:26%;left:50%;box-shadow:inset 7px 5px #ffffff94}.water-splash__drop--one{--splash-x:-46vw;--splash-y:-51vh;--splash-r:-36deg;animation:.9s cubic-bezier(.16,.7,.25,1) 80ms both water-drop-left}.water-splash__drop--two{--splash-x:-30vw;--splash-y:-72vh;--splash-r:18deg;animation:1s cubic-bezier(.16,.7,.25,1) .12s both water-drop-left}.water-splash__drop--three{--splash-x:-13vw;--splash-y:-84vh;--splash-r:-14deg;animation:1.05s cubic-bezier(.16,.7,.25,1) 40ms both water-drop-left}.water-splash__drop--four{--splash-x:14vw;--splash-y:-83vh;--splash-r:20deg;animation:1.04s cubic-bezier(.16,.7,.25,1) 80ms both water-drop-right}.water-splash__drop--five{--splash-x:31vw;--splash-y:-69vh;--splash-r:-22deg;animation:.96s cubic-bezier(.16,.7,.25,1) .15s both water-drop-right}.water-splash__drop--six{--splash-x:47vw;--splash-y:-49vh;--splash-r:38deg;animation:.88s cubic-bezier(.16,.7,.25,1) .1s both water-drop-right}.water-splash__foam{z-index:3;justify-content:space-around;align-items:flex-start;height:34vh;animation:1.55s cubic-bezier(.2,.76,.22,1) both water-foam-surge;display:flex;position:absolute;bottom:-17vh;left:-10vw;right:-10vw}.water-splash__foam:before{content:"";background:#dff7ff;position:absolute;inset:42% 0 -45%}.water-splash__foam i{aspect-ratio:1;background:#dff7ff;border:4px solid #24313b2e;border-radius:50%;width:clamp(104px,20vw,240px);margin-inline:-5vw;position:relative}.water-splash__foam i:nth-child(2n){width:clamp(82px,16vw,196px);margin-top:4vh}.calypso-reveal{aspect-ratio:16/10;border:3px solid var(--ink);background:var(--blue);width:min(100%,440px);box-shadow:0 7px 0 var(--blue-shadow);border-radius:22px;margin:6px 0 20px;position:relative;overflow:hidden}.calypso-reveal>img{object-fit:cover;filter:saturate(.9);transition:transform 1.25s cubic-bezier(.17,.76,.23,1) .25s,filter .8s .3s;transform:scale(1.12)}.calypso-reveal.is-revealed>img{filter:saturate(1.08);transform:scale(1)}.calypso-curtain{z-index:2;background:var(--blue);transform-origin:50% 100%;border-radius:45%;place-items:center;transition:transform 1.05s cubic-bezier(.72,.02,.24,1) .22s;display:grid;position:absolute;inset:-18%;overflow:hidden;transform:rotate(-5deg)scale(1.15)}.calypso-curtain:after{content:"";border:4px solid var(--ink);background:#dff7ff;border-radius:50% 50% 0 0;height:40%;position:absolute;bottom:8%;left:-10%;right:-10%}.calypso-curtain span{z-index:2;border:3px solid var(--ink);background:var(--gold);box-shadow:0 4px 0 var(--gold-shadow);font-family:var(--font-display), sans-serif;letter-spacing:.06em;border-radius:10px;padding:10px 16px;font-size:1.15rem;font-weight:900;position:relative;transform:rotate(4deg)}.calypso-curtain i{z-index:3;border:3px solid var(--ink);opacity:0;background:#fff;border-radius:60% 40% 55% 45%;width:18px;height:27px;position:absolute}.calypso-curtain i:first-of-type{top:22%;left:24%}.calypso-curtain i:nth-of-type(2){top:35%;right:17%}.calypso-curtain i:nth-of-type(3){bottom:18%;left:46%}.calypso-reveal.is-revealed .calypso-curtain{transform:translateY(122%)rotate(10deg)scale(1.15)}.calypso-reveal.is-revealed .calypso-curtain i{animation:.65s both splash-drop}.calypso-reveal.is-revealed .calypso-curtain i:nth-of-type(2){animation-delay:.1s}.calypso-reveal.is-revealed .calypso-curtain i:nth-of-type(3){animation-delay:.18s}.calypso-stamp{z-index:3;border:3px solid var(--ink);color:var(--ink);background:var(--pink);box-shadow:0 3px 0 var(--pink-shadow);border-radius:8px;padding:8px 11px;font-size:.74rem;font-weight:900;position:absolute;bottom:14px;right:14px;transform:rotate(-5deg)scale(0)}.calypso-reveal.is-revealed .calypso-stamp{animation:.48s cubic-bezier(.2,.9,.22,1.22) 1.06s both stamp-in}.calypso-reveal--compact{width:100%;margin:0}body.modal-open{overflow:hidden}.ticket-modal{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#24313bb8;place-items:center;padding:18px;animation:.2s both modal-fade;display:grid;position:fixed;inset:0}.ticket-viewer{border:3px solid var(--ink);background:var(--surface);border-radius:18px;grid-template-rows:auto 1fr auto;width:min(100%,920px);height:min(92svh,820px);animation:.32s cubic-bezier(.17,.82,.24,1.1) both modal-rise;display:grid;overflow:hidden;box-shadow:0 10px #14232d61}.ticket-viewer header{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.ticket-viewer header p,.ticket-viewer header h2{text-align:left;margin-bottom:0}.ticket-close{border:3px solid var(--ink);width:46px;height:46px;box-shadow:0 3px 0 var(--border);cursor:pointer;background:#fff;border-radius:50%;flex:none;font-size:1.8rem;line-height:1}.ticket-frame{background:#eef3f5;min-height:0;position:relative;overflow:hidden}.ticket-viewer iframe{z-index:2;background:0 0;border:0;width:100%;height:100%;position:relative}.ticket-loading{z-index:1;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-weight:900;display:flex;position:absolute;inset:0}.ticket-loading span{border:3px solid var(--border);border-top-color:var(--blue-shadow);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite ticket-spin}.ticket-actions{border-top:3px solid var(--ink);justify-content:center;align-items:center;gap:12px;padding:12px 18px 16px;display:flex}.ticket-actions .button{width:auto;min-width:210px}.ticket-actions .text-link{margin:0}.road-scene{width:min(100%,440px);height:154px;margin:4px 0 14px;position:relative}.route-line{border-top:6px dashed var(--blue);position:absolute;top:67px;left:35px;right:35px;transform:rotate(-3deg)}.route-label{border:2px solid var(--ink);background:#fff;padding:5px 8px;font-size:.72rem;font-weight:900;position:absolute;top:9px;left:6px;transform:rotate(-3deg)}.route-label--end{top:110px;left:auto;right:2px;transform:rotate(3deg)}.golf-car{z-index:2;aspect-ratio:1816/866;width:220px;margin-left:-110px;animation:1.1s both drive-in;position:absolute;top:28px;left:50%}.golf-car img{object-fit:contain}.spotify-frame{border:3px solid var(--ink);width:min(100%,500px);height:clamp(352px,58svh,460px);box-shadow:0 5px 0 var(--blue-shadow);background:#fff;border-radius:22px;margin-bottom:12px;display:block;overflow:hidden}.playlist-pending{border:3px dashed var(--blue-shadow);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:16px;width:min(100%,440px);min-height:120px;margin-bottom:12px;padding:18px;display:flex}.playlist-pending span{font-size:2rem}.playlist-pending p{margin:0}.ramen-photo{aspect-ratio:1;border:4px solid var(--ink);width:min(100%,400px);box-shadow:0 5px 0 var(--pink-shadow);background:#fff;border-radius:16px;margin:8px 0 18px;position:relative;overflow:hidden}.ramen-photo img{object-fit:contain}.mini-collage{grid-template-columns:repeat(3,1fr);gap:8px;width:min(78vw,300px);margin:2px 0 12px;display:grid}.mini-collage span{aspect-ratio:.82;border:3px solid var(--ink);box-shadow:0 3px 0 var(--border);background:#fff;place-items:center;display:grid;position:relative}.mini-collage b{color:var(--muted)}.mini-collage i{color:var(--pink);position:absolute;bottom:5px;right:7px}.skip-scrapbook{z-index:20;bottom:max(92px, calc(env(safe-area-inset-bottom) + 82px));white-space:nowrap;border:2px solid var(--ink);min-height:44px;box-shadow:0 3px 0 var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:9px 16px;font-weight:900;animation:.25s both skip-in;position:fixed;left:50%;transform:translate(-50%)}.hub{min-height:100vh;overflow-x:hidden}.hub-header{max-width:1120px;padding:max(32px, env(safe-area-inset-top)) 20px 20px;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto;display:flex}.hub-header h1{margin-bottom:8px}.hub-header p:last-child{color:var(--muted);margin:0}.hub-header .music-control{flex:none;position:static}.hub-nav{z-index:12;background:var(--canvas);border-block:2px solid var(--ink);justify-content:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.hub-nav a{min-height:42px;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:900;text-decoration:none}.hub-nav a:hover{background:#fff}.hub-section{max-width:1120px;margin:0 auto;padding:64px 20px;scroll-margin-top:72px}.hub-section+.hub-section{border-top:2px dashed var(--border)}.hub-section p{color:var(--muted);line-height:1.55}.hub-section .button{max-width:340px}.trip-section,.playlist-section{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.trip-section .calypso-reveal,.playlist-section .spotify-frame,.playlist-section .playlist-pending{margin:0}.section-kicker{color:var(--green-shadow)!important}.section-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px;display:flex}.section-heading p{margin-bottom:0}.uploader{text-align:right}.uploader input{opacity:0;pointer-events:none;position:absolute}.uploader label{cursor:pointer;width:auto;min-width:210px}.uploader p{margin:10px 0 0;font-size:.75rem}.upload-progress{border:2px solid var(--ink);background:#fff;border-radius:99px;width:100%;height:9px;margin-top:8px;overflow:hidden}.upload-progress i{background:var(--green);height:100%;transition:width .25s;display:block}.error-banner{border:2px solid var(--coral-shadow);background:#fff1ef;border-radius:10px;padding:12px 16px;color:var(--ink)!important}.empty-gallery{text-align:center;border:3px dashed var(--green-shadow);background:#fff;border-radius:18px;align-content:center;place-items:center;min-height:210px;padding:28px;display:grid}.empty-gallery span{font-size:2rem}.empty-gallery h3,.empty-gallery p{margin:4px}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.gallery-grid figure{margin:0}.gallery-grid figure>div{aspect-ratio:1;border:3px solid var(--ink);background:#fff;border-radius:8px;position:relative;overflow:hidden}.gallery-grid img{object-fit:cover}.gallery-grid figcaption{color:var(--muted);justify-content:space-between;gap:8px;padding:7px 2px;font-size:.72rem;display:flex}.gallery-grid figcaption button{color:var(--coral-shadow);cursor:pointer;background:0 0;border:0;font-weight:900}.scrapbook-section{position:relative}.scrapbook-title{max-width:570px;margin-bottom:40px;position:relative}.note{width:220px;color:var(--pink-shadow);font-family:var(--font-note), cursive;font-size:1.45rem;position:absolute;top:5px;left:min(60vw,510px);transform:rotate(-4deg)}.scrapbook-grid{grid-template-columns:repeat(3,1fr);gap:34px 28px;padding:22px;display:grid}.scrap-slot{min-width:0;transition:transform .2s;position:relative}.scrap-slot>button{aspect-ratio:1.08;border:3px solid var(--ink);width:100%;box-shadow:0 5px 0 var(--border);cursor:pointer;background:#fff;border-radius:4px;padding:12px 12px 38px;position:relative;overflow:hidden}.scrap-slot.is-active>button{outline:5px solid var(--pink);outline-offset:4px}.scrap-slot img{object-fit:cover;width:calc(100% - 24px)!important;height:calc(100% - 50px)!important;inset:12px 12px 38px!important}.tape{z-index:3;opacity:.88;background:#ffe999;border:2px solid #b49423;width:68px;height:24px;margin-left:-34px;position:absolute;top:-8px;left:50%;transform:rotate(-2deg)}.empty-photo{border:2px dashed var(--green-shadow);background:#f5fff6;align-content:center;place-items:center;gap:5px;width:auto;height:auto;display:grid;position:absolute;inset:12px 12px 38px}.empty-photo i{color:var(--pink);font-size:1.4rem}.empty-photo small{color:var(--muted)}.slot-actions{justify-content:center;gap:5px;margin-top:9px;display:flex;transform:rotate(0)}.slot-actions button{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;width:40px;height:36px;font-weight:900}.slot-actions button:disabled{opacity:.3}.photo-picker{gap:9px;padding:20px 4px 8px;display:flex;overflow-x:auto}.photo-picker button{border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex:0 0 76px;height:76px;padding:0;position:relative;overflow:hidden}.photo-picker img{object-fit:cover}.save-state{text-align:center;margin-top:12px;font-size:.85rem}.hub-footer{padding:40px 20px max(40px, env(safe-area-inset-bottom));border-top:3px solid var(--ink);background:var(--green);text-align:center}.hub-footer button{cursor:pointer;background:0 0;border:0;min-height:44px;margin:4px 6px;padding:8px 12px;font-weight:900;text-decoration:underline}.hub-footer p{font-family:var(--font-note), cursive;margin:18px 0 0;font-size:1.3rem}@keyframes scene-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes lock-arrive{0%{opacity:0;transform:translateY(-30px)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes streak-digit-roll{0%{transform:translate(0)}78%{transform:translateY(-50%)}90%{transform:translateY(-48.5%)}to{transform:translateY(-50%)}}@keyframes streak-number-settle{0%{transform:scale(1)}55%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes fortune-out{0%{opacity:0;transform:scaleX(.08)rotate(-1deg)}to{opacity:1;transform:scaleX(1)rotate(-1deg)}}@keyframes fortune-strip-lift{0%{opacity:1;transform:scaleX(1)rotate(-1deg)}to{opacity:0;transform:translateY(-32px)scale(1.08)rotate(2deg)}}@keyframes drum-hit{0%{transform:translate(-50%)scale(1)}42%{transform:translate(-50%)translateY(9px)scale(1.035,.94)}to{transform:translate(-50%)scale(1)}}@keyframes beat-pop{0%{transform:scale(.45)}70%{transform:scale(1.35)}to{transform:scale(1.16)}}@keyframes us-popup-in{0%{opacity:0;transform:translateY(42px)rotate(7deg)scale(.72)}to{opacity:1;transform:rotate(-2.5deg)scale(1)}}@keyframes gift-wrap-expand{0%{opacity:0;border-radius:28px;transform:scale(.16)rotate(-5deg)}72%{opacity:1;border-radius:4px;transform:scale(1.025)rotate(1deg)}to{opacity:1;border-radius:0;transform:scale(1)}}@keyframes gift-wrap-rip-left{0%{transform:translate(0)rotate(0)}18%{transform:translate(-2%)rotate(-1deg)}to{transform:translate(-112%)rotate(-5deg)}}@keyframes gift-wrap-rip-right{0%{transform:translate(0)rotate(0)}18%{transform:translate(2%)rotate(1deg)}to{transform:translate(112%)rotate(5deg)}}@keyframes gift-bow-pop-away{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(-12deg)}38%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(3deg)}56%{transform:translate(-50%,-50%)scale(1)rotate(0)}64%{opacity:1}to{opacity:0;transform:translate(-50%,-80%)scale(1.35)rotate(14deg)}}@keyframes water-wash{0%{opacity:0;transform:translate(-50%)scale(.05)}18%{opacity:1}43%,67%{opacity:1;transform:translate(-50%)scale(8)}to{opacity:0;transform:translate(-50%)scale(8.5)}}@keyframes water-burst-lift{0%{opacity:0;transform:translate(-50%,78%)scale(.55,.18)}12%{opacity:1}45%{transform:translate(-50%,2%)scale(1)}72%{opacity:1;transform:translate(-50%,-12%)scale(1.06,1.08)}to{opacity:0;transform:translate(-50%,-80%)scale(1.12,1.15)}}@keyframes water-drop-left{0%{opacity:0;transform:translateY(16vh)rotate(45deg)scale(.35)}16%{opacity:1}72%{opacity:1;transform:translate(var(--splash-x), var(--splash-y)) rotate(var(--splash-r)) scale(1)}to{opacity:0;transform:translate(var(--splash-x), calc(var(--splash-y) + 23vh)) rotate(var(--splash-r)) scale(.82)}}@keyframes water-drop-right{0%{opacity:0;transform:translateY(16vh)rotate(45deg)scale(.35)}16%{opacity:1}72%{opacity:1;transform:translate(var(--splash-x), var(--splash-y)) rotate(var(--splash-r)) scale(1)}to{opacity:0;transform:translate(var(--splash-x), calc(var(--splash-y) + 23vh)) rotate(var(--splash-r)) scale(.82)}}@keyframes water-foam-surge{0%{opacity:0;transform:translateY(105%)scaleY(.55)}18%{opacity:1}45%,70%{opacity:1;transform:translateY(0)scaleY(1)}to{opacity:0;transform:translateY(-5vh)scaleY(1.04)}}@keyframes cookie-snap{0%,to{transform:none}24%{transform:translate(-5px)rotate(-2deg)}52%{transform:translate(5px)rotate(1.5deg)}76%{transform:translate(-2px)rotate(-.5deg)}}@keyframes crack-through{0%{opacity:0;transform:scaleY(0)}18%{opacity:1}70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.04)}}@keyframes crumb-one{0%{opacity:0;transform:none}25%{opacity:1}to{opacity:0;transform:translate(-42px,-52px)rotate(120deg)}}@keyframes crumb-two{0%{opacity:0;transform:none}25%{opacity:1}to{opacity:0;transform:translate(48px,-40px)rotate(-150deg)}}@keyframes crumb-three{0%{opacity:0;transform:none}24%{opacity:1}to{opacity:0;transform:translate(-68px,18px)rotate(-210deg)}}@keyframes crumb-four{0%{opacity:0;transform:none}24%{opacity:1}to{opacity:0;transform:translate(72px,24px)rotate(240deg)}}@keyframes button-pop{0%{opacity:0;transform:translateY(9px)scale(.96)}to{opacity:1;transform:none}}@keyframes splash-drop{0%{opacity:0;transform:translateY(26px)scale(.4)}50%{opacity:1}to{opacity:0;transform:translateY(-62px)rotate(24deg)}}@keyframes stamp-in{0%{opacity:0;transform:rotate(-14deg)scale(1.7)}to{opacity:1;transform:rotate(-5deg)scale(1)}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}@keyframes ticket-spin{to{transform:rotate(360deg)}}@keyframes drive-in{0%{transform:translate(-240px)rotate(-5deg)}to{transform:none}}@keyframes skip-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:700px){.scene{padding-top:58px}.fortune-scene{padding-top:40px}.scene h1{max-width:340px}.music-control{right:10px}.trip-section,.playlist-section{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.uploader{text-align:left;margin-top:22px}.uploader label{width:100%}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.scrapbook-grid{grid-template-columns:repeat(2,1fr);gap:32px 14px;padding:10px 2px}.scrap-slot>button{padding:8px 8px 32px}.scrap-slot img{width:calc(100% - 16px)!important;height:calc(100% - 40px)!important;inset:8px 8px 32px!important}.note{margin:-10px 0 18px 25%;display:block;position:static;transform:rotate(-3deg)}.hub-section{padding-block:48px}}@media (max-height:700px) and (max-width:700px){.scene{justify-content:flex-start;padding-top:42px;overflow-y:auto}.fortune-scene{justify-content:center;padding-top:38px;overflow:hidden}.streak-scene{justify-content:center;padding-block:28px}.streak-hero{transform:translateY(-28px)}.flame-badge{width:230px;height:230px;margin-bottom:2px}.fortune-stage{min-height:238px;margin-block:-12px;transform:scale(.88)}.drumroll-stage{margin-block:-16px;transform:scale(.9)}.calypso-reveal{max-width:360px}.journey--7 .scene{padding-block:30px}.journey--7 .mini-collage{gap:7px;width:min(68vw,240px);margin-bottom:8px}}@media (max-width:520px){.ticket-modal{padding:0}.ticket-viewer{width:100%;height:100svh;box-shadow:none;border:0;border-radius:0}.ticket-viewer header{padding-top:max(14px, env(safe-area-inset-top))}.ticket-actions{padding-bottom:max(14px, env(safe-area-inset-bottom))}.ticket-actions .button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.streak-number{text-shadow:0 4px 0 var(--gold)}.calypso-curtain{display:none}.calypso-stamp{transform:rotate(-5deg)scale(1)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
