body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f9f9fa;color:#111;min-height:100vh;display:flex;flex-direction:column}main{flex:1 1;width:100%;max-width:640px;margin:0 auto;padding:1rem;box-sizing:border-box}h1,h2,h3{margin:.5em 0;font-weight:600}.center{text-align:center}button{font-size:1rem;padding:.6rem 1.2rem;margin:.4rem 0;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}button.primary{background-color:#07c;color:#fff}button.primary:hover{background-color:#005fa3}button.secondary{background-color:#e7e7e7;color:#111}button.secondary:hover{background-color:#d5d5d5}button:disabled{background-color:#ccc;cursor:not-allowed;color:#666}.pad-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin:1rem 0}.pad{position:relative;width:100%;padding-bottom:100%;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;transition:transform .05s ease,filter .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;will-change:transform,filter}.pad:focus-visible{outline:3px solid #333}.pad.active{transform:scale(1.05);filter:brightness(1.4)}.pad:active{transform:scale(1.05);filter:brightness(1.35)}.pad.red{background-color:#e63946;color:#fff}.pad.green{background-color:#2a9d8f;color:#fff}.pad.blue{background-color:#457b9d;color:#fff}.pad.yellow{background-color:#e9c46a;color:#111}.status{font-size:1.1rem}.status,.timer{text-align:center;margin-top:.5rem}.results,.timer{font-size:1.2rem}.results{margin-top:1rem;text-align:center}.muted{opacity:.5}.footer{margin-top:2rem;text-align:center;font-size:.85rem;color:#666}.home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;box-sizing:border-box;background:linear-gradient(135deg,#e63946,#2a9d8f,#457b9d,#e9c46a);background-size:400% 400%;animation:homeGradientAnimation 12s ease infinite;text-align:center;color:#fff}@keyframes homeGradientAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.home-container .title{font-size:3rem;font-weight:700;margin:.5rem 0}.home-container .tagline{font-size:1.5rem;font-weight:500;margin:.25rem 0 .5rem}.home-container .subtitle{font-size:1rem;font-weight:400;margin:0 0 1.5rem;max-width:480px}.home-container .cta-button{background-color:#fff;color:#111;padding:.8rem 1.6rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;outline:none}.home-container .cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.home-container .footer{margin-top:3rem;font-size:.9rem;color:hsla(0,0%,100%,.8)}.home-container .footer a{color:inherit;margin:0 .5rem;text-decoration:underline;cursor:pointer}.home-container .footer a:hover{color:#fff}.play-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.25rem 3rem;box-sizing:border-box;background-color:#f4f5f6;color:#111}.play-container #game-date{font-size:2rem;font-weight:600;margin:0 0 1rem}.play-container .center{color:inherit}.play-container .pad-grid{gap:1.2rem;margin:1rem 0}.play-container .pad{border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.25)}.play-container .results,.play-container .status{color:#111;font-weight:500}.play-container button.primary,.play-container button.secondary{background-color:#fff;color:#111;padding:.6rem 1.4rem;margin:.3rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;outline:none}.play-container button.primary:hover,.play-container button.secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.play-container button:disabled{opacity:.6;cursor:not-allowed}.play-card{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:1.25rem 1.25rem 1.75rem;box-shadow:0 6px 20px rgba(0,0,0,.15);position:relative;box-sizing:border-box}.play-meta{font-size:.9rem;margin-top:.35rem;opacity:.9}.play-card .status{margin-top:.85rem;font-size:1.05rem;font-weight:600}.play-card .results{font-size:1.15rem;font-weight:600;margin-top:1rem;background:linear-gradient(135deg,#e63946,#457b9d);background-clip:text;-webkit-background-clip:text;color:#457b9d}.actions-group{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-top:1.1rem}.share-panel{margin-top:1.4rem;max-width:540px;background:#fff;padding:1rem 1.1rem 1.15rem;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.12);box-sizing:border-box}.share-panel .share-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.share-panel .share-url{word-break:break-all;font-size:.75rem;padding:.5rem .65rem;background:#f6f6f8;border-radius:6px;border:1px solid #e0e0e5;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.pseudo-wrapper input{width:100%;max-width:420px;padding:.5rem .65rem;font-size:1rem;border-radius:8px;border:1px solid #ccd0d5;background:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}.pseudo-wrapper input:focus{outline:2px solid #457b9d;border-color:#457b9d}.intro-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;padding:1rem;box-sizing:border-box}.intro-card{background:#fff;padding:1.6rem 1.4rem 1.8rem;border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.18);max-width:520px;width:100%;text-align:center;box-sizing:border-box}.intro-card h2{margin-top:0;font-size:1.8rem}.intro-card p{margin:.6rem 0 1.2rem;line-height:1.55}#blocked-container{background:#fff;border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,.12);max-width:640px}.remaining-time{font-size:.95rem;font-weight:500;letter-spacing:.5px;background:#fff;padding:.35rem .8rem;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.1);display:inline-block}.play-container .pad:hover{filter:brightness(1.15)}@media (max-width:540px){.play-card{padding:1.1rem 1rem 1.4rem;border-radius:16px}.play-container #game-date{font-size:1.7rem}.intro-card{padding:1.25rem 1.1rem 1.4rem;border-radius:16px}}.legal-container,.privacy-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem;box-sizing:border-box;background-color:#f4f5f6;color:#111}#compare-container,.club-container,.leaderboard-container,.profile-container,.replay-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem;box-sizing:border-box;background:linear-gradient(135deg,#e63946,#2a9d8f,#457b9d,#e9c46a);background-size:400% 400%;animation:homeGradientAnimation 12s ease infinite;color:#fff}#compare-container h2,.club-container h2,.leaderboard-container h2,.legal-container h2,.privacy-container h2,.profile-container h2,.replay-container h2{font-size:2rem;font-weight:600;margin:0 0 1rem;text-align:center}#compare-container p,.club-container p,.leaderboard-container p,.legal-container p,.privacy-container p,.profile-container p,.replay-container p{font-size:1rem;line-height:1.5;margin:0 0 1rem;max-width:640px}.leaderboard-container table,.profile-container table{width:100%;max-width:640px;border-collapse:collapse;margin-top:1rem}.leaderboard-container td,.leaderboard-container th,.profile-container td,.profile-container th{border:1px solid hsla(0,0%,100%,.4);padding:.6rem .8rem;text-align:left;color:#fff}.leaderboard-container th,.profile-container th{background-color:hsla(0,0%,100%,.2);font-weight:600}.leaderboard-container tr:nth-child(2n),.profile-container tr:nth-child(2n){background-color:hsla(0,0%,100%,.1)}#compare-container .status{font-size:1rem;margin:.5rem 0 1rem}#compare-container button.primary{background-color:#fff;color:#111;padding:.6rem 1.4rem;margin-top:1rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;outline:none}#compare-container button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.replay-container ul{list-style-type:none;padding:0;margin:1rem 0 0}.replay-container li{margin:.5rem 0}.replay-container a{color:#07c;text-decoration:underline}.replay-container a:hover{color:#005fa3;text-decoration:underline}.legal-container a,.privacy-container a{color:#07c;text-decoration:underline}.legal-container a:hover,.privacy-container a:hover{color:#005fa3}#compare-container a,.club-container a,.leaderboard-container a,.profile-container a,.replay-container a{color:#fff;text-decoration:underline}#compare-container a:hover,.club-container a:hover,.leaderboard-container a:hover,.profile-container a:hover,.replay-container a:hover{color:#f0f0f0}.submit-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:hsla(0,0%,100%,.8);flex-direction:column;font-size:1.2rem;z-index:1000;color:#111}.club-actions,.submit-overlay{display:flex;align-items:center;justify-content:center}.club-actions{gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.notice{font-size:.95rem;opacity:.9;margin-top:.75rem}#challenge-container,#compare-container,.club-container,.leaderboard-container,.profile-container,.replay-container{padding:2rem}#challenge-container,#compare-container,.account-container,.club-container,.leaderboard-container,.login-container,.profile-container,.replay-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;box-sizing:border-box;background:linear-gradient(135deg,#e63946,#2a9d8f,#457b9d,#e9c46a);background-size:400% 400%;animation:homeGradientAnimation 12s ease infinite;color:#fff}.account-container,.login-container{padding:2.5rem 1.75rem 3rem;text-align:left}.account-container h1,.login-container h1{font-size:2.1rem;margin:0 0 .5rem;text-align:center}.login-container form{width:100%;max-width:520px;padding:0}.login-container label span{font-weight:500}.account-container input[type=email],.account-container input[type=password],.account-container input[type=text],.login-container input[type=email],.login-container input[type=password]{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.4);color:#fff;border-radius:10px;padding:.65rem .75rem;font-size:1rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}.account-container input::placeholder,.login-container input::placeholder{color:hsla(0,0%,100%,.7)}.account-container input:focus,.login-container input:focus{outline:2px solid #fff;border-color:#fff}.account-container button,.login-container button{background:#fff;color:#111;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.25);border-radius:10px;padding:.65rem 1.3rem}.account-container button:hover,.login-container button:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.35)}.account-container button[style*="text-decoration: underline"],.account-container button[style*=underline],.login-container button[style*="text-decoration: underline"],.login-container button[style*=underline]{background:transparent!important;color:#fff!important;box-shadow:none!important;padding:.4rem .2rem}.account-container button[style*="text-decoration: underline"]:hover,.login-container button[style*="text-decoration: underline"]:hover{text-decoration:underline;transform:none}.account-container .notice,.account-container p,.login-container .notice,.login-container p{max-width:520px}.account-container section{margin-bottom:1.5rem}.account-container h2.h-sub{margin:1.25rem 0 .4rem}.account-container h2{margin-top:1.25rem;margin-bottom:.45rem}.account-container section[style*="max-width: 520px"]{max-width:520px!important}.account-container a,.login-container a{color:#fff;text-decoration:underline}.account-container a:hover,.login-container a:hover{color:#f0f0f0}@media (max-width:560px){.account-container h1,.login-container h1{font-size:1.9rem}}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrapper table{min-width:0;width:100%}@media (max-width:560px){#challenge-container .cta-button,.account-container button[type=submit],.cta-button,.login-container button[type=submit],.play-container button.primary,.play-container button.secondary{width:100%;max-width:360px}main{padding:.85rem .9rem}h1{font-size:1.9rem}h2{font-size:1.6rem}.home-container .title{font-size:2.4rem}.home-container .tagline{font-size:1.3rem}.home-container .subtitle{font-size:.95rem}.play-card{padding:1rem .9rem 1.2rem}.account-container form,.login-container form{gap:.6rem}.account-container button[style*=text-decoration],.login-container button[style*=text-decoration]{padding:.3rem .15rem}}@media (max-width:380px){body{font-size:15px}.home-container .title{font-size:2.1rem}.cta-button{font-size:1rem;padding:.7rem 1.1rem}.table-wrapper table{min-width:0;width:100%}}.auth-form .link-btn{background:transparent!important;color:#fff!important;box-shadow:none!important;padding:.4rem .2rem}.auth-form .link-btn:hover{text-decoration:underline;transform:none;box-shadow:none}.oauth-group{width:100%;max-width:520px}.mt-0_25{margin-top:.25rem!important}.mt-0_5{margin-top:.5rem!important}.mt-0_75{margin-top:.75rem!important}.mt-1{margin-top:1rem!important}.mt-1_25{margin-top:1.25rem!important}.mt-1_5{margin-top:1.5rem!important}.mb-0_25{margin-bottom:.25rem!important}.mb-1{margin-bottom:1rem!important}.gap-0_3{gap:.3rem!important}.gap-0_5{gap:.5rem!important}.gap-0_6{gap:.6rem!important}.gap-0_75{gap:.75rem!important}.maxw-420{max-width:420px!important}.maxw-460{max-width:460px!important}.maxw-480{max-width:480px!important}.maxw-520{max-width:520px!important}.font-small{font-size:.85rem!important}.font-xs{font-size:.75rem!important}.bold{font-weight:600!important}#blocked-container{padding:2rem}#blocked-container h2{margin-bottom:1rem}#blocked-container p{max-width:480px;margin-bottom:1rem}#game-container{position:relative}#pseudo-wrapper{margin-top:1rem}.login-redirect-msg{margin-top:-.25rem;margin-bottom:1rem;font-size:.9rem;max-width:520px;text-align:center}.login-user-block{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:520px}.inline-links{display:flex;gap:.5rem;flex-wrap:wrap}.note-success{margin-top:.25rem}.share-intro{font-size:.9rem;margin-bottom:.5rem}.share-url{margin-top:.55rem}.club-teaser{margin-top:1.25rem}.return-home{margin-top:1rem}.compare-actions{display:block}.compare-result{font-weight:600}.pseudo-compare{margin-top:1rem;width:100%;max-width:460px;margin-inline:auto}.status-small{font-size:.85rem}.challenge-info{max-width:480px;margin:.75rem auto 0;font-size:.9rem}.challenge-nav{margin-top:1.25rem}.nav-stack{display:flex;flex-direction:column;align-items:center;gap:.75rem}.ta-left{text-align:left!important}.ta-right{text-align:right!important}.form-stack{max-width:520px;gap:.9rem}.field,.form-stack{width:100%;display:flex;flex-direction:column}.field{gap:.4rem}.field.inline{flex-direction:row;align-items:center}.field.inline>label{width:160px}.field input,.field select,.field textarea{width:100%;box-sizing:border-box}.btn-group{display:flex;gap:.65rem;width:100%}.btn-group,.btn-group.inline-on-wide{flex-direction:column}.btn-group.center{align-items:center}.btn-group.stretch button{width:100%}@media (min-width:640px){.btn-group.inline-on-wide{flex-direction:row;flex-wrap:wrap}.btn-group.inline-on-wide.stretch button{flex:1 1 auto}.field.inline-on-wide{flex-direction:row;align-items:center}.field.inline-on-wide>label>span:first-child,.field.inline-on-wide>span:first-child{width:190px}}.auth-form .mode-links{display:flex;flex-direction:column;gap:.35rem}@media (min-width:600px){.auth-form .mode-links{flex-direction:row;flex-wrap:wrap}}#challenge-container h2,#compare-container h2,.club-container h2,.leaderboard-container h2,.profile-container h2,.replay-container h2{font-size:2rem;font-weight:600;margin:0 0 1rem;text-align:center}#challenge-container p,#compare-container p,.club-container p,.leaderboard-container p,.profile-container p,.replay-container p{font-size:1rem;line-height:1.5;margin:0 0 1rem;max-width:640px}#challenge-container table{width:100%;max-width:640px;border-collapse:collapse;margin-top:1rem}#challenge-container td,#challenge-container th{border:1px solid hsla(0,0%,100%,.4);padding:.6rem .8rem;text-align:left;color:#fff}#challenge-container th{background-color:hsla(0,0%,100%,.2);font-weight:600}#challenge-container tr:nth-child(2n){background-color:hsla(0,0%,100%,.1)}#challenge-container .status{font-size:1rem;margin:.5rem 0 1rem}#challenge-container button.primary{background-color:#fff;color:#111;padding:.6rem 1.4rem;margin-top:1rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;outline:none}#challenge-container button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.auth-form .mode-links>button:first-child{width:100%}.auth-form .mode-links>button.link-btn{width:auto!important;flex:0 0 auto}@media (min-width:600px){.auth-form .mode-links{justify-content:center;align-items:center;gap:.75rem}.auth-form .mode-links>button:first-child{flex:1 1 auto}}.auth-form .mode-links>button.link-btn{font-size:.85rem;font-weight:500}.auth-form .mode-links>button.link-btn:hover{transform:none}.login-user-block .inline-links{justify-content:center}