@import "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{--cocoa-dark:#2a140e;--cta-cinnamon:#b1460c;--cinnamon-orange:#c85a16;--caramel-brown:#a86a42;--butter-cream:#f5efe6;--warm-white:#faf8f4;--cookie-beige:#d7b08a;--soft-gray:#d9d7d2;--font-interface:"Nunito Sans", "Segoe UI", sans-serif;--font-editorial:"Playfair Display", Georgia, serif;font-family:var(--font-interface);color:var(--cocoa-dark);background:var(--butter-cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--butter-cream);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 8% 12%, #d7b08a3d, transparent 25rem), radial-gradient(circle at 95% 88%, #c85a161a, transparent 24rem), var(--butter-cream);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}#root{min-height:100svh}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--cinnamon-orange);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{isolation:isolate;grid-template-rows:auto 1fr auto;width:100%;min-height:100svh;padding:20px 18px 16px;display:grid;position:relative}.app-shell:before,.app-shell:after{content:"";z-index:-1;border:1px solid #a86a4238;border-radius:46% 54% 62% 38%;width:140px;height:140px;position:fixed;transform:rotate(28deg)}.app-shell:before{top:-78px;right:-64px}.app-shell:after{bottom:-88px;left:-70px;transform:rotate(-18deg)}.brand-header{align-items:center;width:min(100%,680px);margin:0 auto;display:flex}.brand-lockup{flex-direction:column;line-height:1;display:flex}.brand-maker{color:var(--caramel-brown);letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;font-weight:800}.brand-product{color:var(--cocoa-dark);font-family:var(--font-editorial);margin-top:5px;font-size:1.25rem;font-weight:600}.app-main{align-items:center;width:min(100%,680px);min-width:0;margin:0 auto;padding:30px 0 28px;display:grid}.screen{width:100%;min-width:0}.welcome-card,.moment-card,.unavailable-card{border:1px solid #a86a4257;border-radius:28px 28px 24px 24px;position:relative;overflow:hidden;box-shadow:0 22px 55px #2a140e1c}.welcome-card{text-align:center;background:#faf8f4f0;padding:34px 22px 24px}.welcome-card:before{content:"";border:16px solid #d7b08a42;border-radius:50%;width:96px;height:96px;position:absolute;top:-55px;right:-30px}.brand-logo{object-fit:contain;max-width:100%;height:auto;display:block}.brand-logo-welcome{width:clamp(106px,34vw,132px);margin:-8px auto 14px}.brand-logo-signature{opacity:.82;width:58px}.eyebrow,.moment-category{color:var(--cta-cinnamon);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.welcome-title{max-width:11ch;color:var(--cocoa-dark);font-family:var(--font-editorial);letter-spacing:-.035em;margin:14px auto 0;font-size:clamp(2.35rem,12vw,4rem);font-weight:600;line-height:.98}.title-accent{color:var(--cinnamon-orange);font-style:italic}.flourish{width:74px;height:13px;margin:22px auto 19px;position:relative}.flourish:before,.flourish:after{content:"";background:var(--cookie-beige);width:28px;height:1px;position:absolute;top:6px}.flourish:before{left:0}.flourish:after{right:0}.flourish span{border:1px solid var(--cinnamon-orange);border-radius:50% 0 50% 50%;width:9px;height:9px;margin:auto;position:absolute;inset:2px 0 auto;transform:rotate(-45deg)}.welcome-copy{color:#2a140ec7;max-width:35rem;margin:0 auto;font-size:1rem;line-height:1.65}.primary-button,.back-button,.future-action,.moment-dock-action,.share-fallback-button{border-radius:15px;min-height:50px}.primary-button{border:1px solid var(--cta-cinnamon);background:var(--cta-cinnamon);width:100%;color:var(--warm-white);cursor:pointer;margin-top:26px;padding:13px 18px;font-weight:800;transition:background-color .16s,transform .16s;box-shadow:0 10px 22px #b1460c3b}.primary-button:hover{background:#963a09}.primary-button:active{transform:translateY(1px)}.no-registration-note{color:var(--caramel-brown);margin:10px 0 0;font-size:.79rem;font-weight:700}.future-actions{border-top:1px solid #a86a4238;margin-top:25px;padding-top:21px}.future-actions-label{color:var(--caramel-brown);letter-spacing:.09em;text-transform:uppercase;margin:0 0 11px;font-size:.72rem;font-weight:800}.future-actions-grid{gap:9px;display:grid}.future-action{background:var(--butter-cream);color:#2a140e94;border:1px solid #a86a4259;width:100%;padding:11px 14px;font-size:.88rem;font-weight:700}.future-action:disabled{cursor:not-allowed;opacity:1}.future-note{color:#2a140e94;margin:10px 0 0;font-size:.75rem;line-height:1.45}.moment-screen{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));gap:18px;display:grid}.moment-action-dock{z-index:20;padding:10px max(18px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(18px, env(safe-area-inset-left,0px));background:#faf8f4f7;border-top:1px solid #a86a424d;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #2a140e1f}.moment-action-dock-inner{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:10px;width:min(100%,680px);min-width:0;margin:0 auto;display:grid}.moment-dock-action{cursor:pointer;min-width:0;padding:11px 12px;font-size:.9rem;font-weight:800;line-height:1.2}.moment-dock-share{border:1px solid var(--cta-cinnamon);background:var(--warm-white);color:var(--cta-cinnamon)}.moment-dock-next{border:1px solid var(--cta-cinnamon);background:var(--cta-cinnamon);color:var(--warm-white);box-shadow:0 8px 20px #b1460c33}.moment-dock-share:hover{background:#d7b08a2e}.moment-dock-next:hover{background:#963a09}.moment-dock-share:disabled{cursor:wait;opacity:.68}.moment-dock-next-short{display:inline}.moment-dock-next-long{display:none}.moment-card{background:radial-gradient(circle at 90% 8%,#c85a161f,#0000 12rem),#faf8f4f5;gap:13px;min-width:0;padding:18px;display:grid}.moment-card:before{content:"";border:1px solid #d7b08a38;border-radius:50%;width:110px;height:110px;position:absolute;top:-72px;right:-55px}.moment-category{z-index:1;color:var(--cta-cinnamon);text-align:center;position:relative}.moment-visual{z-index:1;place-items:center;min-width:0;display:grid;position:relative}.moment-image{border-radius:18px;width:auto;max-width:100%;height:auto;max-height:min(65svh,760px);display:block;box-shadow:0 16px 36px #2a140e33}.moment-brand-signature{z-index:1;border-top:1px solid #a86a4224;justify-content:flex-end;min-height:58px;padding:2px 4px 0;display:flex;position:relative}.moment-actions{gap:12px;display:grid}.moment-secondary-actions{background:#faf8f4b8;border:1px solid #a86a423d;border-radius:18px;padding:16px}.moment-secondary-grid,.share-fallback-actions{gap:8px;display:grid}.share-fallback-button{cursor:pointer;width:100%;padding:11px 14px;font-weight:800}.share-fallback-button:hover{background:#d7b08a2e}.share-fallback-button:disabled{cursor:wait;opacity:.68}.share-fallback-panel{background:var(--warm-white);border:1px solid #b1460c61;border-radius:22px;min-width:0;padding:20px 16px;box-shadow:0 18px 40px #2a140e1a}.share-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.share-panel-title{color:var(--cocoa-dark);font-family:var(--font-editorial);margin:7px 0 0;font-size:1.45rem;line-height:1.12}.share-panel-close{min-width:48px;min-height:44px;color:var(--caramel-brown);cursor:pointer;background:0 0;border:0;padding:8px;font-size:.82rem;font-weight:800}.share-panel-message{color:#2a140ec2;margin:16px 0;line-height:1.5}.share-fallback-button{background:var(--butter-cream);color:var(--cocoa-dark);border:1px solid #a86a4275}.share-feedback{color:var(--caramel-brown);margin:10px 0 0;font-size:.8rem;line-height:1.45}.share-direct-image-link{min-height:44px;color:var(--cta-cinnamon);align-items:center;margin-top:5px;font-size:.86rem;font-weight:800;display:inline-flex}.share-manual-content{border-top:1px solid #a86a4233;min-width:0;margin-top:17px;padding-top:16px}.share-content-label{color:var(--caramel-brown);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:800;display:block}.share-copy-text{background:var(--butter-cream);color:#2a140ed1;-webkit-user-select:text;user-select:text;border-radius:12px;margin:0 0 16px;padding:12px;line-height:1.5}.share-url-input{width:100%;min-width:0;min-height:46px;color:var(--cocoa-dark);background:#fff;border:1px solid #a86a4266;border-radius:11px;padding:10px 11px;font-size:.84rem}.instagram-link{width:fit-content;max-width:100%;min-height:44px;color:var(--caramel-brown);text-align:center;text-underline-offset:3px;justify-content:center;align-items:center;margin:0 auto;padding:9px 6px;font-size:.82rem;font-weight:700;line-height:1.35;text-decoration-color:#a86a4275;display:inline-flex}.instagram-link-welcome{margin-top:18px}.instagram-link:hover{color:var(--cta-cinnamon)}.back-button{width:100%;color:var(--cocoa-dark);cursor:pointer;background:0 0;border:1px solid #a86a4273;padding:11px 16px;font-weight:800;transition:background-color .16s}.back-button:hover{background:#d7b08a2e}.unavailable-card{text-align:center;background:#faf8f4f2;padding:38px 24px 26px}.unavailable-title{max-width:16ch;color:var(--cocoa-dark);font-family:var(--font-editorial);margin:14px auto 0;font-size:clamp(2rem,9vw,3.2rem);line-height:1.05}.unavailable-copy{color:#2a140ebf;max-width:32rem;margin:18px auto 24px;line-height:1.6}.app-footer{width:min(100%,680px);color:var(--caramel-brown);letter-spacing:.13em;text-align:center;text-transform:uppercase;margin:0 auto;font-size:.68rem;font-weight:800}@media (width>=430px){.moment-dock-next-short{display:none}.moment-dock-next-long{display:inline}}@media (height<=500px) and (orientation:landscape){.moment-screen{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.moment-action-dock{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}.moment-dock-action{min-height:44px;padding-top:8px;padding-bottom:8px}}@media (width>=640px){.app-shell{padding:30px 30px 20px}.welcome-card{padding:48px 54px 34px}.future-actions-grid{grid-template-columns:repeat(2,1fr)}.moment-card{padding:22px}.share-fallback-actions{grid-template-columns:repeat(2,1fr)}}
