:root{--bg: #fefdf8;--ink: #1a1a1a;--accent: #d4541e;--muted: #6b6b6b;--card-bg: #ffffff;--border: #1a1a1a;--open: #22c55e;--closed: #c0392b;--highlight: #ff7336}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Georgia,Times New Roman,serif;background:var(--bg);color:var(--ink);min-height:100dvh;font-variant-numeric:lining-nums}body{display:flex;flex-direction:column;align-items:center;padding:1rem 1rem calc(1.875rem + env(safe-area-inset-bottom,0px));height:100dvh;overflow:hidden}header{text-align:center;max-width:480px;margin-bottom:.5rem;flex-shrink:0}h1{font-size:2.5rem;margin:0 0 .5rem;font-weight:400;letter-spacing:-.02em}h1 .accent{color:var(--accent)}.tagline{color:var(--muted);font-style:italic;font-size:1.1rem;margin:0}.result-card{background:var(--ink);border:2px solid var(--border);border-radius:8px;padding:0;max-width:480px;width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:6px 6px 0 var(--border),inset 0 0 0 2px var(--border);transition:opacity .2s ease;position:relative;z-index:1}.result-card>*{position:relative;z-index:0}.result-card.fading{opacity:0}.result-empty{display:flex;background:var(--bg);align-items:center;justify-content:center;color:var(--muted);font-style:italic;text-align:center;flex:1}.filter-summary{color:var(--ink);font-style:normal;font-size:.9rem;line-height:1.5;padding:.5rem}.result-content{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.result-content>*{opacity:0;transition:opacity .3s ease}.result-content.stagger-in>*:nth-child(1){opacity:1;transition-delay:0s}.result-content.stagger-in>*:nth-child(2){opacity:1;transition-delay:.1s}.result-content.stagger-in>*:nth-child(3){opacity:1;transition-delay:.2s}@media(prefers-reduced-motion:reduce){.result-card,.result-content>*,.result-content.stagger-in>*{transition:none;opacity:1}.result-card.fading{opacity:0}}.embla-wrapper{display:flex;flex-direction:column;width:calc(100% + 4px);flex:1 1 auto;min-height:0;margin:0 -2px}.embla{position:relative;width:100%;flex:1 1 auto;min-height:0;background:transparent;overflow:hidden}.embla__viewport{overflow:hidden;width:100%;height:100%}.embla__container{display:flex;height:100%;touch-action:pan-y pinch-zoom;scroll-snap-type:none;gap:0}.embla__slide{flex:0 0 100%;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0;padding:0}.embla__parallax{position:relative;width:100%;height:100%;overflow:hidden}.embla__parallax__layer{position:absolute;top:0;left:-20%;width:140%;height:100%;display:flex;align-items:center;justify-content:center}.embla__parallax__layer img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;filter:saturate(1.35) contrast(1.08) brightness(1.03) sepia(.08)}.embla:after{content:"";position:absolute;inset:0 -1px;z-index:0;pointer-events:none;background:linear-gradient(#000c,#0006 10%,#0000 20% 53%,#0006 65%,#000c)}.carousel-badges{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.status-badge-overlay{color:#fff;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.8),0 0 14px rgba(0,0,0,.5);user-select:text}.status-sign{display:inline-flex;align-items:center;justify-content:center;min-width:4.5rem;background:#ffffffe6;border:1px solid var(--border);padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;color:var(--ink);line-height:1.2;text-shadow:none;user-select:text;font-variant-numeric:lining-nums}.status-sign-open{background:var(--open);color:#fff;border-color:#fff}.restaurant-name{position:absolute;top:0;left:-1px;right:-1px;z-index:2;font-size:1.75rem;margin:0;padding:.5rem 1rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.6);user-select:text}.carousel-text-overlay{position:absolute;bottom:0;left:-1px;right:-1px;z-index:2;padding:3rem .75rem .5rem;user-select:text}.description{font-size:1.05rem;line-height:1.5;margin:0 0 .75rem;min-height:3.15rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8),0 0 14px rgba(0,0,0,.5);user-select:text}.must-try-overlay{font-size:.85rem;line-height:1.4;margin:0;min-height:2.4rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8),0 0 14px rgba(0,0,0,.5);user-select:text}.must-try-overlay:before{content:"Must Try — ";font-weight:700;color:var(--highlight)}.status-happy{color:var(--highlight);text-shadow:0 0 8px rgba(255,115,54,.6),0 0 20px rgba(255,115,54,.3);background:#000;padding:.1rem .7rem;border-radius:8px;display:inline-block;box-shadow:0 0 20px 12px #000000a6}.chip-row{display:flex;gap:.5rem;max-width:480px;width:100%;overflow-x:auto;flex-shrink:0;padding-bottom:.25rem;margin-bottom:.75rem;scrollbar-width:none;-ms-overflow-style:none;position:relative}.chip-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:.35rem .85rem;font-size:.85rem;font-family:inherit;border:1.5px solid var(--border);border-radius:100px;background:var(--bg);color:var(--muted);cursor:pointer;transition:transform .08s,box-shadow .08s,background .15s,color .15s,border-color .15s;user-select:none;line-height:1.4;box-shadow:3px 3px 0 var(--border)}@media(hover:hover){.chip:hover{background:#eee;color:var(--ink);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}}.chip:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--border)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}@media(hover:hover){.chip.active:hover{background:#c04a1a;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}}.chip.active:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--border)}.chip-dropdown{display:flex;flex:0 0 auto;position:relative}#restaurantsLabel{border-radius:100px 0 0 100px;border-right:none}.chip-arrow{padding:.35rem .75rem .35rem .4rem;font-size:.85rem;font-family:inherit;border:1.5px solid var(--border);border-radius:0 100px 100px 0;background:var(--bg);color:var(--muted);cursor:pointer;line-height:1.4;box-shadow:3px 3px 0 var(--border);transition:transform .08s,box-shadow .08s,background .15s,color .15s,border-color .15s;user-select:none;display:flex;align-items:center}@media(hover:hover){.chip-arrow:hover{background:#eee;color:var(--ink);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}}.chip-arrow:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--border)}.chip-arrow.active{background:var(--accent);color:#fff;border-color:var(--accent);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}@media(hover:hover){.chip-arrow.active:hover{background:#c04a1a;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--border)}}.chip-arrow.active:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--border)}.dd-arrow{font-size:.65rem;margin-left:.15rem;transition:transform .15s}.chip-dropdown.open .dd-arrow{transform:rotate(180deg)}.dd-menu{display:none;position:fixed;z-index:100;min-width:180px;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;box-shadow:4px 4px 0 var(--border);overflow:hidden;white-space:nowrap}.chip-dropdown.open .dd-menu{display:block}.dd-item{display:block;width:100%;padding:.45rem 1rem;font-size:.82rem;font-family:inherit;border:none;background:transparent;color:var(--ink);cursor:pointer;text-align:left;transition:background .1s}@media(hover:hover){.dd-item:hover{background:#eee}}.dd-item.active{background:var(--accent);color:#fff}.dd-item+.dd-item{border-top:1px solid var(--border)}.chip-row-fade{position:relative;max-width:480px;width:100%;flex-shrink:0;margin-bottom:.35rem}.chip-row-fade:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2rem;pointer-events:none;background:linear-gradient(to left,var(--bg),transparent);opacity:0;transition:opacity .2s}.chip-row-fade.fade-active:after{opacity:1}.actions{display:flex;gap:.5rem;margin-top:.75rem;width:100%;max-width:480px;flex-shrink:0}.actions .btn{padding:.5rem .4rem;font-size:.82rem;white-space:nowrap}.btn{flex:1;padding:1rem 1.25rem;font-size:1.1rem;font-weight:700;border:2px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;box-shadow:4px 4px 0 var(--border);transition:transform .05s,box-shadow .05s}@media(hover:hover){.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--border)}}#rollBtn{width:100%;max-width:480px;margin-top:.5rem;flex-shrink:0;flex:0 0 auto}.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--border)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#fff;color:var(--ink)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn[disabled]:hover{transform:none;box-shadow:4px 4px 0 var(--border)}.hidden{display:none!important}footer{margin-top:.5rem;text-align:center;color:var(--muted);font-size:.85rem;flex-shrink:0}footer a{color:var(--accent);display:inline-block;padding:14px 8px;margin:-14px -8px}footer a[href="/add-spot"]{text-decoration:underline}
