@import"https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap";:root{font-family: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}}*{margin:0;padding:0;box-sizing:border-box}html{overflow:hidden;height:100%;width:100%;position:fixed}body{font-family:Courier Prime,Courier New,monospace;background:#000;color:#0f0;overflow:hidden;margin:0;padding:0;width:100%;height:100vh;position:fixed}#root{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}.app{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1000px;height:100vh;max-height:100vh;background:#000;position:relative;padding:20px;box-sizing:border-box;overflow:hidden}.app:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,#000 0%,transparent 100%),repeating-linear-gradient(0deg,#001a00 0px,transparent 2px,transparent 4px,#001a00 4px);opacity:.3;pointer-events:none;z-index:0}.header{background:#001400f2;padding:1rem;border:2px solid #00ff00;border-radius:0;box-shadow:0 0 20px #00ff004d;width:100%;max-width:900px;z-index:10;margin-bottom:20px;flex-shrink:0}.header h1{text-align:center;color:#0f0;margin-bottom:1rem;font-size:1.5rem;text-shadow:0 0 10px rgba(0,255,0,.7);letter-spacing:2px}.header h1:before{content:"> "}.scoreboard{display:flex;justify-content:center;align-items:center;gap:2rem;max-width:600px;margin:0 auto}.score-item{flex:1;text-align:center;padding:.75rem;border:1px solid #00ff00;background:#0032004d}.team-a,.team-b{background:#0032004d;color:#0f0}.team-label{display:block;font-size:.9rem;font-weight:700;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:1px}.team-label:before{content:"[ "}.team-label:after{content:" ]"}.score-value{display:block;font-size:2rem;font-weight:700;text-shadow:0 0 10px rgba(0,255,0,.5)}.score-divider{font-size:1.2rem;font-weight:700;color:#0f0}.main{display:flex;align-items:center;justify-content:center;flex:1;width:100%;z-index:1;overflow:hidden;min-height:0}.welcome-screen{display:flex;justify-content:center;align-items:center;width:100%;flex:1}.welcome-card{background:#001400f2;padding:3rem 2rem;border:2px solid #00ff00;box-shadow:0 0 30px #00ff0080;text-align:center;max-width:600px;animation:terminalBoot 1s ease-out}@keyframes terminalBoot{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.welcome-card h2{color:#0f0;margin-bottom:1rem;font-size:1.8rem;text-shadow:0 0 10px rgba(0,255,0,.7);letter-spacing:2px}.welcome-card h2:before{content:"> "}.welcome-card p{color:#0f0;margin-bottom:2rem;font-size:1.1rem;opacity:.8}.sign-up-btn{background:transparent;color:#0f0;border:2px solid #00ff00;padding:1rem 3rem;font-size:1.2rem;font-weight:700;font-family:Courier Prime,monospace;cursor:pointer;transition:all .3s;box-shadow:0 0 20px #00ff004d;text-transform:uppercase;letter-spacing:2px}.sign-up-btn:hover{background:#0f0;color:#000;box-shadow:0 0 30px #00ff00b3}.sign-up-btn:before{content:"[ "}.sign-up-btn:after{content:" ]"}.game-screen{display:flex;flex-direction:column;width:100%;max-width:900px;flex:1;min-height:0;overflow:hidden;height:100%}.messages-container{flex:1;overflow-y:auto;width:100%;padding:2rem;background:#001400f2;border:2px solid #00ff00;margin-bottom:1rem;box-shadow:0 0 30px #00ff004d;scrollbar-width:thin;scrollbar-color:#00ff00 #001a00;min-height:0}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#001a00}.messages-container::-webkit-scrollbar-thumb{background:#0f0;border-radius:4px}.message{margin-bottom:1.5rem;animation:terminalAppear .5s ease-out}@keyframes terminalAppear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.message-bubble{padding:1rem 1.5rem;max-width:100%;word-wrap:break-word;font-size:1rem;line-height:1.6}.system-message .message-bubble{color:#0f0;background:transparent;border-left:3px solid #00ff00;padding-left:1rem}.system-message .message-bubble:before{content:"> "}.user-message .message-bubble{color:#0f0;background:#0032004d;border:1px solid #00ff00;text-align:right;margin-left:auto}.user-message .message-bubble:before{content:"$ "}.system-message.success .message-bubble{color:#0f0;border-left:3px solid #00ff00;text-shadow:0 0 10px rgba(0,255,0,.7);animation:successPulse .5s ease-out}@keyframes successPulse{0%,to{opacity:1}50%{opacity:.7}}.system-message.error .message-bubble{color:red;border-left:3px solid #ff0000;text-shadow:0 0 10px rgba(255,0,0,.7)}.system-message.complete .message-bubble{color:#0f0;font-weight:700;text-align:center;border:2px solid #00ff00;padding:1.5rem;text-shadow:0 0 15px rgba(0,255,0,.9);animation:completeBlink 1s ease-in-out infinite}@keyframes completeBlink{0%,to{opacity:1}50%{opacity:.6}}.input-form{display:flex;gap:1rem;background:#001400f2;padding:1.5rem;border:2px solid #00ff00;width:100%;box-shadow:0 0 20px #00ff004d;min-width:0;flex-shrink:0}.message-input{flex:1;padding:.75rem 1rem;border:1px solid #00ff00;background:#0032004d;color:#0f0;font-size:1rem;font-family:Courier Prime,monospace;outline:none;transition:all .3s}.message-input:focus{box-shadow:0 0 10px #00ff0080;background:#00320080}.message-input::placeholder{color:#00ff0080}.send-btn{background:transparent;color:#0f0;border:2px solid #00ff00;padding:.75rem 2rem;font-size:1rem;font-weight:700;font-family:Courier Prime,monospace;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;flex-shrink:0}.send-btn:hover{background:#0f0;color:#000;box-shadow:0 0 20px #00ff00b3}.send-btn:before{content:"[ "}.send-btn:after{content:" ]"}.completion-banner{background:#001400f2;color:#0f0;padding:1.5rem;border:2px solid #00ff00;text-align:center;font-size:1.2rem;font-weight:700;box-shadow:0 0 30px #00ff0080;animation:completeBlink 1s ease-in-out infinite;letter-spacing:2px;text-transform:uppercase;flex-shrink:0}.completion-banner:before{content:">>> "}.completion-banner:after{content:" <<<"}.typing-indicator{display:inline-block;color:#0f0}.typing-indicator:after{content:"▌";animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 768px){body{overflow:hidden;position:fixed;width:100%;height:100%}.app{padding:10px;overflow:hidden;height:100vh;height:100dvh}.header{padding:.75rem}.header h1{font-size:.85rem}.scoreboard{gap:.5rem}.score-item{padding:.5rem}.score-value{font-size:1.5rem}.welcome-card{padding:2rem 1.5rem;width:100%}.welcome-card h2{font-size:1.5rem}.game-screen{width:100%;height:100%;overflow:hidden}.messages-container{padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.input-form{flex-direction:column;padding:1rem}.message-input{width:100%}.send-btn{width:100%;padding:1rem}}
