:root{--bg: #0b1020;--panel: #151d33;--panel-2: #1c2744;--text: #f5f7ff;--muted: #9aa7c7;--accent: #7c5cff;--accent-2: #ff6bcb;--success: #3dd68c;--warning: #ffb020;--danger: #ff5c7a;--radius: 16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Grotesk,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(124,92,255,.25),transparent 30%),radial-gradient(circle at top right,rgba(255,107,203,.18),transparent 28%),var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer;border:none;border-radius:999px;padding:.85rem 1.4rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;transition:transform .15s ease,opacity .15s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--panel-2);border:1px solid rgba(255,255,255,.08)}input{width:100%;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);border-radius:12px;padding:.9rem 1rem}input:focus{outline:2px solid rgba(124,92,255,.45)}.page{max-width:1100px;margin:0 auto;padding:2rem 1rem 3rem}.card{background:#151d33eb;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.5rem;box-shadow:0 20px 60px #00000040}.hero{text-align:center;margin-bottom:2rem}.hero h1{font-size:clamp(2.2rem,5vw,4rem);margin:0 0 .5rem}.hero p{color:var(--muted);margin:0}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.stack{display:flex;flex-direction:column;gap:1rem}.timer{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:999px;background:#ffffff0f;color:var(--warning);font-weight:700}.meme-image{width:100%;max-height:420px;object-fit:contain;border-radius:12px;background:#000}.player-list{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.45rem .8rem;border-radius:999px;background:#ffffff0f;font-size:.95rem}.chip.host{border:1px solid rgba(124,92,255,.5)}.chip.me{background:#7c5cff2e}.caption-card{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;background:#ffffff08;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.caption-card:hover{border-color:#7c5cff99;transform:translateY(-1px)}.scoreboard{display:grid;gap:.5rem}.score-row{display:flex;justify-content:space-between;padding:.7rem .9rem;border-radius:10px;background:#ffffff0a}.error{color:var(--danger);margin-top:.5rem}.field-label{font-weight:600;font-size:.95rem}.profile-setup{max-width:520px;margin:0 auto}.profile-preview{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:14px;background:#ffffff0a}.profile-preview-avatar,.player-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;border:2px solid transparent;flex-shrink:0}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.5rem}.avatar-option{width:100%;aspect-ratio:1;border-radius:14px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);font-size:1.4rem;padding:0}.avatar-option.selected{transform:scale(1.03)}.back-link{color:var(--muted);text-align:center;text-decoration:none}.back-link:hover{color:var(--text)}.player-grid,.scoreboard{display:grid;gap:.75rem}.player-card{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.player-card.me{border-color:#7c5cff73;background:#7c5cff1a}.player-card.host{box-shadow:inset 0 0 0 1px #ffb02040}.player-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.player-subtitle{color:var(--muted);font-size:.85rem}.player-tag{color:var(--accent-2);font-weight:600}.player-score{font-weight:700;color:var(--success);white-space:nowrap}.muted{color:var(--muted);margin:0}.header-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.phase-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.rolls-chip{background:#ffb02026;color:var(--warning)}.meme-editor{display:flex;flex-direction:column;gap:.75rem}.meme-canvas{position:relative;width:100%;max-width:640px;margin:0 auto;border-radius:12px;overflow:hidden;background:#000;touch-action:none}.meme-canvas-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.meme-text-box{position:absolute;transform:translate(-50%,-50%);z-index:2;min-width:90px;max-width:55%}.meme-text-box.editable{background:#00000073;border:2px dashed rgba(255,255,255,.45);border-radius:10px;padding:.25rem}.meme-text-drag{cursor:grab;text-align:center;color:#ffffffb3;font-size:.85rem;line-height:1;padding:.15rem;-webkit-user-select:none;user-select:none}.meme-text-drag:active{cursor:grabbing}.meme-text-box textarea{width:100%;min-height:44px;resize:vertical;background:transparent;border:none;color:#fff;font-weight:800;text-transform:uppercase;font-size:clamp(.65rem,2vw,.9rem);padding:.2rem}.meme-text-box textarea:focus{outline:none}.meme-text-remove{position:absolute;top:-8px;right:-8px;width:22px;height:22px;padding:0;border-radius:50%;font-size:.7rem;background:var(--danger);line-height:1}.add-text-btn{align-self:center}.meme-zone-text{display:block;color:#fff;font-weight:900;text-transform:uppercase;text-shadow:2px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;font-size:clamp(.75rem,2.5vw,1.1rem);line-height:1.15;word-break:break-word;text-align:center}.vote-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.vote-btn{min-width:140px}.vote-btn.up{background:linear-gradient(135deg,#3dd68c,#20c997)}.vote-btn.down{background:linear-gradient(135deg,#ff5c7a,#fa5252)}.vote-btn.buddy{background:linear-gradient(135deg,#ffb020,#ff922b)}.highlight-card{background:#3dd68c1f}.success-text{color:var(--success);text-align:center;margin:0}.version-badge{position:fixed;right:12px;bottom:10px;z-index:9999;padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--muted);background:#0b1020d9;border:1px solid rgba(255,255,255,.08);pointer-events:none;-webkit-user-select:none;user-select:none}
