@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-app:#0a0a0b;--bg-card:#18181b;--text-main:#f4f4f5;--text-muted:#a1a1aa;--primary:#ec4899;--primary-hover:#db2777;--secondary:#27272a;--success:#22c55e;--warning:#eab308;--danger:#ef4444;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--shadow-glow:0 0 20px #ec489933}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-main);margin:0;line-height:1.5;overflow-x:hidden}.app-container{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:0 20px;display:flex}.app-header{text-align:center;padding:32px 0 24px}.logo-section{cursor:pointer;justify-content:center;align-items:center;gap:12px;display:flex}.logo-icon{font-size:32px}.logo-text{letter-spacing:-.04em;background:linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:28px;font-weight:800}.app-tagline{color:var(--text-muted);margin:8px 0 0;font-size:14px;font-weight:500}.app-footer{text-align:center;color:var(--text-muted);padding:40px 0;font-size:12px}.card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid #ffffff0d;padding:24px}.setup-card h1{margin-bottom:8px;font-size:24px}.setup-card p{color:var(--text-muted);margin-bottom:32px}.setup-section{margin-bottom:24px}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px;font-size:12px;font-weight:700;display:block}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field span{font-size:14px;font-weight:600}input,select{background:var(--secondary);color:#fff;border-radius:var(--radius-md);border:1px solid #ffffff1a;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}input:focus{border-color:var(--primary);outline:none}.pills{gap:8px;display:flex}.pill{background:var(--secondary);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;border:1px solid #ffffff1a;flex:1;padding:10px;font-weight:600;transition:all .2s}.pill.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-glow)}.option-row{background:var(--secondary);border-radius:var(--radius-md);cursor:pointer;flex-direction:row;align-items:center;padding:16px}.option-row input{width:20px;height:20px}.primary-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;padding:16px 32px;font-size:16px;font-weight:700;transition:transform .2s,background .2s}.primary-btn:active{transform:scale(.98)}.secondary{background:var(--secondary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 20px;font-weight:600}.swipe-area{margin-top:12px;position:relative}.progress-bar{background:var(--secondary);border-radius:2px;height:4px;margin-bottom:20px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .3s}.card-stack{aspect-ratio:3/4;perspective:1000px;position:relative}.card-touch-layer{z-index:10;touch-action:none;position:absolute;inset:0}.swipe-card{background:var(--bg-card);border-radius:var(--radius-xl);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 30px #00000080}.swipe-card.next{opacity:.5;z-index:0;transform:scale(.9)translateY(20px)}.card-image-wrap{flex:1;position:relative;overflow:hidden}.card-image-wrap img{object-fit:cover;width:100%;height:100%}.card-image-overlay{background:linear-gradient(#0000 60%,#000c 100%);position:absolute;inset:0}.card-content{background:var(--bg-card);padding:24px}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.card-header h2{margin:0;font-size:22px;font-weight:800}.price-tag{background:var(--success);color:#052e16;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.muted{color:var(--text-muted);font-size:14px}.meta{gap:16px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.rating{color:var(--warning)}.swipe-label{z-index:20;text-transform:uppercase;border:4px solid;border-radius:999px;padding:8px 24px;font-size:24px;font-weight:900;position:absolute;top:40px}.swipe-label.yes{color:var(--success);border-color:var(--success);right:40px;transform:rotate(15deg)}.swipe-label.pass{color:var(--danger);border-color:var(--danger);left:40px;transform:rotate(-15deg)}.swipe-label.super{color:var(--warning);border-color:var(--warning);top:auto;bottom:40px;left:50%;transform:translate(-50%)}.swipe-label.veto{color:#fff;background:var(--danger);border-color:var(--danger);top:auto;bottom:40px;left:50%;transform:translate(-50%)}.swipe-hints{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;justify-content:space-around;margin-top:24px;font-size:12px;font-weight:700;display:flex}.hint-item{flex-direction:column;align-items:center;gap:4px;display:flex}.hint-item .icon{color:var(--text-main);font-size:18px}.session-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.badge{background:var(--secondary);letter-spacing:.1em;border-radius:999px;padding:4px 12px;font-size:10px;font-weight:800}.participants-count{margin-top:4px;font-size:14px;font-weight:600}.invite-btn{background:var(--secondary);color:#fff;cursor:pointer;border:1px solid #ffffff1a;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}.participants-list{justify-content:center;gap:-8px;margin-top:32px;display:flex}.participant-dot{background:var(--secondary);border:3px solid var(--bg-app);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:-8px;font-size:14px;font-weight:800;transition:transform .2s;display:flex}.participant-dot.done{border-color:var(--success);color:var(--success);background:#052e16}.winner-kicker{text-align:center;color:var(--success);text-transform:uppercase;letter-spacing:.2em;margin-bottom:16px;font-size:14px;font-weight:800}.winner-card{border-radius:var(--radius-xl);border:1px solid var(--success);background:linear-gradient(135deg,#18181b 0%,#09090b 100%);overflow:hidden;box-shadow:0 0 30px #22c55e33}.winner-image img{aspect-ratio:16/9;object-fit:cover;width:100%}.winner-body{text-align:center;padding:24px}.winner-badge{background:var(--success);color:#052e16;border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:800;display:inline-block}.winner-body h2{margin:0 0 8px;font-size:28px;font-weight:800}.winner-actions{margin-top:24px}.text-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;width:100%;padding:20px 0;font-weight:700}.results-list{flex-direction:column;gap:12px;display:flex}.result-item{background:var(--secondary);border-radius:var(--radius-md);align-items:center;gap:16px;padding:12px 16px;display:flex}.result-rank{color:var(--text-muted);font-weight:800}.result-info{flex:1}.muted-small{color:var(--text-muted);font-size:12px}.result-score{color:var(--success);font-weight:800}.loader-screen{flex-direction:column;justify-content:center;align-items:center;padding:100px 0;display:flex}.spinner{border:4px solid var(--secondary);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.img-placeholder{background:var(--secondary);width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.invite-panel code{background:var(--bg-app);border-radius:var(--radius-md);word-break:break-all;border:1px solid #ffffff1a;margin:12px 0;padding:12px;font-size:14px;display:block}.invite-actions{flex-direction:column;gap:12px;display:flex}.invite-code{letter-spacing:.2em;text-align:center;color:var(--primary);margin:12px 0;font-size:32px;font-weight:800}.solo-action{justify-content:center;width:100%;margin-top:20px;display:flex}.share-toast{background:var(--primary);z-index:1000;pointer-events:none;border-radius:999px;padding:12px 24px;font-weight:700;animation:4s ease-in-out forwards toast-fade;position:fixed;bottom:62px;left:50%;transform:translate(-50%);box-shadow:0 10px 20px #0000004d}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,10px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.text-button{color:var(--text-muted);cursor:pointer;text-underline-offset:4px;background:0 0;border:none;padding:8px 0;font-family:inherit;font-size:14px;font-weight:700;text-decoration:underline;transition:color .2s}.text-button:hover{color:var(--primary)}.error-screen,.empty-screen{text-align:center;padding:40px 20px}.error-screen h2,.empty-screen h2{margin-bottom:12px;font-size:24px}.error-screen p,.empty-screen p{color:var(--text-muted);margin-bottom:24px}.retry-actions{flex-direction:column;gap:12px;display:flex}
