:root{--surface:#121116;--surface-dim:#121116;--surface-bright:#332f3d;--surface-container-lowest:#0c0b0f;--surface-container-low:#17151c;--surface-container:#1c1a22;--surface-container-high:#24222c;--surface-container-highest:#2e2a37;--surface-variant:#2e2a37;--primary:#ffd79b;--primary-container:#ffb300;--on-primary:#432c00;--on-primary-container:#6b4900;--secondary:#ffb3ac;--secondary-container:#c4041a;--on-secondary-container:#ffd2cd;--tertiary:#ffda6e;--tertiary-container:#e4be45;--outline:#9e8e78;--outline-variant:#453e34;--on-surface:#ede8ef;--on-surface-variant:#d6c7b2;--font-cinema:"Playfair Display", serif;--font-body:"Plus Jakarta Sans", sans-serif;--font-mono:"Space Mono", monospace;--safe-bottom:env(safe-area-inset-bottom,16px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--surface);color:var(--on-surface);font-family:var(--font-body);min-height:100dvh;font-size:14px;line-height:22px;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-cinema);color:var(--on-surface)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all .2s cubic-bezier(.2,0,0,1)}input,select,textarea{font-family:var(--font-body);color:var(--on-surface);background-color:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:14px;outline:none;width:100%;padding:12px 16px;font-size:14px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary-container);box-shadow:0 0 0 3px #ffb30033}a{color:var(--primary);text-decoration:none}.perspective{perspective:1100px}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.app-container{background-color:var(--surface);flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.app-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1360px;margin:0 auto;padding:24px 16px 100px;display:flex}@media (width>=768px){.app-main{padding:32px 32px 60px}}.card{background-color:var(--surface-container);border:1px solid #9e8e7833;border-radius:24px;padding:20px;box-shadow:0 8px 30px #000000b3}.btn{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.2,0,0,1);display:inline-flex}.btn-primary{background-color:var(--primary-container);color:var(--on-primary-container);box-shadow:0 0 16px #ffb30059}.btn-primary:hover:not(:disabled){background-color:var(--primary);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface-container-high);color:var(--on-surface);border:1px solid #9e8e7840}.btn-secondary:hover:not(:disabled){background-color:var(--surface-bright)}.btn-danger{background-color:var(--secondary-container);color:var(--on-secondary-container)}.btn-sm{padding:8px 16px;font-size:11px}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.badge{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.badge-gold{color:var(--primary);background-color:#ffb30026;border:1px solid #ffb3004d}.badge-red{color:var(--secondary);background-color:#c4041a33;border:1px solid #c4041a66}.badge-gray{background-color:var(--surface-container-highest);color:var(--on-surface-variant);border:1px solid #9e8e7833}.modal-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:60;background-color:#0c0b0fd9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--surface-container);border:1px solid #9e8e784d;border-radius:28px;width:100%;max-width:560px;max-height:90vh;padding:28px 24px;animation:.2s cubic-bezier(.16,1,.3,1) zoomIn;overflow-y:auto;box-shadow:0 20px 60px #000000f2}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.avatar{object-fit:cover;border:2px solid var(--outline-variant);border-radius:50%}.club-card{background-color:var(--surface-container);cursor:pointer;border:1px solid #9e8e7833;border-radius:24px;flex-direction:column;gap:14px;padding:20px;transition:transform .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0009}.club-card:hover{border-color:#ffb30080;transform:translateY(-2px);box-shadow:0 12px 30px #000c,0 0 16px #ffb30026}.club-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.club-card-title{font-family:var(--font-cinema);color:var(--on-surface);font-size:20px;font-weight:700}.club-card-desc{color:var(--on-surface-variant);font-size:13px;line-height:1.45}.club-stats-row{font-family:var(--font-mono);color:var(--outline);border-top:1px solid #9e8e7833;align-items:center;gap:16px;padding-top:12px;font-size:11px;display:flex}.stat-item{align-items:center;gap:6px;display:flex}.invite-code-chip{background-color:var(--surface-container-lowest);font-family:var(--font-mono);color:var(--primary);cursor:pointer;border:1px dashed #9e8e7859;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.invite-code-chip:hover{border-color:var(--primary-container);background-color:#ffb30026}.session-card{background-color:var(--surface-container);cursor:pointer;border:1px solid #9e8e7833;border-radius:24px;flex-direction:column;gap:14px;padding:20px;transition:transform .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0009}.session-card:hover{border-color:#ffb30080;transform:translateY(-2px);box-shadow:0 12px 30px #000c,0 0 16px #ffb30026}.poster-thumb{object-fit:cover;background-color:var(--surface-container-lowest);border:1px solid #9e8e7833;border-radius:12px;flex-shrink:0;width:58px;height:86px;transition:transform .2s}.poster-thumb:hover{transform:scale(1.04)}.movie-nomination-card{background-color:var(--surface-container);border:1px solid #9e8e7833;border-radius:20px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex;box-shadow:0 4px 14px #0006}.movie-nomination-card.voted{border-color:var(--primary-container);background-color:#ffb30014;box-shadow:0 0 16px #ffb30033}.movie-info{flex:1;min-width:0}.movie-title{font-family:var(--font-cinema);color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.movie-meta{font-family:var(--font-mono);color:var(--on-surface-variant);gap:8px;margin-top:2px;font-size:11px;display:flex}.nominator-tag{color:var(--outline);align-items:center;gap:4px;margin-top:4px;font-size:11px;display:flex}.nominator-tag strong{color:var(--primary)}.vote-action-btn{background-color:var(--surface-container-high);width:52px;height:52px;color:var(--on-surface);cursor:pointer;border:1px solid #9e8e7833;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.2,0,0,1);display:flex}.vote-action-btn:hover:not(:disabled){background-color:var(--surface-bright);border-color:var(--primary-container);transform:scale(1.05)}.vote-action-btn.active{background-color:var(--primary-container);color:var(--on-primary-container);border-color:var(--primary-container);box-shadow:0 0 14px #ffb30066}.vote-action-btn:disabled{opacity:.5;cursor:not-allowed}.potluck-list{flex-direction:column;gap:8px;display:flex}.potluck-item{background-color:var(--surface-container-lowest);border:1px solid #9e8e7833;border-radius:16px;justify-content:space-between;align-items:center;padding:12px 16px;transition:border-color .2s;display:flex}.potluck-item.claimed{background-color:#ffb3000a;border-color:#ffb30066}.potluck-category-pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background-color:var(--surface-container-highest);color:var(--tertiary);border-radius:9999px;padding:2px 8px;font-size:10px;font-weight:700}.poll-bar-container{background-color:var(--surface-container-lowest);cursor:pointer;border:1px solid #9e8e7833;border-radius:16px;padding:14px 18px;transition:border-color .2s,transform .15s;position:relative;overflow:hidden}.poll-bar-container:hover{border-color:var(--primary-container);transform:translateY(-1px)}.poll-bar-container.selected{border-color:var(--primary);box-shadow:0 0 12px #ffb30040}.poll-bar-fill{pointer-events:none;background-color:#ffb3002e;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.poll-bar-text{z-index:1;width:100%;font-family:var(--font-mono);justify-content:space-between;font-size:12px;font-weight:600;display:flex;position:relative}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-size:11px;font-weight:700}.action-bar{gap:10px;margin-top:16px;display:flex}.toast{background-color:var(--surface-container-high);border:1px solid var(--primary-container);color:var(--on-surface);font-family:var(--font-mono);z-index:99;border-radius:9999px;align-items:center;gap:8px;padding:10px 20px;font-size:12px;font-weight:700;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #000c,0 0 16px #ffb30040}
