.login-page{display:flex;height:100vh;font-family:Segoe UI,sans-serif;background:linear-gradient(to bottom right,#ffe3b3,#fff3e0);position:relative}.login-left{flex:1;padding:3rem;display:flex;flex-direction:column;justify-content:center;margin-top:-10rem}.nogroup-left{flex:1;padding:3rem;display:flex;flex-direction:column;justify-content:center;margin-top:-21rem}.page-title{font-size:2.5rem;color:#e76f51;margin-bottom:.5rem;font-weight:700}.brand-title{font-size:2.5rem;color:#e76f51;margin-bottom:.5rem}.brand-tagline{font-weight:700;color:#d35400;margin-bottom:.25rem}.brand-help{margin-bottom:2rem;font-size:1rem;color:#555}.login-form input{display:block;width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}.login-button{background-color:#e76f51;color:#fff;border:none;padding:.75rem;width:100%;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.login-button:hover{background-color:#d35400}.error{color:red;font-size:.9rem;margin-top:.5rem}.signup-text{margin-top:1.5rem;font-size:.95rem;color:#555}.signup-button{background-color:#2a9d8f;color:#fff;padding:.5rem 1rem;margin-top:.5rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background-color .2s ease}.signup-button:hover{background-color:#21867a}.login-right{flex:1;background:#fff3;padding:3rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.mascot{max-width:250px;margin-bottom:2rem}.steps-box{background-color:#fffbe6;border-radius:12px;padding:1.5rem;font-size:1rem;box-shadow:0 2px 8px #0000001a}.step-icon{margin-right:.5rem}@media (prefers-color-scheme: dark){.login-page{background:linear-gradient(to bottom right,#1e1e1e,#2c2c2c)}.login-left,.login-right,.brand-title,.brand-tagline,.brand-help,.signup-text,.error,.page-title{color:#f1f1f1}.login-form input{background-color:#333;border:1px solid #666;color:#f1f1f1}.signup-button{background-color:#2a9d8f;color:#fff}.signup-button:hover{background-color:#21867a}.steps-box{background-color:#2a2a2a}.steps-box p{color:#f1f1f1}.step-icon{color:#f4a261}}.logout-wrap button{max-width:200px;padding:.5rem 1rem;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-wrap{position:absolute;top:1rem;left:1rem;z-index:100;display:flex;justify-content:flex-start;align-items:center;max-width:none;width:auto}.logout-inline{margin-top:.5rem;margin-bottom:2rem}.powered-by{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#666;opacity:.85}.powered-logo{width:28px;height:28px;-o-object-fit:contain;object-fit:contain;border-radius:4px}@media (prefers-color-scheme: dark){.powered-by{color:#ddd}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:#fffef8;color:#333;padding:2rem;border-radius:12px;max-width:400px;width:90%;box-shadow:0 5px 15px #0000004d}.modal-content input,.modal-content textarea{width:100%;padding:.75rem;margin-bottom:1rem;border-radius:8px;border:1px solid #ccc;font-size:1rem;box-sizing:border-box}.modal-content textarea{resize:vertical}.modal-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;flex-wrap:wrap}.modal-buttons .primary,.modal-buttons .secondary{min-width:120px;padding:.6rem 1.2rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;border:none;transition:background-color .2s ease}.modal-buttons .primary{background-color:#e76f51;color:#fff}.modal-buttons .primary:hover{background-color:#d35400}.modal-buttons .secondary{background-color:#2a9d8f;color:#fff}.modal-buttons .secondary:hover{background-color:#21867a}.error-text{color:red;margin-top:.5rem;font-size:.9rem}.success-text{color:green;margin-top:.5rem;font-size:.9rem}@media (prefers-color-scheme: dark){.modal-content{background-color:#2c2c2c;color:#f5f5f5}.modal-content input,.modal-content textarea{background-color:#3a3a3a;color:#f5f5f5;border:1px solid #666}.modal-buttons .primary{background-color:#f2856f}.modal-buttons .primary:hover{background-color:#e46a48}.modal-buttons .secondary{background-color:#42b7a0}.modal-buttons .secondary:hover{background-color:#329f89}}.forgot-link{margin-top:1rem;background:none;border:none;color:#d35400;text-decoration:underline;cursor:pointer;font-size:.95rem}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer}.forgot-modal{position:relative;padding:2rem;border-radius:12px;background-color:#fffdf7;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.forgot-modal h2{margin-top:0}.success-text{margin-top:1rem;color:green}.error-text{margin-top:1rem;color:red}.spinner-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff9;display:flex;align-items:center;justify-content:center;z-index:1000}.spinner{border:8px solid #f3f3f3;border-top:8px solid #e76f51;border-radius:50%;width:60px;height:60px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.group-lobby{padding:2rem;font-family:Segoe UI,sans-serif;background:linear-gradient(to bottom right,#ffe3b3,#fff3e0);min-height:100vh}.main-header{display:flex;flex-direction:column;align-items:flex-start}.header-row{margin-bottom:.5rem}.logout-wrap{margin-bottom:1.5rem}.group-title{font-size:2rem;font-weight:700;margin:0}.current-group-name{font-size:1.2rem;margin-bottom:1.5rem;color:#2a2a96}.group-selector-wrap{margin-bottom:1rem}.group-selector{margin-top:.25rem;display:block}.button-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.create-button,.invite-button,.randomize-button,.button-row button{background-color:#e76f51;color:#fff;padding:.5rem 1rem;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.create-button:hover,.invite-button:hover,.randomize-button:hover,.button-row button:hover{background-color:#d35400}.group-members{margin-bottom:2rem}.restaurant-cards{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.restaurant-card{width:300px;border-radius:8px;border:2px solid transparent;box-shadow:0 2px 8px #0000001a;overflow:hidden;background-color:#fff;transition:border .2s ease;position:relative}.restaurant-card.voted{border-color:green}.restaurant-card.winner:before{content:"🥇";position:absolute;bottom:.5rem;right:.5rem;font-size:1.5rem;z-index:2}.restaurant-image{width:100%;height:180px;-o-object-fit:cover;object-fit:cover;display:block;cursor:pointer}.restaurant-details{padding:.75rem}.restaurant-name{font-weight:700;font-size:1.1rem;color:#2a2a96;text-decoration:none}.restaurant-name:hover{text-decoration:underline}.restaurant-address,.restaurant-phone{margin:.25rem 0;font-size:.9rem}@media (prefers-color-scheme: dark){.group-lobby{background:linear-gradient(to bottom right,#1e1e1e,#2c2c2c);color:#f1f1f1}.group-title,.current-group-name,.restaurant-name,.restaurant-address,.restaurant-phone{color:#f1f1f1}.group-selector{background-color:#333;color:#f1f1f1;border:1px solid #666}.create-button,.invite-button,.randomize-button,.button-row button{background-color:#2a9d8f}.create-button:hover,.invite-button:hover,.randomize-button:hover,.button-row button:hover{background-color:#21867a}.restaurant-card{background-color:#3a3a3a}.delete-button{background-color:#c00;color:#fff;border:none;padding:.6rem 1rem;border-radius:5px;cursor:pointer}.leave-button{background-color:#d35400;color:#fff;border:none;padding:.6rem 1rem;border-radius:5px;cursor:pointer}}/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}.absolute{position:absolute}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.aspect-\[4\/3\]{aspect-ratio:4/3}.min-h-screen{min-height:100vh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.shadow-\[0_0_20px_5px_\#39ff14\]{--tw-shadow:0 0 20px 5px var(--tw-shadow-color,#39ff14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.card-container{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:2rem;display:flex}.card{cursor:pointer;background-color:#fff;border:1px solid #ccc;border-radius:.5rem;width:300px;transition:transform .2s;position:relative;overflow:hidden}.card:hover{transform:scale(1.05)}.card img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%}.card .info{text-align:center;padding:1rem}.card .info h2{color:#1f2937;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.card .info p{color:#4b5563;font-size:.875rem}.card .medal{font-size:1.25rem;position:absolute;top:.5rem;right:.5rem}.card.voted{border:2px solid #39ff14;box-shadow:0 0 20px 5px #39ff14}.card.voted:hover{transform:scale(1.08)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}
