@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0udrnr4-18tjo.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.1br53b7gww62p.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.3bgaltqld2gq2.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.22m3f6pvfu2zf.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.35qbt1_6db49h.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.2heyes1wqz_kz.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.37omzjo7pfhh3.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.31-z0m_4g_6pa.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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_24c5147f-module__i5baKq__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_24c5147f-module__i5baKq__variable{--font-body:"Be Vietnam Pro", "Be Vietnam Pro 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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#ffef9f;--ink-soft:#f8d9df;--paper:#71394c;--paper-dim:#945f70;--wine:#db6f94;--rose-soft:#eb89aa;--rose-pale:#ffd9e5;--butter-deep:#ffe78d;--line-dark:#b2557533;--line-light:#b2557529}*{box-sizing:border-box}html{background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--font-body), "Segoe UI", Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,textarea,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}.experience-shell,.auth-shell{isolation:isolate;min-height:100dvh;position:relative;overflow:hidden}.experience-shell--scrollable{overflow:hidden visible}.experience-shell:before,.auth-shell:before,.planning-shell:before{content:"";z-index:5;opacity:.72;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' opacity='.76'%3E%3Cpath d='M30 68S8 56 8 40c0-12 15-17 22-7 7-10 22-5 22 7 0 16-22 28-22 28Z'/%3E%3Cpath d='M113 14c2 14 7 19 21 21-14 2-19 7-21 21-2-14-7-19-21-21 14-2 19-7 21-21Z'/%3E%3Cpath d='M50 145c1.5 9 5 12.5 14 14-9 1.5-12.5 5-14 14-1.5-9-5-12.5-14-14 9-1.5 12.5-5 14-14Z'/%3E%3Cpath d='M155 88s-13-7-13-17c0-7 9-10 13-4 4-6 13-3 13 4 0 10-13 17-13 17Z'/%3E%3Crect x='126' y='126' width='40' height='11' rx='3'/%3E%3Crect x='130' y='140' width='32' height='29' rx='3'/%3E%3Crect x='143' y='126' width='6' height='43'/%3E%3Cpath d='M146 126c-13 0-16-11-9-15 7-4 11 7 9 15Zm0 0c13 0 16-11 9-15-7-4-11 7-9 15Z'/%3E%3C/g%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.planning-shell{isolation:isolate;min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.15rem, env(safe-area-inset-right)) max(2.5rem, env(safe-area-inset-bottom)) max(1.15rem, env(safe-area-inset-left));background:var(--ink);position:relative}.planning-frame{z-index:6;gap:1.2rem;width:100%;max-width:34rem;margin:0 auto;display:grid;position:relative}.planning-header{justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;padding-inline:.25rem;display:flex}.planning-header img{width:5.5rem;height:auto}.planning-header-actions{justify-items:end;gap:.25rem;display:grid}.planning-header-actions>span{color:var(--paper-dim);letter-spacing:.08em;font-size:.62rem;font-weight:700}.planning-header-actions button{color:#ad365f;cursor:pointer;background:0 0;border:0;min-height:2rem;padding:0 .15rem;font-size:.66rem;font-weight:750}.planning-header-actions button:hover{color:#842e4c}.planning-header-actions button:focus-visible{outline:3px solid var(--wine);outline-offset:2px}.planning-header-actions button:disabled{cursor:wait;opacity:.55}.countdown-section,.journey-section,.dress-section{background:#fff9f0;border:1px solid #be547824;border-radius:1.75rem;box-shadow:0 1.1rem 3rem #9747631f}.countdown-section{padding:clamp(1.35rem,6vw,2rem)}.planning-kicker{color:#b13d65;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:.66rem;font-weight:700;display:flex}.planning-kicker>span{background:#ffdce8;border-radius:50%;place-items:center;width:1.65rem;height:1.65rem;font-size:.72rem;display:grid}.planning-shell h1{letter-spacing:-.045em;max-width:11ch;font-size:clamp(2.4rem,11vw,4rem);line-height:1.04}.countdown-section>p:not(.countdown-target){color:var(--paper-dim);margin-top:1rem;font-size:.98rem;line-height:1.55}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:1.35rem;display:grid}.countdown-unit{text-align:center;background:#fff;border:1px solid #be547824;border-radius:1rem;min-width:0;padding:.8rem .25rem .65rem;box-shadow:0 .4rem 1.1rem #97476312}.countdown-unit strong{color:#ad365f;font-variant-numeric:tabular-nums;font-size:clamp(1.35rem,7vw,2rem);line-height:1;display:block}.countdown-unit span{color:var(--paper-dim);letter-spacing:.06em;text-transform:uppercase;margin-top:.45rem;font-size:.56rem;font-weight:700;display:block}.countdown-target{color:#a85270;letter-spacing:.04em;text-align:center;margin-top:1rem;font-size:.7rem;font-weight:700}.countdown-section .countdown-reminder{color:#8f3554;text-align:center;background:#ffd9e58c;border-radius:1rem;margin-top:1rem;padding:.85rem 1rem;font-size:.78rem;line-height:1.55}.countdown-reminder strong{color:#ad365f}.travel-notice{text-align:left;background:radial-gradient(circle at 92% 12%,#ffffffc7 0 10%,#0000 10.5%),linear-gradient(135deg,#fff8d3f5,#ffdce9eb);border:1px solid #bf406c33;border-radius:1.2rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;padding:.85rem;display:grid;box-shadow:0 .8rem 1.8rem #943f5e21}.travel-notice--planning{margin-top:.8rem}.travel-notice--ramen{margin-bottom:1rem;transform:rotate(-.45deg)}.travel-notice-icon{aspect-ratio:1;background:linear-gradient(145deg,#de658e,#bd3f6b);border-radius:1rem;place-items:center;width:3.15rem;display:grid;box-shadow:0 .6rem 1.1rem #ae345f38}.travel-notice-icon svg{fill:#ffffff2e;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:2.15rem;height:2.15rem}.travel-notice-copy small{color:#b43f67;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:850;line-height:1.25;display:block}.travel-notice-copy strong{color:#71384c;letter-spacing:.015em;margin-top:.12rem;font-size:clamp(.9rem,3.8vw,1.08rem);font-weight:900;display:block}.travel-notice-copy p,.countdown-section .travel-notice-copy p{color:#8a4f63;text-align:left;margin:.28rem 0 0;font-size:.72rem;font-weight:600;line-height:1.5}.travel-notice-copy b{color:#aa365f;font-weight:850}.countdown-next{gap:0;margin-top:1rem;display:grid}.countdown-next>span{color:#a85270;text-align:center;font-size:.64rem;font-weight:700}.countdown-next a{background:var(--wine);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;min-height:3.4rem;padding:.4rem .55rem .4rem 1.25rem;font-size:.76rem;font-weight:750;text-decoration:none;display:flex;box-shadow:0 .7rem 1.5rem #b3446a33}.countdown-next svg{width:2.45rem;height:2.45rem;stroke:var(--wine);stroke-width:1.8px;fill:none;background:#fff;border-radius:50%;padding:.65rem}.countdown-next a:focus-visible{outline:3px solid var(--paper);outline-offset:3px}.journey-section,.dress-section{padding:clamp(1.25rem,6vw,1.8rem)}.section-heading>span{color:#b13d65;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:700}.section-heading h2{color:var(--paper);letter-spacing:-.035em;margin-top:.55rem;font-size:clamp(1.75rem,8vw,2.45rem);line-height:1.08}.section-heading p{color:var(--paper-dim);margin-top:.75rem;font-size:.88rem;line-height:1.55}.journey-map{background:radial-gradient(circle at 18% 12%,#ffdce8b8 0 7%,#0000 7.5%),linear-gradient(145deg,#fff7e8,#fff1d7);border-radius:1.35rem;height:34rem;margin-top:1.2rem;position:relative;overflow:hidden}.journey-map svg{width:90%;height:90%;position:absolute;inset:5%}.journey-map path{fill:none;stroke:#c04c7461;stroke-width:3px;stroke-linecap:round;stroke-dasharray:3 10}.map-stop{color:var(--paper);align-items:center;gap:.65rem;display:flex;position:absolute}.map-stop>div{gap:.2rem;display:grid}.map-stop strong{font-size:.82rem;line-height:1}.map-stop small{color:var(--paper-dim);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:600}.map-marker{color:#fff;background:#c74470;border:2px solid #d76c94;border-radius:50%;flex:0 0 2.9rem;place-items:center;width:2.9rem;height:2.9rem;font-size:1.15rem;display:grid;box-shadow:0 0 0 .35rem #fffc,0 .55rem 1.2rem #842d4c2e}.map-marker--open{color:#b13d65;background:#fff;font-weight:800}.map-stop--planning{top:5%;left:8%}.map-stop--1{text-align:right;flex-direction:row-reverse;top:23%;right:6%}.map-stop--2{top:40%;left:8%}.map-stop--3{text-align:right;flex-direction:row-reverse;top:57%;right:7%}.map-stop--4{top:74%;left:10%}.map-stop--5{text-align:right;flex-direction:row-reverse;top:89%;right:9%}.dress-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;margin:1.2rem 0 0;padding:0;display:grid}.dress-option{min-height:4rem;color:var(--paper);cursor:pointer;background:#fff;border:1px solid #be547829;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.75rem;font-size:.76rem;font-weight:700;transition:border-color .16s,background-color .16s,transform .16s;display:grid;box-shadow:0 .35rem 1rem #9747630f}.dress-option:hover{transform:translateY(-1px)}.dress-option.is-selected{background:#fff0f5;border-color:#d2638b}.dress-option input{opacity:0;pointer-events:none;position:absolute}.dress-swatch{border:1px solid #58344024;border-radius:50%;width:1.35rem;height:1.35rem}.dress-option--black .dress-swatch{background:#282329}.dress-option--blue .dress-swatch{background:#5c8fd8}.dress-option--white .dress-swatch{background:#fff;box-shadow:inset 0 0 0 1px #ddd}.dress-option--sunset .dress-swatch{background:linear-gradient(135deg,#ffd35d,#f28b43)}.dress-check{color:#b13d65;opacity:0}.dress-option.is-selected .dress-check{opacity:1}.dress-option:has(input:focus-visible){outline:3px solid var(--wine);outline-offset:3px}.dress-submit{background:var(--wine);color:#fff;cursor:pointer;border:0;border-radius:999px;width:100%;min-height:3.35rem;margin-top:1rem;padding:.65rem 1rem;font-size:.76rem;font-weight:750;transition:transform .16s,opacity .16s;box-shadow:0 .7rem 1.5rem #b3446a2e}.dress-submit:hover:not(:disabled){transform:translateY(-1px)}.dress-submit:focus-visible{outline:3px solid var(--paper);outline-offset:3px}.dress-submit:disabled{cursor:default;opacity:.48;box-shadow:none}.dress-saved{color:#a85270;text-align:center;margin-top:.9rem;font-size:.72rem;font-weight:700}.dress-saved.is-error{color:#8f3554}.admin-shell{background:var(--ink);place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.admin-card{background:#fff9f0;border-radius:1.75rem;width:min(100%,30rem);padding:2rem;box-shadow:0 1.2rem 3rem #97476324}.admin-kicker{color:#b13d65;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:700}.admin-card h1{margin-top:.75rem;font-size:clamp(2.2rem,10vw,3.5rem);line-height:1.04}.admin-card p{color:var(--paper-dim);margin-top:1rem;line-height:1.6}.admin-card a{color:#ad365f;margin-top:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.admin-notice,.admin-empty{color:#7d3b52;background:#c7447017;border-radius:1rem;margin-top:1.5rem;padding:1rem;font-size:.82rem;line-height:1.55}.admin-empty{text-align:center;background:#ffffff8c}.activity-list{gap:.7rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.activity-list li{background:#ffffffad;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;padding:.9rem;display:grid;box-shadow:0 .5rem 1.2rem #97476312}.activity-list li>div{gap:.18rem;min-width:0;display:grid}.activity-list strong{color:var(--paper);font-size:.92rem}.activity-list span,.activity-list time{overflow-wrap:anywhere;color:var(--paper-dim);font-size:.7rem}.activity-swatch{border:1px solid #5834401f;border-radius:50%;width:2rem;height:2rem}.activity-swatch--black{background:#282329}.activity-swatch--blue{background:#5c8fd8}.activity-swatch--white{background:#fff;box-shadow:inset 0 0 0 1px #ddd}.activity-swatch--sunset{background:linear-gradient(135deg,#ffd35d,#f28b43)}.admin-actions{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.admin-future-section{border-top:1px solid #97476324;margin-top:2rem;padding-top:1.5rem}.admin-future-section h2{color:var(--paper);margin-top:.45rem;font-size:1.35rem}.admin-future-notes{gap:.8rem;margin-top:1rem;display:grid}.admin-future-notes article{background:#ffffffad;border-radius:1rem;gap:.45rem;padding:1rem;display:grid;box-shadow:0 .5rem 1.2rem #97476312}.admin-future-notes article>strong{color:#ae3d65;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.admin-future-notes article>p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--paper);margin:0;font-size:.9rem}.admin-future-notes article>span,.admin-future-notes article>time{overflow-wrap:anywhere;color:var(--paper-dim);font-size:.68rem}.admin-reset-section{background:#ffffff7a;border:1px solid #b13d652e;border-radius:1.2rem;margin-top:2rem;padding:1.1rem}.admin-reset-section h2{color:var(--paper);margin-top:.45rem;font-size:1.35rem}.admin-reset-section>p{margin-top:.65rem;font-size:.78rem}.admin-reset-button{color:#fff;width:100%;font:inherit;cursor:pointer;background:#b13d65;border:0;border-radius:999px;margin-top:1rem;padding:.82rem 1rem;font-size:.82rem;font-weight:800;box-shadow:0 .7rem 1.4rem #b13d652e}.admin-reset-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.admin-reset-deadline{color:var(--paper-dim);text-align:center;margin-top:.7rem;font-size:.68rem;display:block}.admin-reset-message{color:#347147;background:#4191601a;border-radius:.85rem;margin-top:.85rem;padding:.75rem;font-size:.72rem;line-height:1.5}.admin-reset-message.is-error{color:#8f3554;background:#b13d651a}.admin-checkpoint-section{border-top:1px solid #97476324;margin-top:2rem;padding-top:1.5rem}.admin-checkpoint-section>h2{color:var(--paper);margin-top:.45rem;font-size:1.35rem}.admin-checkpoint-section>p{margin-top:.55rem;font-size:.78rem}.admin-checkpoint-scopes{gap:.9rem;margin-top:1rem;display:grid}.admin-checkpoint-scopes article{background:#ffffffad;border-radius:1rem;padding:1rem;box-shadow:0 .5rem 1.2rem #97476312}.admin-checkpoint-scopes article>header{gap:.15rem;display:grid}.admin-checkpoint-scopes article>header strong{color:var(--paper);font-size:.88rem}.admin-checkpoint-scopes article>header span{color:var(--paper-dim);font-size:.68rem}.admin-checkpoint-scopes ol{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.admin-checkpoint-scopes li{grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2.55rem;display:grid}.admin-checkpoint-scopes li>span{color:#a83a60;background:#b13d651a;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.65rem;font-weight:800;display:grid}.admin-checkpoint-scopes li.is-unlocked>span{color:#fff;background:#bd426c}.admin-checkpoint-scopes li>strong{color:var(--paper);font-size:.74rem}.admin-checkpoint-scopes li>button{color:#fff;cursor:pointer;background:#bd426c;border:0;border-radius:999px;padding:.45rem .65rem;font-size:.62rem;font-weight:800}.admin-checkpoint-scopes li>button:disabled{color:#71394c7a;cursor:not-allowed;background:#71394c17}.admin-checkpoint-message{color:#347147;text-align:center;background:#4191601a;border-radius:.8rem;margin-top:.85rem;padding:.7rem;font-size:.7rem}.tarot-conversation{width:100%;margin-top:2rem}.tarot-conversation--loading{min-height:16rem;color:var(--paper-dim);place-items:center;font-size:.78rem;display:grid}.tarot-deck{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.45rem,2.4vw,.85rem);display:grid}.tarot-card{color:#9b3d60;cursor:pointer;text-align:center;min-width:0;transform:rotate(calc((var(--tarot-index) - 1) * 2.4deg));background:0 0;border:0;gap:.55rem;padding:0;font-family:inherit;font-size:clamp(.58rem,2.7vw,.72rem);font-weight:800;transition:transform .22s,filter .22s;display:grid}.tarot-card:hover{filter:brightness(1.03);transform:translateY(-.35rem)rotate(0)}.tarot-card:focus-visible{outline:3px solid var(--wine);outline-offset:.35rem;border-radius:.8rem}.tarot-card-image{aspect-ratio:1055/1491;background:#fff9ed;border:.18rem solid #ffffffd1;border-radius:.75rem;width:100%;display:block;position:relative;overflow:hidden;box-shadow:0 .7rem 1.5rem #76304b2e}.tarot-card-image img{object-fit:cover}.tarot-card.is-completed .tarot-card-image{box-shadow:0 0 0 2px #db638c38,0 .85rem 1.7rem #76304b38}.tarot-dialog-backdrop{z-index:1000;padding:max(1.25rem, env(safe-area-inset-top)) max(1.1rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#481d2ebd;place-items:center;animation:.22s both tarot-backdrop-in;display:grid;position:fixed;inset:0;overflow-y:auto}.tarot-dialog{gap:1rem;width:min(100%,25rem);animation:.36s cubic-bezier(.2,.8,.2,1) both tarot-card-in;display:grid}.tarot-dialog-card{aspect-ratio:2/3;background:#fff8e9;border:.28rem solid #fff8e9;border-radius:1rem;justify-self:center;width:min(78vw,22rem);position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #230a1570}.tarot-dialog-card img{object-fit:cover}.future-note-card{background:#ffffff94;border-radius:1.4rem;margin-top:1.5rem;padding:1.2rem;animation:.42s both reveal-rise;box-shadow:0 .8rem 2rem #8e415b1f}.future-note-card label{color:var(--paper);font-size:clamp(1.05rem,4.6vw,1.35rem);line-height:1.35;display:block}.future-note-card textarea{resize:vertical;width:100%;color:var(--paper);font:inherit;background:#ffffffc2;border:1px solid #b5496f2e;border-radius:1rem;margin-top:.9rem;padding:.9rem;line-height:1.55}.future-note-card textarea::placeholder{color:#ac7d8d}.future-note-card .primary-button{margin-top:.9rem}.future-note-status{color:#a33f65;text-align:center;margin:.8rem 0 0;font-size:.74rem;font-weight:800}.future-note-status.is-error{color:#9b2d45}@keyframes tarot-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes tarot-card-in{0%{opacity:0;transform:translateY(1rem)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (min-width:40rem){.planning-shell{padding-block:2rem 4rem}}.auth-shell{padding:max(1.4rem, env(safe-area-inset-top)) max(1.2rem, env(safe-area-inset-right)) max(1.4rem, env(safe-area-inset-bottom)) max(1.2rem, env(safe-area-inset-left));background:var(--ink);place-items:center;display:grid}.auth-card{z-index:6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffa3;border-radius:2rem;width:100%;max-width:28rem;padding:clamp(1.5rem,7vw,2.2rem);position:relative;box-shadow:0 1.4rem 4rem #97476329}.auth-badge{background:var(--rose-pale);width:fit-content;min-height:2rem;color:var(--wine);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.64rem;font-weight:700;display:flex}.auth-badge span{font-size:.8rem}.auth-copy{margin-top:clamp(2.5rem,8vh,4.5rem)}.auth-copy h1{max-width:11ch;font-size:clamp(2.35rem,11vw,3.8rem)}.auth-copy p{max-width:30rem;color:var(--paper-dim);margin-top:1rem;font-size:.95rem;line-height:1.65}.auth-form{gap:.85rem;margin-top:2.25rem;display:grid}.auth-form label{color:var(--paper);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.auth-form input{width:100%;min-height:3.7rem;color:var(--paper);background:#ffffffc7;border:0;border-radius:1rem;padding:0 1rem;font-size:1rem;box-shadow:inset 0 0 0 1px #ffffffb3}.auth-form input::placeholder{color:#b38392}.auth-form input:focus-visible{outline:3px solid var(--wine);outline-offset:2px}.auth-form input[name=otp]{text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.auth-error{color:#8f3554;background:#db6f9424;border-radius:.85rem;padding:.75rem .85rem;font-size:.78rem;line-height:1.45}.auth-secondary-actions{justify-content:center;gap:1.2rem;display:flex}.auth-secondary-actions button{min-height:2.75rem;color:var(--paper-dim);cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;font-weight:700}.auth-secondary-actions button:hover{color:var(--wine)}.auth-secondary-actions button:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.auth-secondary-actions button:disabled{opacity:.45}.auth-signoff{color:var(--wine);letter-spacing:.08em;margin-top:2.25rem;font-size:.68rem;font-weight:700}.auth-brand{justify-content:center;margin-top:2rem;display:flex}.auth-brand img{width:5.75rem;height:auto}.experience-screen{min-height:100dvh;padding:max(1.4rem, env(safe-area-inset-top)) max(1.4rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.4rem, env(safe-area-inset-left))}.experience-screen--ink{background:var(--ink);color:var(--paper)}.experience-screen--paper{background:var(--butter-deep);color:var(--paper)}.screen-frame{width:100%;max-width:34rem;min-height:calc(100dvh - max(2.65rem, env(safe-area-inset-top) + env(safe-area-inset-bottom)));z-index:6;grid-template-rows:auto 1fr auto;gap:clamp(1.5rem,5vh,3.5rem);margin:0 auto;display:grid;position:relative}.screen-header{grid-template-columns:minmax(0,1fr) auto 3rem;align-items:center;gap:.75rem;min-height:2.75rem;padding-right:3.5rem;display:grid}.screen-context{align-items:center;gap:.75rem;min-width:0;display:flex}.back-button{width:2.75rem;height:2.75rem;color:var(--paper);cursor:pointer;background:#ffffff94;border:0;border-radius:50%;flex:0 0 2.75rem;place-items:center;font-size:1.15rem;line-height:1;transition:background-color .18s,border-color .18s,transform .18s;display:grid;box-shadow:0 .45rem 1.2rem #9747631f}.back-button:hover{background:#ffffffd1;transform:translate(-2px)}.back-button:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.chapter-label,.moment-marker,.reveal-kicker,.mission-list>span,.signoff{letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:700;line-height:1}.chapter-label{color:var(--paper-dim);line-height:1.35}.screen-brand-mark{width:2.75rem;height:auto}.experience-screen--paper .chapter-label{color:var(--paper-dim)}.moment-marker{color:#fff;letter-spacing:.04em;opacity:1;font-variant-numeric:tabular-nums;filter:drop-shadow(0 .4rem .55rem #8b2d4e3d);flex:0 0 3rem;place-items:center;width:3rem;height:2.9rem;font-size:.7rem;display:grid;position:relative}.moment-marker svg{fill:#c74470;width:100%;height:100%;position:absolute;inset:0}.moment-marker>span{z-index:1;position:relative;transform:translateY(-.08rem)}.screen-content{flex-direction:column;justify-content:center;gap:clamp(2rem,5vh,3.25rem);min-height:0;padding:.5rem 0;display:flex}.title-block{max-width:30rem}.title-flourish{background:var(--wine);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);transform-origin:50%;width:1.15rem;height:1.15rem;margin-bottom:1.4rem;animation:.7s ease-out both line-reveal;display:block}.title-visual{align-items:flex-end;min-height:4.5rem;margin-bottom:.85rem;display:flex}.ramen-title-icon{filter:drop-shadow(0 .55rem .65rem #8135492e);pointer-events:none;-webkit-user-select:none;user-select:none;width:4.75rem;height:auto;transform:rotate(-4deg)}h1,h2,p{margin:0}h1,h2{font-family:var(--font-body), "Segoe UI", Arial, sans-serif;text-wrap:balance;font-weight:600}h1{letter-spacing:-.04em;max-width:12ch;color:var(--paper);text-shadow:0 1px #ffffff73;font-size:clamp(2.8rem,13vw,4.8rem);line-height:1.08}.screen-body{max-width:29rem;color:var(--paper-dim);text-wrap:pretty;margin-top:1.4rem;font-size:clamp(1rem,4.4vw,1.12rem);line-height:1.65}.experience-screen--paper .screen-body{color:var(--paper-dim)}.moment-content{width:100%}.question-scene{width:100%;position:relative}.screen-action{padding-top:.25rem}.primary-button{background:var(--wine);color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:3.7rem;padding:.35rem .45rem .35rem 1.4rem;font-size:.8rem;font-weight:700;transition:background-color .18s,color .18s,border-color .18s,opacity .18s,transform .18s,box-shadow .18s;display:flex;box-shadow:0 .65rem 1.6rem #97415f38}.experience-screen--paper .primary-button{background:var(--wine);color:#fff}.primary-button:hover:not(:disabled){background:var(--wine);color:#fff9f3;transform:translateY(-1px);box-shadow:0 .65rem 1.35rem #9f4e6933}.primary-button--intro{color:#fff;background:#b8436c;box-shadow:0 .75rem 1.8rem #802b4947}.primary-button--intro:hover:not(:disabled){background:#a6385f;box-shadow:0 .8rem 1.9rem #802b4957}.primary-button:focus-visible,.reveal-card a:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.choice:has(input:focus-visible){outline:3px solid var(--wine);outline-offset:3px}.primary-button:disabled{opacity:.35;cursor:not-allowed}.button-arrow{background:#fff3;border-radius:50%;place-items:center;width:2.9rem;height:2.9rem;display:grid}.button-arrow svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.progress-wrap{z-index:10;top:max(1.6rem, env(safe-area-inset-top));right:max(1.4rem, env(safe-area-inset-right));color:var(--paper);align-items:center;gap:.55rem;display:flex;position:fixed}.progress-dots{display:none}.progress-count{letter-spacing:.1em;font-variant-numeric:tabular-nums;opacity:.62;font-size:.61rem}.journey-map-trigger{z-index:20;top:max(4.9rem, calc(env(safe-area-inset-top) + 4.2rem));right:max(1rem, env(safe-area-inset-right));color:#fff;cursor:pointer;background:#bd426c;border:0;border-radius:999px;align-items:center;gap:.42rem;min-height:2.8rem;padding:.45rem .75rem .45rem .55rem;font-size:.66rem;font-weight:750;display:flex;position:fixed;box-shadow:0 .65rem 1.6rem #69233d3d}.journey-map-trigger svg{fill:#ffffff2e;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.journey-map-trigger:hover{background:#a93660}.journey-map-trigger:focus-visible{outline:3px solid var(--paper);outline-offset:3px}.checkpoint-quick-control{z-index:21;top:max(8.25rem, calc(env(safe-area-inset-top) + 7.55rem));right:max(1rem, env(safe-area-inset-right));align-items:center;gap:.45rem;display:flex;position:fixed}.checkpoint-quick-control>button{color:#a93660;cursor:pointer;background:#fff5d4;border:1px solid #ffffffad;border-radius:50%;place-items:center;width:2.55rem;height:2.55rem;display:grid;box-shadow:0 .55rem 1.4rem #69233d33}.checkpoint-quick-control>button:disabled{opacity:.55;cursor:wait}.checkpoint-quick-control svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.checkpoint-quick-control>span{color:#fff;background:#71394c;border-radius:999px;width:max-content;max-width:min(15rem,100vw - 2rem);padding:.45rem .65rem;font-size:.62rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 .5rem 1rem #69233d2e}.checkpoint-waiting-screen{isolation:isolate;min-height:100dvh;padding:max(1.2rem, env(safe-area-inset-top)) max(1.1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.1rem, env(safe-area-inset-left));background:var(--ink);place-items:center;display:grid;position:relative;overflow:hidden}.checkpoint-waiting-screen:before{content:"";z-index:-1;opacity:.72;background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' opacity='.76'%3E%3Cpath d='M30 68S8 56 8 40c0-12 15-17 22-7 7-10 22-5 22 7 0 16-22 28-22 28Z'/%3E%3Cpath d='M113 14c2 14 7 19 21 21-14 2-19 7-21 21-2-14-7-19-21-21 14-2 19-7 21-21Z'/%3E%3C/g%3E%3C/svg%3E");position:fixed;inset:0}.checkpoint-waiting-card{text-align:center;background:#fff9f0f0;border:1px solid #be426c2e;border-radius:2rem;justify-items:center;width:min(100%,28rem);padding:clamp(1.5rem,7vw,2.4rem);animation:.42s ease-out both screen-enter;display:grid;box-shadow:0 1.4rem 3.5rem #9747632e}.checkpoint-waiting-lock{color:#fff;background:linear-gradient(145deg,#df7198,#bd426c);border-radius:1.45rem;place-items:center;width:4.4rem;height:4.4rem;font-size:1.55rem;display:grid;transform:rotate(-5deg);box-shadow:0 .9rem 1.8rem #b13d653d}.checkpoint-waiting-kicker{color:#bd426c;letter-spacing:.12em;text-transform:uppercase;margin-top:1.35rem;font-size:.65rem;font-weight:800}.checkpoint-waiting-card h1{color:var(--paper);margin-top:.65rem;font-size:clamp(2rem,9vw,3.15rem);line-height:1.04}.checkpoint-waiting-card p{color:var(--paper-dim);margin-top:1rem;font-size:.82rem;line-height:1.6}.checkpoint-waiting-pulse{gap:.35rem;margin-top:1.25rem;display:flex}.checkpoint-waiting-pulse span{background:#d9668e;border-radius:50%;width:.5rem;height:.5rem;animation:.9s ease-in-out infinite alternate checkpoint-pulse}.checkpoint-waiting-pulse span:nth-child(2){animation-delay:.18s}.checkpoint-waiting-pulse span:nth-child(3){animation-delay:.36s}.checkpoint-waiting-card>button{color:#a93660;cursor:pointer;background:0 0;border:0;margin-top:1.25rem;font-size:.72rem;font-weight:800}.journey-dialog-backdrop{z-index:60;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#501f326b;place-items:center;display:grid;position:fixed;inset:0}.journey-dialog{width:min(100%,29rem);max-height:calc(100dvh - 2rem);color:var(--paper);background:#fff9f0;border-radius:1.75rem;padding:1.25rem;animation:.22s ease-out both confirmation-in;overflow:auto;box-shadow:0 1.6rem 5rem #42182852}.journey-dialog>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.journey-dialog>header span{color:#b13d65;letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:750}.journey-dialog>header h2{margin-top:.45rem;font-size:clamp(1.55rem,7vw,2.15rem);line-height:1.08}.journey-dialog>header button{color:#a93660;cursor:pointer;background:#ffdce8;border:0;border-radius:50%;flex:0 0 2.65rem;place-items:center;width:2.65rem;height:2.65rem;display:grid}.journey-dialog>header button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.15rem;height:1.15rem}.journey-dialog>header button:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.story-journey-map{background:radial-gradient(circle at 18% 12%,#ffdce8b8 0 7%,#0000 7.5%),linear-gradient(145deg,#fff7e8,#fff1d7);border-radius:1.35rem;height:34rem;margin-top:1.1rem;position:relative;overflow:hidden}.story-journey-map>svg{width:90%;height:90%;position:absolute;inset:5%}.story-journey-map>svg path{fill:none;stroke:#c04c7461;stroke-width:3px;stroke-linecap:round;stroke-dasharray:3 10}.story-map-stop{color:var(--paper);align-items:center;gap:.65rem;display:flex;position:absolute}.story-map-stop>div,.story-map-stop>a,.story-map-stop>button,.story-map-album>button{color:inherit;gap:.2rem;text-decoration:none;display:grid}.story-map-stop>button,.story-map-album>button{cursor:pointer;font:inherit;text-align:inherit;background:0 0;border:0;padding:0}.story-map-stop>button:focus-visible,.story-map-album>button:focus-visible{outline:3px solid var(--wine);outline-offset:.35rem;border-radius:.4rem}.story-map-stop strong,.story-map-album strong{font-size:.78rem;line-height:1.1}.story-map-stop small,.story-map-album small{color:var(--paper-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.54rem;font-weight:650}.story-map-marker{color:#fff;background:#c74470;border:2px solid #d76c94;border-radius:50%;flex:0 0 2.65rem;place-items:center;width:2.65rem;height:2.65rem;font-size:1rem;display:grid;box-shadow:0 0 0 .32rem #fffc,0 .5rem 1.1rem #842d4c2e}.story-map-stop.is-unlocked .story-map-marker{color:#b13d65;background:#fff;font-weight:800}.story-map-marker img{object-fit:contain;width:2rem;height:2rem}.story-map-stop--1 .story-map-marker img,.story-map-stop--3 .story-map-marker img,.story-map-stop--5 .story-map-marker img{transform:rotate(-9deg)}.story-map-stop--2 .story-map-marker img,.story-map-stop--4 .story-map-marker img{transform:rotate(9deg)}.story-map-stop--1{top:5%;left:7%}.story-map-stop--2{text-align:right;flex-direction:row-reverse;top:22%;right:5%}.story-map-stop--3{top:39%;left:8%}.story-map-stop--4{text-align:right;flex-direction:row-reverse;top:56%;right:6%}.story-map-stop--5{top:73%;left:9%}.story-map-album{color:var(--paper);text-align:right;flex-direction:row-reverse;align-items:center;gap:.65rem;animation:.36s ease-out both reveal-rise;display:flex;position:absolute;top:88%;right:7%}.story-map-album .story-map-marker{background:#fff;box-shadow:0 0 0 .32rem #fffc,0 .5rem 1.1rem #842d4c2e}.story-map-album .story-map-marker img{transform:rotate(8deg)}.journey-dialog-note{color:var(--paper-dim);text-align:center;margin-top:.9rem;font-size:.68rem;line-height:1.5}.quiet-note{color:var(--paper-dim);font-family:var(--font-body), "Segoe UI", Arial, sans-serif;background:#ffffff61;border-radius:1rem;padding:.9rem 1rem;font-size:.95rem;font-style:normal;line-height:1.55}.memory-image{margin:0}.memory-placeholder,.memory-image img{object-fit:cover;border:0;border-radius:1.4rem;width:100%;height:clamp(10.5rem,30vh,16rem);display:block;box-shadow:0 .8rem 2rem #9747631a}.memory-placeholder{background:var(--rose-pale);position:relative;overflow:hidden;box-shadow:inset 0 0 0 .45rem #ffffff47}.memory-sun{background:#ffffffd1;border:0;border-radius:.35rem;width:2.8rem;height:2.8rem;position:absolute;top:23%;right:18%;transform:rotate(45deg)}.memory-sun:before,.memory-sun:after{content:"";background:inherit;border-radius:50%;width:2.8rem;height:2.8rem;position:absolute}.memory-sun:before{top:-50%;left:0}.memory-sun:after{top:0;left:-50%}.memory-horizon{background:#ffffff8c;border:0;border-radius:50% 50% 0 0;width:130%;height:75%;position:absolute;bottom:-48%;left:-15%;transform:rotate(-4deg)}.memory-image figcaption{color:var(--paper-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:.7rem;font-size:.64rem}.text-question label,.question-fieldset legend,.capsule-field label{max-width:22ch;font-family:var(--font-body), "Segoe UI", Arial, sans-serif;margin-bottom:1.2rem;font-size:clamp(1.25rem,5.5vw,1.7rem);font-weight:600;line-height:1.25;display:block}.text-question textarea,.capsule-field textarea{resize:none;width:100%;color:var(--paper);font-family:var(--font-body), "Segoe UI", Arial, sans-serif;background:#ffffff85;border:0;border-radius:1rem;padding:1rem;font-size:1.1rem;line-height:1.5}.text-question textarea::placeholder,.capsule-field textarea::placeholder{color:#aa7b89}.text-question p,.capsule-field>span{color:var(--paper-dim);letter-spacing:.05em;margin-top:.7rem;font-size:.7rem;display:block}.question-fieldset{border:0;min-width:0;margin:0;padding:0}.choice-list{gap:.6rem;display:grid}.choice{cursor:pointer;min-height:3.8rem;color:var(--paper);background:#fff9fb;border:1px solid #be547829;border-radius:1rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem;font-size:.9rem;line-height:1.35;transition:color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 .35rem 1rem #97476312}.choice input{opacity:0;pointer-events:none;position:absolute}.choice-mark{aspect-ratio:1;background:#db6f942e;border:0;border-radius:50%;width:1rem}.choice.is-selected{color:var(--paper);background:#ffdce8;border-color:#c7447052;transform:translateY(-1px);box-shadow:0 .55rem 1.4rem #97476324}.choice.is-selected .choice-mark{background:var(--wine);border:0;box-shadow:inset 0 0 0 3px #fff}.answer-feedback{color:var(--paper);background:#fff4f8;border:1px solid #be54782e;border-radius:1rem;margin-top:.85rem;padding:.9rem 1rem;box-shadow:0 .45rem 1.2rem #97476314}.answer-feedback p{font-size:.88rem;line-height:1.5}.answer-feedback strong{color:#a6385f;font-weight:800}.answer-feedback a{color:#aa365f;align-items:center;gap:.35rem;margin-top:.55rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.answer-feedback a:hover{text-underline-offset:.2rem;text-decoration:underline}.answer-feedback .answer-next-note{color:#854258;border-top:1px solid #be547826;margin-top:.8rem;padding-top:.75rem;font-size:.8rem}.confirmation-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#5a263957;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.confirmation-dialog{width:min(100%,22rem);color:var(--paper);text-align:center;background:#fff9fb;border:1px solid #be54782e;border-radius:1.7rem;padding:1.6rem;animation:.22s ease-out both confirmation-in;box-shadow:0 1.4rem 4rem #5b253947}.confirmation-heart{color:#c74470;background:#ffdce8;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;margin:0 auto .9rem;font-size:1.1rem;display:grid}.confirmation-dialog h2{font-size:clamp(1.45rem,6vw,1.85rem);line-height:1.2}.confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1.35rem;display:grid}.confirmation-actions:has(.confirmation-button:only-child){grid-template-columns:1fr}.confirmation-button{cursor:pointer;border-radius:999px;min-height:3rem;padding:.7rem 1rem;font-size:.82rem;font-weight:700;transition:transform .16s,background-color .16s,box-shadow .16s}.confirmation-button:hover{transform:translateY(-1px)}.confirmation-button:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.confirmation-button--secondary{color:var(--paper-dim);background:#fff;border:1px solid #be54783d}.confirmation-button--primary{color:#fff;background:#bd426c;border:1px solid #0000;box-shadow:0 .55rem 1.25rem #8e305238}.reveal-card{background:#ffffff85;border:0;border-radius:1.5rem;padding:1.5rem;animation:.8s ease-out .18s both reveal-rise;box-shadow:0 .9rem 2.2rem #9747631c}.reveal-kicker{color:var(--wine);margin-bottom:.85rem;display:block}.reveal-card h2{letter-spacing:-.04em;font-size:clamp(2rem,9vw,3rem)}.reveal-card p{color:var(--paper-dim);margin-top:.7rem;font-size:.85rem;line-height:1.5}.reveal-card a{min-height:3rem;color:var(--paper);letter-spacing:.08em;text-transform:uppercase;background:var(--rose-pale);border-radius:999px;align-items:center;gap:.45rem;margin-top:1.2rem;padding:0 1rem;font-size:.73rem;font-weight:700;text-decoration:none;display:inline-flex}.matching-game{background:radial-gradient(circle at 88% 8%,#ffffffbd,#0000 28%),linear-gradient(145deg,#ffffffc2,#ffe0ebd1);border:1px solid #be477029;border-radius:1.75rem;margin-top:1.35rem;padding:1.25rem 1rem 1.1rem;box-shadow:0 1rem 2.5rem #97476324}.matching-game--loading{color:#a34667;place-items:center;min-height:10rem;font-size:.75rem;font-weight:800;display:grid}.matching-game-heading{padding:0 .25rem 1rem}.matching-game-heading>span{color:#bd426c;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:850;display:block}.matching-game-heading h2{color:#7e354f;letter-spacing:-.04em;margin-top:.42rem;font-size:clamp(1.45rem,6.8vw,2.15rem);line-height:1.05}.matching-game-heading p{color:#98546b;max-width:27rem;margin-top:.62rem;font-size:.78rem;line-height:1.55}.matching-game-heading small{color:#aa3f65;background:#ce4c791a;border-radius:999px;margin-top:.65rem;padding:.38rem .65rem;font-size:.67rem;font-weight:800;display:inline-flex}.matching-board{isolation:isolate;aspect-ratio:1;background:#f7b9ce;border:.36rem solid #ffffffe6;border-radius:1.45rem;width:100%;position:relative;overflow:hidden;box-shadow:0 .8rem 1.8rem #8b305029,inset 0 0 0 1px #9a365a1a}.matching-secret-background{z-index:0;background:#f3aec5;position:absolute;inset:0;overflow:hidden}.matching-secret-background img{object-fit:cover;filter:blur(13px)saturate(.82)brightness(.98);transition:filter 1.15s,transform 1.15s;transform:scale(1.1)}.matching-board.is-gift-revealed .matching-secret-background img{filter:blur()saturate()brightness();transform:scale(1)}.matching-grid{z-index:2;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.24rem,1.2vw,.42rem);padding:clamp(.3rem,1.5vw,.48rem);display:grid;position:absolute;inset:0}.matching-card{cursor:pointer;perspective:700px;background:0 0;border:0;border-radius:clamp(.55rem,2.5vw,.85rem);min-width:0;min-height:0;padding:0;transition:opacity .36s,transform .36s;position:relative}.matching-card:disabled:not(.is-matched){cursor:wait}.matching-card:focus-visible{outline-offset:2px;outline:3px solid #922f54}.matching-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .44s cubic-bezier(.2,.72,.2,1);display:block;position:relative}.matching-card.is-flipped .matching-card-inner{transform:rotateY(180deg)}.matching-card.is-matched{opacity:0;pointer-events:none;transform:scale(.74)}.matching-card-face{border-radius:inherit;backface-visibility:hidden;background:#fff2f7;border:2px solid #ffffffdb;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 .28rem .65rem #69223d2e}.matching-card-face img{object-fit:cover}.matching-card-front{transform:rotateY(180deg)}.matching-gift-heart{z-index:5;color:#fff;cursor:pointer;filter:drop-shadow(0 1rem 1.35rem #711d3c59);background:0 0;border:0;width:min(78%,18rem);padding:0;animation:1.55s ease-in-out infinite matching-heartbeat;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.matching-gift-heart svg{width:100%;height:auto;display:block;overflow:visible}.matching-gift-heart span{color:#fff;text-align:center;text-wrap:balance;text-shadow:0 2px #691b3726;width:58%;font-size:clamp(.69rem,3.1vw,.92rem);font-weight:850;line-height:1.35;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.matching-gift-heart:hover{filter:drop-shadow(0 1.15rem 1.55rem #711d3c6e)}.matching-gift-heart:focus-visible{outline-offset:4px;border-radius:48%;outline:3px solid #fff}@keyframes matching-heartbeat{0%,to{transform:translate(-50%,-50%)scale(1)}13%{transform:translate(-50%,-50%)scale(1.065)}25%{transform:translate(-50%,-50%)scale(1)}38%{transform:translate(-50%,-50%)scale(1.04)}55%{transform:translate(-50%,-50%)scale(1)}}.checkin-card{background:linear-gradient(145deg,#ffffffb8,#ffe3ecc7);border-radius:1.75rem;margin-top:2.2rem;padding:1.35rem 1rem 1.2rem;box-shadow:0 1rem 2.5rem #97476324}.checkin-heading>span,.shared-album-heading>span{color:#bd426c;letter-spacing:.11em;text-transform:uppercase;font-size:.64rem;font-weight:800;display:block}.checkin-heading h2,.shared-album-heading h2{color:var(--paper);letter-spacing:-.035em;margin-top:.55rem;font-size:clamp(1.45rem,6.7vw,2rem);line-height:1.15}.checkin-heading p,.shared-album-heading p{color:var(--paper-dim);margin-top:.65rem;font-size:.82rem;line-height:1.6}.checkin-frame-wrap{width:min(83%,19rem);margin:2.15rem auto 1.9rem;padding:.35rem;transform:rotate(2deg)}.checkin-frame{background:#fffdfb;border:.32rem solid #ef8dac;border-radius:1.15rem;padding:.68rem .68rem .85rem;position:relative;box-shadow:.55rem .75rem #f7b7ca,0 1.3rem 2.4rem #7d2f4b38}.checkin-frame:after{content:"";pointer-events:none;border:1px solid #dc548138;border-radius:.72rem;position:absolute;inset:.35rem}.checkin-tape{z-index:2;clip-path:polygon(5% 7%,100% 0,94% 92%,0 100%);background:#ffffffd1;width:4.6rem;height:1.25rem;position:absolute;top:-.7rem;left:50%;transform:translate(-50%)rotate(4deg);box-shadow:0 .25rem .6rem #7331481a}.checkin-photo-window{aspect-ratio:4/5;z-index:1;background:#fbc9d8;border:.28rem solid #fff;border-radius:.7rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #9747631a}.checkin-photo-window img,.checkin-photo-window video{object-fit:cover;width:100%;height:100%;display:block}.checkin-photo-window video.is-user-camera{transform:scaleX(-1)}.checkin-placeholder{color:#9d3e61;background:radial-gradient(circle at 24% 20%,#ffffffc7 0 9%,#0000 10%),linear-gradient(145deg,#ffdce6,#f3a7bf);place-content:center;justify-items:center;gap:.8rem;width:100%;height:100%;display:grid}.checkin-placeholder svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:3.3rem}.checkin-placeholder span{font-size:.76rem;font-weight:750}.checkin-frame-caption{z-index:1;color:#873a57;grid-template-columns:1fr auto;align-items:end;gap:.15rem .5rem;min-height:3.35rem;padding:.8rem .35rem 0;display:grid;position:relative}.checkin-frame-caption>span{letter-spacing:-.025em;font-size:1.1rem;font-weight:800}.checkin-frame-caption small{color:#b1627e;letter-spacing:.1em;grid-column:1;font-size:.6rem;font-weight:700}.checkin-frame-caption b{color:#e45184;grid-area:1/2/3;font-size:1.5rem;transform:rotate(8deg)}.checkin-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.checkin-button{cursor:pointer;border-radius:999px;min-height:2.9rem;padding:.55rem 1.05rem;font-size:.73rem;font-weight:800;transition:transform .16s,box-shadow .16s,opacity .16s}.checkin-button--primary{color:#fff;background:#c94f79;border:1px solid #0000;box-shadow:0 .55rem 1.25rem #922f5238}.checkin-button--secondary{color:#93405f;background:#ffffffd6;border:1px solid #be477038}.checkin-button:hover:not(:disabled){transform:translateY(-1px)}.checkin-button:focus-visible{outline:3px solid var(--wine);outline-offset:2px}.checkin-button:disabled{cursor:wait;opacity:.55}.checkin-status{color:#a53f65;text-align:center;margin-top:.9rem;font-size:.72rem;font-weight:700;line-height:1.55}.checkin-status--error{color:#9d294f}.checkin-card--green-portrait{background:radial-gradient(circle at 86% 10%,#ffffffc2,#0000 27%),linear-gradient(145deg,#f9fff5d6,#d3f0c7e0);box-shadow:0 1rem 2.5rem #3d754629}.checkin-card--green-portrait .checkin-heading>span{color:#4d965d}.checkin-card--green-portrait .checkin-heading h2{color:#326a3e}.checkin-card--green-portrait .checkin-frame-wrap{transform:rotate(-2.5deg)}.checkin-card--green-portrait .checkin-frame{background:#fbfff9;border-color:#7fbd78;box-shadow:.55rem .75rem #bfe1b6,0 1.3rem 2.4rem #2f663938}.checkin-card--green-portrait .checkin-frame:after{border-color:#4d91563d}.checkin-card--green-portrait .checkin-placeholder{color:#447e4c;background:radial-gradient(circle at 24% 20%,#ffffffc2 0 9%,#0000 10%),linear-gradient(145deg,#e9f7e2,#93c98a)}.checkin-card--green-portrait .checkin-frame-caption{color:#3e7447}.checkin-card--green-portrait .checkin-frame-caption small{color:#6d9d73}.checkin-card--green-portrait .checkin-frame-caption b{color:#5c9f64}.checkin-card--green-portrait .checkin-button--primary{background:#568f5d;box-shadow:0 .55rem 1.25rem #366b3e3b}.checkin-card--green-portrait .checkin-button--secondary{color:#427849;border-color:#4b89533d}.checkin-card--purple-landscape{background:radial-gradient(circle at 88% 9%,#ffffffb3,#0000 28%),linear-gradient(145deg,#faf6ffd1,#e2d1f9db);box-shadow:0 1rem 2.5rem #5b398929}.checkin-card--purple-landscape .checkin-heading>span{color:#7650a8}.checkin-card--purple-landscape .checkin-heading h2{color:#53376f}.checkin-card--purple-landscape .checkin-frame-wrap{width:min(96%,29rem);transform:none}.checkin-card--purple-landscape .checkin-frame{background:#fff;border-color:#9a76ca;padding:.72rem .72rem .82rem;box-shadow:.65rem .78rem #d8c4f1,0 1.3rem 2.4rem #4c30703d}.checkin-card--purple-landscape .checkin-frame:after{border-color:#6946973b}.checkin-card--purple-landscape .checkin-tape{background:#f4ecffe8}.checkin-card--purple-landscape .checkin-photo-window{aspect-ratio:4/3;background:#d7c2ef}.checkin-card--purple-landscape .checkin-placeholder{color:#67468f;background:radial-gradient(circle at 24% 20%,#ffffffbf 0 9%,#0000 10%),linear-gradient(145deg,#eee4fb,#b99bdd)}.checkin-card--purple-landscape .checkin-frame-caption{color:#614183;min-height:2.9rem}.checkin-card--purple-landscape .checkin-frame-caption small{color:#8d71b1}.checkin-card--purple-landscape .checkin-frame-caption b{color:#8b60bd}.checkin-card--purple-landscape .checkin-button--primary{background:#7650a8;box-shadow:0 .55rem 1.25rem #52307c3b}.checkin-card--purple-landscape .checkin-button--secondary{color:#66468c;border-color:#6f4b9e3d}.checkin-card--red-heart{background:radial-gradient(circle at 14% 10%,#ffffffbf,#0000 25%),linear-gradient(145deg,#fff6f6d1,#ffcfd8e0);box-shadow:0 1rem 2.5rem #8920372b}.checkin-card--red-heart .checkin-heading>span{color:#c92f4f}.checkin-card--red-heart .checkin-heading h2{color:#7f253b}.checkin-card--red-heart .checkin-frame-wrap{transform:rotate(-2.7deg)}.checkin-card--red-heart .checkin-frame{background:snow;border-color:#df3f5e;box-shadow:.55rem .75rem #f296a9,0 1.3rem 2.4rem #801d3240}.checkin-card--red-heart .checkin-frame:after{border-color:#ca305040}.checkin-card--red-heart .checkin-photo-window{background:#f4a2b2}.checkin-card--red-heart .checkin-placeholder{color:#9f2944;background:radial-gradient(circle at 24% 20%,#ffffffc2 0 9%,#0000 10%),linear-gradient(145deg,#ffdce3,#e9637d)}.checkin-card--red-heart .checkin-frame-caption{color:#8d263e}.checkin-card--red-heart .checkin-frame-caption small{color:#bd5b70}.checkin-card--red-heart .checkin-frame-caption b{color:#dd244d}.checkin-card--red-heart .checkin-button--primary{background:#cf3657;box-shadow:0 .55rem 1.25rem #851d3440}.checkin-card--red-heart .checkin-button--secondary{color:#9e2943;border-color:#c82c4d3d}.checkin-card--blue-portrait{background:radial-gradient(circle at 86% 10%,#ffffffc7,#0000 28%),linear-gradient(145deg,#f6fbffe0,#c3e0fce0);box-shadow:0 1rem 2.5rem #3068a329}.checkin-card--blue-portrait .checkin-heading>span{color:#3979b8}.checkin-card--blue-portrait .checkin-heading h2{color:#275b91}.checkin-card--blue-portrait .checkin-frame-wrap{transform:rotate(3deg)}.checkin-card--blue-portrait .checkin-frame{background:#fbfdff;border-color:#63a9e8;box-shadow:-.55rem .75rem #b9dcf8,0 1.3rem 2.4rem #295b8f3b}.checkin-card--blue-portrait .checkin-frame:after{border-color:#3579b73b}.checkin-card--blue-portrait .checkin-tape{background:#e7f4ffeb;transform:translate(-50%)rotate(-4deg)}.checkin-card--blue-portrait .checkin-photo-window{background:#a9d4f5}.checkin-card--blue-portrait .checkin-placeholder{color:#2f6fa9;background:radial-gradient(circle at 24% 20%,#ffffffc7 0 9%,#0000 10%),linear-gradient(145deg,#e2f2ff,#8cc6f1)}.checkin-card--blue-portrait .checkin-frame-caption{color:#2d659c}.checkin-card--blue-portrait .checkin-frame-caption small{color:#6998c2}.checkin-card--blue-portrait .checkin-frame-caption b{color:#4b94d3}.checkin-card--blue-portrait .checkin-button--primary{background:#397fbd;box-shadow:0 .55rem 1.25rem #2b5e8e3d}.checkin-card--blue-portrait .checkin-button--secondary{color:#316b9f;border-color:#3777b13d}.puzzle-game{gap:1.15rem;display:grid}.puzzle-game--loading{min-height:12rem;color:var(--paper-dim);place-items:center;font-size:.76rem;font-weight:700}.puzzle-game-heading{text-align:center;gap:.35rem;display:grid}.puzzle-game-heading h2{color:var(--paper);letter-spacing:-.035em;margin:0;font-size:clamp(1.25rem,5.5vw,1.75rem)}.puzzle-game-heading p{color:var(--paper-dim);margin:0;font-size:.76rem;line-height:1.5}.puzzle-game-heading small{color:#bc4c78;letter-spacing:.04em;font-size:.66rem;font-weight:800}.puzzle-game-heading .puzzle-debug-status{color:#8f4660;letter-spacing:0;background:#ffffffb8;border-radius:999px;min-height:1.5rem;padding:.35rem .65rem}.puzzle-reset-button{cursor:pointer;color:#9d3d61;background:#ffffffb8;border:1px solid #b5496f38;border-radius:999px;width:fit-content;min-height:2rem;margin:.15rem auto 0;padding:.35rem .75rem;font-size:.66rem;font-weight:800}.puzzle-reset-button:focus-visible{outline-offset:2px;outline:3px solid #dc5c89}.puzzle-stage{isolation:isolate;background:radial-gradient(circle at 50% 46%,#ffffffa8,#0000 43%),linear-gradient(145deg,#fff8e1c7,#ffe2ecad);border-radius:1.8rem;justify-items:center;gap:1rem;width:100%;min-height:0;padding:1rem .8rem 1.4rem;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ba4b7017}.puzzle-board{aspect-ratio:1;z-index:2;transform-origin:50%;background:#fff;border:.42rem solid #fff;border-radius:1rem;grid-row:3;width:min(64%,23rem);position:relative;overflow:hidden;transform:scale(1);box-shadow:0 0 0 1px #ab4e6e1f,0 1.2rem 2.8rem #833d562e}.puzzle-board.is-completing{animation:3s cubic-bezier(.2,.75,.2,1) forwards puzzle-board-grow}.puzzle-board.is-revealed{transform:scale(1.2)}.puzzle-empty-background{z-index:0;position:absolute;inset:0}.puzzle-empty-background img,.puzzle-empty-grid img{object-fit:cover}.puzzle-empty-grid{z-index:1;opacity:.24;position:absolute;inset:0}.puzzle-final-background{z-index:5;opacity:0;transition:opacity .65s,transform .85s;position:absolute;inset:0;transform:scale(1)}.puzzle-final-background img{object-fit:cover}.puzzle-board.is-revealed .puzzle-final-background{opacity:1;transform:scale(1)}.puzzle-piece-placed,.puzzle-drop-preview{pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.puzzle-piece-placed{z-index:3;animation:.12s ease-out both puzzle-piece-appear}.puzzle-drop-preview{z-index:4;background-color:#d85c8938}.puzzle-board.is-revealed .puzzle-piece-placed,.puzzle-board.is-revealed .puzzle-drop-preview,.puzzle-board.is-revealed .puzzle-empty-grid{opacity:0}.puzzle-piece-loose{aspect-ratio:1;z-index:4;touch-action:none;cursor:grab;background:0 0;border:0;width:19%;padding:0;transition:opacity .16s;position:absolute}.puzzle-piece-tray{aspect-ratio:1.25;z-index:4;background:#ffffff3d;border-radius:1.25rem;grid-row:2;width:min(100%,28rem);position:relative}.puzzle-piece-loose img,.puzzle-drag-ghost img{object-fit:contain}.puzzle-piece-loose:focus-visible{outline-offset:.2rem;border-radius:.55rem;outline:3px solid #dc5c89}.puzzle-piece-loose.is-dragging{opacity:.12;cursor:grabbing}.puzzle-piece-loose.is-wrong{animation:.44s puzzle-piece-wrong}.puzzle-drag-ghost{z-index:100;pointer-events:none;position:fixed;transform:scale(1.12)rotate(2deg)}.puzzle-complete-flash{z-index:6;pointer-events:none;background:radial-gradient(circle,#ffffffeb,#ffda5b85 28%,#0000 68%);animation:1s 3 both puzzle-complete-flash;position:absolute;inset:-25%}.puzzle-gift-question{z-index:8;color:#a73964;text-align:center;background:#ffffffad;border-radius:999px;grid-row:1;width:min(82%,20rem);margin:0;padding:.6rem .95rem;font-size:.74rem;font-weight:800;line-height:1.45;position:relative;box-shadow:0 .7rem 1.5rem #8a39571f}@keyframes puzzle-board-grow{0%,27%{transform:scale(1)}33.333%,60%{transform:scale(1.05)}66.666%,93%{transform:scale(1.1)}to{transform:scale(1.2)}}@keyframes puzzle-piece-wrong{0%,to{translate:0}25%{translate:-.35rem}50%{translate:.32rem}75%{translate:-.18rem}}@keyframes puzzle-piece-appear{0%{opacity:0}to{opacity:1}}@keyframes puzzle-complete-flash{0%{opacity:0;transform:scale(.35)}42%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}.checkin-heart-confetti{z-index:3;pointer-events:none;position:absolute;inset:0}.checkin-heart-confetti i{color:#e52f55;filter:drop-shadow(0 .3rem .35rem #7e172d38);font-size:1.25rem;font-style:normal;line-height:1;position:absolute}.checkin-heart-confetti i:first-child{top:1.15rem;left:-.15rem;transform:rotate(-14deg)}.checkin-heart-confetti i:nth-child(2){font-size:1rem;top:30%;right:-.28rem;transform:rotate(13deg)}.checkin-heart-confetti i:nth-child(3){font-size:.9rem;bottom:2.7rem;left:-.22rem;transform:rotate(9deg)}.checkin-heart-confetti i:nth-child(4){font-size:1.4rem;bottom:2.1rem;right:.15rem;transform:rotate(-10deg)}.shared-album{background-color:#fff0a9;background-image:linear-gradient(90deg,#0000 2.05rem,#da687b33 2.08rem 2.13rem,#0000 2.16rem),repeating-linear-gradient(#0000 0 1.65rem,#6e91b12e 1.69rem 1.75rem);border-radius:1.6rem;margin-top:1.5rem;padding:clamp(1.25rem,5vw,2rem) clamp(.8rem,4vw,1.5rem);box-shadow:inset 0 0 0 1px #ad763021,0 1rem 2.2rem #97476324}.shared-album-empty{color:var(--paper-dim);text-align:center;border:1px dashed #b74a6f47;border-radius:1rem;margin-top:1rem;padding:1.2rem;font-size:.78rem;line-height:1.5}.shared-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(1rem,5vw,1.7rem) clamp(.65rem,3vw,1.1rem);display:grid}.shared-album-quotes{gap:.9rem;margin:.3rem 0 clamp(1.5rem,7vw,2.4rem);display:grid}.shared-album-quotes blockquote{background:#ffffff7a;border-radius:1rem 1rem 1rem .25rem;width:min(86%,22rem);margin:0;padding:.85rem 1rem;box-shadow:0 .55rem 1.2rem #7b485d17}.shared-album-quotes blockquote.is-tram{color:#714a91;text-align:left;border-left:.22rem solid #9670bc;justify-self:start;transform:rotate(-.7deg)}.shared-album-quotes blockquote.is-khiem{color:#9e405f;text-align:right;border-right:.22rem solid #cb668c;border-radius:1rem 1rem .25rem;justify-self:end;transform:rotate(.7deg)}.shared-album-quotes p{white-space:pre-wrap;font-family:var(--font-display), Georgia, serif;margin:0;font-size:clamp(.76rem,3.4vw,.94rem);font-style:italic;line-height:1.55}.shared-album-quotes cite{margin-top:.4rem;font-size:.62rem;font-style:normal;font-weight:800;display:block}.shared-album-photo{background:radial-gradient(circle at 14% 20%,#77573b14 0 .05rem,#0000 .09rem) 0 0/1.7rem 1.9rem,radial-gradient(circle at 72% 68%,#77573b12 0 .06rem,#0000 .1rem) 0 0/2.3rem 2.1rem,radial-gradient(circle at 45% 42%,#77573b0d 0 .04rem,#0000 .08rem) 0 0/1.3rem 1.5rem,#fffdf5;border:1px solid #7d5e4929;border-radius:.55rem;margin:0;padding:.78rem .5rem .72rem;position:relative;transform:none;box-shadow:0 .75rem 1.5rem #6a2c4129}.shared-album-photo:before{content:"";z-index:2;background:repeating-linear-gradient(90deg,#6b52413d 0 .34rem,#0000 .34rem .66rem);height:.24rem;position:absolute;top:.24rem;left:.48rem;right:.48rem}.shared-album-photo:after{content:"";background:repeating-linear-gradient(90deg,#6b524138 0 .34rem,#0000 .34rem .66rem);height:.24rem;position:absolute;bottom:.24rem;left:.48rem;right:.48rem}.shared-album-photo>div{aspect-ratio:4/5;background:var(--rose-pale);border-radius:.45rem;overflow:hidden}.shared-album-photo--clay>div{aspect-ratio:16/10}.shared-album-photo--ippudo{transform:rotate(2deg)}.shared-album-photo--photobooth{transform:rotate(-2.5deg)}.shared-album-photo--clay{grid-column:1/-1;justify-self:center;width:82%;transform:rotate(.8deg)}.shared-album-photo--first-kiss{transform:rotate(-2.7deg)}.shared-album-photo--final-photo{transform:rotate(3deg)}.shared-album-decoration{z-index:4;color:#cf5f87;filter:drop-shadow(0 .25rem .25rem #6f344929);font-size:clamp(1rem,5vw,1.45rem);line-height:1;position:absolute;top:-.75rem;right:-.55rem;transform:rotate(9deg)}.shared-album-photo--photobooth .shared-album-decoration{color:#78a96e;transform:rotate(-12deg)}.shared-album-photo--clay .shared-album-decoration{top:-.8rem;right:.5rem;transform:rotate(7deg)}.shared-album-photo--first-kiss .shared-album-decoration{left:-.6rem;right:auto;transform:rotate(-8deg)}.shared-album-photo--final-photo .shared-album-decoration{color:#5f96c9}.shared-album-photo img{object-fit:cover;width:100%;height:100%;display:block}.shared-album-photo figcaption{gap:.28rem;padding:.55rem .25rem 0;display:grid}.shared-album-photo figcaption time,.shared-album-photo figcaption span{color:var(--paper-dim);font-size:.55rem;line-height:1.45}.shared-album-photo figcaption span{color:var(--paper);font-size:clamp(.58rem,2.7vw,.72rem);font-weight:700}.album-home-actions{gap:.8rem;margin-top:2rem;display:grid}@media (max-width:24rem){.checkin-card{padding-inline:.85rem}.checkin-frame-wrap{width:88%}.shared-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mission-list{background:#ffffff7a;border:0;border-radius:1.5rem;padding:1.3rem;box-shadow:0 .9rem 2.2rem #9747631a}.mission-list>span{color:var(--wine)}.mission-list ol{counter-reset:photo-task;gap:.55rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.mission-list li{min-height:2.5rem;color:var(--paper-dim);counter-increment:photo-task;background:#ffffff73;border:0;border-radius:.8rem;align-items:center;gap:1rem;padding:.65rem .75rem;font-size:.86rem;display:flex}.mission-list li:before{content:"0" counter(photo-task);color:var(--wine);letter-spacing:.08em;font-size:.62rem}.mission-list p{font-family:var(--font-body), "Segoe UI", Arial, sans-serif;margin-top:1rem;font-size:.95rem;font-style:normal;font-weight:500}.phone-orbit{aspect-ratio:1;background:#ffffff6b;border:0;border-radius:50%;width:min(58vw,14rem);margin:0 auto;position:relative;box-shadow:0 0 0 .8rem #ffffff2e,0 1rem 2.5rem #97476321}.phone-orbit:before,.phone-orbit:after{content:"";border:0;border-radius:50%;position:absolute;inset:14%}.phone-orbit:before{background:#ffffff7a}.phone-orbit:after{background:var(--wine);border:0;inset:34%}.phone-orbit span{aspect-ratio:1;background:#fff;border-radius:50%;width:.5rem;position:absolute;top:11%;right:20%;box-shadow:0 0 0 .3rem #efafc161}.capsule-field textarea{min-height:8rem}.signoff{width:100%;color:var(--wine);letter-spacing:.035em;text-align:center;text-transform:none;background:#ffffff85;border:0;border-radius:1rem;padding:.75rem 1rem;font-size:.76rem;line-height:1.5}.loading-screen{background:var(--ink);place-items:center;min-height:100dvh;display:grid}.loading-screen span{background:var(--wine);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);width:1.35rem;height:1.35rem;animation:.7s ease-in-out infinite alternate loading-line}.screen-enter{animation:.5s ease-out both screen-enter}@keyframes screen-enter{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}@keyframes line-reveal{0%{transform:scale(0)rotate(-20deg)}to{transform:scale(1)rotate(0)}}@keyframes reveal-rise{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes loading-line{0%{opacity:.4;transform:scale(.55)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(15deg)}}@keyframes confirmation-in{0%{opacity:0;transform:translateY(.7rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes checkpoint-pulse{0%{opacity:.35;transform:translateY(0)}to{opacity:1;transform:translateY(-.35rem)}}@media (min-width:48rem){.experience-screen{padding-inline:2rem}.screen-frame{max-width:42rem}.progress-wrap{flex-direction:column;top:50%;right:2rem;transform:translateY(-50%)}.progress-dots{flex-direction:column;gap:.34rem;display:flex}.progress-dots span{background:#673b4a38;width:2px;height:.65rem}.progress-dots span.is-reached{background:var(--wine)}.progress-count{writing-mode:vertical-rl}.journey-map-trigger{top:2rem;right:2rem}.checkpoint-quick-control{top:5.4rem;right:2rem}}@media (max-height:700px){.screen-frame{gap:1rem}.screen-content{justify-content:flex-start;gap:1.3rem;padding-top:1rem}h1{font-size:clamp(2.35rem,11vw,3.1rem)}.screen-body{margin-top:.9rem;line-height:1.5}.memory-placeholder,.memory-image img{height:8rem}.title-visual{min-height:3.5rem;margin-bottom:.65rem}.ramen-title-icon{width:3.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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}
