:root{--red:#b92f24;--red-dark:#7f211a;--cream:#f8f1e6;--paper:#fffdf8;--ink:#2c2621;--muted:#756b61;--line:#e5d6c4;--green:#39734d;--shadow:0 16px 42px rgba(77,48,23,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 90% -8%,#f7cf7e69 0 20%,transparent 40%),var(--cream)}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}.guest-header{height:70px;padding:9px clamp(14px,4vw,36px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf8e8;backdrop-filter:blur(12px)}.guest-brand{display:flex;align-items:center;gap:10px}.guest-brand img{width:46px;height:46px;border-radius:13px;box-shadow:0 6px 16px #8121192b}.guest-brand span{display:grid}.guest-brand strong{font-size:1.08rem;letter-spacing:-.025em}.guest-brand small{font-size:.68rem;color:var(--muted)}.guest-connection{display:flex;align-items:center;gap:7px;font-size:.7rem;color:var(--green);font-weight:850}.guest-connection i{width:8px;height:8px;border-radius:50%;background:#44a25f;box-shadow:0 0 0 4px #44a25f1f}.guest-connection.offline{color:var(--red)}.guest-connection.offline i{background:var(--red)}.guest-main{width:min(920px,100%);margin:auto;padding:32px 16px 120px}.guest-hero{text-align:center;margin:0 auto 24px;max-width:670px}.eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:900;color:var(--red);margin:0}.guest-hero h1,.guest-confirmation h1{font-family:Georgia,serif;font-size:clamp(2.35rem,8vw,4rem);line-height:1;margin:.16em 0 .2em;letter-spacing:-.045em}.guest-hero>p:last-of-type{color:var(--muted);line-height:1.55;margin:0}.guest-steps{list-style:none;padding:0;margin:22px auto 0;display:flex;justify-content:center;gap:20px}.guest-steps li{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted);font-weight:800}.guest-steps b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f3ddd7;color:var(--red);font-size:.67rem}.guest-people{display:grid;gap:16px}.guest-person{background:var(--paper);border:1px solid var(--line);border-radius:21px;box-shadow:0 8px 28px rgba(82,51,25,.07);overflow:hidden}.person-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fffaf2}.person-title{display:flex;align-items:center;gap:10px}.person-number{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--red);color:white;font-weight:900;font-size:.8rem}.person-title h2{font-family:Georgia,serif;font-size:1.25rem;margin:0}.remove-person{width:42px;height:42px;border:0;border-radius:11px;background:#f7e4df;color:#8d2c24;font-weight:900;font-size:1.15rem}.person-body{padding:17px;display:grid;gap:16px}.field{display:grid;gap:7px}.field label,fieldset legend{font-size:.75rem;font-weight:850;color:#5e554c}.field input,.field textarea{width:100%;border:1px solid #d7c6b3;border-radius:12px;padding:12px 13px;background:white;color:var(--ink);outline:0}.field input:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #b92f2418}.guest-segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:13px;background:#eee2d4}.guest-segmented button{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.77rem;font-weight:900}.guest-segmented button.active{background:white;color:var(--red-dark);box-shadow:0 3px 10px #6f49321a}.guest-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guest-menu button{min-width:0;min-height:72px;border:1px solid var(--line);border-radius:14px;background:white;padding:10px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:3px 8px}.guest-menu button.selected{border-color:#c45043;background:#fff0ec;box-shadow:0 0 0 2px #b92f2421}.guest-menu .emoji{font-size:1.3rem;grid-column:1;grid-row:1;width:30px;height:30px;display:grid;place-items:center;align-self:center;line-height:1}.guest-menu b{font-size:.8rem;grid-column:2;align-self:center}.guest-menu small{font-size:.61rem;color:var(--muted);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;overflow-wrap:anywhere}.guest-menu button>small:not(.selected-mark){grid-column:2}.selected-mark{grid-column:1/-1;font-size:.61rem!important;color:var(--green)!important;font-weight:900}.guest-custom{display:grid;gap:12px}fieldset{border:0;padding:0;margin:0}.ingredient-groups{display:grid;gap:12px}.ingredient-group h3{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 6px}.ingredient-chips{display:flex;flex-wrap:wrap;gap:7px}.ingredient-chip{position:relative}.ingredient-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}.ingredient-chip span{display:block;border:1px solid #d9caba;border-radius:999px;padding:9px 11px;background:white;font-size:.73rem;font-weight:750}.ingredient-chip input:checked+span{background:#e4f0e6;border-color:#659273;color:#285b39}.ingredient-chip input:focus-visible+span{outline:3px solid #b92f2433;outline-offset:2px}.add-person{width:100%;min-height:70px;margin-top:14px;border:2px dashed #cfb99f;border-radius:17px;background:#fffaf2;color:var(--ink);display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left;padding:12px 18px}.add-person>span{grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f3ded7;color:var(--red);font-size:1.25rem}.add-person b{font-size:.84rem;align-self:end}.add-person small{font-size:.65rem;color:var(--muted)}.guest-submit-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;min-height:84px;padding:11px max(14px,calc((100vw - 920px)/2 + 16px));background:#fffdf8f2;border-top:1px solid var(--line);box-shadow:0 -10px 30px #5f3e2014;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-submit-bar>div{display:grid}.guest-submit-bar small{font-size:.62rem;color:var(--muted)}.guest-submit-bar strong{font-size:.85rem}.guest-submit-bar button,.guest-confirmation>button{min-height:48px;border:0;border-radius:13px;padding:11px 17px;background:var(--red);color:white;font-weight:900;box-shadow:0 8px 20px #b92f2430}.guest-submit-bar button:disabled{opacity:.55}.guest-confirmation{text-align:center;max-width:580px;margin:10vh auto 0;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(25px,7vw,50px);box-shadow:var(--shadow)}.confirmation-icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e1f0e5;color:var(--green);font-size:2.3rem;font-weight:900}.guest-confirmation>p:not(.eyebrow){color:var(--muted);line-height:1.55}.confirmation-note{display:flex;gap:12px;text-align:left;background:#f7ead8;border-radius:14px;padding:13px;margin:20px 0}.confirmation-note>span{font-size:1.4rem}.confirmation-note div{display:grid}.confirmation-note small{color:var(--muted);font-size:.7rem;margin-top:3px}.guest-toast{position:fixed;z-index:50;left:50%;bottom:96px;transform:translate(-50%,120px);opacity:0;transition:.25s;background:#2e2924;color:white;border-radius:12px;padding:11px 16px;font-size:.76rem;font-weight:850;text-align:center;max-width:calc(100% - 24px);pointer-events:none}.guest-toast.show{transform:translate(-50%,0);opacity:1}@media(min-width:700px){.guest-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.person-body{padding:22px}.guest-people{gap:20px}}@media(max-width:430px){.guest-header{height:64px}.guest-brand img{width:42px;height:42px}.guest-connection{font-size:0}.guest-main{padding:23px 10px 112px}.guest-hero{padding:0 7px}.guest-steps{gap:10px}.guest-person{border-radius:17px}.person-head{padding:12px}.person-body{padding:13px}.guest-menu button{padding:8px}.guest-submit-bar{min-height:78px}.guest-submit-bar>div{max-width:105px}.guest-submit-bar button{padding:10px 13px;font-size:.76rem}}@media(max-width:350px){.guest-menu{grid-template-columns:1fr}.guest-steps li{font-size:.64rem}}
