/*! {© 2025 Restaurant Mate, ALL RIGHTS RESERVED} */:root{--bg:#0b0b12;--card:#121221;--muted:#9aa0a6;--text:#f8f9fa;--accent1:#ff4d8d;--accent2:#7c4dff;--accent3:#00d4ff;--chip:#23233a;--shadow:0 10px 30px rgba(0,0,0,.35);--radius:18px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 800px at 10% -10%,rgba(255,77,141,.25),transparent 60%),radial-gradient(1200px 800px at 110% 10%,rgba(124,77,255,.25),transparent 60%),linear-gradient(180deg,#0b0b12,#0b0b12 40%,#0a0a15 100%);background-attachment:fixed}header{padding:28px 20px 10px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.5px}.brand .heart{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent1),var(--accent2));display:grid;place-items:center;box-shadow:var(--shadow)}.brand .heart svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.container{max-width:1100px;margin:0 auto;padding:10px 20px 80px}.hero{margin-top:12px;display:grid;gap:18px;grid-template-columns:1.2fr .8fr;align-items:stretch}@media (max-width:900px){.hero{grid-template-columns:1fr}}.panel{background:linear-gradient(180deg,rgba(255,77,141,.08),rgba(124,77,255,.05)),var(--card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow)}.panel .p{padding:18px}.title{font-size:clamp(22px, 3.6vw, 42px);line-height:1.05;font-weight:900}.subtitle{color:var(--muted);margin-top:8px}.controls{display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}@media (max-width:900px){.controls{grid-template-columns:1fr}}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}button,input[type=number],input[type=range],select{width:100%;padding:14px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#121222;color:var(--text);outline:0;transition:.2s ease;box-shadow:inset 0 0 0 9999px rgba(255,255,255,.02)}button:focus,input:focus,select:focus{box-shadow:0 0 0 3px rgba(124,77,255,.35);border-color:rgba(124,77,255,.55)}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;cursor:pointer;font-weight:700;letter-spacing:.3px;background:linear-gradient(135deg,var(--accent1),var(--accent2));border:none;box-shadow:0 10px 20px rgba(255,77,141,.2),0 8px 22px rgba(124,77,255,.25)}.btn.secondary{background:linear-gradient(135deg,#1b1b2d,#1b1b2d);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.row{display:flex;gap:12px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9999px;background:var(--chip);color:#d1d5db;font-size:12px;border:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.results{margin-top:22px}.results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media (max-width:700px){.grid{grid-template-columns:1fr}}.card{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(124,77,255,.08),rgba(255,77,141,.04)),#131326;box-shadow:var(--shadow);transition:transform .35s ease,opacity .35s ease}.card .media{height:140px;background:radial-gradient(400px 140px at 0 0,rgba(255,77,141,.35),transparent),radial-gradient(400px 140px at 100% 100%,rgba(124,77,255,.35),transparent),linear-gradient(180deg,#1a1a2f,#141428);display:grid;place-items:center;font-size:46px}.card .body{padding:14px 14px 16px}.card .website{display:block;margin-top:4px}.name{font-weight:800;font-size:18px}.meta{color:var(--muted);font-size:13px;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.match{position:absolute;top:10px;left:10px;padding:6px 10px;background:rgba(0,0,0,.55);border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(4px)}.wish{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.35);border-radius:9999px;padding:8px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:.2s}.footer{display:flex;gap:10px}.footer .btn{flex:1}.note{color:var(--muted);font-size:12px;margin-top:6px}.hidden{display:none!important}.website a{text-decoration:none;color:var(--accent3)}.super-match{background:linear-gradient(135deg,#ff4d8d,#7c4dff);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 0 6px rgba(255,77,141,.6)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);color:#fff;display:grid;place-items:center;font-size:28px;z-index:9999}.swipe-left{transform:translateX(-120%) rotate(-12deg);opacity:0;z-index:11;transition:transform .35s ease,opacity .35s ease}.swipe-right{transform:translateX(120%) rotate(12deg);opacity:0;z-index:11;transition:transform .35s ease,opacity .35s ease}.stacked-grid{position:relative;width:100%;max-width:1100px;margin:0 auto;height:500px}.stacked-grid .card{position:absolute;top:0;left:0;right:0;margin:auto;width:100%;max-width:500px;border-radius:var(--radius);transition:transform .35s ease,opacity .35s ease;will-change:transform,opacity;box-shadow:var(--shadow)}.stacked-grid .card:first-child{z-index:10}.stacked-grid .card:nth-child(2){z-index:9;transform:translateY(12px) scale(.98);opacity:.9;transition:transform .35s ease,opacity .35s ease}.stacked-grid .card:nth-child(n+3){z-index:8;transform:translateY(0) scale(.96);opacity:0}.centered-btn-container{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:999;display:flex;justify-content:center;align-items:center;margin:30px 0;width:100%}#selectedBtn{text-align:center;justify-content:center;transition:width .3s ease,background-color .2s ease,box-shadow .2s ease;max-width:90vw;box-sizing:border-box}#selectedBtn.btn{background-color:var(--accent,#7c4dff);color:#fff;margin:0 auto;display:inline-flex!important;border:none;border-radius:6px;font-size:14px;padding:10px 18px;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.15);transition:background-color .2s ease}#selectedBtn.btn:hover{background-color:#6b3de0}@media (max-width:480px){#selectedBtn{width:100%;max-width:100%}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:999}.modal-overlay.show{opacity:1;visibility:visible}.selected-modal{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);width:95%;max-width:480px;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.25);opacity:0;transition:transform .4s ease,opacity .4s ease;z-index:1000;font-family:system-ui,"Segoe UI",Roboto,sans-serif;border-top:4px solid var(--accent,#7c4dff)}.selected-modal.show{transform:translateX(-50%) translateY(0);opacity:1}.selected-modal .modal-inner{padding:20px 24px;position:relative}.selected-modal h3{margin:0 0 12px;font-size:18px;font-weight:700;color:#333;text-align:center}#closeListBtn{position:absolute;top:10px;right:14px;background:0 0;border:none;font-size:22px;cursor:pointer;color:#aaa;transition:color .2s ease}#closeListBtn:hover{color:#7c4dff}#selectedList{list-style:none;margin:0;padding:0;max-height:250px;overflow-y:auto;border-top:1px solid #eee;border-bottom:1px solid #eee;font-family:system-ui,"Segoe UI",Roboto,sans-serif}#selectedList li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f3f3}.restaurant-name{flex:1;margin-right:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#selectedList a{color:#7c4dff;font-weight:600;text-decoration:none}#selectedList a:hover{text-decoration:underline}.delete-btn{flex-shrink:0;background:0 0;border:none;cursor:pointer;color:#ff4d4d;font-size:18px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;line-height:1;margin-left:0;border-radius:3px;transition:transform .2s ease,color .2s ease,background-color .2s ease}.delete-btn:hover{transform:scale(1.2);color:#e60000;background-color:rgba(255,77,77,.1)}.modal-actions{text-align:center;margin-top:16px}.modal-actions button{background-color:var(--accent,#7c4dff);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.modal-actions button:hover{background-color:#6b3de0}