*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#1f2937}#root{min-height:100vh}.app-header{display:flex;align-items:center;padding:1rem 2rem;gap:1.5rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.app-logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#f87171;text-decoration:none}.app-logo-icon{width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#f87171,#fb923c);border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 6px #f871714d}.app-nav{display:flex;gap:.75rem;flex:1}.nav-link{padding:.5rem 1rem;border-radius:.5rem;background:#fff;border:1px solid #e5e7eb;color:#374151;text-decoration:none;font-weight:500;transition:all .2s;box-shadow:0 1px 3px #0000001a}.nav-link:hover{background:#f9fafb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.user-info{display:flex;align-items:center;gap:.75rem;margin-left:auto}.user-badge{padding:.5rem 1rem;border-radius:.5rem;background:#d1fae5;color:#065f46;font-weight:600;font-size:.875rem}.guest-badge{padding:.5rem 1rem;border-radius:.5rem;background:#e5e7eb;color:#6b7280;font-weight:500;font-size:.875rem}.app-content{padding:2rem;max-width:1200px;margin:0 auto}.page-container{max-width:600px;margin:0 auto}.page-container-wide{max-width:1000px;margin:0 auto}.page-header{text-align:center;margin-bottom:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-subtitle{font-size:1.125rem;color:#ffffffe6}.card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;margin-bottom:1.5rem}.card-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#1f2937}.card-section{margin-bottom:1.5rem}.card-section:last-child{margin-bottom:0}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.95rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:all .2s;background:#fff}.form-input:focus{outline:none;border-color:#f87171;box-shadow:0 0 0 3px #f871711a}.form-input::placeholder{color:#9ca3af}.btn{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;box-shadow:0 2px 4px #0000001a}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#f87171,#fb923c);color:#fff;box-shadow:0 4px 6px #f8717166,0 2px 4px #0000001a}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 8px #f8717180,0 3px 6px #00000026}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f9fafb;transform:translateY(-1px)}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-large{width:100%;padding:1rem 1.5rem;font-size:1.125rem}.btn-back{padding:.5rem 1rem;background:#fff;color:#374151;border:1px solid #e5e7eb;font-size:.95rem}.btn-group{display:flex;gap:.75rem;margin-top:1rem}.pill-group{display:flex;gap:.75rem;flex-wrap:wrap}.pill{padding:.625rem 1.25rem;border-radius:.75rem;border:2px solid #e5e7eb;background:#fff;color:#374151;font-weight:500;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.pill:hover{border-color:#d1d5db;background:#f9fafb}.pill.active{background:#f87171;border-color:#f87171;color:#fff;box-shadow:0 2px 4px #f871714d}.pill.disabled{opacity:.5;cursor:not-allowed}.group-code-display{background:#fef2f2;border:2px solid #fecaca;border-radius:.75rem;padding:1.5rem;text-align:center;margin-bottom:1rem}.group-code-label{font-size:.875rem;font-weight:600;color:#991b1b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.group-code-value{font-size:2.5rem;font-weight:700;color:#dc2626;letter-spacing:.1em;font-family:Courier New,monospace}.copy-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;color:#dc2626;font-weight:600;cursor:pointer;text-decoration:none;font-size:.95rem}.copy-link:hover{text-decoration:underline}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#6b7280}.info-value{font-weight:600;color:#1f2937}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:.5rem;font-weight:600;font-size:.875rem}.badge-host{background:#fef3c7;color:#92400e}.badge-member{background:#e0e7ff;color:#3730a3}.phase-status{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;margin-bottom:1rem}.phase-icon{font-size:2rem}.phase-info{flex:1}.phase-name{font-size:1.25rem;font-weight:700;color:#166534;margin-bottom:.25rem}.phase-description{font-size:.875rem;color:#15803d}.phase-indicator{width:.75rem;height:.75rem;border-radius:50%;background:#22c55e}.winner-card{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;border-radius:1rem;padding:1.5rem;text-align:center;margin-bottom:1.5rem}.winner-title{font-size:1.5rem;font-weight:700;color:#065f46;margin-bottom:.5rem}.winner-subtitle{font-size:1rem;color:#047857}.movie-card{display:flex;gap:2rem;background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px #0000001a;margin-bottom:1.5rem}.movie-poster{flex-shrink:0}.movie-poster img{width:240px;height:auto;border-radius:.75rem;box-shadow:0 4px 6px #0000001a}.movie-info{flex:1}.movie-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.movie-year{font-size:1.25rem;color:#6b7280;font-weight:400}.movie-description{color:#4b5563;line-height:1.6;margin-bottom:1.5rem}.standings-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.leader-banner{background:#fef3c7;border:2px solid #fde68a;border-radius:.75rem;padding:1rem 1.5rem;margin-bottom:1.5rem;text-align:center}.leader-text{font-size:1.125rem;font-weight:700;color:#92400e}.standings-list{list-style:none}.standings-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f0f9ff;border-radius:.5rem;margin-bottom:.5rem}.standings-rank{font-weight:700;color:#1e40af;margin-right:.75rem}.standings-genre{flex:1;font-weight:600;color:#1f2937}.standings-votes{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:.5rem;font-weight:600;font-size:.875rem}.vote-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fef2f2;border-radius:.5rem;margin-bottom:.5rem}.vote-genre{flex:1;font-weight:600;color:#1f2937}.vote-count{color:#6b7280;font-size:.875rem;margin-right:.75rem}.alert{padding:.875rem 1.25rem;border-radius:.75rem;margin-top:1rem;font-weight:500}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.tip-box{background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;padding:1rem 1.25rem;margin-top:1.5rem;display:flex;gap:.75rem}.tip-icon{font-size:1.25rem}.tip-text{color:#92400e;font-size:.95rem;line-height:1.5}.loading{text-align:center;padding:2rem;color:#fff;font-size:1.125rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.items-center{align-items:center}.justify-between{justify-content:space-between}@media(max-width:768px){.app-header{flex-wrap:wrap;padding:1rem}.app-nav{order:3;width:100%;margin-top:.75rem}.standings-container{grid-template-columns:1fr}.movie-card{flex-direction:column}.movie-poster img{width:100%;max-width:300px;margin:0 auto}}
