#app-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;text-align:center}.login-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;background-color:#1b263b;padding:20px;position:relative}.login-container h1{color:gold;font-size:2.2rem;font-family:Trickster,sans-serif;letter-spacing:2px;width:100%;text-align:center;position:absolute;top:20px}.login-box{margin:auto 0;background-color:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px;font-family:CormorantUnicase,serif;text-align:center}.login-box h2{color:#1b263b;margin-bottom:2rem;font-size:1.8rem}.login-box form{display:flex;flex-direction:column;gap:1rem;width:100%}.login-box input{padding:12px;font-size:1.2rem;border:1px solid #ddd;border-radius:6px;width:100%;box-sizing:border-box}.login-box button{padding:12px;background-color:#1b263b;color:#fff;border:none;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:background-color .2s}.login-box button:hover{background-color:#2d3f5d}.toggle-auth{margin-top:1rem;background:none!important;color:#1b263b!important;text-decoration:underline;padding:0!important}.toggle-auth:hover{color:#2d3f5d!important;background:none!important}.google-login-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;background-color:#fff;color:#444;border:1px solid #ddd;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:background-color .2s}.google-login-button:hover{background-color:#f5f5f5}.google-login-button img{width:24px;height:24px}.submit-button{width:100%;padding:12px;background-color:#1b263b;color:#fff;border:none;border-radius:6px;font-size:1.2rem;cursor:pointer;transition:background-color .2s}.submit-button:hover{background-color:#2d3f5d}#input-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;margin:0 auto}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.input{width:75%;padding:.5rem;font-size:1.4rem;border:1px solid #ccc;border-radius:.25rem;box-sizing:border-box;font-family:CormorantUnicase,serif;letter-spacing:.5px}.input::placeholder{font-family:CormorantUnicase,serif;letter-spacing:.5px;opacity:.7}.submitButton{width:75%;padding:.5rem;font-size:1.4rem;border:none;border-radius:.25rem;cursor:pointer;margin:.5rem 0;background-color:#4caf50;color:#fff;font-family:Trickster,sans-serif;letter-spacing:1px}.submitButton:hover{background-color:#45a049}button:disabled{background-color:#ccc;cursor:not-allowed;pointer-events:none}.error-message{color:red;font-size:.9rem;text-align:left;width:100%;margin-top:-.5rem}@media (max-width: 480px){.input,.submitButton{font-size:1.2rem;padding:.5rem}}.event-display{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.event-text-container{width:100%;display:flex;justify-content:center}.event-text{font-size:1.4rem;text-align:center;white-space:pre-wrap;margin:.5rem 0;width:100%;font-weight:700;font-family:Fantasie,serif;letter-spacing:.5px;line-height:1.3}@media (max-width: 768px){.event-display{padding:0 1rem}h2{font-size:1.4rem;max-width:100%}.event-text{font-size:1.4rem}}.waiting-message{font-family:Fantasie,serif;text-align:center;font-size:1.2rem;color:#666;margin:2rem 0}.timer-display{font-size:1.2rem;color:#ff4500;margin:1rem 0;font-weight:700;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-height: 800px){.event-text{font-size:1.2rem;margin:.25rem 0}.input{padding:.5rem;font-size:1.1rem}.submitButton{padding:.5rem;margin:.25rem 0}}.results-screen{text-align:center;padding:.5rem;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}.event-container{display:flex;flex-direction:column;gap:1rem}.event-description{font-size:1.5rem;margin-bottom:.5rem;line-height:1.3}.year-display{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.player-side,.opponent-side,.actual-year{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.guess-value,.year{font-size:2.4rem;font-weight:700}h3{font-size:1rem;margin:0}.player-side .guess-value{color:var(--player-color)}.opponent-side .guess-value{color:var(--opponent-color)}.actual-year .year{color:gold}.difference{font-size:.9rem;color:#666}.result-message{margin:.5rem 0;font-size:1.8rem;font-weight:700;font-family:CormorantUnicase,serif}.result-message.opponent-win{color:#ff4500}.result-message:not(.opponent-win){color:gold}.countdown{margin-top:.5rem;font-size:1.4rem;color:#666}.actual-date{font-size:1.5rem;color:var(--player-color);margin-bottom:30px}.countdown-container{display:flex;flex-direction:column;align-items:center}.next-round-text{font-size:1.5rem;color:var(--primary-text-color);margin-bottom:10px}.countdown-timer{font-size:4rem;font-weight:700;color:var(--player-color)}.event-details{margin:2rem 0}.guesses{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.guess{display:flex;justify-content:center;gap:1rem;font-size:1.2rem}.game-over{animation:fadeIn 1s ease-in}.winner-banner{font-size:3rem;color:gold;margin-bottom:2rem;animation:pulse 2s infinite}.final-scores{display:flex;justify-content:center;align-items:center;gap:3rem;margin-top:2rem}.player-final,.opponent-final{text-align:center}.vs{font-size:2rem;color:#666}.score{font-size:4rem;font-weight:700;margin-top:1rem}.player-final .score{color:gold}.opponent-final .score{color:#ff4500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 768px){.result-message{font-size:1.5rem}.actual-date,.next-round-text{font-size:1.2rem}.countdown-timer{font-size:3rem}.event-description{font-size:1.4rem;max-width:90%}}.game-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:.5rem;gap:.5rem;width:100vw;max-width:100vw;margin:0;box-sizing:border-box}.content{display:flex;flex-direction:column;align-items:center;width:100%;margin:0;padding:0 1rem;box-sizing:border-box}.scoreboard-wrapper{position:static;padding:.5rem;background:none;margin-top:auto;width:100%;display:flex;justify-content:center}.scoreboard{width:100%;max-width:none;padding:.5rem 1.5rem;margin:0}.score-left,.score-right{width:25%;display:flex;flex-direction:column;align-items:center;align-self:flex-start}.player-score,.opponent-score{display:flex;flex-direction:column;align-items:center}.big-score{font-size:5rem;font-weight:700;margin-top:1rem}.score-left h2,.score-right h2{font-size:1.5rem}.game-content{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 1rem;gap:.5rem}@font-face{font-family:CormorantUnicase;src:url(/fonts/CormorantUnicase-Medium.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}#logo{text-align:center;font-size:2.2rem;color:var(--primary-text-color);width:100%;font-family:CormorantUnicase,sans-serif;letter-spacing:2px;margin-bottom:.25rem}.round{font-size:1.8rem;text-align:center;margin:.5rem 0 1rem;color:gold;width:100%;font-family:CormorantUnicase,sans-serif;letter-spacing:1px}.event{width:100%;margin:2rem auto 1rem;font-size:1.6rem;text-align:center;white-space:normal;line-height:1.4;padding:0 2rem}.result{font-size:1.2rem;margin-top:1rem;text-align:center;width:100%;max-width:600px;word-wrap:break-word}.loading{font-size:1.2rem;margin-top:2rem;text-align:center}.resetButton{padding:.75rem 1.5rem;font-family:CormorantUnicase,sans-serif;font-size:1.4rem;border:none;border-radius:.25rem;cursor:pointer;background-color:#2196f3;color:#fff;margin-top:1rem}.resetButton:hover{background-color:#0b7dda}@media (max-width: 768px){.game-container{padding:.25rem}.content{padding:0 .5rem}#logo{font-size:1.8rem}.event{font-size:1.4rem;padding:0 1rem}.score-left,.score-right{width:100%;align-items:center}.player-score,.opponent-score{align-items:center}.big-score{font-size:2.5rem}.round,.score-left h2,.score-right h2{font-size:1.2rem}.round{font-size:1.2rem;margin-bottom:1.5rem}button{font-size:1.2rem}}.countdown{font-family:CormorantUnicase,sans-serif;text-align:center;padding:2rem}.countdown h1{font-size:4rem;margin:1rem}.countdown h2{font-size:1.5rem;color:#666}.join-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;width:100%;max-width:400px;margin:0 auto}.join-options{display:flex;flex-direction:column;gap:20px;width:100%}.join-options button,.join-game button:not(.back-button),.create-game button:not(.back-button){font-family:CormorantUnicase,sans-serif;padding:15px 30px;font-size:1.4rem;border:none;border-radius:8px;background-color:#1b263b;color:#fff;cursor:pointer;width:100%;transition:background-color .2s}.join-game h2,.create-game h2{font-family:CormorantUnicase,serif}.join-options button:hover{background-color:#2d3f5d}.join-input{display:flex;gap:10px;width:100%;margin:20px 0}.join-input input{flex:1;padding:10px;font-size:1.2rem;border:2px solid #1b263b;border-radius:8px;text-transform:uppercase}.back-button{background-color:#666!important;font-family:CormorantUnicase,serif!important;padding:15px 30px;font-size:1.4rem;border:none;border-radius:8px;color:#fff;cursor:pointer;width:100%;max-width:200px;transition:background-color .2s}.back-button:hover{background-color:#555!important}.game-code{font-family:CormorantUnicase,serif;text-align:center}.game-code h1{font-size:3rem;color:gold;margin:10px 0}.game-code p{color:#666;margin-bottom:10px}.countdown-title{font-size:1.5rem;color:#666}.game-code-title{text-align:center;margin-bottom:20px;color:gold}.waiting-title{color:gold;font-size:1.5rem}.waiting-message{text-align:center}.waiting-message h2{color:gold;font-size:1.5rem}.game-over{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;margin-bottom:120px}.final-event{text-align:center;max-width:600px;font-size:1.5rem;font-family:CormorantUnicase,serif}.winner-banner{font-size:3.4rem;color:gold;text-align:center;font-family:CormorantUnicase,sans-serif}.winner-banner.opponent-win{color:#ff4500}.resetButton{padding:.75rem 1.5rem;font-size:1.4rem;border:none;border-radius:.25rem;cursor:pointer;background-color:#2196f3;color:#fff;margin-top:1rem;z-index:20}@media (max-width: 768px){.game-over{margin-bottom:100px;padding:1rem}.winner-banner{font-size:2rem}}.game-over-buttons{display:flex;gap:1rem;z-index:20}.rematchButton{padding:.75rem 1.5rem;font-size:1.4rem;font-family:CormorantUnicase,sans-serif;border:none;border-radius:.25rem;cursor:pointer;background-color:#4caf50;color:#fff;margin-top:1rem;z-index:20}.rematchButton:hover{background-color:#45a049}.rematch-badge{position:absolute;top:-8px;right:-8px;background:#ff4500;color:#fff;border-radius:12px;padding:2px 6px;font-size:.8rem;font-weight:700}.rematchButton{position:relative}.rematchButton.proposed{animation:pulse 1s infinite}.event-display{width:100%;display:flex;flex-direction:column;align-items:center}.logout-button{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;font-family:CormorantUnicase,serif;font-size:1rem;background-color:#666;color:#fff;border:none;border-radius:4px;cursor:pointer}.logout-button:hover{background-color:#555}@media (max-height: 800px){.game-container{padding:.25rem;gap:.25rem}#logo{font-size:1.5rem;margin-bottom:.15rem}.event-text{font-size:1.2rem;margin:.5rem 0}.scoreboard{padding:.25rem 1rem;width:100%}.player-name,.opponent-name{font-size:1rem}.score{font-size:1.8rem}}.join-game h2,.create-game h2,.game-code,.back-button,.final-event,.result-message,.logout-button,#logo,.round,.resetButton,.countdown,.join-options button,.join-game button:not(.back-button),.create-game button:not(.back-button),.winner-banner,.rematchButton{font-family:CormorantUnicase,serif}.scoreboard{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:8px;padding:.5rem 1.5rem;display:flex;justify-content:space-between;align-items:center;width:80%;max-width:800px;z-index:1;position:static;margin-top:auto}.player-info,.opponent-info{display:flex;flex-direction:column;align-items:center;gap:.25rem}.player-name,.opponent-name{font-size:1.2rem;margin:0;font-family:Trickster,sans-serif;letter-spacing:1px}.record{font-size:.9rem;color:#666;margin:0;font-family:Trickster,sans-serif;letter-spacing:1px}.score{font-size:2.2rem;font-weight:700;margin:0;font-family:Trickster,sans-serif;letter-spacing:2px}.player-score,.opponent-score{text-align:center;min-width:120px;flex:1;max-width:200px}.player-score .scoreboard-name,.player-score .big-score,.player-score .player-record{color:gold}.opponent-score .scoreboard-name,.opponent-score .big-score,.opponent-score .player-record{color:#ff4500}.big-score{font-size:2rem;font-weight:700;margin:.25rem 0;font-family:Trickster,sans-serif;letter-spacing:2px}.scoreboard-name{margin:0 0 1px;font-size:clamp(.9rem,2vw,1.2rem);padding:0 5px;font-family:Fantasie,serif;letter-spacing:1px}.player-record{font-size:.8rem;opacity:.8}.scoreboard-team{flex:1;text-align:center}.team-name{font-size:1rem;font-weight:700;text-transform:uppercase;margin-bottom:5px;font-family:Trickster,sans-serif;letter-spacing:1px}.team-score{font-size:3rem;font-weight:700;animation:scoreChange .6s ease-in-out;font-family:Trickster,sans-serif;letter-spacing:2px}.scoreboard-divider{width:2px;height:50px;background-color:#f5f5f5;margin:0 20px}.player-team .team-name,.player-team .team-score{color:gold}.opponent-team .team-name,.opponent-team .team-score{color:#ff4500}@keyframes scoreChange{0%{transform:translateY(100%);opacity:0}30%{transform:translateY(-20%);opacity:1}50%{transform:translateY(10%)}70%{transform:translateY(-5%)}to{transform:translateY(0)}}@media (max-width: 768px){.team-score{font-size:2rem}.scoreboard-divider{height:30px;margin:0 10px}}@media (max-width: 480px){.scoreboard{padding:10px 20px}.player-score,.opponent-score{min-width:80px}}@media (max-width: 320px){.scoreboard{padding:5px 10px}}:root{--background-color: #0d1b2a;--primary-text-color: #ffffff;--player-color: #ffd700;--opponent-color: #ff4500;--accent-color: #1b263b;--button-color: #1b263b;--button-hover-color: #415a77}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
