@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700&family=Space+Mono:wght@400;700&display=swap");:root{--primary:#1cafec;--secondary:#1bbf9a;--accent:#fdd413;--background:#ffffff;--backgroundSecondary:#f0f0f0;--text:#000000;--border:4px solid #000000;--shadow:5px 5px 0px #000000;--fontSecondarySize:1rem}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Space Grotesk,sans-serif;color:var(--text);font-size:18px;line-height:1.5}.container,body{background-color:var(--background)}.container{max-width:1000px;border:var(--border);box-shadow:var(--shadow);padding:1.5rem;margin:0 auto 1.5rem;width:100%;max-width:800px;display:flex;flex-direction:column;gap:1rem}h1,h2,h3,h4,h5,h6{font-family:Space Mono,monospace;font-weight:700;text-transform:uppercase;margin-bottom:1rem}h1{font-size:4rem;letter-spacing:-1px;margin-top:0;position:relative;display:inline-block}h1:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:8px;background-color:var(--primary);z-index:-1}.game-room,.lobby{text-align:center;background-color:var(--background);border:var(--border);box-shadow:var(--shadow);padding:2rem;margin:2rem auto}.player-list{padding:1.5rem}.player-list ul{list-style-type:none;padding:0;margin:0}.player-list li{padding:.5rem;margin-bottom:.5rem;background-color:var(--background);border:2px solid #000;font-weight:700}.voting-panel{margin:20px 0;padding:1.5rem;background-color:var(--accent);border:var(--border);box-shadow:var(--shadow)}.submission{margin:10px 0;padding:.8rem;background-color:var(--background);border:2px solid #000;display:flex;align-items:center}input[type=email],input[type=password],input[type=text]{padding:1rem;font-family:Space Mono,monospace;border:3px solid #000;background-color:#fff;margin-right:10px;width:100%}input[type=radio]{transform:scale(1.5);margin-right:15px}button{font-family:Space Mono,monospace;font-weight:700;font-size:1rem;text-transform:uppercase;padding:.8rem 1.5rem;background-color:var(--primary);color:var(--text);border:3px solid #000;box-shadow:4px 4px 0 #000;cursor:pointer;margin:5px 0;transition:all .1s ease}button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #000}button:disabled{background-color:#cccccc;color:#666666;cursor:not-allowed}button:disabled,button:disabled:hover{box-shadow:none;transform:none}.chat-container{border:var(--border);box-shadow:var(--shadow);background-color:#f0f0f0;margin-top:2rem;height:300px}.chat-messages{flex:1 1;background-color:#fff}.chat-input-container{display:flex}.chat-item{margin-left:1rem}.results-container{background-color:var(--secondary);border:var(--border);box-shadow:var(--shadow);padding:1.5rem;margin-top:2rem}.winner{font-size:1.5rem;font-weight:700;color:var(--primary);margin:1rem 0;padding:1rem;background-color:#fff;border:3px solid #000}.game-room-container{padding:1.5rem;background-color:var(--secondary);min-height:100vh;font-family:Space Grotesk,sans-serif;display:flex;flex-direction:column;align-items:center;margin:0 auto;color:var(--text);gap:1.5rem;font-size:calc(16px + .5vw)}.round-header{background-color:var(--accent);text-align:center}.btn,.round-header{text-transform:uppercase}.btn{font-family:Space Mono,monospace;font-weight:700;border:3px solid var(--text);cursor:pointer;box-shadow:4px 4px 0 var(--text);transition:transform .1s,box-shadow .1s}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--text)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--text)}.btn:disabled{background-color:#cccccc;color:#666666;cursor:not-allowed;box-shadow:none;transform:none}.btn-lg{padding:1.25rem;font-size:1.5rem}.btn-md{padding:1rem;font-size:1.25rem}.btn-sm{padding:.5rem 1rem;font-size:1rem}.btn-xs{padding:.25rem .5rem;font-size:.9rem}.btn-primary{background-color:var(--primary);color:var(--background)}.btn-secondary{background-color:var(--secondary);color:var(--text)}.btn-accent{background-color:var(--accent);color:var(--text)}.btn-blue{background-color:#00c2ff;color:var(--text)}.btn-wide{padding-left:2rem;padding-right:2rem}.pulse-animation{animation:pulse 1.5s infinite}.timer-warning{background-color:#ff3c00;animation:shake .5s infinite}@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-5px)}to{transform:translateX(0)}}.timer-label,.timer-value{color:#000000}.timer-value{border:2px solid #000000}.invite-link{padding:1rem;background-color:var(--accent);border:var(--border);margin:1rem 0;word-break:break-all}.main-input{width:100%;padding:1.2rem;font-size:1.25rem;font-family:Space Mono,monospace;border:3px solid #000000;box-shadow:4px 4px 0 #000000;outline:none;gap:.75rem}.info-box{background-color:#ffffff;padding:1rem;font-size:var(--fontSecondarySize);font-weight:700;text-align:center;font-family:Space Grotesk,sans-serif}.pill{font-family:Space Mono,monospace;font-size:1.25rem;padding:.5rem .75rem;border:3px solid #000000;box-shadow:3px 3px 0 #000000;display:inline-block;text-transform:uppercase}.pill,.section-header{font-weight:700;background-color:var(--accent)}.section-header{border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);text-align:center;margin:0}.name-input,.section-header{width:100%;padding:1rem;font-family:Space Grotesk,sans-serif}.name-input{font-size:var(--fontSecondarySize);border:3px solid #000000;box-shadow:4px 4px 0 #000000;outline:none}.name-set-form{margin-bottom:1.5rem}.name-set-info{background-color:var(--backgroundSecondary);font-size:var(--fontSecondarySize);text-align:center;font-family:Space Grotesk,sans-serif}.name-set-info,.waiting-header{padding:1rem;border:3px solid var(--text)}.waiting-header{width:100%;margin-bottom:1.5rem;background-color:var(--accent);box-shadow:4px 4px 0 var(--text)}.waiting-title{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#000000;margin:0;text-align:center}.waiting-info{width:100%;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.invite-container{width:100%;max-width:800px;background-color:#ffffff;padding:1.5rem;border:4px solid #000000;box-shadow:6px 6px 0 #000000;margin-bottom:1.5rem}.invite-header{width:100%;margin-bottom:1.5rem;background-color:var(--accent);padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.invite-title{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#000000;margin:0;text-align:center}.invite-content{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;width:100%}.invite-input{width:100%;font-size:1rem;font-family:Space Mono,monospace;box-shadow:4px 4px 0 var(--text);background-color:#f0f0f0;color:#000000;outline:none}.invite-info,.invite-input{padding:1rem;border:3px solid var(--text)}.invite-info{background-color:var(--backgroundSecondary);font-size:var(--fontSecondarySize);text-align:center;font-family:Space Grotesk,sans-serif}.loading-message{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;text-align:center;padding:2rem;background-color:var(--background);border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);margin:2rem auto;max-width:80%}.section-content{display:flex;flex-direction:column;gap:1rem}.header{position:-webkit-sticky;position:sticky;top:1rem;background-color:var(--background);padding:1.5rem;width:100%;max-width:800px;justify-content:space-between;border:var(--border);box-shadow:var(--shadow);z-index:10;margin-bottom:1.5rem}.header,.room-title-container{display:flex;align-items:center}.room-title-container{gap:.5rem}.title{font-family:Space Mono,monospace;font-size:2rem;color:var(--text);margin:0;font-weight:700;text-transform:uppercase;text-shadow:2px 0 0 var(--primary),-2px 0 0 var(--accent)}.room-name-edit,.title{display:flex;align-items:center;gap:.5rem}.input{padding:.75rem 1rem;font-size:1rem;font-family:Space Mono,monospace;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);outline:none;background-color:var(--background);color:var(--text)}.status-container{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.reconnecting-badge{background-color:var(--primary);color:var(--background);font-family:Space Mono,monospace;font-weight:700;padding:.5rem .75rem;border:3px solid var(--text);box-shadow:3px 3px 0 var(--text);animation:pulse 1s infinite;display:flex;align-items:center;gap:.25rem}.reconnecting-text{font-size:.9rem}.reconnecting-dots{animation:pulse 1s infinite}.game-status-badge{font-family:Space Mono,monospace;font-weight:700;padding:.5rem .75rem;border:3px solid var(--text);box-shadow:3px 3px 0 var(--text)}.game-status-text{color:var(--text);font-size:1rem}.player-list{list-style:none;padding:0;margin:0}.player-item{padding:.75rem;margin-bottom:.75rem;border:2px solid var(--text);background-color:#f0f0f0;font-weight:700;justify-content:space-between}.player-item,.player-name{display:flex;align-items:center}.player-name{gap:.5rem}.section{margin-bottom:1.5rem;width:100%;max-width:800px;flex-direction:column;padding:1.5rem;border:var(--border);box-shadow:var(--shadow)}.player-count,.section{display:flex;align-items:center;background-color:var(--background)}.player-count{justify-content:space-between;padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.player-count-label{font-size:1.25rem}.player-count-label,.player-count-value{font-family:Space Mono,monospace;font-weight:700}.player-count-value{font-size:2rem;padding:.25rem .75rem;border:2px solid var(--text)}.creator-note,.player-count-value{background-color:var(--background)}.creator-note{padding:1.25rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);display:flex;align-items:center;gap:1rem}.creator-icon{font-size:2.5rem}.creator-text{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem}.round-header{width:100%;margin-bottom:1.5rem;background-color:var(--primary);padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.round-title{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--background);margin:0;text-align:center}.player-score{background-color:var(--secondary);border:2px solid var(--text)}.bot-badge,.player-score{padding:.25rem .5rem;font-family:Space Mono,monospace}.bot-badge{background-color:var(--accent);color:var(--text);margin-left:.5rem;font-size:.8rem;font-weight:700;border:3px solid #000000;box-shadow:3px 3px 0 #000000}.leave-button{padding:.75rem 1.5rem;font-size:1.5rem;font-family:Space Mono,monospace;background-color:var(--primary);color:var(--background);font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s;text-transform:uppercase;flex:1 1;width:100%}.category-container,.leave-button{border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.category-container{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center;background-color:var(--background);padding:1rem}.category-label{font-size:1.25rem}.category-label,.category-value{font-family:Space Mono,monospace;font-weight:700}.category-value{background-color:var(--secondary);padding:.5rem 1rem;border:2px solid var(--text)}.letters-container{gap:.75rem;background-color:var(--background)}.letters-label{font-size:1.25rem}.letter-box{font-size:1.5rem;color:var(--text);border:3px solid var(--text);box-shadow:3px 3px 0 var(--text);min-width:2.5rem;text-align:center}.submission-form{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:1.5rem}.submission-label{font-family:Space Mono,monospace;font-weight:700;font-size:1.25rem}.submission-input{width:100%;padding:1rem;font-size:1rem;background-color:var(--background);color:var(--text);outline:none}.submission-button,.submission-input{font-family:Space Mono,monospace;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.submission-button{padding:.75rem 1.5rem;font-size:1.25rem;background-color:var(--primary);color:var(--background);font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s;text-transform:uppercase}.voting-container{width:100%;display:flex;flex-direction:column;gap:1rem}.voting-header{font-family:Space Mono,monospace;font-weight:700;font-size:1.25rem;margin-bottom:.5rem}.submission-list{gap:1rem;width:100%}.submission-item,.submission-list{display:flex;flex-direction:column}.submission-item{padding:1rem;border:3px solid var(--text);background-color:var(--background);box-shadow:4px 4px 0 var(--text);gap:.5rem}.submission-phrase{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700}.submission-player{font-family:Space Mono,monospace;font-size:.9rem;color:var(--textSecondary)}.winner-container{margin:1.5rem 0}.winner-label{font-size:1.5rem;text-transform:uppercase}.winner-name{display:flex;align-items:center;gap:.5rem}.trophy-icon{font-size:2rem;color:gold}.winner-score{gap:.5rem}.game-over-actions{gap:1rem}.chat-container{width:100%;display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.chat-list-wrapper{margin:20px 0;width:100%;max-height:350px;overflow:scroll}.chat-list{margin:0;padding:0;list-style:none}.chat-pill{background-color:var(--secondary)}.own-message .chat-pill{background-color:#E8752A}.chat-messages{width:100%;display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:1rem;border:3px solid var(--text);background-color:var(--backgroundSecondary)}.chat-message{padding:.5rem .75rem;border-radius:.5rem;font-family:Space Grotesk,sans-serif}.own-message{text-align:right;margin-right:1rem}.chat-message-other{align-self:flex-start;background-color:var(--secondary);border:2px solid var(--text)}.button{width:100%}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-blue{background-color:#00c2ff}.opacity-70{opacity:.7}.game-info{width:100%;gap:1rem;margin-bottom:1.5rem}.game-info,.letters-container{display:flex;flex-direction:column}.letters-container{gap:.5rem;padding:1rem;background-color:#ffffff;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.letters-label{font-family:Space Mono,monospace;font-weight:700;font-size:1rem}.letter-boxes{display:flex;flex-wrap:wrap;gap:.5rem}.letter-box{font-family:Space Mono,monospace;font-weight:700;font-size:1.25rem;background-color:var(--accent);padding:.5rem .75rem;border:2px solid var(--text);box-shadow:2px 2px 0 var(--text)}.timer-container{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:3px solid var(--text);text-align:center;box-shadow:4px 4px 0 var(--text);margin:1.5rem auto;display:block;width:195px}.timer-label{font-size:1.25rem}.timer-label,.timer-value{font-family:Space Mono,monospace;font-weight:700;color:var(--text)}.timer-value{font-size:1.5rem;background-color:#ffffff;padding:.5rem .75rem;border:2px solid var(--text)}.submitted-message{background-color:var(--accent);margin-top:1rem}.submitted-message,.voting-instructions{padding:1rem;border:3px solid var(--text);font-weight:700;text-align:center}.voting-instructions{background-color:#ffffff;margin-bottom:1.5rem;font-family:Space Grotesk,sans-serif}.voting-list{list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:1rem}.voting-item{padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.acronym-display{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.25rem;display:flex;flex-direction:column;gap:.5rem}.your-submission-badge{font-family:Space Mono,monospace;font-size:.75rem;background-color:var(--accent);color:var(--text);padding:.25rem .5rem;border:2px solid var(--text);display:inline-block}.results-container{width:100%;gap:1.5rem}.result-item,.results-container{display:flex;flex-direction:column}.result-item{padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);gap:1rem}.result-acronym{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.5rem;padding:.75rem;background-color:#f0f0f0;border:2px solid var(--text)}.result-details{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.result-player{display:flex;flex-direction:column;gap:.25rem}.result-player-label{font-family:Space Mono,monospace;font-size:.85rem;font-weight:700}.result-player-name{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.your-result-badge{font-family:Space Mono,monospace;font-size:.75rem;background-color:var(--primary);color:#ffffff;padding:.25rem .5rem;border:2px solid var(--text);display:inline-block}.result-votes{padding:.5rem .75rem;border:2px solid var(--text);display:flex;flex-direction:column;align-items:center;gap:.25rem}.result-votes-label{font-size:.85rem}.result-votes-count,.result-votes-label{font-family:Space Mono,monospace;font-weight:700}.result-votes-count{font-size:1.5rem}.game-over-header{width:100%;margin-bottom:1.5rem;background-color:var(--primary);padding:1.5rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.game-over-title{font-family:Space Mono,monospace;font-size:2rem;font-weight:700;text-transform:uppercase;margin:0;text-align:center}.winner-container{width:100%;background-color:var(--accent);padding:1.5rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text);display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem;position:relative}.winner-label{font-family:Space Mono,monospace;font-size:1.25rem;font-weight:700;background-color:#ffffff;padding:.5rem 1rem;border:3px solid var(--text);box-shadow:3px 3px 0 var(--text)}.winner-name{font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;text-align:center;margin-top:.5rem}.winner-score{display:flex;flex-direction:column;align-items:center;gap:.25rem;background-color:#ffffff;padding:1rem;border:3px solid var(--text);box-shadow:3px 3px 0 var(--text)}.winner-score-label{font-size:1rem}.winner-score-label,.winner-score-value{font-family:Space Mono,monospace;font-weight:700}.winner-score-value{font-size:2rem}.trophy-icon{font-size:4rem;position:absolute;top:-1.5rem;right:1rem;transform:rotate(15deg)}.game-over-actions{width:100%;display:flex;justify-content:center;margin-top:1rem}.name-set-header{width:100%;margin-bottom:1.5rem;background-color:#00c2ff;padding:1rem;border:3px solid var(--text);box-shadow:4px 4px 0 var(--text)}.name-set-title{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--text);margin:0;text-align:center}.name-set-form{width:100%;display:flex;flex-direction:column;gap:1rem}