.wswe{max-width:900px;margin:0 auto 4rem;padding:1rem;color:#1b1a18}.wswe-kicker{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:#9a5d37}.wswe h1{font-size:clamp(2.8rem,7vw,5.5rem);line-height:.95;letter-spacing:-.05em;margin:.35rem 0}.wswe-lead{font-size:1.15rem;color:#6f6962;max-width:700px}.wswe-card{margin-top:2rem;border:1px solid #e5ddd4;border-radius:20px;padding:1.4rem;background:#fff}.wswe-card h2{font-size:1.8rem;margin:.35rem 0 1rem}.wswe label{display:block;margin:1rem 0;font-weight:700}.wswe input,.wswe select{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid #d8cec4;border-radius:10px}.wswe button{cursor:pointer}.wswe-primary,.wswe-secondary,.wswe-options button,.wswe-recipes button{padding:.8rem 1rem;border-radius:10px;border:1px solid #d2c7bc;background:#fff;font-weight:750}.wswe-primary{background:#1b1a18;color:#fff}.wswe-secondary{margin-left:.5rem}.wswe-options{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.wswe-options button{text-align:left;min-height:64px}.wswe-recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.wswe-recipes article{padding:1rem;background:#fbf8f3;border-radius:14px}.wswe-recipes h3{margin:.4rem 0}.wswe-recipes a{display:block;margin:.7rem 0;color:#9a5d37;font-weight:700}@media(max-width:650px){.wswe{padding:8px}.wswe-options,.wswe-recipes{grid-template-columns:1fr}}
.wswe-result .wswe-craving{font-size:1.25rem}.wswe-progress{font-size:.88rem;color:#6d655e}.wswe-directions{margin:24px 0;padding:22px;border-radius:16px;background:#f8f4ef}.wswe-directions>small{font-weight:800;letter-spacing:.09em;color:#a65320}.wswe-directions>div{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0}.wswe-directions span{border:1px solid #dfd2c7;background:#fff;border-radius:999px;padding:8px 13px;font-weight:700}.wswe-directions p{margin:5px 0 0;color:#6d655e;font-size:.9rem}.wswe-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.wswe-path{padding:18px;text-align:left;border:1px solid #dfd2c7;border-radius:14px;background:#fff}.wswe-path.active{outline:2px solid #a65320;background:#fbf6f1}.wswe-path strong,.wswe-path span{display:block}.wswe-path span{font-size:.86rem;margin-top:5px;color:#6d655e}.wswe-cook-panel>h3,.wswe-out-panel>h3{margin:0 0 14px}.wswe-recipes article p{font-size:.82rem;color:#6d655e}.wswe-live{margin-top:22px;padding-top:18px;border-top:1px solid #e6ddd5}.wswe-live button{margin-right:8px;margin-top:6px}@media(max-width:650px){.wswe-paths{grid-template-columns:1fr}}

.wswe-occasion-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.wswe-occasion{display:inline-flex;margin:0 0 .65rem;padding:.4rem .7rem;border-radius:999px;background:#f8f4ef;color:#6d655e;font-size:.82rem;font-weight:800}
@media(max-width:650px){.wswe-occasion-fields{grid-template-columns:1fr}}

/* 5.2 question flow */
.wswe-stepbar{display:flex;align-items:center;gap:.45rem;margin:0 0 1.25rem}.wswe-stepbar span,.wswe-stepbar b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8cec4;font-size:.72rem}.wswe-stepbar b{background:#2f7d32;color:#fff;border-color:#2f7d32}.wswe-stepbar i{height:2px;flex:0 0 32px;background:#ded8d1}
.wswe-wide{width:100%;margin-top:1rem;background:#2f7d32;border-color:#2f7d32}
.wswe-question{padding:1rem 0;border-top:1px solid #eee6de}.wswe-question h3{margin:0}.wswe-question p{margin:.25rem 0 .75rem;color:#6d655e;font-size:.9rem}
.wswe-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.wswe-chips button{padding:.75rem .5rem;border:1px solid #ddd4cb;border-radius:12px;background:#fff;font-weight:700}.wswe-chips button.selected{background:#edf7ed;border-color:#2f7d32;color:#205e23;box-shadow:inset 0 0 0 1px #2f7d32}
.wswe-scale{margin:1rem 0;padding:1rem;border-radius:14px;background:#faf8f4}.wswe-scale>div{display:flex;justify-content:space-between;gap:1rem}.wswe-scale>div strong:last-child{text-align:right}.wswe-scale input{width:100%;accent-color:#2f7d32;margin:.8rem 0 .25rem}.wswe-scale small{display:block;text-align:center;color:#7a736c}
.wswe-agree,.wswe-split,.wswe-middle{padding:1rem;border-radius:14px;margin:.75rem 0}.wswe-agree{background:#edf7ed}.wswe-split{background:#fff0ed}.wswe-middle{background:#edf4ff}.wswe-agree p,.wswe-split p,.wswe-middle p{margin:.3rem 0 0}
@media(max-width:650px){.wswe-chips{grid-template-columns:repeat(2,1fr)}.wswe-stepbar i{flex-basis:20px}.wswe-scale{padding:.85rem}.wswe-scale>div strong{font-size:.88rem}}

/* 6.0 decision architecture */
.wswe-boundary-mode{margin:1.25rem 0}.wswe-boundary-mode>button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin:.5rem 0;padding:1rem;border:1px solid #ddd4cb;border-radius:14px;background:#fff;text-align:left}.wswe-boundary-mode>button.selected{border-color:#2f7d32;background:#edf7ed;box-shadow:inset 0 0 0 1px #2f7d32}.wswe-boundary-mode small{color:#716b64}
#group-boundaries{padding:1rem;margin:1rem 0;border-radius:14px;background:#faf8f4}#group-boundaries[hidden]{display:none}
.wswe-fulfil{margin:1.4rem 0;padding-top:1rem;border-top:1px solid #eee6de}.wswe-mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.wswe-mode-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;border:1px solid #ddd4cb;border-radius:14px;background:#fff;text-align:left;font-size:1.2rem}.wswe-mode-grid button strong{font-size:.95rem}.wswe-mode-grid button small{font-size:.75rem;color:#716b64}.wswe-mode-grid button.selected{border-color:#2f7d32;background:#edf7ed;box-shadow:inset 0 0 0 1px #2f7d32}#mode-note{margin:.75rem 0;color:#5f5953}
@media(max-width:650px){.wswe-mode-grid{grid-template-columns:repeat(2,1fr)}}

/* 6.1 food direction */
.wswe-food-section{margin:1.35rem 0}.wswe-intent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.wswe-intent button{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid #ddd4cb;border-radius:14px;background:#fff;text-align:left}.wswe-intent button.selected,.wswe-chips button.selected{border-color:#2f7d32;background:#edf7ed;box-shadow:inset 0 0 0 1px #2f7d32}@media(max-width:650px){.wswe-intent{grid-template-columns:1fr}}

.wswe-learning-note{display:block;margin-top:8px;color:#5f675f;font-size:12px;line-height:1.4}

.wswe-household-pick{margin:1.1rem 0}.wswe-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.wswe-person{padding:.75rem;text-align:left;border:1px solid #ddd;border-radius:12px;background:#fff}.wswe-person strong,.wswe-person small{display:block}.wswe-person small{margin-top:.2rem;color:#68716f}.wswe-person.selected{border-color:#2d8737;background:#eef8ee}@media(max-width:620px){.wswe-person-grid{grid-template-columns:1fr}}
.wswe-occasion-fields label small{display:block;margin-top:.45rem;color:#68716f;font-size:.82rem;font-weight:450;line-height:1.45}.wswe-result .wswe-vote-status p{line-height:1.45}

/* 14.0 fast Step 3 */
.wswe-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.6rem}.wswe-direction-grid button,.wswe-ternary-grid button{border:1px solid #ddd4cb;border-radius:14px;background:#fff;padding:.9rem .75rem;text-align:center;cursor:pointer}.wswe-direction-grid button.selected,.wswe-ternary-grid button.selected{border-color:#2f7d32;background:#edf7ed;box-shadow:inset 0 0 0 1px #2f7d32}.wswe-quick-heading{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #eee6de}.wswe-quick-heading h3{margin:.25rem 0 1rem}.wswe-ternary{margin:1rem 0}.wswe-ternary>h3{font-size:1rem;margin:0 0 .45rem}.wswe-ternary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.wswe-ternary-grid button{font-size:.84rem;line-height:1.25}.wswe-error{color:#a12b1f;font-weight:700;margin:.8rem 0}
@media(max-width:650px){.wswe-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wswe-ternary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.wswe-ternary-grid button{padding:.7rem .35rem;font-size:.76rem}}

/* 14.1 broader food direction + separate surprise action */
.wswe-surprise{margin:-.55rem 0 1.6rem;padding-top:.25rem}.wswe-surprise button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem 1rem;border:1px dashed #cfc4ba;border-radius:14px;background:#faf8f4;text-align:left}.wswe-surprise button small{font-weight:500;color:#6d655e}.wswe-surprise button.selected{border-style:solid;border-color:#2f7d32;background:#edf7ed;box-shadow:inset 0 0 0 1px #2f7d32}

/* 14.2 — explain the group's inferred flavour/cuisine direction */
.wswe-flavour-direction{margin-top:12px}.wswe-flavour-traits{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 8px}.wswe-flavour-traits span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.1);font-size:.86rem;font-weight:650}.wswe-flavour-direction small{display:block;margin-top:6px}.wswe-flavour-direction small b{font-weight:700}

.wswe-share-preview{border:1px solid #e7e1d9;border-radius:14px;padding:16px;margin:16px 0;background:#faf9f7}.wswe-share-preview p{margin:6px 0}.wswe-share-preview small{display:block;overflow-wrap:anywhere;color:#666}.wswe-share .wswe-wide+.wswe-wide{margin-top:8px}

.wswe-vote-status{border:1px solid #e7e1d9;border-radius:14px;padding:14px 16px;margin:14px 0;background:#faf9f7}.wswe-vote-status>p{margin:5px 0 10px}.wswe-voter-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.wswe-voter-list span{display:inline-block;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e7e1d9;font-size:.9em}.wswe-vote-status.wswe-complete{margin-bottom:16px}

.wswe-nav-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.wswe-nav-actions .wswe-primary{flex:1}.wswe-nav-actions .wswe-secondary{flex:0 0 auto}@media(max-width:520px){.wswe-nav-actions{flex-wrap:wrap}.wswe-nav-actions button{min-height:44px}}

/* 15.0.7: keep secondary actions visually secondary even when theme button rules are aggressive. */
.wswe button.wswe-secondary{background:#fff!important;color:#1b1a18!important;border:1px solid #d2c7bc!important}
.wswe button.wswe-secondary:hover{background:#f8f5f1!important}
.wswe-invite-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;padding:12px 14px;margin:0 0 18px;border:1px solid #e7ddd4;border-radius:12px;background:#fbf9f6}
.wswe-invite-context small{flex-basis:100%;color:#756b63}.wswe-invite-context strong{font-size:1.05rem}.wswe-invite-context span{color:#756b63;font-size:.92rem}

.wswe-join-box{margin-top:20px;padding-top:18px;border-top:1px solid #e7ddd4}.wswe-join-box p{margin:.35rem 0 12px;color:#756b63}

.wswe-answer-review{margin:16px 0;padding:14px;border:1px solid #e7ddd4;border-radius:12px;background:#fbf9f6}.wswe-answer-review>strong{display:block;margin-bottom:8px}.wswe-answer-review details{border-top:1px solid #e7ddd4;padding:9px 0}.wswe-answer-review details:first-of-type{border-top:0}.wswe-answer-review summary{cursor:pointer;font-weight:700}.wswe-answer-review summary span{float:right;font-size:.78rem;font-weight:600;color:#8c5938}.wswe-answer-review details div{padding:8px 0 0}.wswe-answer-review details p{margin:.3rem 0;font-size:.9rem}

.wswe-remove-person{margin-top:8px;background:transparent!important;color:#9b3f32!important;border:1px solid #d9b7b1!important;padding:.45rem .7rem!important;font-size:.78rem!important}.wswe-remove-person:hover{background:#fff4f2!important}

.wswe-voter-list .wswe-remove-waiting{margin-left:.35rem;padding:.12rem .38rem!important;border:0!important;background:transparent!important;color:#9b3f32!important;font-size:.72rem!important;font-weight:700!important;text-decoration:underline;cursor:pointer}

.wswe-diagnostics-wrap{margin-top:14px}.wswe-diagnostic-panel{margin-top:10px;padding:12px;border:1px solid #ddd2c8;border-radius:12px;background:#fff}.wswe-diagnostic-row{padding:8px 0;border-top:1px solid #eee}.wswe-diagnostic-row:first-of-type{margin-top:8px}.wswe-diagnostic-row small{display:block;margin-top:3px;line-height:1.4}

/* 15.2.1: keep development diagnostics available without competing with result actions. */
.wswe-diagnostics-wrap{margin-top:7px}
.wswe-diagnostics-wrap>button#wswe-diagnostics{
  appearance:none!important;background:transparent!important;border:0!important;
  box-shadow:none!important;padding:2px 0!important;min-height:0!important;
  font-size:10px!important;font-weight:400!important;line-height:1.2!important;
  color:rgba(73,61,52,.42)!important;text-decoration:underline!important;
  text-underline-offset:2px;cursor:pointer
}
.wswe-diagnostics-wrap>button#wswe-diagnostics:hover,
.wswe-diagnostics-wrap>button#wswe-diagnostics:focus{
  color:rgba(73,61,52,.7)!important
}

/* 15.3.0 decision paths + editable occasion */
.wswe-decision-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 22px}
.wswe-decision-mode button{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px;border:1px solid #e8ded6;border-radius:14px;background:#fff}
.wswe-decision-mode button.selected{border-color:#f15b2a;box-shadow:0 0 0 1px #f15b2a}.wswe-decision-mode small{opacity:.7}
.wswe-edit-occasion{border:0;background:none;padding:0 0 0 6px;font-size:11px;opacity:.45;text-decoration:underline;cursor:pointer}
.wswe-edit-box{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:8px 0 14px;padding:10px;border:1px solid #eee1d8;border-radius:10px}.wswe-edit-box label{font-size:12px}
@media(max-width:680px){.wswe-decision-mode{grid-template-columns:1fr}.wswe-decision-mode button{padding:14px}}

/* 15.5.0: contextual guest-to-member conversion after participation. */
.wswe-save-tastes{margin-top:18px;padding:16px;border:1px solid #e7ddd4;border-radius:14px;background:#fbf9f6}
.wswe-save-tastes strong{display:block;margin-bottom:5px}.wswe-save-tastes p{margin:0 0 12px;color:#756b63;line-height:1.45}
.wswe-save-tastes button{width:100%;min-height:44px}

/* 15.6 — context from connected Hosting plans. */
.wswe-connected{margin:16px 0 20px;padding:14px 16px;border:1px solid #ead9cc;border-radius:14px;background:#fff8f3}.wswe-connected strong{display:block;margin-bottom:4px}.wswe-connected p{margin:0;color:#665f59;line-height:1.45}.wswe-connected a{display:inline-block;margin-top:8px;font-weight:800;color:#9a5d37;text-decoration:none}
/* 16.0 group-match clarity */
.wswe-match-score{display:flex;align-items:baseline;gap:6px;margin:.35rem 0}.wswe-match-score strong{font-size:1.55rem;color:#087f7a}.wswe-match-score span,.wswe-match-reason{color:#6b7773;font-size:.75rem}.wswe-match-reason{display:block;margin:.25rem 0 .6rem}

.wswe-profile-prefill-note{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid #8c5d3f;background:#f7f1eb;color:#514238;font-size:.92rem;line-height:1.5}

/* UX builds 41 and 45: recipe suggestions are image-led and keyboard-visible. */
.wswe-recipe-card{overflow:hidden;border:1px solid #dce7e4;border-radius:16px;background:#fff}
.wswe-recipe-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#f1f4f3}
.wswe-recipe-copy{padding:1rem}.wswe-recipe-copy h3{margin:.35rem 0}.wswe-recipe-copy p{line-height:1.5}.wswe-recipe-copy a,.wswe-recipe-copy button{margin:.4rem .4rem .1rem 0}.wswe-recipe-copy :focus-visible{outline:3px solid #f15b2a;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.wswe-app *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.wswe :focus-visible{outline:3px solid #f15b2a;outline-offset:3px}.wswe button,.wswe a{transition:background-color .15s ease,border-color .15s ease}.wswe-recipe-card:not(:has(>img))::before{content:"Recipe photo coming soon";display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:#eef5f1;color:#42645a;font-size:.85rem;font-weight:650}.wswe-browse-recipes{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:.6rem 0;padding:.65rem .95rem;border-radius:999px;background:#087f7a;color:#fff!important;font-weight:750;text-decoration:none}.wswe-vote-status[role=status]{scroll-margin-top:90px}.wswe-app button{min-height:44px}@media(prefers-reduced-motion:reduce){.wswe *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
