:root{--milk:#fffaf6;--paper:#fffdfb;--cherry:#64162a;--burgundy:#3e0f1f;--pink:#f7d7df;--pink2:#fff0f4;--ink:#2b1620;--muted:#826c75;--line:#eadfe2;--shadow:0 20px 60px rgba(85,25,45,.12);font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--milk)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#fff 0,var(--milk) 42%,#f9eee9 100%)}body{min-height:100vh;min-height:100dvh}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px}.brand{color:var(--burgundy);font-weight:900;letter-spacing:-.04em;text-decoration:none;font-size:24px}.brand-lockup{display:inline-flex;align-items:center;gap:8px;min-width:0}.brand-mark{display:block;width:36px;height:39px;object-fit:contain;flex:0 0 auto}.brand-word{display:inline-flex;align-items:baseline;font-family:"Arial Rounded MT Bold","Nunito",Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;font-size:25px;font-weight:900;line-height:1;letter-spacing:-.055em}.brand-say{color:#17202d}.brand-yes{color:#fc425f}.brand-dot{display:none}.header-note{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:800}.site-footer{max-width:1180px;margin:40px auto 0;padding:28px 24px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}#app{min-height:calc(100vh - 145px);min-height:calc(100dvh - 145px);padding:20px 24px 44px;outline:none}.landing{max-width:1100px;margin:2vh auto 0;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;min-height:650px}.landing>*{min-width:0}.hero-copy h1,.screen-card h1{margin:12px 0 18px;color:var(--burgundy);font-size:clamp(46px,6vw,78px);line-height:.96;letter-spacing:-.055em}.screen-card h1{font-size:clamp(38px,9vw,62px)}em{font-style:normal;color:#b72c51}.hero-copy>p,.screen-card>p{font-size:18px;line-height:1.55;color:var(--muted);max-width:560px}.eyebrow,.demo-label{font-size:11px;letter-spacing:.18em;font-weight:900;color:#a24b64}.btn{border:0;border-radius:18px;padding:17px 22px;font:inherit;font-weight:850;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.primary{background:var(--cherry);color:#fff;box-shadow:0 10px 26px rgba(100,22,42,.18)}.secondary{background:#fff;color:var(--cherry);border:1px solid var(--line)}.ghost{background:var(--pink2);color:var(--cherry)}.full{width:100%}.hero-copy>.btn{margin-top:16px;min-width:230px}.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:var(--muted);font-size:12px}.trust span:before{content:'✓';color:#a7274b;font-weight:900;margin-right:6px}.demo-wrap{max-width:440px;width:100%;justify-self:end}.demo-label{margin:0 0 12px 8px}.demo-card,.invite-preview{position:relative;background:rgba(255,255,255,.86);border:1px solid rgba(128,70,87,.12);box-shadow:var(--shadow);border-radius:34px;padding:38px 30px;overflow:hidden}.demo-card:before,.invite-preview:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:var(--pink);right:-70px;top:-80px;filter:blur(4px);opacity:.65}.demo-card h2,.invite-preview h2{font-size:34px;line-height:1.02;color:var(--burgundy);letter-spacing:-.045em;margin:22px 0;position:relative}.mini-heart{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pink2);color:#c02e55;font-size:18px}.muted{color:#b99aa5;background:#f8f2f4}.arena{height:190px;position:relative;margin-top:22px}.arena .yes{position:absolute;left:16px;top:58px;width:122px}.no{position:absolute;border:1px solid var(--line);background:#fff;color:var(--cherry);border-radius:16px;width:122px;height:52px;font-weight:850;transition:left .18s cubic-bezier(.2,.8,.2,1),top .18s cubic-bezier(.2,.8,.2,1),width .18s,font-size .18s,opacity .25s,transform .25s}.runaway-finish{opacity:0;transform:scale(.76)}.joke-hint{text-align:center;color:var(--muted);font-size:13px;min-height:22px;margin:4px 0 0}.screen-card{position:relative;max-width:560px;margin:4vh auto 0;background:rgba(255,255,255,.88);border:1px solid rgba(128,70,87,.12);border-radius:32px;box-shadow:var(--shadow);padding:34px}.creator-card{max-width:620px}.progress{display:flex;gap:7px;margin-bottom:30px}.progress span{height:4px;border-radius:10px;background:#eadde2;flex:1}.progress .on{background:#a9294c}.choice-stack{display:grid;gap:12px;margin:28px 0}.choice.big{border:1px solid var(--line);background:#fff;border-radius:22px;padding:24px;text-align:left;color:var(--burgundy);font-size:22px;font-weight:850;cursor:pointer}.choice.big:hover{background:var(--pink2)}.text-link{border:0;background:transparent;color:#8a6070;padding:12px 0;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.field{display:grid;gap:8px;margin:20px 0}.field span,.vibe-title{font-size:12px;font-weight:850;color:#75505f;letter-spacing:.04em}.field input,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px 16px;font:inherit;color:var(--ink);outline:none}.field input:focus,.field textarea:focus{border-color:#c16a84;box-shadow:0 0 0 3px rgba(193,106,132,.12)}.field textarea{min-height:94px;resize:vertical}.vibe-title{margin-top:20px}.vibe-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 24px}.vibe{border:1px solid var(--line);background:#fff;color:var(--cherry);border-radius:14px;padding:13px 8px;font:inherit;font-size:13px;font-weight:800}.vibe.selected{background:var(--pink2);border-color:#d89aae}.preview-for{margin-top:20px;font-size:12px;font-weight:900;color:#9c6d7d;letter-spacing:.08em}.invite-preview p{color:var(--muted);line-height:1.45}.preview-buttons{display:flex;gap:10px;margin-top:24px}.preview-buttons span{flex:1;border-radius:14px;padding:13px;text-align:center;font-weight:850}.preview-buttons span:first-child{background:var(--cherry);color:#fff}.preview-buttons span:last-child{border:1px solid var(--line);color:var(--cherry)}.details-panel[hidden]{display:none}.details-panel{background:#fff8fa;border-radius:18px;padding:4px 16px;margin:8px 0}.success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f6dbe3;color:#8c2442;font-size:28px;font-weight:900;margin-bottom:22px}.recipient-card{text-align:center}.recipient-card .message{font-size:16px;color:var(--muted);margin:14px auto 0}.icon-close{position:absolute;right:20px;top:18px;width:44px;height:44px;border:0;border-radius:50%;background:#f8f0f2;color:#6d4a58;font-size:25px;line-height:1;cursor:pointer}.choice-stack .btn{min-height:54px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row>*{min-width:0}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.activity{border:1px solid var(--line);background:#fff;color:var(--cherry);border-radius:18px;padding:18px 10px;font:inherit;font-weight:850;cursor:pointer}.activity.selected{background:var(--cherry);color:#fff;border-color:var(--cherry)}.error{color:#a21e3d;font-size:13px;margin-top:10px}.ticket-screen{max-width:600px;background:transparent;border:0;box-shadow:none;padding:8px}.ticket{background:linear-gradient(160deg,#fff 0,#fff7f8 60%,#f4d5de 100%);border:1px solid #e8c8d1;border-radius:30px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.ticket:after{content:'♥';position:absolute;right:-22px;bottom:-48px;font-size:180px;color:rgba(130,30,60,.055)}.ticket-brand{font-weight:950;color:var(--burgundy);letter-spacing:-.03em}.ticket-brand-lockup{display:inline-flex;align-items:center;gap:7px}.ticket-brand-lockup img{display:block;width:30px;height:32px;object-fit:contain}.ticket-brand-lockup span{display:inline-flex;align-items:baseline;font-family:"Arial Rounded MT Bold","Nunito",Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;font-size:21px;font-weight:900;line-height:1;letter-spacing:-.055em}.ticket-brand-lockup b{color:#17202d}.ticket-brand-lockup em{color:#fc425f;font:inherit}.ticket-kicker{margin-top:52px;font-size:11px;font-weight:900;letter-spacing:.18em;color:#a24b64}.ticket-names{font-size:clamp(34px,10vw,54px);font-weight:900;letter-spacing:-.055em;color:var(--burgundy);margin:8px 0 20px;overflow-wrap:anywhere}.ticket-names span{color:#c75b78}.ticket-line{height:1px;background:#e4cbd2;margin:8px 0 20px}.ticket dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.ticket dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9b7180;font-weight:900}.ticket dd{margin:5px 0 0;font-weight:850;color:#4b2030}.ticket-code{margin-top:42px;font-size:9px;letter-spacing:.17em;color:#9d7582}.ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.viral{text-align:center;padding:26px 10px 0}.viral strong{display:block;color:var(--burgundy);font-size:20px;line-height:1.25;margin-bottom:15px}#toast{position:fixed;left:50%;bottom:28px;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;background:#35131f;color:#fff;padding:12px 18px;border-radius:14px;font-size:13px;pointer-events:none;transition:.2s;z-index:20;max-width:calc(100vw - 32px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{text-align:center;color:var(--muted);padding:20vh 0}@media(max-width:760px){.site-header{height:58px;padding:0 18px;padding-left:calc(18px + env(safe-area-inset-left));padding-right:calc(18px + env(safe-area-inset-right))}.header-note{display:none}#app{padding:10px 16px 30px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(30px + env(safe-area-inset-bottom));min-height:calc(100vh - 110px);min-height:calc(100dvh - 110px)}.site-footer{display:none}.landing{grid-template-columns:1fr;gap:34px;min-height:0;margin-top:2vh}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(42px,13vw,64px)}.hero-copy>p{font-size:16px;margin-inline:auto}.hero-copy>.btn{width:100%;max-width:420px}.trust{justify-content:center;gap:9px 14px}.demo-wrap{justify-self:center}.demo-card{padding:28px 20px;border-radius:28px}.demo-card h2{font-size:31px}.screen-card{margin:2vh auto 0;border-radius:26px;padding:26px 20px}.screen-card h1{font-size:clamp(36px,12vw,52px)}.field input,.field textarea{font-size:16px}.vibe-row{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 1fr}.ticket dl{grid-template-columns:1fr}.ticket-actions{grid-template-columns:1fr}.ticket{padding:25px 22px}.ticket-names{font-size:40px}.arena{height:180px}}@media(max-width:360px){#app{padding-left:12px;padding-right:12px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.screen-card{padding-left:16px;padding-right:16px}.field-row{gap:8px}.field input{padding-left:12px;padding-right:12px}.ticket{padding-left:18px;padding-right:18px}.ticket-names{font-size:36px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Explicit 3/3/2 groups keep the approved layout independent of text-balancing engines. */
.landing-intents{display:grid;gap:8px;margin:18px 0 4px;text-align:center}
.landing-intents-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.landing-intents-row>span{white-space:nowrap;border:1px solid var(--line);background:#f9e9ed;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:var(--cherry)}
.hero-copy>.secondary{margin-top:10px;min-width:230px}
.privacy-note{font-size:12px!important;line-height:1.4!important;color:var(--muted)!important;margin-top:14px}
.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.history-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:20px 0}
.history-item{min-width:0;overflow-wrap:anywhere;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}
.history-item>strong,.history-item>span{display:block}
.history-item>span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.history-item .history-status{margin-top:10px;padding:7px 10px;border-radius:999px;background:#f7eef1;color:var(--cherry);font-weight:850;width:max-content;max-width:100%}
.history-item .history-status[data-state="yes"]{background:#eef8f1;color:#285d3c}
.history-item .history-status[data-state="later"]{background:#f4f1f2;color:#69565e}
.history-item .history-status[data-state="error"]{background:#fff4e8;color:#7d5a2d}
.history-item>div{display:flex;gap:14px;flex-wrap:wrap}
.serious-skip{margin-top:8px}
@media(max-width:430px){
 .field-row,.name-grid{grid-template-columns:1fr}
 .activity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 body{padding-top:env(safe-area-inset-top)}
 .site-header{height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
}

.activity-wide{grid-column:1/-1;justify-self:center;width:calc(50% - 5px);min-width:180px}
.more-intents{margin:-12px 0 16px}
.preview-arena{height:150px;margin-top:8px}
.preview-arena .yes{top:42px}
@media(max-width:430px){
 .activity-wide{width:100%}
 .preview-arena{height:145px}
}

/* Explicit optional creator choices; a single invitation stays a single plan. */
.choice-toggle{display:flex;align-items:center;gap:10px;margin:16px 0;font-weight:600}.choice-toggle input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--rose)}
.choice-summary{display:block;font-size:16px;line-height:1.5;font-weight:500;margin-top:12px;overflow-wrap:anywhere}.fixed-activity{font-size:22px;font-weight:600;overflow-wrap:anywhere}

/* Keep created-screen controls in normal grid flow, including links. */
.created-actions .btn{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;min-width:0;overflow-wrap:anywhere}


/* Optional phone exchange is revealed only after a saved Yes response. */
.contact-field{margin-bottom:8px}.contact-privacy{margin-top:-2px;margin-bottom:18px}.contact-card{margin:14px 0 22px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff8fa;text-align:left}.contact-card .eyebrow{margin-bottom:12px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.contact-row:first-of-type{border-top:0}.contact-row strong{min-width:0;overflow-wrap:anywhere}.contact-row a{color:var(--cherry);font-weight:850;text-decoration:none;overflow-wrap:anywhere;text-align:right}@media(max-width:430px){.contact-row{align-items:flex-start;flex-direction:column;gap:4px}.contact-row a{text-align:left}}
/* Small group meetups reuse the creator, link and result surfaces. */
.group-editor{grid-column:1/-1;min-width:0}.group-name-row{display:flex;gap:10px;align-items:flex-end;margin:12px 0}.group-name-row .field{flex:1;min-width:0;margin:0}.remove-guest{min-width:44px;min-height:48px;padding:8px}.group-share-list{display:grid;gap:16px;margin:20px 0}.group-share-item{border:1px solid var(--line);border-radius:16px;padding:16px;text-align:left;overflow-wrap:anywhere}.group-share-item small,.group-result-row small{font-size:12px;color:var(--muted)}.group-share-actions{display:grid;gap:8px;margin-top:12px}.group-share-actions .btn{width:100%;min-height:48px}.group-results{padding:0;list-style:none;text-align:left}.group-result-row{display:grid;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.group-result-row span{font-size:14px}.history-status[data-state="group"]{white-space:pre-line;line-height:1.6}.group-context{font-size:14px;overflow-wrap:anywhere}.group-result-screen h1,.created-screen h2{overflow-wrap:anywhere}
.group-venue{margin:6px 0 0;font-weight:600}
.group-link-warning{color:#8d3b4f}
.field[hidden]{display:none}

/* Keep distinct preview actions apart even while the editor panel is hidden. */
.preview-screen>#toggleDetails{margin-inline-end:16px}.ticket-zone{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
