body{margin:0}@font-face{font-family:Montserrat Campaign;src:url(/campaign/fonts/Montserrat-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat Campaign;src:url(/campaign/fonts/Montserrat-Italic-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{color:#fff;--rose-100:#f6b8c4;--rose-200:#e79aa9;--rose-300:#c76778;--rose-400:#a74353;--rose-500:#81323e;--ink:#2c1f22;--white-soft:#ffffffdb;--white-muted:#ffffffb8;--shadow:0 24px 80px #521c273d;background:#d98998}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fff;-webkit-font-smoothing:antialiased;background:#d98998;min-width:320px;min-height:100vh;margin:0;font-family:Montserrat Campaign,Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{border:0}a{color:inherit}#root{min-height:100vh}.campaign-page{background:linear-gradient(#9732432e,#97324314),url(/campaign/background_02.png) top/cover repeat-y,#d98998;min-height:100vh;position:relative;overflow:hidden}.campaign-page:before{content:"";pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at 50% 5%,#ffffff40,#0000 32%),linear-gradient(#ffffff1f,#fff0);position:fixed;inset:0}.landing-page{background:linear-gradient(#ffffff0d,#751e301a),url(/campaign/background_02.png) top/cover repeat-y,url(/campaign/background_03.png) top/cover repeat-y,#d98d9b}.brand-strip{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#802f3cb3;justify-content:center;align-items:center;width:100%;min-height:62px;padding:1rem clamp(1rem,4vw,2.5rem);display:flex;position:relative}.landing-page .brand-strip{background:#802f3cdb}.brand-strip img{width:min(920px,86vw);height:auto;display:block}.hero-section{z-index:1;text-align:center;place-items:start center;min-height:calc(100vh - 62px);padding:clamp(1.2rem,3.5vw,2.6rem) 1.25rem clamp(2rem,6vw,3.6rem);display:grid;position:relative}.hero-content{justify-items:center;width:min(620px,100%);display:grid}.campaign-logo{filter:drop-shadow(0 2px #61212e6b)drop-shadow(0 16px 30px #61212e2e);width:min(320px,78vw);height:auto;display:block}.campaign-logo.compact{width:min(245px,62vw)}.hero-postcard{filter:drop-shadow(0 22px 32px #591b293d);width:min(310px,68vw);height:auto;margin:clamp(.5rem,1.8vw,1rem) 0 .35rem}.hero-copy{max-width:34rem;color:var(--white-soft);text-wrap:balance;margin:.45rem 0 1.45rem;font-size:clamp(1.05rem,2.5vw,1.28rem);font-weight:500;line-height:1.45}.waveform{filter:drop-shadow(0 10px 18px #701f3033);width:min(245px,56vw);height:auto;margin-bottom:1.7rem}.code-form{justify-items:center;gap:.68rem;width:min(520px,100%);display:grid}.code-label,.overline{color:#ffffffeb;letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,2.4vw,1rem);font-weight:500}.code-input-row{grid-template-columns:1fr auto;align-items:center;gap:.8rem;width:100%;display:grid}.code-input{width:100%;height:64px;color:var(--ink);letter-spacing:.55em;text-align:center;background:#fffffff5;border:0;border-radius:14px;padding:.5rem 1.2rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:600;box-shadow:0 18px 50px #661f2e29}.code-input::placeholder{color:#2a1b1f57;letter-spacing:.35em}.code-input:focus,input:focus,textarea:focus{outline-offset:4px;outline:2px solid #ffffffdb}.info-button{color:#fff;cursor:help;background:0 0;border:1.5px solid #ffffffe6;border-radius:999px;place-items:center;width:27px;height:27px;font-size:.95rem;font-style:italic;display:inline-grid}.no-code-button{color:#fff;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;background:0 0;padding:.15rem;font-size:clamp(1rem,3vw,1.15rem);font-weight:800}.terms-row{width:min(520px,100%);color:var(--white-soft);text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;font-size:.82rem;line-height:1.35;display:grid}.terms-row input{z-index:2;opacity:0;cursor:pointer;grid-area:1/1;width:48px;height:25px;margin:0;position:relative}.terms-row a{color:#fff;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.toggle-visual{z-index:1;background:#ffffffd1;border-radius:999px;grid-area:1/1;width:48px;height:25px;position:relative;box-shadow:inset 0 0 0 1px #722e3b1f}.toggle-visual:after{content:"";background:#b8b8b8;border-radius:50%;width:17px;height:17px;transition:transform .18s,background .18s;position:absolute;top:4px;left:4px}.terms-row input:checked+.toggle-visual:after{background:var(--rose-400);transform:translate(23px)}.campaign-button,.ghost-button,.text-link{text-transform:uppercase;letter-spacing:.08em;border-radius:15px;justify-content:center;align-items:center;min-height:45px;padding:.78rem 2.5rem;text-decoration:none;transition:transform .18s,opacity .18s,box-shadow .18s,background .18s;display:inline-flex}.campaign-button svg,.ghost-button svg,.record-button svg,.upload-audio-button svg{flex:none}.campaign-button{color:#fff;cursor:pointer;background:linear-gradient(#b54c61,#96394a);gap:.45rem;min-width:min(280px,100%);font-weight:500;box-shadow:0 16px 34px #671f2d47}.campaign-button img{width:1.6rem;height:auto;margin-right:-.6rem;transform:rotate(-8deg)}.campaign-button:hover:not(:disabled),.ghost-button:hover,.text-link:hover{transform:translateY(-2px)}.campaign-button:active:not(:disabled),.ghost-button:active,.record-button:active,.upload-audio-button:active{transform:translateY(0)scale(.99)}.campaign-button:focus-visible,.ghost-button:focus-visible,.record-button:focus-visible,.upload-audio-button:focus-within,.player-play-button:focus-visible,.player-range:focus-visible{outline-offset:3px;outline:3px solid #ffffffb8}.campaign-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.ghost-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff80;gap:.45rem;min-width:156px}.text-link{color:#fff;min-height:auto;padding:.5rem 0;font-weight:700}.form-error{color:#fff;background:#6f202f47;border-radius:12px;width:min(520px,100%);margin:.15rem 0 0;padding:.75rem 1rem;font-size:.9rem;line-height:1.35}.story-section{z-index:2;text-align:center;background:linear-gradient(#c4637433,#983a4b5c),url(/campaign/background_02.png) top/cover repeat-y;justify-items:center;gap:clamp(2rem,6vw,4rem);min-height:100vh;padding:clamp(4rem,8vw,7rem) 1.25rem 6rem;display:grid;position:relative}.story-copy{justify-items:center;gap:1.3rem;display:grid}.story-copy p{max-width:48rem;color:var(--white-soft);text-wrap:balance;margin:0;font-size:clamp(1rem,2.6vw,1.25rem);line-height:1.45}.steps-art{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(1rem,4vw,2.5rem);width:min(900px,100%);display:grid}.step-feature{justify-items:center;gap:.9rem;display:grid;position:relative}.step-feature span,.step-item span{color:#fff;background:#82303ddb;border-radius:999px;place-items:center;width:38px;height:38px;font-weight:800;display:inline-grid}.step-feature p{color:#fff;max-width:13rem;margin:0;font-weight:600;line-height:1.2}.step-feature img{filter:drop-shadow(0 18px 30px #5d1c2b38);width:min(230px,100%);height:auto}.legal-bar{z-index:4;color:#ffffffc7;text-align:center;background:#ec8fa0e6;width:100%;padding:1rem clamp(1rem,5vw,3rem);font-size:clamp(.58rem,1.5vw,.72rem);font-style:italic;line-height:1.35;position:relative}.status-page,.create-page,.playback-page{flex-direction:column;display:flex}.status-page{background:linear-gradient(#7f25362e,#7f253642),url(/campaign/background_02.png) top/cover repeat-y,#d98d9b}.status-card,.create-shell,.playback-card{z-index:1;text-align:center;justify-items:center;width:min(760px,100vw - 2rem);margin:clamp(2.5rem,6vw,5rem) auto;display:grid;position:relative}.status-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#a5495a42;border-radius:34px;padding:clamp(2rem,5vw,3.5rem)}.status-postcard{filter:drop-shadow(0 18px 30px #5d1c2b3d);width:min(310px,72vw);margin:1.25rem 0 .5rem}.status-card h1,.create-shell h1,.playback-card h1{color:#fff;text-shadow:0 2px #71273633;margin:.4rem 0 .75rem;font-size:clamp(2.2rem,8vw,4.6rem);font-weight:500;line-height:.95}.create-shell h1{max-width:760px;font-size:clamp(2.35rem,6.2vw,3.7rem);line-height:1.05}.status-card p{max-width:36rem;color:var(--white-soft);margin:0;font-size:clamp(1rem,2.6vw,1.16rem);line-height:1.45}.status-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.create-shell{width:min(880px,100vw - 2rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#b050624d,#8f364747);border-radius:34px;padding:clamp(1.25rem,4vw,2.5rem)}.create-intro{max-width:42rem;color:var(--white-soft);margin:0 0 1.4rem;line-height:1.5}.stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%;margin:.5rem 0 1.2rem;display:grid}.step-item{color:#fffc;cursor:pointer;background:#ffffff26;border-radius:18px;justify-content:center;align-items:center;gap:.7rem;min-height:66px;display:flex}.step-item.active,.step-item.done{color:#fff;background:#ffffff47}.step-item.active span,.step-item.done span{color:var(--rose-400);background:#fff}.guided-form,.form-step{width:100%}.form-step{background:#ffffff24;border-radius:28px;justify-items:stretch;gap:1rem;padding:clamp(1rem,3vw,1.8rem);display:grid}.form-step h2{color:#fff;margin:0;font-size:clamp(1.35rem,4vw,2rem);font-weight:650}.form-step label{color:#ffffffe6;text-align:left;gap:.45rem;font-size:.95rem;font-weight:500;display:grid}.form-step input,.form-step textarea{width:100%;color:var(--ink);background:#fffffff2;border:0;border-radius:16px;padding:.9rem 1rem;box-shadow:0 12px 32px #671f2d1a}.form-step textarea{resize:vertical}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;width:100%;margin-top:.4rem;display:flex}.actions.split{justify-content:space-between}.recorder-step,.preview-step{text-align:center;justify-items:center}.recorder-hero{justify-items:center;gap:.6rem;width:min(380px,78vw);display:grid}.recorder-visual{isolation:isolate;place-items:center;width:min(250px,70vw);min-height:156px;display:grid;position:relative}.recorder-visual:before,.recorder-visual:after{content:"";opacity:0;border:1px solid #ffffff38;border-radius:50%;position:absolute;transform:scale(.7)}.recorder-visual:before{width:178px;height:178px}.recorder-visual:after{width:214px;height:214px}.phone-art{z-index:2;filter:drop-shadow(0 18px 32px #581c2947);width:min(170px,52vw);height:auto;position:relative}.recorder-waveform{z-index:3;transform-origin:50%;width:96px;height:auto;transition:filter .22s,opacity .22s,transform .22s;position:absolute}.sound-wave-bars{background:linear-gradient(#ffffff29,#ffffff14),#7123341f;border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;gap:clamp(3px,1vw,6px);width:min(320px,100%);min-height:50px;padding:.7rem 1rem;display:flex;box-shadow:inset 0 1px #fff3,0 16px 36px #5319271f}.sound-wave-bars span{width:clamp(3px,.8vw,5px);height:calc(10px + (var(--bar-scale,1) * 9px));transform-origin:50%;background:#ffffffbd;border-radius:999px;transition:height .18s,opacity .18s,background .18s;box-shadow:0 0 0 1px #97394914}.sound-wave-bars span:nth-child(4n+1){--bar-scale:.4}.sound-wave-bars span:nth-child(4n+2){--bar-scale:1.35}.sound-wave-bars span:nth-child(4n+3){--bar-scale:.85}.sound-wave-bars span:nth-child(4n){--bar-scale:1.75}.sound-wave-bars:not(.active) span{opacity:.42}.sound-wave-bars.active span{background:#fff}.recorder-hero.ready .recorder-waveform{filter:drop-shadow(0 6px 14px #ffffff52);transform:scale(1.04)}.muted{color:var(--white-soft);margin:0}.recorder-status{color:#ffffffe6;letter-spacing:.02em;background:#ffffff1f;border:1px solid #ffffff42;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:36px;margin-top:-.25rem;padding:.55rem .9rem;font-size:.86rem;font-weight:700;display:inline-flex}.recorder-status span{background:#ffffffad;border-radius:50%;width:.58rem;height:.58rem;box-shadow:0 0 0 4px #ffffff1a}.recorder-status.recording span{background:#fff;box-shadow:0 0 0 6px #ffffff29}.recorder-status.ready{background:#ffffff2e}.recorder-status.ready span{background:#fff}.record-button{color:#713040;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(#fff,#ffe9ee);border-radius:999px;justify-content:center;align-items:center;gap:.7rem;width:100%;min-height:68px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 22px 48px #50162440}.record-button:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffffffb8 45%,#0000 66%);position:absolute;inset:0;transform:translate(-125%)}.record-button:hover{transform:translateY(-2px);box-shadow:0 22px 44px #50162447}.recorder-actions{justify-items:center;width:min(520px,100%);display:grid}.record-primary-card{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:30px;gap:.85rem;width:100%;padding:.9rem;display:grid;box-shadow:inset 0 1px #ffffff29,0 18px 44px #551b2924}.upload-audio-button{color:#ffffffeb;cursor:pointer;letter-spacing:.03em;background:#ffffff1a;border:1px solid #ffffff6b;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:42px;padding:.64rem .95rem;font-size:.78rem;font-weight:750;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden}.upload-audio-button:hover{background:#ffffff29;border-color:#ffffffa8;transform:translateY(-1px);box-shadow:0 18px 34px #50162424}.upload-audio-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.alternate-upload{text-align:left;background:#601d2d1f;border:1px dashed #ffffff52;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;width:min(520px,100%);padding:.85rem 1rem;display:flex}.alternate-upload p{color:#fffffff0;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.alternate-upload small{color:#ffffffad;margin-top:.16rem;font-size:.78rem;line-height:1.35;display:block}.record-button.recording{background:var(--rose-500);color:#fff;animation:1.3s ease-in-out infinite pulse}.branded-player{color:#fff;background:linear-gradient(#ffffff2e,#ffffff1a),#7e283a24;border:1px solid #fff3;border-radius:26px;gap:1rem;width:min(640px,100%);padding:clamp(1rem,3vw,1.2rem);display:grid;box-shadow:inset 0 1px #ffffff2e,0 22px 54px #4e182429}.player-headline{text-align:left;align-items:center;gap:.75rem;display:flex}.player-icon{width:46px;height:46px;color:var(--rose-500);background:#ffffffed;border-radius:16px;flex:none;place-items:center;display:inline-grid;box-shadow:0 12px 28px #551a2729}.player-icon.ready{color:#7d3341}.player-headline span:not(.player-icon){color:#ffffffa8;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.1rem;font-size:.7rem;font-weight:800;display:block}.player-headline p{margin:0;font-weight:800}.player-headline small{color:#ffffffbd;margin-top:.18rem;font-size:.78rem;line-height:1.35;display:block}.player-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;display:grid}.player-play-button{width:54px;height:54px;color:var(--rose-500);cursor:pointer;background:#fff;border-radius:50%;place-items:center;transition:transform .18s,box-shadow .18s,background .18s;display:inline-grid;box-shadow:0 15px 34px #50162433}.player-play-button:hover{transform:translateY(-2px);box-shadow:0 18px 40px #50162447}.player-play-button:active{transform:translateY(0)scale(.97)}.player-progress{gap:.35rem;min-width:0;display:grid}.player-range{--progress:0%;background:linear-gradient(90deg, #fff 0%, #fff var(--progress), #ffffff38 var(--progress), #ffffff38 100%);width:100%;height:12px;box-shadow:none;accent-color:#fff;appearance:none;cursor:pointer;border:0;border-radius:999px;margin:0;padding:0}.player-range::-webkit-slider-thumb{border:4px solid var(--rose-500);appearance:none;background:#fff;border-radius:50%;width:22px;height:22px;box-shadow:0 8px 18px #54192642}.player-range::-moz-range-thumb{border:4px solid var(--rose-500);background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 8px 18px #54192642}.player-times{color:#ffffffb8;justify-content:space-between;font-size:.74rem;font-weight:700;display:flex}.branded-player audio{display:none}.recorder-step .actions.split,.preview-step .actions.split{width:min(640px,100%);margin-top:.7rem}.preview-postcard{filter:drop-shadow(0 18px 28px #5419263d);width:min(300px,80vw)}.message-card{width:100%;color:var(--ink);text-align:left;background:#ffffffeb;border-radius:18px;padding:1.1rem}.message-card h2,.message-card p{margin:0}.message-card p+p{margin-top:.45rem}.playback-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#9d405247;border-radius:34px;padding:clamp(1.5rem,4vw,2.5rem)}.playback-postcard{filter:drop-shadow(0 20px 32px #54192640);width:min(340px,80vw);margin:1rem 0}.playback-copy{max-width:38rem;color:var(--white-soft);margin:0 0 1.3rem;line-height:1.5}.playback-card .branded-player{margin-top:1rem}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 18px 36px #50162438}50%{transform:scale(1.03);box-shadow:0 20px 44px #50162457}}@keyframes phone-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes waveform-breathe{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.12)}}@keyframes meter-bar{0%,to{transform:scaleY(.62)}50%{transform:scaleY(1.85)}}@keyframes ripple{0%{opacity:.48;transform:scale(.64)}80%,to{opacity:0;transform:scale(1.16)}}@keyframes shine{to{transform:translate(125%)}}@media (prefers-reduced-motion:no-preference){.recorder-hero.recording .phone-art{animation:2.6s ease-in-out infinite phone-float}.recorder-hero.recording .recorder-waveform{animation:.9s ease-in-out infinite waveform-breathe}.recorder-hero.recording .recorder-visual:before,.recorder-hero.recording .recorder-visual:after{animation:1.8s ease-out infinite ripple}.recorder-hero.recording .recorder-visual:after{animation-delay:.3s}.sound-wave-bars.active span{animation:.85s ease-in-out infinite meter-bar}.sound-wave-bars.active span:nth-child(2n){animation-delay:90ms}.sound-wave-bars.active span:nth-child(3n){animation-delay:.18s}.recorder-hero.ready .sound-wave-bars span:nth-child(odd),.branded-player.ready .sound-wave-bars span:nth-child(odd){transform:scaleY(1.35)}.recorder-hero.ready .sound-wave-bars span:nth-child(2n),.branded-player.ready .sound-wave-bars span:nth-child(2n){transform:scaleY(.82)}.record-button:hover:after{animation:.65s shine}}@media (width<=760px){.brand-strip{min-height:50px;padding:.85rem .75rem}.brand-strip img{width:min(560px,94vw)}.hero-section{min-height:calc(100vh - 50px);padding-top:2.1rem;padding-bottom:6rem}.campaign-logo{width:min(300px,84vw)}.code-input-row{grid-template-columns:1fr;justify-items:center}.info-button{margin-top:86px;position:absolute;right:calc(50% - min(45vw,250px))}.steps-art,.stepper{grid-template-columns:1fr}.step-item{justify-content:flex-start;padding:0 1rem}.actions.split{justify-content:center}.actions.split .campaign-button,.actions.split .ghost-button,.recorder-actions,.recorder-step .actions.split,.preview-step .actions.split,.branded-player,.alternate-upload{width:100%}.alternate-upload{text-align:center;justify-items:stretch;display:grid}.upload-audio-button{width:100%}.player-controls{grid-template-columns:1fr;justify-items:center}.player-progress{width:100%}.player-headline{align-items:flex-start}.status-card,.create-shell,.playback-card{border-radius:24px;width:min(100vw - 1rem,100%)}}
