.btn{cursor:pointer;font-size:1rem;font-weight:600;font-family:var(--font-montserrat-alternates),sans-serif;border:none;border-radius:12px;justify-content:center;align-items:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:inline-flex}.btn-text{color:var(--palette-accent-3);cursor:pointer;text-transform:lowercase;background:0 0;border:none;border-radius:8px;align-items:center;gap:.25rem;padding:.4rem .8rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-text:hover{background:#8b5cf61a;transform:translateY(-1px)}.btn-text:active{transform:scale(.95)}.btn-text:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--partner-btn-bg,var(--palette-accent-2));color:var(--partner-btn-text,white);box-shadow:0 4px 12px var(--btn-primary-shadow,#8b5cf64d)}.btn-primary:hover{box-shadow:0 6px 16px var(--btn-primary-shadow-hover,#8b5cf666);transform:translateY(-2px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:var(--palette-surface);color:#000;box-shadow:0 4px 12px #0000001a}.btn-secondary:hover{border-color:#0003;transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.btn-secondary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-danger{color:#fff;background:#000;box-shadow:0 4px 12px #00000080}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #000000b3}.btn-danger:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-emoji-picker{background:var(--palette-surface);cursor:pointer;color:#000;min-width:3.5rem;min-height:3.5rem;box-shadow:none;border:none;border-radius:.75rem;flex:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.75rem;transition:all .2s;display:flex}.btn-emoji-picker:hover{box-shadow:none}.btn-emoji-picker:active{transform:scale(.95)}.btn-emoji-remove{color:#fff;cursor:pointer;z-index:1;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:14px;font-weight:700;line-height:1;transition:all .2s;display:flex;position:absolute;top:-4px;right:-4px}.btn-emoji-remove:hover{background:#ef4444;transform:scale(1.1)}.btn-emoji-remove:active{transform:scale(.95)}.google-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.google-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-auth{border:1px solid var(--palette-accent-2);cursor:pointer;color:var(--palette-accent-2);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-auth:hover{background:var(--palette-accent-2);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ff5c2333}.btn-auth-signout{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;transition:all .2s;display:flex}.btn-auth-signout:hover{color:#000;background:#0000000d}.btn-add-base,.btn-add-question,.btn-add-photo,.btn-add-option{cursor:pointer;width:100%;font-family:var(--font-montserrat-alternates),sans-serif;opacity:.7;background:#0000000d;border:2px dashed #0003;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-add-base:hover,.btn-add-question:hover,.btn-add-photo:hover:not(:disabled),.btn-add-option:hover{opacity:1;background:#00000014;border-color:#0000004d}.btn-add-base .icon-circle,.btn-add-question .icon-circle,.btn-add-photo .icon-circle,.btn-add-option .icon-circle{background:var(--palette-accent-2);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:transform .2s;display:flex;box-shadow:0 4px 6px #0000001a}.btn-add-question{color:#fff;background:#00000008;border-color:#0000001a;border-radius:16px;flex-direction:column;gap:1rem;min-height:180px;margin-top:2rem;padding:2rem;transition:all .3s}.btn-add-question:hover{transform:translateY(-2px)}.btn-add-question .icon-circle{width:4rem;height:4rem;font-size:2rem;transition:transform .3s;box-shadow:0 4px 10px #0003}.btn-add-question:hover .icon-circle{transform:scale(1.1)rotate(90deg)}.btn-add-photo{color:#000;flex-direction:row;gap:.75rem;min-height:100px;padding:.75rem;font-size:1rem;font-weight:600}.btn-add-photo:disabled{opacity:.6;cursor:not-allowed}.btn-add-photo .icon-circle{width:2rem;height:2rem;font-size:1.25rem}.btn-add-photo:hover:not(:disabled) .icon-circle{transform:scale(1.1)}.btn-add-option{flex-direction:column;gap:.5rem;min-height:100px;padding:.5rem}.btn-add-option .icon-circle{width:2rem;height:2rem;font-size:1.25rem}.btn-add-option:hover .icon-circle{transform:scale(1.1)rotate(90deg)}@media (max-width:640px){.btn-add-option{flex-direction:row;gap:.75rem;min-height:92px}}.btn-delete-image{cursor:pointer;z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.btn-delete-image:hover{background:#ef4444e6;transform:scale(1.1)}.btn-move{cursor:pointer;background:#0000001a;border:none;border-radius:.375rem;padding:.4rem .6rem;font-size:1rem;transition:all .2s}.btn-move:hover:not(:disabled){background:#0003;transform:translateY(-1px)}.btn-move:active:not(:disabled){background:#00000040;transform:translateY(0)}.btn-move:disabled{opacity:.3;cursor:not-allowed;background:#0000000d}.btn-icon{cursor:pointer;background:#00000014;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-icon:hover{background:#0000002e;transform:scale(1.1)}.btn-icon:active{background:#00000040;transform:scale(.95)}.btn-action{cursor:pointer;color:#000;background:#0000000d;border:none;border-radius:8px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.8rem;transition:all .2s;display:flex}.btn-action:hover{background:#0000001f;transform:scale(1.05)}.btn-action:active{transform:scale(.95)}.btn-action-danger{cursor:pointer;color:#ef4444;background:#ef44441a;border:none;border-radius:8px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.8rem;transition:all .2s;display:flex}.btn-action-danger:hover{background:#ef444433;transform:scale(1.05)}.btn-action-danger:active{transform:scale(.95)}.btn-header-icon{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-header-icon:hover{background:#0000000d;transform:scale(1.1)}.btn-header-icon:active{transform:scale(.95)}
.page-container{min-height:100dvh;padding:2rem;padding-top:max(2rem,env(safe-area-inset-top));padding-bottom:max(2rem,env(safe-area-inset-bottom));font-family:var(--font-montserrat-alternates),sans-serif;color:#000;flex-direction:column;align-items:center;display:flex;position:relative}@media (max-width:640px){.page-container{padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}}.center-content{flex-direction:column;justify-content:center;align-items:center;display:flex}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-row{flex-direction:row;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.text-center{text-align:center}.text-white{color:#fff}.text-black{color:#000}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.p-8{padding:2rem}.show-on-mobile-only,.show-on-mobile{display:none!important}@media (max-width:640px){.hide-on-mobile{display:none!important}.show-on-mobile-only{display:flex!important}.show-on-mobile{display:inline!important}}
@keyframes pop{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-pop{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards pop}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}@keyframes blob{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}to{transform:translate(0)scale(1)}}.animate-blob{animation:7s infinite blob}.animation-delay-2000{animation-delay:2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.8s ease-out forwards fadeInUp}@keyframes countdownBar{0%{width:100%}to{width:0%}}.animate-countdown-bar{background-color:var(--palette-accent-2);border-radius:99px;height:100%;animation:5s linear forwards countdownBar}@keyframes slam{0%{opacity:0;transform:translateY(-100px)scale(1.5)}60%{opacity:1;transform:translateY(10px)scale(.95)}80%{transform:translateY(-5px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes popAlert{0%,to{background-color:#ef444480;border-color:#ef4444cc;transform:scale(1)}50%{background-color:#ef4444cc;border-color:#ef4444;transform:scale(1.1);box-shadow:0 0 20px #ef444499}}.animate-pop-alert{color:#fff;text-shadow:0 2px 4px #00000080;animation:.8s ease-in-out infinite popAlert}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes swoopBounce{0%{opacity:0;transform:translateY(-50px)scale(.8)}60%{opacity:1;transform:translateY(10px)scale(1.05)}80%{transform:translateY(-5px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-swoop-bounce{animation:.6s cubic-bezier(.22,1,.36,1) forwards swoopBounce}@keyframes modalPop{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-modal-pop{animation:.3s cubic-bezier(.16,1,.3,1) forwards modalPop}@keyframes checkboxPop{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes slideUpBounce{0%{opacity:0;transform:translateY(100px)}60%{opacity:1;transform:translateY(-8px)}80%{transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up-bounce{animation:.5s cubic-bezier(.22,1,.36,1) forwards slideUpBounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes avatarSpinHappy{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-avatar-bounce-celebrate{animation:.6s ease-in-out avatarSpinHappy}@keyframes avatarJumpHappy{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-avatar-wiggle-happy{animation:.4s ease-in-out 3 avatarJumpHappy}@keyframes avatarPulsateHappy{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.animate-avatar-spin-celebrate{animation:.4s ease-in-out 3 avatarPulsateHappy}@keyframes avatarShrinkGrowSad{0%{transform:scale(1)translateY(0)}70%{transform:scale(.7)translateY(15px)}to{transform:scale(1)translateY(0)}}.animate-avatar-droop-sad{animation:.8s ease-in-out avatarShrinkGrowSad}@keyframes avatarQuarterTurnSad{0%,to{transform:rotate(0)}33%{transform:rotate(-90deg)}66%{transform:rotate(90deg)}}.animate-avatar-shake-sad{animation:1s ease-in-out avatarQuarterTurnSad}@keyframes avatarShakeSideSad{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.animate-avatar-shrink-sad{animation:.6s ease-in-out avatarShakeSideSad}@keyframes dialogPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-dialog-pop{animation:.3s cubic-bezier(.175,.885,.32,1.275) dialogPop}@keyframes shimmer{0%{transform:translate(-100%)rotate(45deg)}to{transform:translate(100%)rotate(45deg)}}.animate-shimmer{animation:2s infinite shimmer}@keyframes wiggleAppear{0%{opacity:0;transform:scale(.9)rotate(0)}25%{opacity:1;transform:scale(1.02)rotate(-2deg)}50%{transform:scale(1.02)rotate(2deg)}75%{transform:scale(1)rotate(-1deg)}to{transform:scale(1)rotate(0)}}.animate-wiggle-appear{animation:.5s ease-out both wiggleAppear}
.player-name-box{text-align:center;border-radius:12px;justify-content:center;align-items:center;min-height:5rem;padding:.5rem;display:flex}.player-name-text{color:#fff;white-space:nowrap;font-size:2rem;font-weight:700}.score-box{text-align:center;border-radius:12px;padding:1rem}.score-text{color:#000;font-size:2rem;font-weight:700}.letter-badge{background:#0003;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex;box-shadow:inset 0 2px 4px #0003}.letter-badge-text{color:#fff;font-size:1.875rem;font-weight:700}.answer-option{text-align:left;border:4px solid #0000;border-radius:12px;align-items:center;gap:1.25rem;width:100%;min-height:100px;padding:.625rem 1.25rem;display:flex;box-shadow:0 2px 4px -1px #0003}.answer-option-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.answer-option-clickable:hover{filter:brightness(1.1);transition:transform .2s,box-shadow .2s,filter .2s;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.answer-option-clickable:active{filter:brightness(.95);transform:scale(.98)translateY(0);box-shadow:0 2px 4px #0003}.answer-option-selected{box-shadow:inset 0 0 0 4px #0000004d,0 2px 4px -1px #0003}@media (max-width:480px){.answer-option{gap:.75rem;min-height:92px;padding:.5rem 1rem}.answer-option-text{font-size:1.1rem}.letter-badge{width:2.75rem;height:2.75rem}.letter-badge-text{font-size:1.4rem}}.answer-option-text{color:#fff;text-shadow:0 2px 4px #0003;overflow-wrap:break-word;word-break:normal;font-size:1.875rem;font-weight:700;line-height:1.4}.percentage-bar-container{pointer-events:none;border-radius:12px;position:absolute;inset:0;overflow:hidden}.percentage-bar-fill{background:#0006;width:0%;height:100%;transition:width 1.5s ease-out}.percentage-text{color:#fff;text-shadow:0 2px 4px #00000080;z-index:1;font-size:1.5rem;font-weight:900;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.status-badge{white-space:nowrap}.info-panel{text-align:center;color:#000}.answer-reveal-overlay{position:relative}.answer-reveal-overlay:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#ffffffb3 100%);border-radius:0 0 12px 12px;height:60%;position:absolute;bottom:0;left:0;right:0}
.hero-title{background:linear-gradient(to right,var(--gradient-hero-start),var(--gradient-hero-end));-webkit-text-fill-color:transparent;text-shadow:0 10px 30px #0003;word-break:break-word;overflow-wrap:anywhere;-webkit-background-clip:text;background-clip:text;max-width:100%;margin-bottom:1rem;font-size:3.5rem;font-weight:800;line-height:1.1}@media (max-width:768px){.hero-title{margin-bottom:.5rem;font-size:11vw}}.surface-panel{margin-bottom:0}.how-it-works-grid{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.75rem;width:100%;max-width:520px;display:flex}.how-it-works-card{text-align:center;border-radius:12px;flex-direction:column;flex:1;align-items:center;min-width:120px;max-width:180px;padding:1rem;display:flex;box-shadow:0 4px 12px #00000026}.how-it-works-or{color:#0009;justify-content:center;align-items:center;padding:0 .25rem;font-size:.9rem;font-weight:700;display:flex}@media (max-width:640px){.how-it-works-grid{flex-direction:column;align-items:center;gap:1rem}.how-it-works-card{flex:none;width:100%;max-width:280px}.how-it-works-or{padding:.25rem 0}}.surface-panel-text{color:#000;overflow-wrap:anywhere;word-break:break-word;font-size:2.5rem;font-weight:700;line-height:1.2}@media (min-width:768px){.surface-panel-text{font-size:3rem}}
.error-boundary-container{background:var(--palette-background);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.error-boundary-content{text-align:center;background:var(--card-bg);border-radius:24px;max-width:400px;padding:3rem 2rem;box-shadow:0 8px 32px #0000001a}.error-boundary-title{color:var(--palette-accent-1);margin:0 0 .5rem;font-size:2.5rem;font-weight:800}.error-boundary-message{color:#4a5568;margin:0 0 2rem;font-size:1.125rem;line-height:1.5}.error-boundary-actions{flex-direction:column;gap:.75rem;display:flex}.error-boundary-details{text-align:left;color:#666;background:#0000000d;border-radius:12px;margin-top:2rem;padding:1rem;font-size:.75rem}.error-boundary-details summary{cursor:pointer;margin-bottom:.5rem;font-weight:600}.error-boundary-details pre{white-space:pre-wrap;word-break:break-all;max-height:200px;margin:.5rem 0 0;font-size:.7rem;overflow-y:auto}
.mobile-tab-bar{display:none}.desktop-only{width:100%;display:block}.mobile-only{display:none}@media (max-width:640px){.desktop-only{display:none!important}.pull-to-refresh-container:has(.mobile-tab-header){background:linear-gradient(to bottom,var(--palette-accent-2)0%,var(--palette-accent-2)50%,var(--palette-background)50%,var(--palette-background)100%)!important}:is(.page-container:has(>.host-dashboard-layout),.host-dashboard-layout){max-width:100%!important;padding-top:0!important;padding-left:0!important;padding-right:0!important}.mobile-only:not(.mobile-profile-tab){padding:0;display:block!important}:is(.page-container:has(>.host-dashboard-layout):has(.mobile-profile-tab),.host-dashboard-layout:has(.mobile-profile-tab)){padding-top:0!important;padding-left:.5rem!important;padding-right:.5rem!important}.mobile-tab-bar{height:calc(56px + env(safe-area-inset-bottom,0));padding:8px .5rem 0;padding-bottom:env(safe-area-inset-bottom,0);z-index:10000;background:#fff;border-top:1px solid #00000014;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.mobile-tab-bar:after{content:"";pointer-events:none;background:#fff;height:200px;position:absolute;top:100%;left:0;right:0}.mobile-tab-item{cursor:pointer;color:#0006;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:56px;padding:.5rem;transition:all .2s;display:flex}.mobile-tab-item:active{transform:scale(.95)}.mobile-tab-active{color:var(--palette-accent-2)}.mobile-tab-active .mobile-tab-icon{transform:scale(1.1)}.mobile-tab-icon{transition:transform .2s}.mobile-tab-content{flex-direction:column;min-height:calc(100dvh - 56px);padding-bottom:80px;display:flex;position:relative}.mobile-tab-content:not(.mobile-profile-tab):before{content:"";height:env(safe-area-inset-top,0px);background:var(--palette-accent-2);z-index:99;pointer-events:none;content:"";height:env(safe-area-inset-top,20px);background:var(--palette-accent-2);z-index:1001;pointer-events:none;position:fixed;top:0;left:0;right:0}.mobile-tab-header{top:env(safe-area-inset-top,0);z-index:1000;width:100%;padding:.75rem var(--mobile-page-padding);background:var(--palette-accent-2);box-sizing:border-box;border-radius:0;justify-content:space-between;align-items:center;height:60px;display:flex;position:fixed;left:0;right:0;box-shadow:0 2px 8px #00000026}.mobile-tab-title-row{align-items:center;gap:.75rem;display:flex}.mobile-tab-title-icon{align-items:center;display:flex;color:#fff!important}.mobile-tab-title-icon svg{color:#fff!important}.mobile-tab-title{color:#fff;font-size:1.25rem;font-weight:700;font-family:var(--font-montserrat-alternates),sans-serif;margin:0}.mobile-tab-toolbar{gap:.5rem;display:flex}.mobile-toolbar-btn{width:36px;height:36px;color:var(--palette-accent-2);cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.mobile-toolbar-btn:active{opacity:.9;transform:scale(.95)}.mobile-tab-body{box-sizing:border-box;background:var(--palette-background);flex:1;width:100%;margin-bottom:-20px;padding:0 0 .75rem!important;padding-top:calc(56px + env(safe-area-inset-top,0) + .75rem)!important;padding-bottom:calc(.75rem + 20px)!important}.mobile-tab-body .mobile-list-container,.mobile-tab-body .grid-quizzes{min-height:auto!important;max-height:none!important}.mobile-panel-content{box-sizing:border-box;width:100%;padding:0 1rem}.mobile-list-container::-webkit-scrollbar{width:6px}.grid-quizzes::-webkit-scrollbar{width:6px}.quiz-list-container::-webkit-scrollbar{width:6px}.mobile-list-container::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.grid-quizzes::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.quiz-list-container::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.mobile-list-container::-webkit-scrollbar-track{background:0 0}.grid-quizzes::-webkit-scrollbar-track{background:0 0}.quiz-list-container::-webkit-scrollbar-track{background:0 0}.mobile-profile-tab .mobile-tab-header{display:none}.host-dashboard-layout:has(.mobile-profile-tab)>header{z-index:1000;background:var(--palette-background);position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000014;padding:max(.75rem,env(safe-area-inset-top)).75rem .75rem .75rem!important}.mobile-profile-tab .mobile-tab-body{padding-top:calc(70px + env(safe-area-inset-top,0))!important}.mobile-profile-tab:before{content:"";height:env(safe-area-inset-top,20px);background:var(--palette-background);z-index:1001;pointer-events:none;position:fixed;top:0;left:0;right:0}}
