/* One memorable moment; everything around it stays calm and readable. */
:root{--bite-blue:#2949cf;--bite-ink:#172e58;--bite-gold:#f1cd64;--bite-white:#fffefa;--bite-line:#d7dce8;--bite-muted:#52617b;--bite-soft:#eef2fb;--bite-space:24px}
body{color:var(--bite-ink);font-family:"Avenir Next","Trebuchet MS","PingFang TC",sans-serif}
.destination-copy .home-introduction h1{letter-spacing:-.055em;line-height:1.03}
.home-intro{color:var(--bite-muted);line-height:1.7;max-width:42ch}
.site-header{border-bottom:1px solid var(--bite-line)}
.home-city-picker .city-choices{gap:8px}
.city-choices button{border-radius:30px;border:1px solid var(--bite-line);background:var(--bite-white);min-height:42px;color:var(--bite-ink);padding:9px 15px}
.city-choices button:hover{background:var(--bite-soft);border-color:var(--bite-blue)}
.story-result-preview .preview-label{color:var(--bite-blue);font-size:.7rem;letter-spacing:.1em}
.sample-disclosure{display:block;font-size:.76rem;line-height:1.5;color:var(--bite-muted);margin:-8px 0 20px}
.city-coverage-note{padding:12px 16px;background:var(--bite-soft);border:1px solid var(--bite-line);color:var(--bite-muted)}
.city-coverage-note strong{font-size:.82rem;color:var(--bite-ink)}
.city-coverage-note p{font-size:.79rem;line-height:1.5;margin:5px 0 0}
.first-bite-set{margin:32px 0 38px}
.first-bite-set>header{max-width:710px}
.first-bite-set h2{font-size:clamp(1.9rem,4.4vw,3.1rem);letter-spacing:-.04em;margin:8px 0 14px;line-height:1.08;color:var(--bite-ink)}
.first-bite-set>header p:not(.eyebrow){color:var(--bite-muted);line-height:1.65}
.taste-set-mood{display:inline-flex;flex-wrap:wrap;gap:5px;padding:5px;background:#e7ebf5;border-radius:12px;margin:20px 0}
.taste-set-mood button{min-height:44px;padding:10px 18px;border:0;background:transparent;border-radius:8px;color:var(--bite-muted);font-weight:600}
.taste-set-mood button[aria-pressed=true]{background:var(--bite-white);color:var(--bite-blue);box-shadow:0 2px 6px #172e5810}
.taste-set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.taste-set-card{background:var(--bite-white);border:1px solid var(--bite-line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 6px 24px #172e5806}
.taste-set-photo{display:block;position:relative;border:0;padding:0;width:100%;background:var(--bite-soft);aspect-ratio:4/3;overflow:hidden}
.taste-set-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.taste-set-photo:hover img{transform:scale(1.035)}
.taste-set-photo>span{position:absolute;left:10px;bottom:10px;background:#fffefaf0;color:var(--bite-ink);font-size:.62rem;padding:4px 8px;border-radius:5px;max-width:calc(100% - 20px);text-align:left}
.taste-set-copy{padding:20px;display:flex;flex-direction:column;flex:1;gap:10px}
.taste-set-copy .eyebrow{color:var(--bite-blue);font-size:.65rem;margin:0;letter-spacing:.07em}
.taste-set-copy h3{margin:0;line-height:1.2;font-size:1.36rem;letter-spacing:-.035em}
.taste-set-copy h3 button{font:inherit;text-align:left;padding:0;background:none;border:0;color:var(--bite-ink)}
.taste-set-copy>p:not(.eyebrow){margin:0;font-size:.92rem;line-height:1.6;color:var(--bite-ink)}
.taste-set-copy>small{font-size:.78rem;line-height:1.55;color:var(--bite-muted)}
.set-diet{border-top:1px solid var(--bite-line);padding-top:10px;font-size:.77rem;color:#795327;line-height:1.5}
.set-diet summary{cursor:pointer;padding:5px 0;font-weight:600}
.set-diet p{margin:8px 0}
.taste-set-card-actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}
.taste-set-card-actions button{min-height:44px;font-size:.78rem}
.taste-set-card-actions .text-detail{color:var(--bite-blue)}
.taste-set-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:24px}
.taste-set-footer>p{width:100%;font-size:.78rem;line-height:1.55;color:var(--bite-muted);margin:0}
.taste-set-footer .primary-button{background:var(--bite-blue);border-color:var(--bite-blue);color:white;min-height:50px}
.taste-set-footer .quiet-button{color:var(--bite-blue);min-height:44px}
.dish-trust-line{font-size:.74rem;line-height:1.55;color:var(--bite-muted);margin:0 0 18px}
.dish-trust-line a{color:var(--bite-blue);white-space:normal}
.dish-serving{display:flex;gap:14px;border-radius:12px;background:var(--bite-soft);padding:16px;margin:16px 0}
.dish-serving>span{font-size:1.5rem;color:var(--bite-blue)}
.dish-serving p{font-size:.87rem;line-height:1.6;margin:0;color:var(--bite-muted)}
.dish-serving strong{display:block;color:var(--bite-ink);margin-bottom:4px}
.dish-save-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:12px 0 24px}
.dish-save-row small{font-size:.73rem;color:var(--bite-muted);max-width:42ch;line-height:1.5}
.dish-introduction .food-lead{font-size:1.06rem;color:var(--bite-ink);line-height:1.65}
.dish-introduction p:not(.food-lead){font-size:.85rem;color:var(--bite-muted);line-height:1.6}
.minimal-dish-actions{display:flex;flex-wrap:wrap;gap:8px}
.minimal-dish-actions button{min-height:48px}
.minimal-dish-actions>.primary-button{background:var(--bite-blue);border-color:var(--bite-blue);color:#fff}
.minimal-memory{background:var(--bite-white);border:1px solid var(--bite-line);border-radius:15px;padding:20px;margin-bottom:24px}
.minimal-memory h3{font-size:1.18rem;color:var(--bite-ink);line-height:1.3}
.minimal-memory .comment-field>span{font-size:.85rem;color:var(--bite-ink)}
.memory-reactions button[aria-pressed=true]{background:var(--bite-blue);border-color:var(--bite-blue);color:#fff}
.memory-story-actions button:first-child{color:var(--bite-blue);font-weight:700}
.order-offline{background:var(--bite-soft);padding:16px;border-radius:12px;margin:18px 0;display:grid;gap:10px}
.order-offline button{background:var(--bite-white);color:var(--bite-blue);border-color:var(--bite-line);min-height:48px}
.order-offline small{font-size:.78rem;line-height:1.6;color:var(--bite-muted)}
.first-bite-dialog{width:min(580px,calc(100vw - 32px));max-height:92dvh;padding:0;border:1px solid var(--bite-line);border-radius:20px;background:var(--bite-white);color:var(--bite-ink);overflow:auto}
.first-bite-dialog::backdrop{background:#13213bb3;backdrop-filter:blur(4px)}
.first-bite-dialog-head{position:sticky;top:0;z-index:2;display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--bite-white);padding:16px 20px;border-bottom:1px solid var(--bite-line)}
.first-bite-dialog-head h2{font-size:1.1rem;margin:0;letter-spacing:-.02em}
.first-bite-dialog-head button{flex-shrink:0;background:var(--bite-soft);color:var(--bite-ink);width:44px;height:44px}
#firstBiteBody{padding:20px}
.first-bite-privacy{font-size:.84rem;line-height:1.5;color:var(--bite-muted);margin:0 0 16px}
.first-bite-options{display:grid;gap:10px;margin-bottom:18px}
.first-bite-options label{font-size:.85rem;line-height:1.5;display:flex;align-items:center;gap:10px;min-height:40px}
.first-bite-options input{width:20px;height:20px;accent-color:var(--bite-blue);flex-shrink:0}
#firstBitePreview{min-height:180px;border-radius:10px;background:var(--bite-soft);padding:12px}
#firstBitePreview canvas{display:block;width:100%;max-width:320px;height:auto;margin:auto;box-shadow:0 12px 28px #172e581a}
.first-bite-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px}
.first-bite-share-actions button{min-height:48px;flex:1}
.first-bite-share-actions .quiet-button{flex-basis:100%;color:var(--bite-blue)}
.first-bite-caption summary{padding:10px 0;cursor:pointer;font-size:.85rem}
.first-bite-caption textarea{width:100%;min-height:140px;padding:12px;font:inherit;font-size:16px;border:1px solid var(--bite-line);border-radius:8px;background:#fff}
.first-bite-link-note{display:block;color:var(--bite-muted);font-size:.76rem;line-height:1.6;margin-top:12px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--bite-blue);outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:700px){
 .taste-set-grid{grid-template-columns:1fr;gap:16px}
 .taste-set-card{display:grid;grid-template-columns:112px minmax(0,1fr);border-radius:14px}
 .taste-set-photo{height:100%;min-height:190px;aspect-ratio:auto}
 .taste-set-photo img{object-fit:cover}
 .taste-set-photo>span{font-size:.53rem;left:5px;bottom:5px;max-width:calc(100% - 10px);padding:3px 4px}
 .taste-set-copy{padding:15px;gap:8px}
 .taste-set-copy h3{font-size:1.15rem}
 .taste-set-copy>p:not(.eyebrow){font-size:.83rem}
 .taste-set-copy>small{font-size:.73rem}
 .taste-set-card-actions{flex-wrap:wrap;gap:0 8px}
 .taste-set-card-actions button{padding-inline:0}
 .first-bite-set{margin-top:24px}
 .first-bite-set h2{font-size:2rem;max-width:13ch}
 .first-bite-set>header p:not(.eyebrow){font-size:.88rem}
 .taste-set-mood{display:flex}
 .taste-set-mood button{flex:1;padding-inline:8px;font-size:.8rem}
 .taste-set-footer{display:grid;grid-template-columns:1fr}
 .taste-set-footer>p{font-size:.74rem}
 .minimal-dish-actions{position:sticky;bottom:0;z-index:3;padding:12px 0;background:var(--bite-white);border-block:1px solid var(--bite-line)}
 .minimal-dish-actions>button{flex:1 1 40%;font-size:.83rem;padding:10px 9px}
 .minimal-dish-actions>.quiet-button{display:none}
 .dish-serving{padding:12px}
 .dish-serving p{font-size:.83rem}
 .dish-introduction{grid-template-columns:96px minmax(0,1fr);gap:14px}
 .dish-introduction img{width:96px;height:128px;object-fit:cover;border-radius:8px}
 .dish-introduction .food-lead{font-size:.96rem}
 .minimal-memory{padding:14px}
 .memory-editor .inline-stamp{width:72px;height:72px;flex-basis:72px}
 .minimal-memory .inline-stamp-row{gap:12px}
 .minimal-memory h3{font-size:1.05rem}
 .first-bite-dialog{width:100vw;max-height:96dvh;margin:auto auto 0;border-radius:18px 18px 0 0}
 .first-bite-dialog-head{padding:12px 16px}
 #firstBiteBody{padding:16px 16px calc(20px + env(safe-area-inset-bottom))}
 input,textarea,select{font-size:16px}
 .site-header .brand-button{min-width:0}
}
@media(prefers-reduced-motion:reduce){.taste-set-photo img{transition:none}}
