@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--red:#f0442b;--red-dark:#cc2d17;--cream:#fff9ed;--paper:#fffdf7;--ink:#24271f;--muted:#65685c;--line:#dfdfd0;--green:#d9ef82;--lavender:#dfd8fc;--yellow:#ffdf6f;--radius:24px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5360d5;outline-offset:4px}button{touch-action:manipulation}a{color:inherit}button,input{min-height:44px}input{min-width:0;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.button,.food-name,.giant-word{font-family:'Space Grotesk',Arial,sans-serif}h1{font-size:clamp(2.25rem,5vw,3.75rem);letter-spacing:-.065em;line-height:1.04;font-weight:700}h2{font-size:clamp(1.65rem,3vw,2.5rem);letter-spacing:-.045em;line-height:1.12}h3{font-size:1.2rem;letter-spacing:-.035em}p{font-size:1rem;line-height:1.6}button{border:0;background:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;padding:12px;background:var(--ink);color:var(--cream);z-index:99}.skip-link:focus{top:10px}.topbar{max-width:1240px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;font-size:1rem;line-height:.97;letter-spacing:-.03em}.brand-mark{background:var(--red);color:var(--cream);width:47px;height:47px;border-radius:13px;display:grid;place-items:center;font-size:1.9rem;letter-spacing:-.08em}.brand-dot{font-size:.65rem;vertical-align:super;margin-left:2px}.header-right{display:flex;align-items:center;gap:32px}.edition,.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em}.edition{color:var(--muted)}.text-button{font-size:.875rem;font-weight:700;padding:8px 0}.text-button span{padding-left:9px}.text-button:hover{color:var(--red-dark)}main{max-width:1160px;margin:0 auto;padding:24px 0 48px;min-height:70vh}main:focus{outline:none}.page-heading{margin-bottom:28px;display:flex;justify-content:space-between;gap:24px;align-items:end}.page-heading p{margin-top:12px;color:var(--muted)}.eyebrow{display:block;margin-bottom:12px}.red-ink{color:var(--red-dark)}.stepper{display:flex;gap:18px;font-size:.875rem;color:var(--muted);flex-wrap:wrap;padding-bottom:5px}.step{display:flex;gap:7px;align-items:center;white-space:nowrap}.step span{width:24px;height:24px;border:1px solid var(--line);border-radius:100%;display:grid;place-items:center;font-size:.75rem}.step.active{font-weight:700;color:var(--ink)}.step.active span{background:var(--ink);border-color:var(--ink);color:var(--cream)}.step.done span{background:var(--green);border-color:var(--green)}.setup-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:28px;align-items:start}.setup-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading .caption{font-size:.875rem;color:var(--muted)}.section-heading h2{font-size:1.35rem}.crew-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.person-field{display:flex;align-items:center;gap:9px;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:4px 8px 4px 10px;min-width:0}.avatar{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--lavender);display:grid;place-items:center;font-weight:700;font-size:.875rem}.avatar.alt{background:var(--green)}.person-field input{width:100%;border:0;background:transparent;outline-offset:0;font-size:1rem;color:var(--ink)}.icon-button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:1.5rem}.icon-button:hover{background:#24271f0c}.person-field .icon-button{width:32px;font-size:1.2rem}.add-person{margin-top:12px;border:1px dashed #aeb09e;border-radius:12px;width:100%;font-size:.875rem;font-weight:600;min-height:46px}.add-person:hover{background:var(--cream)}.divider{border:0;border-top:1px solid var(--line);margin:26px 0}.option-list{display:grid;gap:8px}.option-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:3px 8px 3px 12px;border-radius:12px;background:var(--paper)}.option-number{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.food-icon{font-size:1.5rem;line-height:1;display:inline-block}.option-label{flex:1;font-weight:600;overflow-wrap:anywhere}.option-row .icon-button{font-size:1.2rem}.quick-picks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.quick-pick{border:1px solid var(--line);border-radius:30px;padding:8px 13px;font-size:.875rem;min-height:40px}.quick-pick:hover{background:var(--yellow);border-color:#d4b54f}.custom-form{display:flex;gap:8px;margin-top:14px}.custom-form input{flex:1;border:1px solid var(--line);border-radius:12px;background:var(--cream);padding:12px;color:var(--ink)}.custom-form button{width:48px;border-radius:12px;background:var(--ink);color:var(--cream);font-size:1.5rem}.small-note{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:12px}.setup-bottom{padding-top:24px}.button{border-radius:14px;padding:16px 24px;min-height:56px;display:inline-flex;justify-content:center;align-items:center;gap:14px;font-size:1rem;font-weight:700;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:var(--red-dark)}.button.dark{background:var(--ink);color:var(--cream)}.button.secondary{border:1px solid var(--line);background:var(--paper)}.button.full{width:100%}.button .arrow{font-size:1.25rem;margin-left:auto}.form-error{font-size:.875rem;color:#aa250f;background:#fff0e8;border-radius:10px;padding:12px;margin-top:12px}.form-error:empty{display:none}.poster{background:var(--red);border-radius:var(--radius);overflow:hidden;color:var(--cream);position:relative}.poster-top{padding:28px 28px 0;display:flex;justify-content:space-between;align-items:start;gap:15px}.poster-title{font-family:Georgia,serif;font-style:italic;font-size:3.3rem;letter-spacing:-.06em;line-height:.98;font-weight:400}.poster-number{font-size:.75rem;border:1px solid #fff9ed60;border-radius:40px;padding:8px 12px;font-weight:700;white-space:nowrap}.food-photo{display:block;width:100%;height:265px;object-fit:cover;mix-blend-mode:normal;margin-top:8px}.poster-bottom{background:var(--yellow);color:var(--ink);padding:14px 22px;font-size:.75rem;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between}.checker{height:12px;background-color:var(--cream);background-image:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0);background-size:24px 24px}.table-ticket{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin-top:18px;padding:22px}.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.09em;font-weight:700;color:var(--muted);margin-bottom:18px}.ticket-stats{display:flex;gap:28px}.ticket-stat strong{display:block;font-family:'Space Grotesk',Arial,sans-serif;font-size:1.8rem;font-weight:700;line-height:1.1;letter-spacing:-.06em}.ticket-stat span{font-size:.8125rem;color:var(--muted)}.ticket-line{margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--line);font-size:.875rem;color:var(--muted);line-height:1.55}.footer-note{text-align:center;font-size:.8125rem;color:var(--muted);margin-top:12px}footer{max-width:1160px;margin:0 auto;border-top:1px solid var(--line);padding:22px 0 30px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}footer span:first-child{letter-spacing:.09em;font-weight:700}.flow-shell{max-width:750px;margin:0 auto}.flow-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;font-size:.875rem}.flow-nav .text-button{color:var(--muted)}.round-label{font-size:.8125rem;color:var(--muted)}.flow-stage{animation:enter .3s ease both}.handoff-card{background:var(--lavender);border-radius:32px;text-align:center;padding:52px 28px;position:relative;overflow:hidden}.handoff-card .eyebrow{margin-top:22px}.large-avatar{display:grid;place-items:center;background:var(--ink);color:var(--cream);width:96px;height:96px;border-radius:30px;font-size:2.5rem;font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;margin:0 auto;transform:rotate(-6deg)}.handoff-card h1{overflow-wrap:anywhere;max-width:100%;margin-bottom:18px}.handoff-card p{max-width:420px;margin:0 auto 28px;color:#474550}.handoff-card .button{min-width:min(100%,280px)}.crew-progress{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:24px 0}.crew-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:7px 12px;border-radius:30px;font-size:.8125rem;overflow-wrap:anywhere;max-width:100%}.crew-pill.current{background:var(--ink);color:var(--cream);border-color:var(--ink)}.crew-pill.complete{background:var(--green);border-color:var(--green)}.vote-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.vote-top .person-name{font-weight:700;overflow-wrap:anywhere}.vote-top .option-count{margin-left:auto;white-space:nowrap;font-size:.875rem;color:var(--muted)}.progress-track{height:5px;background:#e4e3d8;border-radius:5px;overflow:hidden;margin-bottom:24px}.progress-fill{height:100%;background:var(--red);transition:width .3s}.vote-card{border:1px solid var(--line);border-radius:28px;background:var(--paper);overflow:hidden}.vote-art{height:195px;position:relative;background:var(--red);overflow:hidden}.vote-art img{width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block;filter:brightness(.75)}.vote-art .food-bubble{position:absolute;bottom:-1px;left:30px;background:var(--paper);border-radius:24px 24px 0 0;width:94px;height:77px;display:grid;place-items:center;font-size:3rem}.vote-copy{padding:22px 30px 28px}.vote-copy h1{font-size:clamp(2.3rem,6vw,3.7rem);overflow-wrap:anywhere}.vote-copy p{color:var(--muted);margin-top:10px}.vote-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.vote-button{min-height:108px;border:1px solid var(--line);background:var(--paper);border-radius:18px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;font-weight:700;font-size:1rem;position:relative;transition:transform .15s,background .15s,border-color .15s}.vote-button:hover{transform:translateY(-4px)}.vote-button[data-grade="-1"]:hover,.vote-button[data-grade="-1"].selected{background:#ffe3dc;border-color:#e59684}.vote-button[data-grade="0"]:hover,.vote-button[data-grade="0"].selected{background:var(--yellow);border-color:#d3b851}.vote-button[data-grade="1"]:hover,.vote-button[data-grade="1"].selected{background:var(--green);border-color:#a9c64d}.vote-button[data-grade="2"]:hover,.vote-button[data-grade="2"].selected{background:var(--lavender);border-color:#b6a4f5}.vote-symbol{font-size:1.6rem;line-height:1}.key-hint{position:absolute;right:9px;top:7px;font-size:.6875rem;color:var(--muted);font-weight:400}.vote-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;font-size:.8125rem;color:var(--muted)}.vote-bottom .text-button{font-size:.8125rem}.ready-card{background:var(--red);color:var(--cream);border-radius:30px;text-align:center;padding:48px 28px}.ready-card h1{font-size:clamp(2.8rem,7vw,4.5rem);margin:24px 0 18px}.ready-card p{max-width:420px;margin:0 auto 26px}.ready-card .button{background:var(--cream);color:var(--ink)}.ready-stamp{display:inline-grid;place-items:center;width:100px;height:100px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:3rem;transform:rotate(-10deg)}.reveal-loader{padding:65px 20px;text-align:center}.reveal-loader .giant-word{font-size:clamp(2.5rem,7vw,4rem);margin:25px 0;letter-spacing:-.06em}.reveal-loader .eyebrow{color:var(--red-dark)}.loading-bars{display:flex;justify-content:center;gap:8px}.loading-bars span{height:8px;width:28px;background:var(--red);border-radius:4px;animation:loading .8s infinite alternate}.loading-bars span:nth-child(2){animation-delay:.15s}.loading-bars span:nth-child(3){animation-delay:.3s}.result-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}.winner-card{background:var(--green);border-radius:28px;overflow:hidden;position:relative}.winner-content{padding:34px 30px 30px}.winner-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.winner-badge{font-size:.75rem;font-weight:700;border:1px solid #798e40;padding:8px 12px;border-radius:30px;letter-spacing:.07em}.winner-icon{font-size:4rem;display:block;margin:26px 0 16px}.winner-content h1{font-size:clamp(2.5rem,6vw,4.7rem);overflow-wrap:anywhere}.winner-content p{margin-top:16px;color:#48532b}.vote-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.grade-chip{display:flex;gap:6px;font-size:.8125rem;padding:8px 11px;background:#ffffff80;border-radius:30px}.winner-photo{width:100%;height:185px;object-fit:cover;display:block}.result-panel{border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:28px}.result-panel h2{font-size:1.6rem;margin-bottom:12px}.result-panel p{font-size:.9375rem;color:var(--muted)}.reason-list{margin:22px 0 0;display:grid;gap:18px}.reason{display:flex;gap:12px;align-items:start}.reason-check{background:var(--green);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:.875rem}.reason p{line-height:1.5}.reason strong{display:block;font-size:.9375rem;margin-bottom:3px}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.result-actions .button{flex:1;padding:15px 16px}.receipt{margin-top:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden}.receipt summary{padding:20px 24px;font-weight:700;font-size:.9375rem;cursor:pointer;min-height:60px}.receipt-inner{padding:0 24px 24px}.receipt-description{font-size:.875rem;color:var(--muted);margin-bottom:18px}.receipt-option{border-top:1px solid var(--line);padding:16px 0}.receipt-option-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.receipt-option-heading strong{overflow-wrap:anywhere}.receipt-status{font-size:.75rem;font-weight:700;white-space:nowrap;color:var(--muted)}.receipt-votes{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.person-vote{font-size:.8125rem;padding:7px 10px;background:var(--cream);border-radius:8px;overflow-wrap:anywhere;max-width:100%}.person-vote.no{background:#ffdfd5;color:#862a1a}.conflict-card{background:var(--yellow);border-radius:28px;padding:35px;grid-column:1/-1}.conflict-card .eyebrow{margin-top:18px}.conflict-card h1{max-width:650px}.conflict-card p{max-width:640px;margin-top:16px}.conflict-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.conflict-item{padding:16px;background:#ffffff80;border-radius:14px;overflow-wrap:anywhere}.conflict-item strong{display:block;margin-bottom:5px}.conflict-item span{font-size:.875rem}.confetti{position:fixed;top:-20px;left:var(--x);width:9px;height:15px;background:var(--color);pointer-events:none;z-index:10;animation:confetti-fall 2.3s var(--delay) ease-in forwards}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:570px;width:calc(100% - 32px);max-height:85dvh;overflow-y:auto;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#171b1866;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading .eyebrow{margin:0}.rules-list{padding:0;list-style:none;counter-reset:rules;display:grid;gap:20px;margin:28px 0}.rules-list li{counter-increment:rules;position:relative;padding-left:40px;font-size:.9375rem;line-height:1.5}.rules-list li:before{content:counter(rules);position:absolute;left:0;top:0;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--green);font-weight:700}.rules-list strong,.rules-list span{display:block}.rules-list span{color:var(--muted);margin-top:4px}.rule-note{font-size:.8125rem;line-height:1.6;background:var(--cream);border-radius:12px;padding:16px;margin:20px 0}.noscript{padding:30px;text-align:center}
@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loading{from{opacity:.3;transform:scaleX(.75)}to{opacity:1;transform:scaleX(1)}}@keyframes confetti-fall{to{transform:translate3d(var(--drift),100vh,0) rotate(580deg);opacity:0}}
@media(min-width:1000px){.setup-panel{padding:30px}.setup-bottom .button{min-height:62px}}
@media(max-width:1239px){main,footer{margin-left:40px;margin-right:40px}.topbar{padding-left:40px;padding-right:40px}}
@media(max-width:900px){.edition{display:none}.setup-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}.setup-panel{padding:22px}.crew-grid{grid-template-columns:1fr}.poster-title{font-size:2.6rem}.poster-top{padding:24px 20px 0}.poster-number{display:none}.food-photo{height:220px}.page-heading{display:block}.stepper{margin-top:20px}.result-layout{gap:20px}.result-panel{padding:24px}.winner-content{padding:28px 24px}}
@media(max-width:680px){.topbar{padding:20px}.brand-mark{width:42px;height:42px}.brand{font-size:.875rem}.text-button{font-size:.8125rem}main{margin:0;padding:16px 20px 36px}.page-heading{margin-bottom:22px}.page-heading p{font-size:.9375rem}.stepper{gap:14px;font-size:.8125rem}.setup-layout{grid-template-columns:1fr}.setup-aside{display:none}.setup-panel{padding:20px}.crew-grid{grid-template-columns:1fr 1fr}.person-field{gap:6px;padding-left:7px}.person-field .avatar{width:24px;height:24px;font-size:.75rem}.person-field .icon-button{width:25px}.section-heading h2{font-size:1.25rem}.custom-form input{font-size:1rem}.option-row{gap:10px}.setup-bottom{padding-top:20px}.button{padding:16px 18px}.flow-nav{margin-bottom:20px}.handoff-card{padding:36px 22px;border-radius:24px}.handoff-card h1{font-size:2.8rem}.handoff-card p{font-size:.9375rem}.large-avatar{width:78px;height:78px;font-size:2.1rem;border-radius:24px}.vote-art{height:150px}.vote-art .food-bubble{left:22px;width:78px;height:64px;font-size:2.5rem}.vote-copy{padding:20px 22px 24px}.vote-buttons{gap:8px}.vote-button{min-height:93px;border-radius:14px;font-size:.875rem}.key-hint{display:none}.vote-bottom{font-size:.75rem}.vote-bottom span{max-width:180px;text-align:right}.ready-card{padding:36px 24px}.ready-stamp{width:80px;height:80px;font-size:2.5rem}.result-layout{grid-template-columns:1fr}.winner-content h1{font-size:3.8rem}.winner-photo{height:145px}.result-actions .button{min-width:130px}.conflict-card{padding:26px}.conflict-list{grid-template-columns:1fr}.receipt summary{padding:18px}.receipt-inner{padding:0 18px 18px}.receipt-option-heading{flex-wrap:wrap;gap:5px}footer{margin:0 20px;padding-top:20px;display:block;font-size:.75rem}footer span{display:block;margin-bottom:10px}.result-panel p{font-size:.9375rem}}
@media(max-width:380px){.crew-grid{grid-template-columns:1fr}.vote-buttons{grid-template-columns:repeat(2,1fr)}.vote-button{min-height:85px}.stepper{gap:8px}.step{gap:5px}.winner-content h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti{display:none}}
.discovery-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr)}.shortlist-aside{min-width:0;position:sticky;top:24px}.shortlist-card{border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:24px}.shortlist-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.shortlist-header h2{font-size:1.6rem;display:flex;align-items:center;gap:10px}.shortlist-header .eyebrow{font-size:.75rem;margin-bottom:9px}.shortlist-count{background:var(--ink);color:var(--cream);border-radius:50%;min-width:28px;height:28px;display:inline-grid;place-items:center;font-size:.875rem;letter-spacing:0}.shortlist-option{flex:1;min-width:0;padding:9px 0}.shortlist-option strong,.shortlist-option span{display:block;overflow-wrap:anywhere}.shortlist-option strong{font-size:.9375rem;line-height:1.35}.shortlist-option span{font-size:.8125rem;color:var(--muted);margin-top:4px;line-height:1.4}.shortlist-empty{padding:30px 10px;text-align:center}.shortlist-empty>span{font-size:3rem;color:var(--red);display:block;margin-bottom:18px}.shortlist-empty h3{font-size:1.1rem}.shortlist-empty p{font-size:.9375rem;margin-top:10px;color:var(--muted)}.shortlist-note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:16px}.small-poster{position:relative;margin-top:20px;border-radius:22px;overflow:hidden;background:var(--red)}.small-poster img{height:210px;margin:0;filter:brightness(.5);object-position:50% 35%}.small-poster>div{position:absolute;left:24px;bottom:24px;color:#fff}.small-poster h3{font-size:2rem;line-height:1.05}.small-poster .eyebrow{font-size:.6875rem}.dinner-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.dinner-modes button{position:relative;text-align:left;background:var(--cream);border:1px solid var(--line);padding:16px;border-radius:16px;min-height:100px}.dinner-modes button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.dinner-modes button>span{font-size:1.5rem;position:absolute;right:14px;top:12px}.dinner-modes strong{display:block;font-family:'Space Grotesk',Arial,sans-serif;font-size:1.15rem;letter-spacing:-.03em;margin:15px 0 5px}.dinner-modes small{font-size:.8125rem;opacity:.8}.restaurant-search{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:9px;align-items:end}.restaurant-search label{font-size:.8125rem;font-weight:700;display:block;margin-bottom:7px}.restaurant-search input,.restaurant-search select,.result-filter input,.result-filter select{font:inherit;font-size:1rem;min-width:0;width:100%;height:48px;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--paper);color:var(--ink)}.search-submit{background:var(--red);color:#fff;border-radius:11px;padding:12px 16px;height:48px;font-size:.875rem;font-weight:700;white-space:nowrap}.search-submit span{margin-left:9px}.near-me{margin:12px 0 0;min-height:46px;width:100%;border:1px solid var(--line);border-radius:11px;font-size:.875rem;font-weight:700;background:var(--cream)}.near-me:hover{border-color:var(--ink)}.location-note{font-size:.75rem;color:var(--muted);line-height:1.5;margin:12px 0 20px}.discovery-empty{text-align:center;padding:30px 20px;background:var(--cream);border-radius:18px}.discovery-empty .empty-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:var(--green);font-size:2rem;margin:0 auto 18px}.discovery-empty h3{font-size:1.25rem;line-height:1.25}.discovery-empty p{margin-top:12px;font-size:.9375rem;color:var(--muted)}.discovery-empty.compact{margin-top:12px;padding:26px 20px}.loading-state{padding:38px 18px}.loading-state h3{margin-top:22px}.search-error{background:#fff0de}.search-error .text-button{display:inline-block;margin-top:12px;min-height:44px}.search-location{display:flex;justify-content:space-between;gap:10px;font-size:.8125rem;font-weight:700;line-height:1.5;margin:18px 0 14px;flex-wrap:wrap}.search-location span:last-child{color:var(--muted);font-weight:400}.result-filter{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:8px}.result-filter input,.result-filter select{font-size:.875rem;height:44px}.result-count{font-size:.75rem;color:var(--muted);margin:16px 0 12px}.place-grid{display:grid;gap:12px}.place-card{border:1px solid var(--line);border-radius:17px;padding:17px;background:var(--paper);transition:border-color .15s,background .15s}.place-card.on-shortlist{border-color:#91ad45;background:#f5f9e9}.place-card-top{display:flex;gap:12px;align-items:center}.place-monogram{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--lavender);font-size:1.35rem;font-weight:700;flex-shrink:0}.place-heading{flex:1;min-width:0}.place-heading h3{font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.025em}.place-heading p{font-size:.8125rem;color:var(--muted);line-height:1.35;margin-top:4px;text-transform:capitalize;overflow-wrap:anywhere}.distance{font-family:'Space Grotesk',Arial,sans-serif;font-size:1.15rem;font-weight:700;text-align:right;white-space:nowrap}.distance small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.6875rem;font-weight:400;color:var(--muted)}.place-address{font-size:.8125rem;color:var(--muted);margin:12px 0;line-height:1.45;overflow-wrap:anywhere}.place-address span{display:block}.place-card-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.place-card-actions a{font-size:.8125rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-weight:600}.place-card-actions a:hover{text-decoration:underline}.place-add{margin-left:auto;min-height:42px;border-radius:10px;padding:9px 12px;background:var(--ink);color:var(--cream);font-size:.8125rem;font-weight:700}.place-add[aria-pressed=true]{background:var(--green);color:var(--ink)}.place-hours{border-top:1px solid var(--line);padding-top:10px;margin-top:8px;font-size:.8125rem}.place-hours summary{cursor:pointer;color:var(--muted);min-height:32px;padding-top:6px}.place-hours p{font-size:.8125rem;overflow-wrap:anywhere;margin:4px 0 6px}.place-hours>span{font-size:.75rem;color:var(--muted)}.source-note{font-size:.75rem;line-height:1.55;color:var(--muted);margin-top:14px;overflow-wrap:anywhere}.source-note a{text-underline-offset:2px}.load-more{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:12px;min-height:46px;font-size:.875rem;font-weight:700}.home-intro{margin:8px 0 20px}.home-intro h3{font-size:1.4rem;line-height:1.2}.home-intro p{font-size:.9375rem;color:var(--muted);margin-top:10px}.home-ideas{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-idea{display:flex;align-items:center;text-align:left;gap:10px;min-height:75px;padding:13px 12px;background:var(--cream);border:1px solid var(--line);border-radius:14px}.home-idea>span:first-child{font-size:1.6rem}.home-idea strong{font-size:.875rem;line-height:1.3;flex:1;overflow-wrap:anywhere}.home-idea .home-plus{font-size:1rem}.home-idea:hover{background:var(--green);border-color:#c0d091}.venue-details{padding:25px 30px}.venue-details.compact{padding:0;margin-top:16px}.venue-kind{font-size:.75rem;font-weight:700;letter-spacing:.07em;display:block;text-transform:uppercase;line-height:1.5}.venue-details p{font-size:1rem;line-height:1.45;margin-top:10px}.venue-distance{font-size:.8125rem;line-height:1.4;display:block;color:#526039;margin-top:9px}.venue-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px}.venue-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #a1b955;border-radius:10px;min-height:46px;padding:10px 15px;font-size:.875rem;font-weight:700;text-decoration:none;background:#ffffff60}.venue-links a:first-child{background:var(--ink);color:var(--cream);border-color:var(--ink)}.venue-details .source-note{font-size:.75rem}.venue-art{background:var(--ink);display:flex;align-items:center;justify-content:center}.venue-art-label{color:var(--green);font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:clamp(1.2rem,4vw,2rem);letter-spacing:.05em}.venue-art .food-bubble{color:var(--red)}
@media(max-width:1000px){.discovery-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.restaurant-search{grid-template-columns:1fr 95px}.search-submit{grid-column:1/-1}.shortlist-card{padding:20px}.shortlist-header h2{font-size:1.35rem}.shortlist-card .option-row{gap:7px;padding-left:8px}.shortlist-card .food-icon{display:none}.home-ideas{grid-template-columns:1fr}.place-card-actions{gap:10px}}
@media(max-width:760px){.discovery-layout{grid-template-columns:1fr}.shortlist-aside{position:static;order:2}.shortlist-card{padding:22px}.shortlist-card .food-icon{display:block}.small-poster{display:none}.home-ideas{grid-template-columns:1fr 1fr}.restaurant-search{grid-template-columns:1fr 100px auto}.search-submit{grid-column:auto}.discovery-layout .crew-grid{grid-template-columns:1fr 1fr}.dinner-modes button{min-height:96px}.place-card{padding:16px}.venue-details{padding:24px}.venue-distance{color:var(--muted)}}
@media(max-width:440px){.restaurant-search{grid-template-columns:1fr 100px}.search-submit{grid-column:1/-1}.dinner-modes button{padding:14px}.dinner-modes strong{font-size:1rem}.dinner-modes small{font-size:.75rem}.home-ideas{grid-template-columns:1fr}.result-filter{grid-template-columns:1fr}.place-card-actions{gap:12px}.place-add{padding:10px 11px}.venue-links a{flex:1}.venue-art{height:125px}}
@media(max-width:380px){.discovery-layout .crew-grid{grid-template-columns:1fr}.place-monogram{display:none}.place-card-actions a{font-size:.75rem}.place-add{font-size:.75rem}.dinner-modes{gap:8px}.dinner-modes button>span{font-size:1.2rem;right:12px;top:10px}}
/* MVP finishing: touch-friendly editing, concise setup, and stable narrow layouts. */
#action-dialog{max-width:480px;width:calc(100% - 32px);max-height:90dvh;overflow:auto}#action-dialog h2{font-size:1.8rem;margin:0 0 16px}#action-dialog p{line-height:1.6}#action-dialog label{display:block;margin:14px 0 8px;font-weight:700}#action-dialog input,#action-dialog select{width:100%;min-height:48px;padding:12px;border:1px solid #d9d7cc;border-radius:12px;background:#fffbf1;font:inherit}#action-dialog .result-actions{flex-wrap:wrap}.choice-edit{min-width:44px;min-height:44px;font-size:14px}.option-row{flex-wrap:wrap}.shortlist-option{min-width:80px;flex:1}.shortlist-option strong,.place-heading h3,.winner-card h1,.vote-copy h1,.conflict-item strong,.receipt-option-heading strong,.result-panel h2{overflow-wrap:anywhere}.custom-form{flex-wrap:wrap}.custom-form select{min-height:48px;border:1px solid #deddd3;border-radius:12px;padding:8px;font:inherit;background:#fffaf0}.custom-form input{flex:1;min-width:120px}.page-heading>div>p{max-width:540px}.vote-buttons .key-hint{font-size:12px}.place-card-actions a,.text-button,.icon-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.form-error:empty{display:none}
@media(max-width:600px){.custom-form select{flex:0 0 100%}.custom-form input{min-width:0}.page-heading{margin-bottom:24px}.page-heading h1{font-size:2.15rem}.option-row{gap:8px}.option-number{display:none}.option-row .food-icon{font-size:1.2rem}.place-card-actions{flex-wrap:wrap}.place-add{min-height:44px}.shortlist-card{padding:20px}.person-name{overflow-wrap:anywhere;min-width:0}.crew-pill{overflow-wrap:anywhere;max-width:100%}.result-actions .button{min-height:48px}.winner-content{padding:24px}.vote-copy h1{font-size:2.2rem}}
.mobile-vote-dock{display:none}.privacy-note{margin:18px 0;font-size:14px;line-height:1.6}.privacy-note summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
@media(max-width:760px){body.choosing{padding-bottom:100px}.mobile-vote-dock{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;z-index:20;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #deddd3;border-radius:18px;background:#fffaf0;box-shadow:0 5px 22px #24271f20}.mobile-vote-dock>span{font-size:14px}.mobile-vote-dock .button{padding:12px 18px;min-height:48px;white-space:nowrap}.mobile-vote-dock .button:disabled{opacity:.5;cursor:not-allowed}}
/* Guided setup extends the existing diner palette and components. */
.landing-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;min-height:64vh}.landing-copy h1{font-size:clamp(2.8rem,5.7vw,5rem)}.landing-copy>p{margin:22px 0;color:var(--muted)}.landing-copy .landing-promise{font-weight:700;color:var(--ink);font-size:1rem;margin:18px 0}.landing-steps{display:grid;gap:12px;margin-top:32px;font-size:.875rem;color:var(--muted)}.landing-image{border-radius:32px;overflow:hidden;background:var(--red)}.landing-image img{height:480px;margin:0}.people-screen{max-width:660px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px}.people-screen>#setup-back{margin-bottom:18px}.people-screen>p{margin:16px 0 28px;color:var(--muted)}.people-screen .section-heading{margin-top:28px}.people-screen #people-next{margin-top:24px}.custom-form button{width:auto;padding:12px 16px;font-size:.875rem}.custom-form select{display:none}.optional-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.optional-filters label{font-size:.875rem;font-weight:700;min-width:0}.optional-filters select{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--paper);font:inherit;margin-top:6px;color:var(--ink)}.optional-filters select:disabled{opacity:.7}.result-actions{flex-wrap:wrap}.result-actions>#remove-winner{width:100%;text-decoration:underline}.person-field .icon-button{min-width:44px}.button.primary,.search-submit{background:var(--red-dark)}select:focus-visible{outline:3px solid #5360d5;outline-offset:3px}.search-error .button{margin-top:16px}.people-screen .crew-grid{grid-template-columns:1fr}
@media(max-width:760px){.landing-layout{display:flex;flex-direction:column;gap:28px;align-items:stretch;min-height:0}.landing-copy{padding:14px 0}.landing-copy .button{width:100%}.landing-image img{height:200px}.landing-steps{margin-top:24px;gap:8px}.people-screen{padding:22px}.people-screen h1{font-size:2.5rem}.vote-art{display:none}.vote-copy{padding:20px}.venue-details.compact .venue-links{display:none}.venue-details.compact{margin-top:10px}.venue-details.compact .venue-distance{font-size:.75rem}.flow-nav{margin-bottom:14px}.vote-buttons{position:sticky;bottom:12px;z-index:5;background:var(--cream);padding:8px 0;margin-top:10px;gap:8px}.vote-button{min-height:80px}.vote-copy h1{font-size:clamp(1.75rem,7vw,2.5rem)}.handoff-card{padding:28px 20px}.large-avatar{width:70px;height:70px;font-size:2rem}.optional-filters{grid-template-columns:1fr}.custom-form button{font-size:.875rem;padding:10px}.shortlist-card .option-row{gap:6px}}

.result-layout .result-actions{margin-bottom:24px}.landing-copy .eyebrow,.people-screen .eyebrow{font-size:.875rem}.dinner-modes strong{padding-right:12px}
@media(max-width:760px){.winner-photo{height:140px;object-fit:cover}}
[hidden]{display:none!important}#social-layer{max-width:1160px;margin:0 auto;padding:24px 0 60px;min-height:70vh}#social-layer:focus{outline:none}.social-shell{max-width:760px;margin:auto}.social-shell h1{margin-bottom:20px}.social-intro{margin:16px 0 24px;color:var(--muted)}.social-form{display:grid;gap:14px;margin:24px 0}.social-form input:not([type=checkbox]),.social-form select,.join-request select,.invite-card input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:var(--paper);color:var(--ink)}.social-form label{font-weight:700}.social-form fieldset{border:1px solid var(--line);border-radius:18px;padding:16px}.member-check{display:flex;align-items:center;gap:12px;min-height:52px;font-weight:500}.member-check input{width:22px;height:22px;min-height:22px;accent-color:var(--red-dark)}.saved-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:16px;margin:10px 0;overflow-wrap:anywhere}.saved-row>span,.saved-row>strong{min-width:0}.saved-row small{display:block;font-size:.875rem;color:var(--muted);font-weight:400;margin-top:4px}.saved-row>div{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.social-tabs{display:flex;gap:12px;margin:24px 0}#group-list{margin-top:36px}.invite-card{display:grid;justify-items:center;gap:14px;padding:24px;border-radius:24px;background:var(--paper);border:1px solid var(--line);margin:20px 0}.invite-card canvas{max-width:100%;height:auto!important}.join-code{font-family:monospace;font-size:1.8rem;letter-spacing:.15em}.live-progress{padding:20px;border-radius:20px;background:var(--lavender);margin:24px 0}.live-progress>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #24271f22;padding:12px 0;margin-top:8px;overflow-wrap:anywhere}.live-progress small{font-size:.875rem}.host-controls{margin:28px 0}.host-controls h2{font-size:1.7rem}.join-request{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;border:1px solid var(--line);border-radius:18px;margin:16px 0;background:var(--yellow)}.join-request label{font-size:.875rem}.live-invite summary,.live-choice-list summary{min-height:48px;padding:12px 0;font-weight:700;cursor:pointer}.live-winner{background:var(--green);border-radius:28px;padding:32px;margin:24px 0}.live-winner h2{font-size:clamp(2rem,6vw,3.3rem);overflow-wrap:anywhere}.live-winner p{margin:18px 0}.live-winner.no-truce{background:var(--yellow)}.live-ballot{padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--paper)}.live-ballot h2{font-size:clamp(2rem,6vw,3.3rem);overflow-wrap:anywhere;margin:20px 0}.live-ballot p{margin:16px 0}.local-ballots{display:grid;gap:12px;margin:20px 0}.group-quick{display:flex;flex-wrap:wrap;gap:10px}#saved-starts h3{margin:24px 0 12px}#join-truce{margin:12px 0}.social-shell .button{white-space:normal}.social-shell .form-error[hidden]{display:none}#social-layer[aria-busy=true] button{cursor:progress}.social-shell a.button{text-decoration:none}.social-shell .flow-nav>.eyebrow{margin:0;text-align:right}.header-right{gap:20px}.live-ballot .venue-links{margin:10px 0}
@media(max-width:1200px){#social-layer{padding-left:24px;padding-right:24px}}@media(max-width:600px){.header-right{gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-right .text-button{font-size:.8125rem}.saved-row{align-items:flex-start;flex-direction:column}.saved-row>div{justify-content:flex-start}.social-shell .section-heading{align-items:flex-start}.social-shell .section-heading .button{padding:12px}.invite-card{padding:16px}.live-winner{padding:24px}.live-ballot{padding:18px}.live-ballot .vote-buttons{position:static}.live-progress>div{font-size:.875rem}.join-request{grid-template-columns:1fr}.social-form.inline{grid-template-columns:1fr auto}.social-form.inline input{min-width:0}}

/* Saved dinners extend the existing cards and controls. */
.dinner-save-bar{max-width:1280px;margin:16px auto 0;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line,#ddd)}
.dinner-save-bar>span{min-width:0;overflow-wrap:anywhere}.dinner-save-bar strong{display:block}.dinner-save-bar [role=status]{font-size:.82rem}.dinner-save-bar>div{display:flex;gap:12px;flex-shrink:0}.dinner-save-bar .text-button{min-height:44px}
.dinner-library{max-width:1180px;margin:0 auto 48px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:32px}.dinner-library>p{grid-column:1/-1}.saved-dinner{border:1px solid #d7d3c9;border-radius:14px;margin:12px 0;padding:12px;display:flex;align-items:center;gap:8px;background:#fff}.dinner-resume{border:0;background:none;flex:1;min-width:0;text-align:left;cursor:pointer;display:grid;gap:8px;padding:12px;color:inherit;font:inherit;overflow-wrap:anywhere}.dinner-resume span{font-size:.85rem}.dinner-resume b{color:#b62e1b;font-size:.85rem}.saved-dinner>.text-button{min-height:44px;flex-shrink:0}
.dinner-save-bar[hidden],.dinner-library[hidden]{display:none}
@media(max-width:600px){.dinner-library{grid-template-columns:1fr;padding:16px;gap:24px}.dinner-save-bar{padding:12px 16px;align-items:flex-start;flex-wrap:wrap}}
