:root{--ink: #24352f;--ink-soft: #49635a;--muted: #5d6f68;--faint: #8a9a93;--paper: #f7f6f0;--card: #ffffff;--well: #ecece4;--line: #c9d2cc;--green: #27483e;--green-hover: #1d372f;--clay: #a85f43;--clay-soft: #d99b7b;--danger: #a23b2a;--warn-bg: #fbf0e6;--error-bg: #fbeaea;--radius: 4px;--serif: Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-family:var(--serif);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--paper)}code{font-size:.92em;background:var(--well);padding:1px 4px;border-radius:3px}.page{max-width:640px;margin:0 auto;padding:20px 16px 28px;min-height:100vh;display:flex;flex-direction:column}.page.wide{max-width:760px}main{flex:1}@media(min-width:600px){.page{padding:28px 24px}}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;gap:12px}.brand{font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#5f776f;text-decoration:none}.text-link{font:15px var(--sans);color:var(--muted)}footer{margin-top:64px;color:var(--faint);font:12px var(--sans)}h1{font-size:clamp(40px,11vw,72px);line-height:.98;font-weight:400;margin:0 0 20px;letter-spacing:-.035em}h1 em{color:var(--clay);font-style:italic}h1.event-title{font-size:clamp(34px,9vw,56px)}h2{font-weight:400;font-size:26px;margin:44px 0 14px;letter-spacing:-.01em}h3{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}p,li,dd,dt{font:17px/1.55 var(--sans);color:var(--muted)}.lede{max-width:470px;font-size:19px}.eyebrow{font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin:0 0 10px}.hint{font-size:14px;color:var(--muted);margin:4px 0 8px}.empty{font-style:italic;color:var(--faint)}.success{font:italic 24px var(--serif);color:var(--clay);margin:8px 0 16px}button,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid transparent;border-radius:var(--radius);padding:15px 20px;min-height:48px;font:600 16px var(--sans);cursor:pointer;text-decoration:none;text-align:left}button.primary,.button.primary{background:var(--green);color:#fff;width:100%;margin-top:20px}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--green-hover)}button.secondary,.button.secondary{background:transparent;color:var(--green);border-color:var(--line);justify-content:center}button.secondary:hover:not(:disabled),.button.secondary:hover{border-color:var(--green)}button.small{padding:8px 14px;min-height:40px;font-size:14px}button.text{background:none;color:var(--muted);padding:6px 4px;min-height:40px;font-weight:500;font-size:14px;text-decoration:underline;text-underline-offset:3px}button.danger,.button.danger{color:var(--danger)}button.secondary.danger{border-color:#e2c3bd}button:disabled{opacity:.5;cursor:not-allowed}button span[aria-hidden]{font-size:20px}.actions{display:grid;gap:12px;margin:40px 0 56px}.actions .button.primary{margin:0}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.button-row .primary{width:auto;margin:0}:focus-visible{outline:3px solid var(--clay-soft);outline-offset:2px}form fieldset{border:0;padding:0;margin:0;min-width:0}.field{display:grid;gap:6px;margin:20px 0}.field>label,fieldset legend,.copylink>label,.stepper>span{font:600 13px var(--sans);color:#5f776f;letter-spacing:.02em;padding:0}.field .hint{margin:0}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:13px 14px;font:17px var(--sans);color:var(--ink);min-height:48px}textarea{resize:vertical;line-height:1.45}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:14px;margin:2px 0 0}details.more{margin:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}details.more summary{font:600 15px var(--sans);color:var(--green);padding:12px 0;cursor:pointer}fieldset.chips,fieldset.segmented{margin:20px 0}fieldset legend{margin-bottom:8px}.chip-row,.segment-row{display:flex;flex-wrap:wrap;gap:8px}.chip,.segment{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:15px var(--sans);color:var(--ink-soft);cursor:pointer}.segment{border-radius:var(--radius);flex:1 1 auto;justify-content:center}.chip input,.segment input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.chip.on,.segment.on{background:var(--green);border-color:var(--green);color:#fff}.chip:focus-within,.segment:focus-within{outline:3px solid var(--clay-soft);outline-offset:2px}.steppers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 4px}.stepper{display:grid;gap:8px}.stepper-controls{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.stepper-controls button{width:52px;height:52px;padding:0;justify-content:center;background:none;color:var(--green);font-size:24px}.stepper-controls output{flex:1;text-align:center;font:600 20px var(--sans)}.dish-step{border-top:1px solid var(--line);margin-top:24px;padding-top:4px}.confirm{display:flex;gap:12px;align-items:flex-start;font:16px var(--sans);color:var(--ink);margin:22px 0 0;cursor:pointer}.confirm input{width:22px;height:22px;margin-top:2px;accent-color:var(--green)}.turnstile{margin:22px 0 0;min-height:65px}.notice{background:var(--well);border-radius:var(--radius);padding:14px 16px;margin:18px 0}.notice p{margin:0 0 8px;color:var(--ink-soft)}.notice p:last-child{margin:0}.notice.warn{background:var(--warn-bg);border-left:3px solid var(--clay-soft)}.notice.error{background:var(--error-bg);border-left:3px solid var(--danger)}.notice.error p{color:#7a2b20}.notice .button{margin-top:6px}.copylink{margin:22px 0}.copylink.private>label{color:var(--clay)}.copyrow{display:flex;gap:8px;margin-top:6px}.copyrow input{font:14px ui-monospace,Menlo,Consolas,monospace!important;background:var(--well)!important}.copyrow button{background:var(--green);color:#fff;justify-content:center;min-width:84px}.loading{display:flex;align-items:center;gap:10px}.dot{width:10px;height:10px;border-radius:50%;background:var(--clay-soft);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.details .when{font:19px var(--sans);color:var(--ink);margin:0 0 4px}.details .where{margin:0 0 4px}.details .note{font-style:italic;font-family:var(--serif);white-space:pre-line}.menu{margin-bottom:8px}.course ul{list-style:none;padding:0;margin:0}.course li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e3e6df}.dish-name{display:block;font:19px var(--serif);color:var(--ink)}.dish-meta{display:block;font:14px var(--sans);color:var(--muted)}.dish-actions{display:flex;gap:4px;flex-shrink:0}.party-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.party-list li{background:var(--card);border:1px solid #e3e6df;border-radius:999px;padding:6px 14px;font-size:15px;color:var(--ink-soft)}.tag{display:inline-block;margin-left:8px;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}.totals{color:var(--ink-soft)}.verdict,.critic-aside{border-left:3px solid var(--clay-soft);padding:6px 0 6px 18px;margin:28px 0}.verdict>b,.critic-aside>b{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}.verdict .remark,.critic-aside p{font:italic 20px/1.45 var(--serif);color:var(--ink-soft);margin:8px 0 12px}.verdict h4{font:600 14px var(--sans);color:var(--ink);margin:12px 0 4px}.verdict ul{margin:4px 0 8px;padding-left:20px}.verdict li{font-size:15px}.gaps li{color:var(--ink)}.suggestions{font-size:15px}.suggestions span{font-weight:600;color:var(--ink-soft)}.quick-row{display:flex;flex-wrap:wrap;gap:8px}.pill{border-radius:999px!important;padding:10px 16px!important;min-height:44px;font-size:15px!important}.answer{background:var(--card);border:1px solid #e3e6df;border-radius:var(--radius);padding:14px 16px;margin-top:14px}.answer b{font:600 13px var(--sans);color:var(--clay)}.answer p{margin:6px 0 0}.answer p.hint{margin-top:8px}.summary{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}.summary dt{font-weight:600;color:var(--ink-soft)}.summary dd{margin:0}.how{padding-left:22px}.how li{margin-bottom:12px}.status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:18px 0}.status-row p{margin:0;color:var(--ink)}.host-parties{list-style:none;padding:0;margin:0;display:grid;gap:10px}.host-parties li{background:var(--card);border:1px solid #e3e6df;border-radius:var(--radius);padding:12px 14px 4px}.host-parties li.declined{opacity:.7}.party-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.party-head b{font:18px var(--serif);color:var(--ink)}.party-head .tag.yes{color:var(--green)}.party-meta{margin:2px 0;font-size:15px}.private-note{margin:8px 0 2px;font-size:15px;background:var(--warn-bg);padding:8px 10px;border-radius:var(--radius);color:var(--ink-soft)}.private-note span{font-weight:600}.panel{background:var(--card);border:1px solid #e3e6df;border-radius:var(--radius);padding:4px 16px 18px;margin:16px 0}section>button.secondary{margin-top:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.dish-block{border-top:1px dashed var(--line);margin-top:18px;padding-top:4px}.add-dish{margin-top:16px;width:100%}
