@font-face{font-family:Fredoka One;src:url(/fonts/fredoka-one.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--black: #0a0a0a;--dark: #111111;--card-bg: #1a1a1a;--border: #2a2a2a;--yellow: #00BFFF;--accent-rgb: 0, 191, 255;--orange: #003F6B;--red: #FF2D55;--green: #00FF87;--blue: #00C6FF;--purple: #BF5AF2;--white: #F5F5F5;--gray: #999;--font-meme: "Fredoka One", cursive;--font-body: "Poppins", sans-serif}html{font-size:16px}body{background:var(--black);color:var(--white);font-family:var(--font-body);min-height:100vh;min-height:100dvh;overflow-x:hidden;overscroll-behavior:none}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.font-meme{font-family:var(--font-meme);letter-spacing:1px}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,.phrase-card:focus-visible,.input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}input,textarea{font-family:var(--font-body);outline:none;font-size:max(16px,1rem)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes reaction-float{0%{opacity:0;transform:translate(-50%) scale(.5) translateY(4px)}15%{opacity:1;transform:translate(-50%) scale(1.3) translateY(-8px)}30%{transform:translate(-50%) scale(1) translateY(-12px);opacity:1}80%{opacity:1;transform:translate(-50%) scale(1) translateY(-16px)}to{opacity:0;transform:translate(-50%) scale(.8) translateY(-30px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes confetti-fall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-pop{animation:pop .4s cubic-bezier(.34,1.56,.64,1) forwards}.animate-shake{animation:shake .4s ease}.animate-pulse{animation:pulse 1.5s ease infinite}@keyframes countdown-pulse{0%,to{transform:scale(1);box-shadow:none}50%{transform:scale(1.05);box-shadow:0 0 12px #ff323266}}.countdown-urgent{animation:countdown-pulse 1s ease infinite}.phrase-card{background:var(--white);color:var(--black);border-radius:12px;padding:14px;font-weight:700;font-size:.9rem;line-height:1.4;cursor:pointer;transition:all .12s ease;border:3px solid transparent;position:relative;overflow:hidden;min-height:52px;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover: hover){.phrase-card:hover:not(.selected):not(.disabled){transform:translateY(-3px);border-color:var(--yellow);box-shadow:0 6px 20px rgba(var(--accent-rgb),.3)}}.phrase-card:active:not(.disabled){transform:scale(.97)}.phrase-card.selected{border-color:var(--green);background:#e8fff5;transform:translateY(-4px);box-shadow:0 10px 28px #00ff8766}.phrase-card.disabled{cursor:default;opacity:.7}.discard-btn{position:absolute;top:4px;right:4px;width:36px;height:36px;border-radius:50%;border:none;background:#00000014;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s,background .2s}.discard-btn:hover{opacity:1;background:#00000026}.discard-btn:disabled{opacity:.3;cursor:default}.image-card{border-radius:14px;overflow:hidden;position:relative;background:var(--card-bg)}.image-card img,.image-card .gif{width:100%;height:100%;object-fit:cover;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-weight:800;font-size:1rem;letter-spacing:.3px;transition:all .15s ease;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-yellow{background:var(--yellow);color:#0a0a0a}.btn-yellow:hover:not(:disabled){background:#33cfff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--accent-rgb),.4)}.btn-yellow:active:not(:disabled){transform:translateY(0)}.btn-green{background:var(--green);color:var(--black)}.btn-green:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #00ff8766}.btn-red{background:var(--red);color:var(--white)}.btn-red:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #ff2d5566}.btn-ghost{background:transparent;color:var(--white);border:2px solid var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--gray);background:var(--card-bg)}.btn-lg{padding:14px 32px;font-size:1.1rem;min-height:48px}.btn-sm{padding:10px 16px;font-size:.85rem;min-height:44px}.input{background:var(--card-bg);border:2px solid var(--border);color:var(--white);border-radius:10px;padding:14px 16px;font-size:max(16px,1rem);font-weight:600;width:100%;transition:border-color .15s}.input:focus{border-color:var(--yellow)}.input.input-error{border-color:var(--red);animation:shake .4s ease}.input::placeholder{color:var(--gray);font-weight:400}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:1.1rem;font-weight:700}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-top{padding-top:env(safe-area-inset-top,0px)}.spinner{width:22px;height:22px;border:3px solid rgba(var(--accent-rgb),.25);border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:20px}.flex-row{display:flex;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.shrink-0{flex-shrink:0}.min-w-0{min-width:0}.w-full{width:100%}.text-center{text-align:center}.grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:16px}.card-sm{border-radius:12px;padding:12px}.card-lg{border-radius:20px;padding:24px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.overlay-blur{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:24px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto}.modal-dark{background:var(--dark)}.sticky-bottom{position:fixed;bottom:0;left:0;right:0;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#0a0a0aeb;border-top:1px solid var(--border);z-index:50}.label{font-size:1.1rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:2px}.label-sm{font-size:.72rem;font-weight:800;color:var(--gray);text-transform:uppercase;letter-spacing:1px}.form-label{display:block;font-weight:700;margin-bottom:8px;font-size:.85rem;color:var(--gray);text-transform:uppercase;letter-spacing:1px}.text-gray{color:var(--gray)}.text-white{color:var(--white)}.text-yellow{color:var(--yellow)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-purple{color:var(--purple)}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-yellow{background:#00bfff1f;color:var(--yellow)}.badge-purple{background:#bf5af226;color:var(--purple)}.badge-green{background:#00ff871a;color:var(--green)}.badge-red{background:#ff2d5526;color:var(--red)}.badge-gray{background:#ffffff0f;color:var(--gray)}.badge-pill{font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:12px;display:inline-block}.badge-outline-green{font-size:.65rem;font-weight:800;color:var(--green);background:#00ff871a;border:1px solid rgba(0,255,135,.3);border-radius:10px;padding:2px 8px}.badge-outline-blue{font-size:.65rem;font-weight:800;color:var(--blue);background:#00bfff1a;border:1px solid rgba(0,191,255,.3);border-radius:10px;padding:2px 8px}.badge-outline-red{font-size:.65rem;font-weight:800;color:var(--red);background:#ff2d551a;border:1px solid rgba(255,45,85,.3);border-radius:10px;padding:2px 8px}.alert-error{background:#ff2d551f;border:1px solid var(--red);border-radius:10px;padding:10px 14px;color:var(--red);font-weight:700;font-size:.9rem;animation:shake .4s ease}.alert-success{background:#34c7590f;border:1px solid rgba(52,199,89,.2);border-radius:14px;padding:12px 18px}.alert-info{background:#00bfff0f;border:1px solid rgba(0,191,255,.2);border-radius:14px;padding:12px 18px}.alert-warning{background:#ffe6000f;border:1px solid rgba(255,230,0,.25);border-radius:14px;padding:14px 16px}.avatar{border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0}.avatar-sm{width:30px;height:30px}.avatar-md{width:36px;height:36px}.avatar-lg{width:42px;height:42px}.avatar-xl{width:150px;height:150px}.avatar-fallback{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--white);flex-shrink:0}.avatar-bot-border{border-color:var(--purple)}.avatar-yellow-border{border-color:var(--yellow)}.scoreboard-row{background:var(--dark);border-bottom:1px solid var(--border);padding:8px 12px 4px;flex-shrink:0;overflow:visible;position:sticky;top:48px;z-index:98}.sb-compact-row{display:flex;align-items:flex-start;justify-content:center;gap:12px;flex-wrap:nowrap}.sb-avatar-wrap{position:relative;cursor:pointer;flex-shrink:0}.sb-avatar-col{display:flex;flex-direction:column;align-items:center;gap:3px}.sb-avatar-big{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0;font-size:1.1rem}.sb-name{font-size:.65rem;font-weight:700;text-align:center;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.sb-reaction-bubble{font-size:1.4rem;pointer-events:none;z-index:9999;animation:reaction-float 2.2s ease forwards;transform:translate(-50%)}.sb-score-badge{position:absolute;bottom:16px;right:-5px;font-weight:900;text-align:center;border-radius:10px;font-size:.6rem;padding:0 5px;line-height:16px;border:1.5px solid var(--dark);min-width:17px}.sb-score-badge.has-score{background:var(--yellow);color:var(--black)}.sb-score-badge.no-score{background:var(--border);color:var(--gray)}@keyframes score-bump{0%{transform:scale(1)}40%{transform:scale(1.6);background:var(--yellow);box-shadow:0 0 12px var(--yellow)}to{transform:scale(1)}}.score-bump{animation:score-bump .6s ease}@keyframes match-point-pulse{0%,to{box-shadow:0 0 #ffa50066}50%{box-shadow:0 0 8px 3px #ffa50080}}.sb-match-point{animation:match-point-pulse 2s ease infinite;border-radius:12px}.sb-match-point-label{font-size:.5rem;font-weight:900;color:var(--orange);letter-spacing:.5px;line-height:1;white-space:nowrap}.sb-emoji-picker{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:4px 6px;z-index:20;margin-top:6px;white-space:nowrap;box-shadow:0 8px 24px #00000080}.sb-emoji-picker button{font-size:1.3rem;background:none;border:none;cursor:pointer;padding:6px 8px;min-width:44px;min-height:44px}.sb-overflow-btn{cursor:pointer}.sb-rank{width:20px;font-size:.85rem}.sb-dots{max-width:200px}.sb-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sb-dot.filled{background:var(--yellow)}.sb-dot.empty{background:var(--border)}.sb-player-score{font-size:1.1rem;min-width:30px;text-align:right}.sb-bot-tag{font-size:.6rem;padding:1px 5px;border-radius:4px}.sb-label{font-size:.8rem;margin-bottom:14px}.sb-fallback-you{background:var(--yellow);color:var(--black);font-size:.9rem}.sb-fallback-bot{background:#bf5af240;color:var(--white);font-size:.9rem}.sb-fallback-default{background:var(--card-bg);color:var(--white);font-size:.9rem}.judge-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;cursor:pointer}.judge-badge-pill{display:flex;align-items:center;gap:6px;border-radius:20px;padding:4px 12px 4px 4px;border-width:1.5px;border-style:solid}.judge-badge-pill.bot{background:#bf5af21f;border-color:var(--purple)}.judge-badge-pill.human{background:#ffe6001a;border-color:var(--yellow)}.judge-badge-avatar{width:24px;height:24px;border-radius:50%;border:2px solid}.judge-badge-avatar.bot{border-color:var(--purple)}.judge-badge-avatar.human{border-color:var(--yellow)}.judge-badge-fallback{width:24px;height:24px;border-radius:50%;background:var(--card-bg);display:flex;align-items:center;justify-content:center;font-size:.7rem;border:2px solid}.judge-badge-fallback.bot{border-color:var(--purple)}.judge-badge-fallback.human{border-color:var(--yellow)}.judge-badge-name{font-weight:700;font-size:.8rem}.judge-badge-name.bot{color:var(--purple)}.judge-badge-name.human{color:var(--yellow)}.recap-winner{font-size:.85rem;color:var(--yellow);font-weight:700}.recap-judge{font-size:.72rem;color:var(--gray);font-weight:600;margin-top:2px}.meme-frame{border-radius:14px;overflow:hidden;border:3px solid var(--yellow);width:100%;box-shadow:0 8px 32px #00bfff26}.meme-frame img{width:100%;display:block;max-height:25vh;object-fit:contain}@media (min-width: 768px){.meme-frame img{max-height:35vh}}@media (min-width: 1024px){.meme-frame img{max-height:45vh}}.game-header{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--dark);gap:8px;flex-shrink:0;min-height:48px;position:sticky;top:0;z-index:99}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--yellow);border-radius:10px;padding:10px 20px;color:var(--white);font-weight:700;font-size:.9rem;z-index:50;animation:fadeIn .3s ease;white-space:nowrap;max-width:calc(100% - 32px)}.legal-page{min-height:100vh;background:var(--bg);color:var(--white);padding:40px 20px}.legal-container{max-width:760px;margin:0 auto}.legal-title{font-size:2.2rem;color:var(--yellow);margin-bottom:8px}.legal-subtitle{color:var(--gray);margin-bottom:40px;font-size:.9rem}.legal-section{margin-bottom:32px}.legal-section-title{font-size:1.1rem;font-weight:800;color:var(--yellow);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.legal-section-body{color:#ffffffd9;line-height:1.7;font-size:.92rem;display:flex;flex-direction:column;gap:10px}.legal-subheading{font-weight:700;color:var(--white);margin-top:8px;margin-bottom:4px}.legal-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border);display:flex;gap:24px}.legal-footer-link{color:var(--gray);font-size:.85rem}.legal-commitment{padding-left:16px;border-left:2px solid var(--yellow)}.legal-callout{margin:40px 0;padding:20px;background:#ffffff0d;border-radius:8px;border-left:3px solid var(--yellow)}.legal-callout p{color:var(--gray);font-size:.85rem;font-style:italic;margin:0}.link-blue{color:var(--blue)}.meme-history-scroll{position:relative}.meme-history-scroll:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,var(--dark));pointer-events:none}@media (max-height: 600px){.sticky-bottom{padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom))}}.label-full{display:none}.label-abbr{display:inline}@media (min-width: 480px){.label-full{display:inline}.label-abbr{display:none}}
