body{font-family:Arial,Helvetica,sans-serif}@layer utilities{.text-balance{text-wrap:balance}}@layer base{:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: 0.5rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8%}.dark{--background: 0 0% 3.9%;--foreground: 0 0% 98%;--card: 0 0% 3.9%;--card-foreground: 0 0% 98%;--popover: 0 0% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 0 0% 9%;--secondary: 0 0% 14.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 14.9%;--muted-foreground: 0 0% 63.9%;--accent: 0 0% 14.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 0 0% 14.9%;--input: 0 0% 14.9%;--ring: 0 0% 83.1%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 224.3 76.3% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 217.2 91.2% 59.8%}}@layer base{*{@apply border-border}body{@apply bg-background text-foreground}}.vote-container{min-height:100vh;background:linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%)}.vote-header{padding:1.5rem 1rem;background:white;margin-bottom:1.5rem}.vote-title{text-align:center;margin-bottom:1.5rem}.vote-title h2{font-size:1.5rem;font-weight:bold;color:#1f2937;margin-bottom:.5rem}.vote-title p{color:#6b7280}.vote-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.status-badges{display:flex;gap:1rem}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:white}.entry-badge{background:linear-gradient(to right, #3b82f6, #6366f1)}.period-badge{background:linear-gradient(to right, #10b981, #059669)}.selection-tracker{background:rgba(255, 255, 255, 0.8);backdrop-filter:blur(8px);border-radius:1rem;padding:1rem}.tracker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.tracker-label{color:#374151;font-weight:500}.tracker-count{display:flex;align-items:center;gap:.5rem}.count-number{font-size:1.5rem;font-weight:bold;color:#1f2937}.count-total{color:#6b7280}.progress-container{background:#e5e7eb;border-radius:9999px;height:.5rem}.progress-bar{background:linear-gradient(to right, #f59e0b, #ea580c);height:.5rem;border-radius:9999px;transition:all .3s ease;width:0%}.nominations-grid-container{padding:0 1rem 8rem 1rem}.nominations-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1rem}.nomination-card{background:white;border:0;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);border-radius:.75rem;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease}.nomination-card:hover{transform:scale(1.05);box-shadow:0 10px 25px -3px rgba(0, 0, 0, 0.1)}.nomination-card.selected{border:2px solid #f59e0b;box-shadow:0 0 0 3px rgba(245, 158, 11, 0.1)}.selected-indicator{position:absolute;top:.5rem;right:.5rem;z-index:10;width:1.5rem;height:1.5rem;background:linear-gradient(to bottom right, #f59e0b, #ea580c);border-radius:50%;display:none;align-items:center;justify-content:center}.selected-indicator.visible{display:flex}.selected-indicator svg{height:1rem;width:1rem;color:white}.card-image{aspect-ratio:1;position:relative;overflow:hidden;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.card-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.image-placeholder svg{width:3rem;height:3rem;color:#9ca3af}.category-badge{position:absolute;top:.5rem;left:.5rem;background:rgba(255, 255, 255, 0.9);color:#374151;font-size:.75rem;padding:.25rem .5rem;border-radius:9999px;font-weight:500}.card-content{padding:.75rem}.card-title{font-weight:bold;color:#1f2937;font-size:.875rem;margin-bottom:.5rem;line-height:1.25;min-height:2.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{display:flex;align-items:center;font-size:.75rem;color:#6b7280}.detail-item svg{height:.75rem;width:.75rem;margin-right:.25rem;flex-shrink:0}.detail-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.closed-item{color:#ef4444}.nomination-checkbox{display:none}.submit-button-container{position:fixed;bottom:5rem;left:0;right:0;background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(12px);border-top:1px solid rgba(226, 232, 240, 0.5);padding:1rem;display:none}.submit-button-container.visible{display:block}.submit-button{width:100%;background:linear-gradient(to right, #f59e0b, #ea580c);color:white;padding:1rem;font-size:1.125rem;font-weight:bold;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-button:hover{background:linear-gradient(to right, #d97706, #dc2626);box-shadow:0 10px 25px -3px rgba(0, 0, 0, 0.1);transform:translateY(-1px)}.submit-button svg{height:1.25rem;width:1.25rem;transition:transform .3s ease}.submit-button:hover svg{transform:translateX(0.25rem)}.vote-confirm-container{max-width:800px;margin:0 auto;padding:1rem}.confirm-header{text-align:center;margin-bottom:2rem;padding:2rem;background:white;border-radius:1rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.confirm-header h2{font-size:1.5rem;font-weight:bold;color:#1f2937;margin-bottom:.5rem}.subtitle{color:#6b7280}.selected-nominations{background:white;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.selected-nominations h3{font-size:1.25rem;font-weight:bold;color:#1f2937;margin-bottom:1rem}.nominations-list{display:flex;flex-direction:column;gap:1rem}.nomination-confirm-card{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.nomination-image{width:80px;height:80px;border-radius:.5rem;overflow:hidden;flex-shrink:0}.nomination-image img{width:100%;height:100%;object-fit:cover}.nomination-info{flex:1}.nomination-info h4{font-weight:bold;color:#1f2937;margin-bottom:.25rem}.address{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.comment-field{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;min-height:60px}.comment-field:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245, 158, 11, 0.1)}.member-info{background:white;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.member-info h3{font-size:1.25rem;font-weight:bold;color:#1f2937;margin-bottom:1rem}.member-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.member-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0}.member-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg, #f59e0b, #ea580c);display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;font-size:1.5rem}.member-details h4{font-weight:bold;color:#1f2937;margin-bottom:.25rem}.member-details p{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.member-badge{background:linear-gradient(to right, #10b981, #059669);color:white;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.vote-actions{display:flex;gap:1rem;justify-content:center}.confirm-button{background:linear-gradient(to right, #f59e0b, #ea580c);color:white;padding:.75rem 2rem;border-radius:.5rem;font-weight:bold;border:none;cursor:pointer;transition:all .3s ease}.confirm-button:hover{background:linear-gradient(to right, #d97706, #dc2626);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.back-button{background:#6b7280;color:white;padding:.75rem 2rem;border-radius:.5rem;font-weight:bold;text-decoration:none;transition:all .3s ease}.back-button:hover{background:#4b5563;transform:translateY(-1px)}.vote-complete-container{max-width:800px;margin:0 auto;padding:1rem}.complete-header{text-align:center;padding:3rem 2rem;background:white;border-radius:1rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);margin-bottom:2rem}.success-icon{width:4rem;height:4rem;margin:0 auto 1rem;background:linear-gradient(135deg, #10b981, #059669);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:2rem;height:2rem;color:white}.complete-header h2{font-size:1.75rem;font-weight:bold;color:#1f2937;margin-bottom:.5rem}.voted-nominations{background:white;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.voted-nominations h3{font-size:1.25rem;font-weight:bold;color:#1f2937;margin-bottom:1rem}.voted-nomination-card{padding:1rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb}.chef-message{background:white;padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb;display:flex;gap:.75rem}.chef-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0}.chef-avatar img{width:100%;height:100%;object-fit:cover}.chef-content h5{font-weight:bold;color:#1f2937;margin-bottom:.25rem;font-size:.875rem}.chef-content p{color:#6b7280;font-size:.875rem;line-height:1.4}.result-info{background:white;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.info-card h3{font-size:1.25rem;font-weight:bold;color:#1f2937;margin-bottom:.5rem}.info-card p{color:#6b7280;margin-bottom:1rem}.result-date{display:flex;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg, #fef3c7, #fde68a);border-radius:.5rem;border:1px solid #f59e0b}.result-date svg{width:1.25rem;height:1.25rem;color:#d97706;flex-shrink:0}.result-date span{color:#92400e;font-weight:500}.action-buttons{display:flex;gap:1rem;justify-content:center}.primary-button{background:linear-gradient(to right, #f59e0b, #ea580c);color:white;padding:.75rem 2rem;border-radius:.5rem;font-weight:bold;text-decoration:none;transition:all .3s ease}.primary-button:hover{background:linear-gradient(to right, #d97706, #dc2626);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.secondary-button{background:#6b7280;color:white;padding:.75rem 2rem;border-radius:.5rem;font-weight:bold;text-decoration:none;transition:all .3s ease}.secondary-button:hover{background:#4b5563;transform:translateY(-1px)}@media(min-width: 640px){.nominations-grid{grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem}.vote-status{flex-direction:column;gap:1rem}.status-badges{justify-content:center}}@media(min-width: 768px){.submit-button-container{bottom:1rem;left:1rem;right:1rem;max-width:400px;margin:0 auto}.nominations-grid{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}}@media(min-width: 1024px){.nominations-grid{grid-template-columns:repeat(auto-fill, minmax(320px, 1fr))}}@media(min-width: 1280px){.nominations-grid{grid-template-columns:repeat(auto-fill, minmax(280px, 1fr))}}@media(min-width: 1536px){.nominations-grid{grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}}@media(max-width: 640px){.vote-header{padding:1rem}.nomination-confirm-card{flex-direction:column}.nomination-image{width:100%;height:120px}.vote-actions{flex-direction:column}.confirm-button,.back-button{width:100%;text-align:center}.action-buttons{flex-direction:column}.primary-button,.secondary-button{width:100%;text-align:center}.chef-message{flex-direction:column}.chef-avatar{align-self:center}}.progress-bar-width{width:33%}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.restaurant-grid{grid-template-columns:repeat(2, 1fr);gap:.75rem}@media(min-width: 640px){.restaurant-grid{grid-template-columns:repeat(3, 1fr);gap:1rem}}@media(min-width: 1024px){.restaurant-grid{grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1280px){.restaurant-grid{grid-template-columns:repeat(5, 1fr)}}@media(min-width: 1536px){.restaurant-grid{grid-template-columns:repeat(6, 1fr)}}.restaurant-card{border-radius:.75rem;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.restaurant-card.ring-2{box-shadow:0 0 0 2px #f59e0b}.restaurant-card:hover:not(.ring-2){transform:scale(1.05)}.restaurant-card.ring-2{transform:scale(1.05)}.pb-32{padding-bottom:8rem}@media(display-mode: standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.turbo-progress-bar{background:linear-gradient(to right, #f59e0b, #ea580c)}@keyframes pulse-success{0%,100%{opacity:1}50%{opacity:.8}}.animate-pulse-success{animation:pulse-success 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.btn-touch{min-height:44px;min-width:44px}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@supports not (backdrop-filter: blur(12px)){.backdrop-blur-md{background-color:hsla(0,0%,100%,.95)}}.intersection-sentinel{pointer-events:none;user-select:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif}body{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;line-height:1.6;color:#1f2937}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-app-layout{min-height:100vh;background:linear-gradient(to bottom right, #f8fafc, #ffffff, rgba(251, 191, 36, 0.3))}.my-app-header{background-color:rgba(255, 255, 255, 0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226, 232, 240, 0.5);position:sticky;top:0;z-index:50}.my-app-nav{position:fixed;bottom:0;left:0;right:0;background-color:rgba(255, 255, 255, 0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(226, 232, 240, 0.5);z-index:50}.restaurant-grid{grid-template-columns:repeat(2, 1fr);gap:.75rem}@media(min-width: 640px){.restaurant-grid{grid-template-columns:repeat(3, 1fr);gap:1rem}}@media(min-width: 1024px){.restaurant-grid{grid-template-columns:repeat(4, 1fr)}}@media(min-width: 1280px){.restaurant-grid{grid-template-columns:repeat(5, 1fr)}}@media(min-width: 1536px){.restaurant-grid{grid-template-columns:repeat(6, 1fr)}}.restaurant-card{border-radius:.75rem;&.ring-2{box-shadow:0 0 0 2px #f59e0b}transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);&:hover:not(.ring-2){transform:scale(1.05)}&.ring-2{transform:scale(1.05)}}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@supports not (backdrop-filter: blur(12px)){.backdrop-blur-md{background-color:rgba(255, 255, 255, 0.95) !important}}.turbo-progress-bar{background:linear-gradient(to right, #f59e0b, #ea580c)}@keyframes pulse-success{0%,100%{opacity:1}50%{opacity:.8}}.animate-pulse-success{animation:pulse-success 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.btn-touch{min-height:44px;min-width:44px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-spinner{display:inline-flex;align-items:center}.loading-spinner svg{animation:spin 1s linear infinite;margin-right:.75rem;height:1.25rem;width:1.25rem;color:#f59e0b}.loading-spinner span{color:#64748b}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media(display-mode: standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.intersection-sentinel{pointer-events:none;user-select:none}.pb-32{padding-bottom:8rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.pt-6{padding-top:1.5rem}.pb-6{padding-bottom:1.5rem}.pb-20{padding-bottom:5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-6>*+*{margin-top:1.5rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.bg-white{background-color:#fff}.bg-slate-50{background-color:#f8fafc}.bg-slate-100{background-color:#f1f5f9}.bg-slate-200{background-color:#e2e8f0}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(239, 246, 255, 0))}.to-indigo-50{--tw-gradient-to: #eef2ff}.from-amber-50{--tw-gradient-from: #fffbeb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 251, 235, 0))}.to-orange-50{--tw-gradient-to: #fff7ed}.from-purple-50{--tw-gradient-from: #faf5ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250, 245, 255, 0))}.to-indigo-50{--tw-gradient-to: #eef2ff}.from-amber-500{--tw-gradient-from: #f59e0b;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(245, 158, 11, 0))}.to-orange-500{--tw-gradient-to: #f97316}.from-amber-600{--tw-gradient-from: #d97706;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0))}.to-orange-600{--tw-gradient-to: #ea580c}.from-slate-400{--tw-gradient-from: #94a3b8;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(148, 163, 184, 0))}.to-slate-600{--tw-gradient-to: #475569}.from-purple-500{--tw-gradient-from: #8b5cf6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(139, 92, 246, 0))}.from-blue-600{--tw-gradient-from: #2563eb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0))}.to-indigo-600{--tw-gradient-to: #4f46e5}.to-indigo-700{--tw-gradient-to: #4338ca}.from-yellow-400{--tw-gradient-from: #facc15;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250, 204, 21, 0))}.to-yellow-600{--tw-gradient-to: #ca8a04}.from-gray-300{--tw-gradient-from: #d1d5db;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(209, 213, 219, 0))}.to-gray-500{--tw-gradient-to: #6b7280}.from-amber-600{--tw-gradient-from: #d97706;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0))}.to-amber-800{--tw-gradient-to: #92400e}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-slate-100{border-color:#f1f5f9}.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}.border-blue-200{border-color:#bfdbfe}.border-purple-200{border-color:#e9d5ff}.border-amber-200{border-color:#fde68a}.border-amber-300{border-color:#fcd34d}.border-red-300{border-color:#fca5a5}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04)}.w-full{width:100%}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-8{width:2rem}.w-6{width:1.5rem}.w-5{width:1.25rem}.w-2{width:.5rem}.w-9{width:2.25rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-8{height:2rem}.h-6{height:1.5rem}.h-5{height:1.25rem}.h-4{height:1rem}.h-3{height:.75rem}.h-2{height:.5rem}.h-10{height:2.5rem}.h-auto{height:auto}.min-w-0{min-width:0px}.min-h-screen{min-height:100vh}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-white{color:#fff}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}.text-blue-900{color:#1e3a8a}.text-amber-600{color:#d97706}.text-amber-700{color:#b45309}.text-amber-800{color:#92400e}.text-amber-900{color:#78350f}.text-purple-600{color:#9333ea}.text-purple-700{color:#7c3aed}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-red-700{color:#b91c1c}.hover\:bg-slate-50:hover{background-color:#f8fafc}.hover\:bg-slate-100:hover{background-color:#f1f5f9}.hover\:bg-red-50:hover{background-color:#fef2f2}.hover\:text-slate-700:hover{color:#334155}.hover\:from-amber-600:hover{--tw-gradient-from: #d97706}.hover\:to-orange-600:hover{--tw-gradient-to: #ea580c}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-200{transition-duration:200ms}.duration-300{transition-duration:300ms}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky{position:sticky}.fixed{position:fixed}.relative{position:relative}.absolute{position:absolute}.top-0{top:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.z-50{z-index:50}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.divide-y>*+*{border-top-width:1px}.divide-slate-100>*+*{border-color:#f1f5f9}.first\:rounded-t-2xl:first-child{border-top-left-radius:1rem;border-top-right-radius:1rem}.last\:rounded-b-2xl:last-child{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.bg-gradient-to-br.from-slate-50.via-white.to-amber-50{background:linear-gradient(to bottom right, #f8fafc, #ffffff, rgba(251, 191, 36, 0.3))}.my-app-nav .flex.flex-col.items-center{padding:.5rem .25rem;border-radius:.75rem;transition:all .2s}.my-app-nav .flex.flex-col.items-center.bg-gradient-to-br{background:linear-gradient(to bottom right, #fffbeb, #fff7ed)}a.block.w-full.bg-gradient-to-r{display:block;width:100%;background:linear-gradient(to right, #f59e0b, #f97316);color:white;padding:1.5rem;font-size:1.125rem;font-weight:700;border-radius:1rem;box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);transition:all .3s;text-align:center;text-decoration:none}a.block.w-full.bg-gradient-to-r:hover{background:linear-gradient(to right, #d97706, #ea580c);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1)}.vote-header{padding:1.5rem 1rem;background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226, 232, 240, 0.5);margin-bottom:1rem}.vote-title h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.vote-title p{color:#64748b;font-size:.875rem}.vote-status{margin:1rem 0}.status-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:500}.entry-badge{background-color:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.period-badge{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.selection-tracker{margin-top:1rem;padding:1rem;background-color:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.tracker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tracker-label{font-size:.875rem;font-weight:500;color:#475569}.tracker-count{display:flex;align-items:center;gap:.25rem}.count-number{font-size:1.125rem;font-weight:700;color:#f59e0b}.count-total{font-size:.875rem;color:#64748b}.progress-container{width:100%;height:.5rem;background-color:#e2e8f0;border-radius:9999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(to right, #f59e0b, #f97316);border-radius:9999px;transition:width .3s ease;width:0%}.restaurant-container{padding:0 1rem 6rem 1rem}.restaurant-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:.75rem}@media(min-width: 640px){.restaurant-grid{grid-template-columns:repeat(3, 1fr);gap:1rem}}@media(min-width: 1024px){.restaurant-grid{grid-template-columns:repeat(4, 1fr)}}.restaurant-card{position:relative;background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.restaurant-card:hover:not(.ring-2){transform:scale(1.05);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1)}.restaurant-card.ring-2{transform:scale(1.05);box-shadow:0 0 0 2px #f59e0b,0 10px 15px -3px rgba(0, 0, 0, 0.1)}.selected-indicator{position:absolute;top:.5rem;right:.5rem;width:1.5rem;height:1.5rem;background-color:#f59e0b;border-radius:9999px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0.8);transition:all .2s;z-index:10}.selected-indicator.visible{opacity:1;transform:scale(1)}.selected-indicator svg{width:1rem;height:1rem;color:#fff;stroke-width:3}.card-image{position:relative;width:100%;height:8rem;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;background-color:#f1f5f9;display:flex;align-items:center;justify-content:center}.image-placeholder svg{width:2rem;height:2rem;color:#94a3b8}.category-badge{position:absolute;bottom:.5rem;left:.5rem;background-color:rgba(0, 0, 0, 0.7);color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.card-content{padding:1rem}.card-title{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.75rem;line-height:1.25}.card-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.detail-item svg{width:.875rem;height:.875rem;flex-shrink:0}.closed-item{color:#dc2626}.closed-item svg{color:#dc2626}.restaurant-checkbox{display:none}.submit-button-container{position:fixed;bottom:6rem;left:1rem;right:1rem;z-index:40;opacity:0;transform:translateY(100%);transition:all .3s ease}.submit-button-container.visible{opacity:1;transform:translateY(0)}.submit-button{width:100%;background:linear-gradient(to right, #f59e0b, #f97316);color:#fff;padding:1rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);transition:all .3s}.submit-button:hover{background:linear-gradient(to right, #d97706, #ea580c);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1)}.submit-button svg{width:1.25rem;height:1.25rem}
