:root{--yellow:#ffe000;--yellow-bright:#fff44d;--yellow-dark:#e0c200;--black:#0a0a0a;--surface:#1a1a1a;--surface-2:#242424;--white:#fff;--muted:#b8b8b8;--border:#3a3a3a;--success:#4ade80;--danger:#ff5c5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0%, #ffe0001f 0%, transparent 45%), radial-gradient(circle at 100% 30%, #ffe00014 0%, transparent 40%), var(--black);color:var(--white);min-height:100vh;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--yellow)}button{cursor:pointer;font-family:inherit}.app-nav{border-bottom:1px solid var(--border);z-index:10;background:#000;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 24px;display:grid;position:sticky;top:0}.app-nav .nav-side{align-items:center;display:flex}.app-nav .nav-side:last-child{justify-content:flex-end}.app-nav .brand-block{text-align:center;flex-direction:column;justify-self:center;align-items:center;line-height:1.1;text-decoration:none;display:flex}.app-nav .brand{color:var(--yellow);text-shadow:0 0 18px #ffe00080;font-size:1.3rem;font-weight:800}.app-nav .tagline{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:600}.app-nav .links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.app-nav .links a,.app-nav .links button{color:var(--white);background:0 0;border:none;border-radius:20px;padding:8px 14px;font-size:.92rem;font-weight:600;text-decoration:none}.app-nav .links a.active,.app-nav .links a:hover,.app-nav .links button:hover{background:var(--surface);color:var(--yellow)}.logout-mobile,.bottom-nav{display:none}@media (width<=640px){.app-nav{padding:8px 14px}.app-nav .brand{font-size:1.05rem}.app-nav .tagline{font-size:.56rem}.app-nav .links{display:none}.logout-mobile{color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:16px;padding:6px 12px;font-size:.76rem;font-weight:600;display:inline-flex}body{padding-bottom:64px}.bottom-nav{border-top:1px solid var(--border);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:20;background:#000;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:.65rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--yellow)}.bottom-nav-icon{font-size:1.3rem;line-height:1}}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:32px 20px 60px}.page.narrow{max-width:440px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 4px 24px #ffe0000f}h1,h2,h3{color:var(--white);margin-top:0}.subtitle{color:var(--muted);margin-top:-8px;margin-bottom:20px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--white);font-size:.88rem;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--border);background:var(--surface-2);color:var(--white);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}.field input::placeholder,.field textarea::placeholder{color:#777}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--yellow);border-color:var(--yellow)}.btn{background:var(--yellow);color:#111;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:800;transition:transform .1s,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 0 #ffe00000}.btn:hover{background:var(--yellow-bright);box-shadow:0 0 20px #ffe00073}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn.secondary{color:var(--yellow);border:1.5px solid var(--yellow);background:0 0}.btn.secondary:hover{background:#ffe0001a;box-shadow:0 0 16px #ffe00040}.btn.ghost{color:var(--muted);border:1.5px solid var(--border);background:0 0}.btn.ghost:hover{background:var(--surface-2);color:var(--white);box-shadow:none}.btn.block{width:100%}.error-banner{color:var(--danger);background:#ff5c5c1f;border:1px solid #ff5c5c66;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.pill{color:var(--yellow);background:#ffe0001f;border:1px solid #ffe00059;border-radius:20px;align-items:center;padding:5px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill-toggle{border:1.5px solid var(--border);background:var(--surface-2);color:var(--white);border-radius:20px;padding:8px 16px;font-size:.88rem;font-weight:600}.pill-toggle.selected{background:var(--yellow);border-color:var(--yellow);color:#111;box-shadow:0 0 14px #ffe00066}.score-badge{background:linear-gradient(135deg, var(--yellow), #ff9d00);color:#111;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 0 16px #ffe00059}.score-badge-high{padding:8px 18px;font-size:1.1rem;transform:scale(1.05);box-shadow:0 0 26px #ffe000a6}.score-badge-perfect{background:linear-gradient(120deg, #fff6cf, var(--yellow), #ff9d00, var(--yellow), #fff6cf);background-size:300% 300%;padding:8px 18px;font-size:1.1rem;animation:1.3s ease-in-out infinite foodie-flash}@keyframes foodie-flash{0%,to{background-position:0%;box-shadow:0 0 14px #ffe00080}50%{background-position:100%;box-shadow:0 0 40px #ffe000}}@media (width<=640px){.score-badge{padding:4px 10px;font-size:.76rem}.score-badge-high,.score-badge-perfect{padding:5px 12px;font-size:.84rem;transform:none}}.swipe-card{text-align:left}.swipe-card .avatar{background:linear-gradient(135deg, #ff9d00, var(--yellow));color:#111;border-radius:14px;justify-content:center;align-items:center;width:100%;height:220px;margin-bottom:16px;font-size:4rem;font-weight:800;display:flex}.swipe-actions{gap:14px;margin-top:20px;display:flex}.swipe-actions .btn{flex:1;padding:14px;font-size:1.05rem}.empty-state{text-align:center;color:var(--muted);padding:60px 20px}.list-item{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:14px;padding:14px 0;text-decoration:none;display:flex}.list-item:last-child{border-bottom:none}.list-item .avatar-sm{background:linear-gradient(135deg, #ff9d00, var(--yellow));color:#111;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-weight:800;display:flex}.list-item .meta{flex:1}.list-item .meta h3{color:var(--white);margin:0 0 2px;font-size:1rem}.list-item .meta p{color:var(--muted);margin:0;font-size:.85rem}.restaurant-card{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;display:flex}.restaurant-card h4{color:var(--white);margin:0 0 4px}.restaurant-card p{color:var(--muted);margin:0;font-size:.85rem}.filter-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.filter-row select{border:1px solid var(--border);background:var(--surface-2);color:var(--white);border-radius:10px;padding:8px 12px}.status-tag{text-transform:capitalize;border-radius:12px;padding:4px 10px;font-size:.78rem;font-weight:700}.status-tag.proposed{color:var(--yellow);background:#ffe00026}.status-tag.confirmed{color:var(--success);background:#4ade8026}.status-tag.declined{color:var(--danger);background:#ff5c5c26}.status-tag.cancelled{color:var(--muted);background:#ffffff14}.date-locked-card{border:1.5px solid var(--yellow);background:#ffe00014;border-radius:14px;align-items:flex-start;gap:16px;padding:16px;display:flex}.date-locked-card.confirmed{border-color:var(--success);background:#4ade8014}.date-locked-icon{font-size:1.8rem;line-height:1}.date-locked-info{flex:1;min-width:0}.date-locked-info .status-tag{margin-bottom:6px;display:inline-block}.date-locked-info h3{color:var(--white);margin:0 0 4px}.date-locked-info p{color:var(--muted);margin:0;font-size:.85rem}.date-locked-time{font-weight:600;color:var(--white)!important;margin-top:4px!important}.chat-messages{flex-direction:column;gap:8px;max-height:320px;padding:4px 2px;display:flex;overflow-y:auto}.chat-empty{color:var(--muted);text-align:center;padding:20px 0}.chat-bubble{word-break:break-word;border-radius:16px;max-width:75%;padding:10px 14px;font-size:.92rem;line-height:1.35}.chat-bubble.mine{background:var(--yellow);color:#111;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.theirs{background:var(--surface-2);color:var(--white);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-row{gap:8px;margin-top:12px;display:flex}.chat-input-row input{border:1px solid var(--border);background:var(--surface-2);color:var(--white);border-radius:20px;flex:1;padding:10px 14px}.chat-limit-banner{color:var(--muted);text-align:center;margin:8px 0 0;font-size:.8rem}.chat-locked-banner{border:1px solid var(--border);text-align:center;color:var(--yellow);background:#ffe0001a;border-radius:12px;margin-top:12px;padding:12px;font-weight:700}.notification-bell{align-items:center;display:flex;position:relative}.notification-bell-btn{background:0 0;border:none;padding:6px;font-size:1.25rem;line-height:1;position:relative}.notification-badge{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:800;display:flex;position:absolute;top:-2px;right:-2px}.notification-panel{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:14px;width:320px;max-width:calc(100vw - 32px);max-height:420px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}.notification-panel-header{color:var(--white);justify-content:space-between;align-items:center;padding:8px 10px;font-size:.9rem;font-weight:800;display:flex}.notification-mark-all{color:var(--yellow);background:0 0;border:none;font-size:.78rem;font-weight:700}.notification-empty{color:var(--muted);text-align:center;margin:0;padding:24px 12px;font-size:.88rem}.notification-item{text-align:left;width:100%;color:var(--white);background:0 0;border:none;border-radius:10px;align-items:flex-start;gap:8px;padding:10px;display:flex}.notification-item:hover{background:var(--surface-2)}.notification-item.unread{background:#ffe0000f}.notification-dot{background:var(--yellow);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-dot-hidden{background:0 0}.notification-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notification-item-text{overflow-wrap:break-word;font-size:.88rem;line-height:1.35}.notification-item-time{color:var(--muted);font-size:.74rem}@media (width<=640px){.notification-panel{width:auto;max-width:none;position:fixed;top:60px;left:16px;right:16px}}.centered-loader{color:var(--muted);justify-content:center;align-items:center;padding:80px 0;display:flex}.slider-row{align-items:center;gap:12px;display:flex}.slider-row input[type=range]{accent-color:var(--yellow);flex:1}.slider-value{color:var(--yellow);text-align:center;min-width:24px;font-weight:800}.auth-tabs{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.hero-title{text-align:center;margin-bottom:24px}.hero-title .logo{filter:drop-shadow(0 0 16px #ffe00080);font-size:2.4rem}.date-card-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.safety-actions{gap:8px;display:flex}.safety-actions .btn{padding:6px 14px;font-size:.8rem}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.checkbox-row{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:16px;font-size:.88rem;display:flex}.checkbox-row input[type=checkbox]{accent-color:var(--yellow);width:16px;height:16px}.toast{color:var(--success);background:#4ade801f;border:1px solid #4ade8066;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:.88rem}.legal-content h2{margin-top:24px;margin-bottom:8px;font-size:1.05rem}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{color:var(--muted);line-height:1.6}.legal-content ul{padding-left:20px}.app-footer{text-align:center;color:var(--muted);padding:20px;font-size:.78rem}.app-footer a{color:var(--muted);margin:0 8px}.app-footer a:hover{color:var(--yellow)}.terms-row{color:var(--muted);cursor:pointer;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:.85rem;display:flex}.terms-row input[type=checkbox]{accent-color:var(--yellow);flex-shrink:0;width:16px;height:16px;margin-top:2px}.terms-row a{color:var(--yellow)}.avatar-photo{object-fit:cover;flex-shrink:0;display:block}.avatar.avatar-photo{background:0 0}.avatar-fallback{background:linear-gradient(135deg, #ff9d00, var(--yellow));color:#111;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.profile-photo-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.file-input-label{cursor:pointer;display:inline-flex}.file-input-label input[type=file]{display:none}.photo-hint{margin-top:8px;margin-bottom:0;font-size:.78rem}
