:root{color:#000;font-synthesis:none;text-rendering:optimizelegibility;--white:#fff;--grey:#7e7e82;--black:#000;--charcoal:#1e1e1e;--rhodamine:#e3008c;--pink-soft:#fde6f4;--grey-soft:#f1f1f2;--line:#cfcfd2;--content:42rem;--radius-small:.7rem;--radius-medium:1.1rem;--radius-large:1.45rem;background:#fff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{background:var(--white);scroll-behavior:smooth}body{min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rhodamine);outline-offset:3px}.app-shell{isolation:isolate;min-height:100dvh;padding:max(1.15rem, env(safe-area-inset-top)) max(1.2rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.2rem, env(safe-area-inset-left));background:var(--white);position:relative;overflow:hidden}.topbar{z-index:3;justify-content:space-between;align-items:center;gap:1rem;width:min(100%,72rem);margin:0 auto;display:flex;position:relative}.wordmark{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.nml-brand{align-items:center;gap:.7rem;display:inline-flex}.nml-brand__words{letter-spacing:-.035em;font-size:.72rem;font-weight:700;line-height:.88}.nml-wave{width:4.2rem;height:2.15rem;overflow:visible}.nml-wave path{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round}.nml-wave--extended{width:min(100%,15rem);height:auto;color:var(--rhodamine)}.prototype-label{border:1px solid var(--black);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.5rem .7rem;font-size:.66rem;font-weight:700}.wave-backdrop{z-index:-1;width:24rem;color:var(--rhodamine);opacity:.1;pointer-events:none;position:absolute;top:6.5rem;right:-5rem;transform:rotate(-6deg)scale(1.5)}.wave-backdrop .nml-wave{width:100%}.home-panel,.form-panel,.venue-panel,.object-panel,.review-panel,.sent-panel,.receive-intro,.received-list,.message-screen{width:min(100%, var(--content));margin-inline:auto}.home-panel{margin-top:clamp(4rem,11vh,7rem)}.form-panel,.venue-panel,.object-panel,.review-panel,.sent-panel,.received-list{padding-top:clamp(2.2rem,7vh,4.5rem);padding-bottom:3rem}.eyebrow{color:var(--rhodamine);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.72rem;font-weight:700;line-height:1.4;display:flex}.eyebrow:before{content:"";background:currentColor;width:1.7rem;height:3px}h1{letter-spacing:-.065em;max-width:12ch;margin:0;font-size:clamp(3rem,13vw,6rem);font-weight:700;line-height:.92}h1 em{color:var(--rhodamine);font-style:normal}.intro,.form-panel>p{color:#414146;max-width:34rem;margin:1.4rem 0 0;font-size:clamp(1rem,3.8vw,1.2rem);line-height:1.55}.primary-action,.secondary-action{border:2px solid var(--black);border-radius:var(--radius-large);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:3.8rem;padding:.72rem .78rem .72rem 1.15rem;font-weight:700;transition:transform .16s,background .16s;display:flex}.primary-action{color:var(--black);background:var(--rhodamine);margin-top:2rem}.primary-action:hover,.primary-action:focus-visible{transform:translateY(-2px)}.action-arrow{border:2px solid var(--black);background:var(--white);border-radius:50%;flex:none;place-items:center;width:2.6rem;height:2.6rem;font-size:1.2rem;display:grid}.secondary-action{color:var(--black);background:var(--white)}.secondary-action:disabled,.primary-action:disabled{cursor:not-allowed;opacity:.42;transform:none}.journey{border:2px solid var(--black);border-radius:var(--radius-medium);grid-template-columns:repeat(2,1fr);margin-top:2.5rem;display:grid;overflow:hidden}.journey div{align-content:center;gap:.4rem;min-height:5.3rem;padding:.75rem;display:grid}.journey div:nth-child(odd){border-right:1px solid var(--line)}.journey div:nth-child(-n+2){border-bottom:1px solid var(--line)}.journey strong{color:var(--rhodamine);letter-spacing:.08em;font-size:.68rem}.journey span{font-weight:700}.audience-note{border-radius:var(--radius-large);color:var(--white);background:var(--charcoal);margin-top:1.5rem;padding:1.2rem}.audience-note strong,.audience-note span{display:block}.audience-note strong{margin-bottom:.35rem;font-size:1rem}.audience-note span{color:#e8e8e8;font-size:.88rem;line-height:1.5}.privacy-note{color:#55555a;margin:1.2rem 0 0;font-size:.78rem;line-height:1.5}.back-button{min-height:2.75rem;color:var(--black);cursor:pointer;background:0 0;border:0;margin:0 0 1.6rem;padding:.35rem .35rem .35rem 0;font-weight:700}.back-button span{color:var(--rhodamine);margin-right:.35rem;font-size:1.2rem}.progress{margin-bottom:2rem}.step-count{color:#59595e;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;margin-bottom:.6rem;font-size:.72rem;display:flex}.step-count strong{color:var(--black)}.progress-track{background:#dddddf;height:.35rem;display:block}.progress-track span{background:var(--rhodamine);height:100%;transition:width .3s;display:block}form{margin-top:2rem}label:not(.capture-box):not(.venue-card){margin:1.25rem 0 .5rem;font-size:.88rem;font-weight:700;display:block}label span{color:#5b5b60;font-weight:400}input,textarea{border:2px solid var(--black);border-radius:var(--radius-small);width:100%;color:var(--black);background:var(--white);padding:.95rem 1rem;font-size:1rem}textarea{resize:vertical;min-height:8rem;line-height:1.5}input::placeholder,textarea::placeholder{color:#77777c;opacity:1}.form-action{margin-top:2rem}.venue-list{border:0;gap:.65rem;margin:2rem 0;padding:0;display:grid}.venue-card{border:2px solid var(--black);border-radius:var(--radius-medium);background:var(--white);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;min-height:5rem;padding:.85rem;display:grid}.venue-card:hover{background:var(--pink-soft)}.venue-card.is-selected{background:var(--rhodamine)}.venue-card input{width:1.25rem;height:1.25rem;accent-color:var(--black);margin:0}.venue-card>span:nth-child(2){min-width:0}.venue-card strong,.venue-card small{display:block}.venue-card strong{font-size:.95rem;line-height:1.25}.venue-card small{color:#525257;margin-top:.25rem;font-size:.76rem;line-height:1.3}.venue-card.is-selected small{color:#151515}.venue-check{font-size:1.25rem;font-weight:700}.venue-context{width:fit-content;max-width:100%;color:var(--rhodamine);background:var(--pink-soft);border-radius:999px;align-items:center;gap:.65rem;margin:0 0 1.5rem;padding:.45rem .7rem;display:flex}.venue-context .nml-wave{flex:none;width:3.4rem;height:1.7rem}.venue-context span{color:var(--black);font-size:.8rem;font-weight:700}.object-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.object-heading h1{font-size:clamp(2.8rem,11vw,5.1rem)}.object-number{color:var(--rhodamine);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.65rem;font-size:.72rem;font-weight:700;display:block}.object-limit{border:2px solid var(--black);flex:none;place-items:center;width:3rem;height:3rem;font-size:.78rem;font-weight:700;display:grid}.capture-grid{gap:.8rem;margin-top:2rem;display:grid}.capture-box{border:2px solid var(--black);border-radius:var(--radius-large);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:15rem;display:flex;position:relative;overflow:hidden}.photo-box{color:var(--black);background:var(--pink-soft);cursor:pointer}.audio-box{color:var(--white);background:var(--charcoal);padding:1.3rem}.capture-icon{width:3.2rem;height:3.2rem;color:var(--rhodamine);border:2px solid;border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.capture-box strong{font-size:1rem}.capture-box small{max-width:18rem;color:inherit;opacity:.72;line-height:1.4}.photo-box.has-media{background:var(--black)}.photo-box img{object-fit:cover;width:100%;height:100%;min-height:15rem}.change-chip{border:2px solid var(--black);color:var(--black);background:var(--white);border-radius:999px;padding:.55rem .7rem;font-size:.72rem;font-weight:700;position:absolute;bottom:.65rem;right:.65rem}.audio-box audio{width:100%}.record-button,.stop-button,.text-button{min-height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:999px;padding:.55rem .9rem;font-weight:700}.recording-dot{background:var(--rhodamine);border-radius:50%;width:1rem;height:1rem;animation:1.2s infinite pulse}.written-option{margin-top:1.2rem}.field-help{color:#535358;margin:-.2rem 0 .55rem;font-size:.78rem;line-height:1.45}.object-actions{gap:.7rem;margin-top:1.4rem;display:grid}.inline-error,.success-note{border-left:.4rem solid var(--rhodamine);border-radius:var(--radius-small);color:var(--black);background:var(--pink-soft);margin-top:1rem;padding:.85rem 1rem;line-height:1.4}.review-stack{gap:.75rem;margin:1.8rem 0;display:grid}.review-card{border:2px solid var(--black);border-radius:var(--radius-medium);background:var(--white);grid-template-columns:5rem 1fr auto;align-items:center;gap:.8rem;min-height:6.5rem;padding:.55rem;display:grid}.review-card img{object-fit:cover;border-radius:.65rem;width:5rem;height:5rem}.review-card div{gap:.25rem;min-width:0;display:grid}.review-card div span{color:var(--rhodamine);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.review-card div strong{font-size:.82rem;line-height:1.3}.review-card div small{color:#55555a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-card button{min-height:2.75rem;color:var(--black);cursor:pointer;background:0 0;border:0;padding:.5rem;font-weight:700;text-decoration:underline}.consent-note{color:#55555a;text-align:center;max-width:34rem;margin:1rem auto 0;font-size:.74rem;line-height:1.55}.message-screen{text-align:center;margin-top:20vh}.message-screen h1{max-width:12ch;margin-inline:auto;font-size:clamp(2.7rem,11vw,4.7rem)}.message-screen .intro{margin-inline:auto}.spinner{border:4px solid var(--grey-soft);border-top-color:var(--rhodamine);border-radius:50%;width:2.8rem;height:2.8rem;margin-bottom:1.2rem;animation:.9s linear infinite spin;display:inline-block}.sent-panel>.nml-wave{margin-bottom:1.5rem}.sent-panel h1,.receive-intro h1{font-size:clamp(2.8rem,12vw,5rem)}.share-url{border:2px solid var(--black);border-radius:var(--radius-medium);grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-top:.8rem;padding:.45rem .45rem .45rem .8rem;display:grid}.share-url span{color:#535358;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.share-url button{min-height:2.75rem;color:var(--white);background:var(--black);cursor:pointer;border:0;border-radius:999px;padding:.6rem .85rem;font-weight:700}.make-another{justify-content:center;margin-top:1.8rem}.receive-intro{margin-top:clamp(4rem,12vh,7rem)}.receive-intro>.nml-wave{margin-bottom:2rem}.receiver-open{overflow:visible}.received-list{padding-bottom:4rem}.received-list h1{margin-bottom:2.2rem;font-size:clamp(2.8rem,11vw,4.8rem)}.received-card{border:2px solid var(--black);border-radius:var(--radius-large);background:var(--white);margin-bottom:1.3rem;animation:.5s both unwrap;position:relative;overflow:hidden}.received-card img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:34rem;display:block}.card-number{z-index:1;width:2.7rem;height:2.7rem;color:var(--black);background:var(--rhodamine);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:.75rem;left:.75rem}.received-copy{gap:1rem;padding:1.2rem;display:grid}.received-copy audio{width:100%}.content-label{color:var(--rhodamine);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.45rem;font-size:.7rem;font-weight:700;display:block}.personal-message{margin:0;font-size:clamp(1.3rem,5.5vw,1.9rem);font-weight:700;line-height:1.35}.image-description{border-top:1px solid var(--line);padding-top:1rem}.image-description summary{cursor:pointer;font-weight:700}.image-description p{color:#47474c;margin:.65rem 0 0;line-height:1.5}.clue{border-top:1px solid var(--line);color:#47474c;margin:0;padding-top:1rem;font-size:.88rem;line-height:1.55}.clue strong{color:var(--black)}.gift-finished{border:2px solid var(--black);border-radius:var(--radius-large);text-align:center;background:var(--pink-soft);margin:3rem 0 1rem;padding:2rem 1.2rem}.gift-finished .nml-wave{margin-inline:auto}.gift-finished h2{margin:1rem 0 .5rem;font-size:2rem}.gift-finished p{color:#47474c;margin:0;line-height:1.55}.report-link{color:#55555a;cursor:pointer;background:0 0;border:0;min-height:2.75rem;margin:2rem auto 0;padding:.5rem;font-size:.76rem;text-decoration:underline;display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes pulse{50%{box-shadow:0 0 0 .7rem #e3008c00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes unwrap{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}@media (width>=680px){.app-shell{padding-inline:2rem}.journey{grid-template-columns:repeat(4,1fr)}.journey div{border-right:1px solid var(--line);border-bottom:0!important}.journey div:last-child{border-right:0}.capture-grid{grid-template-columns:1.15fr .85fr}.venue-list{grid-template-columns:repeat(2,1fr)}.object-actions{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-contrast:more){:root{--line:#000}.prototype-label,.progress-track,.field-help,.privacy-note,.consent-note{color:#000}}
