@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700;800&family=IBM+Plex+Sans:wght@400;600;700&display=swap";:root{--cw-bg: #0A0E14;--cw-bg2: #0C1014;--cw-panel: #0A1420;--cw-panel2: #101E2C;--cw-line: #22303E;--cw-ink: #C4D2E0;--cw-bright: #E8EEF4;--cw-muted: #6E8296;--cw-jade: #1A7A3A;--cw-jade-hi: #50FF80;--cw-ok: #3fae5c;--cw-bad: #E34948;--cw-mono: "JetBrains Mono", "Consolas", "SFMono-Regular", ui-monospace, "Courier New", monospace;--cw-sans: "IBM Plex Sans", "Segoe UI", -apple-system, sans-serif}.cw-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(120% 90% at 50% -10%,#14202e 0%,var(--cw-bg) 55%,var(--cw-bg2) 100%);color:var(--cw-ink);font-family:var(--cw-mono);image-rendering:pixelated;position:relative;--race-glow: #50FF80;--race-accent: #1A7A3A}.cw-auth:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.5}.cw-auth-grid{position:relative;z-index:1;display:grid;grid-template-columns:260px 380px 260px;gap:18px;align-items:start;max-width:1000px;width:100%}.cw-win{border:1px solid var(--cw-line);background:linear-gradient(180deg,var(--cw-panel),#08111c);box-shadow:0 12px 28px #00000073}.cw-win-gold{border-color:var(--cw-jade);box-shadow:0 12px 28px #00000073,0 0 30px #50ff8014}.cw-win-head{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--cw-line);background:#0a121c}.cw-win-dots{display:flex;gap:5px}.cw-win-dots i{width:7px;height:7px;border-radius:50%;display:block;background:#2a3946}.cw-win-dots i:nth-child(1){background:#d04030}.cw-win-dots i:nth-child(2){background:#e0b030}.cw-win-dots i:nth-child(3){background:#3fae5c}.cw-win-title{font-size:.66rem;letter-spacing:.12em;color:var(--cw-bright);font-weight:700}.cw-win-body{padding:20px 22px}.cw-race-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.cw-hero-stage{width:112px;height:112px;display:flex;align-items:center;justify-content:center;border:2px solid var(--race-glow);border-radius:4px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);box-shadow:0 0 24px color-mix(in srgb,var(--race-glow) 45%,transparent);transition:border-color .2s,box-shadow .2s}.cw-hero-loading{color:var(--cw-muted);font-size:.8rem}.cw-race-name{font-family:var(--cw-sans);font-weight:800;letter-spacing:.1em;color:var(--race-glow);font-size:1.05rem;transition:color .2s}.cw-race-lore{font-size:.74rem;color:var(--cw-muted);line-height:1.5;margin:0}.cw-race-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}.cw-race-swatch{width:20px;height:20px;border-radius:3px;cursor:pointer;border:2px solid var(--cw-line);background:var(--swatch-glow);opacity:.55;transition:transform .1s,opacity .15s,box-shadow .15s;padding:0}.cw-race-swatch:hover{opacity:.85;transform:translateY(-1px)}.cw-race-swatch.active{opacity:1;border-color:var(--cw-bright);box-shadow:0 0 10px var(--swatch-glow),0 0 0 2px #ffffff26}.cw-auth-title{font-size:2.1rem;font-weight:700;letter-spacing:.05em;margin:0;color:var(--cw-jade);line-height:.95;text-align:center;text-shadow:2px 0 0 #8a5a10,0 2px 0 #8a5a10,2px 2px 0 #5c3c0a,4px 4px 0 rgba(0,0,0,.5)}.cw-auth-sub{text-align:center;color:var(--cw-muted);font-size:.68rem;letter-spacing:.18em;margin:10px 0 24px}.cw-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.cw-field{display:flex;flex-direction:column;gap:.4rem}.cw-field label{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cw-muted);font-weight:700}.cw-field input{background:#0d1826;color:var(--cw-bright);border:2px solid var(--cw-line);padding:.8rem .9rem;font-family:var(--cw-mono);font-size:.92rem;transition:border-color .15s,box-shadow .15s}.cw-field input:focus{outline:none;border-color:var(--cw-jade);box-shadow:0 0 0 3px #50ff801f}.cw-field input::placeholder{color:#4a5b6c}.cw-error{background:#e349481f;color:#ff9d9c;border-left:3px solid var(--cw-bad);padding:.7rem .85rem;font-size:.82rem}.cw-btn{font-family:var(--cw-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:13px 20px;border:2px solid var(--cw-line);background:#0d1826;color:var(--cw-bright);cursor:pointer;transition:transform .08s,border-color .15s,background .15s}.cw-btn:hover:not(:disabled),.cw-btn:focus-visible:not(:disabled){transform:translate(-1px,-1px);outline:none}.cw-btn:disabled{opacity:.6;cursor:not-allowed}.cw-btn-pri{width:100%;background:var(--cw-jade);color:#181206;border-color:var(--cw-jade-hi);font-weight:700}.cw-btn-pri:hover:not(:disabled){background:var(--cw-jade-hi)}.cw-auth-footer{text-align:center;border-top:1px dashed var(--cw-line);padding-top:1.25rem}.cw-auth-footer p{color:var(--cw-muted);font-size:.78rem}.cw-btn-link{background:none;border:none;color:var(--cw-jade);font-family:var(--cw-mono);font-size:.78rem;letter-spacing:.05em;text-decoration:underline;cursor:pointer;padding:0;margin-left:4px}.cw-btn-link:hover{color:var(--cw-jade-hi)}.cw-btn-link:disabled{opacity:.5;cursor:not-allowed}.cw-lb-body{padding:16px 14px}.cw-lb-empty{color:var(--cw-muted);font-size:.78rem;text-align:center;padding:12px 0}.cw-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cw-lb-row{display:grid;grid-template-columns:28px 1fr auto 20px;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid #17222e;font-size:.78rem}.cw-lb-row:last-child{border-bottom:none}.cw-lb-rank{color:var(--cw-jade);font-weight:700}.cw-lb-name{color:var(--cw-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-lb-rating{color:var(--cw-jade-hi);font-weight:700;font-variant-numeric:tabular-nums}.cw-lb-badge{text-align:center}@media (max-width: 940px){.cw-auth-grid{grid-template-columns:1fr;max-width:380px}}@media (max-width: 480px){.cw-win-body{padding:16px}.cw-auth-title{font-size:1.8rem}}.leaderboard{display:flex;flex-direction:column;gap:1.5rem;font-family:JetBrains Mono,Consolas,ui-monospace,monospace}.leaderboard h3{color:#1a7a3a;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.leaderboard-table{display:flex;flex-direction:column;border:1px solid #22303E;overflow:hidden;box-shadow:0 12px 28px #00000059}.leaderboard-header,.leaderboard-row{display:grid;grid-template-columns:60px 2fr 100px 80px 80px 60px;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #17222e}.leaderboard-header{background:#0a121c;font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;color:#1a7a3a;border-bottom:2px solid #1A7A3A}.leaderboard-body{max-height:600px;overflow-y:auto;background:linear-gradient(180deg,#0a1420,#08111c)}.leaderboard-row{transition:all .15s ease;border-bottom:1px solid #131f2a}.leaderboard-row:hover{background:#0d1826;border-left:3px solid #1A7A3A;padding-left:calc(1rem - 3px)}.leaderboard-row.highlight{background:linear-gradient(90deg,rgba(80,255,128,.1) 0%,transparent 100%);border-left:3px solid #1A7A3A;padding-left:calc(1rem - 3px);font-weight:600}.rank-col{text-align:center}.rank{font-weight:700;font-size:1.05rem;color:#1a7a3a}.name-col{text-align:left}.player-name{color:#e8eef4;font-weight:500}.stats-col{text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.stats-col.legendary{color:#ffd24a;text-shadow:0 0 10px rgba(255,210,74,.25)}.stats-col.diamond{color:#60f0f0;text-shadow:0 0 10px rgba(96,240,240,.2)}.stats-col.gold{color:#f0b030;text-shadow:0 0 10px rgba(240,176,48,.2)}.stats-col.silver{color:#c4d2e0}.stats-col.bronze{color:#d08040}.stats-col.wins{color:#3fae5c}.stats-col.losses{color:#e34948}.tier-col{text-align:center;font-size:1.15rem}@media (max-width: 768px){.leaderboard-header,.leaderboard-row{grid-template-columns:50px 1.5fr 70px 50px 50px 50px;gap:.5rem;padding:.75rem;font-size:.85rem}.rank{font-size:.9rem}.leaderboard-body{max-height:400px}}@media (max-width: 480px){.leaderboard-header,.leaderboard-row{grid-template-columns:40px 1fr 50px 50px 50px 40px;gap:.25rem;padding:.5rem;font-size:.76rem}.stats-col{font-size:.85rem}}.dashboard{display:flex;flex-direction:column;gap:2rem;font-family:JetBrains Mono,Consolas,ui-monospace,monospace;color:#c4d2e0}.loading{text-align:center;color:#6e8296;padding:3rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.error-banner{background:#e349481f;color:#ff9d9c;border-left:3px solid #E34948;padding:.9rem 1.1rem;font-size:.82rem;margin-bottom:1rem}.dashboard-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.player-card{background:linear-gradient(180deg,#0a1420,#08111c);border:1px solid #1A7A3A;padding:2rem;box-shadow:0 12px 28px #00000073,0 0 30px #50ff800f}.player-card h2{color:#1a7a3a;margin-bottom:1.5rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-box{background:#0d1826;border:1px solid #22303E;padding:1rem;text-align:center}.stat-label{color:#6e8296;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;display:block}.stat-value{font-size:1.8rem;font-weight:700;color:#1a7a3a;font-variant-numeric:tabular-nums}.stat-value.legendary{color:#ffd24a;text-shadow:0 0 10px rgba(255,210,74,.3)}.stat-value.diamond{color:#60f0f0;text-shadow:0 0 10px rgba(96,240,240,.3)}.stat-value.gold{color:#f0b030;text-shadow:0 0 10px rgba(240,176,48,.3)}.stat-value.silver{color:#c4d2e0}.stat-value.bronze{color:#d08040}.dashboard-tabs{display:flex;gap:.5rem;border-bottom:1px solid #22303E;flex-wrap:wrap}.tab{background:none;color:#6e8296;border:none;padding:.9rem 1.1rem;font-family:inherit;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;position:relative;transition:color .15s ease}.tab:hover{color:#50ff80}.tab.active{color:#1a7a3a;border-bottom:2px solid #1A7A3A;margin-bottom:-1px}.dashboard-content{background:linear-gradient(180deg,#0a1420,#08111c);border:1px solid #22303E;padding:2rem;min-height:400px}.stats-section h3,.match-history h3{color:#1a7a3a;margin-bottom:1.5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.1em}.stats-details{display:flex;flex-direction:column;gap:1rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0d1826;border-left:3px solid #1A7A3A}.stat-name{color:#6e8296;font-weight:500}.stat-val{font-weight:700;color:#e8eef4;font-size:1.05rem}.stat-val.legendary{color:#ffd24a}.stat-val.diamond{color:#60f0f0}.stat-val.gold{color:#f0b030}.match-history{display:flex;flex-direction:column;gap:1.5rem}.no-data{color:#4a5b6c;text-align:center;padding:2rem;font-style:italic}.matches-list{display:flex;flex-direction:column;gap:.75rem}.match-item{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;gap:1rem;padding:1rem;background:#0d1826;border-left:4px solid #22303E;transition:all .15s ease}.match-item:hover{border-left-color:#1a7a3a;transform:translate(4px)}.match-item.win{border-left-color:#3fae5c}.match-item.loss{border-left-color:#e34948}.match-result{text-align:center;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.match-item.win .match-result{color:#3fae5c}.match-item.loss .match-result{color:#e34948}.match-details{display:flex;justify-content:space-between;align-items:center;color:#8fa2b4;font-size:.85rem}.match-opponent{font-weight:500;color:#e8eef4}.match-date{font-size:.76rem;color:#6e8296}.match-rating{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.match-rating .positive{color:#3fae5c}.match-rating .negative{color:#e34948}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-tabs{gap:.25rem}.tab{padding:.65rem .75rem;font-size:.7rem}.match-item{grid-template-columns:70px 1fr 70px;gap:.75rem;padding:.75rem}}.game-board-container{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(135deg,#1a2332,#0f1419);border:1px solid #2d5fb8;border-radius:4px;padding:1rem;height:100%}.game-canvas{flex:1;background:#0a0e12;border:2px solid #4a7eff;border-radius:4px;display:block;max-width:100%;height:auto;aspect-ratio:1 / 1;cursor:crosshair;image-rendering:pixelated;image-rendering:crisp-edges}.game-canvas:hover{box-shadow:0 0 20px #4a7eff4d}.canvas-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem;background:#0f1419;border:1px solid #2d5fb8;border-radius:4px}.legend-item{display:flex;align-items:center;gap:.75rem;color:#a0a0a0;font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:2px;border:1px solid rgba(255,255,255,.2)}@media (max-width: 768px){.game-board-container{padding:.75rem}.canvas-legend{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem}.legend-item{font-size:.85rem}}.game-viewer{display:flex;flex-direction:column;height:calc(100vh - 100px);gap:1rem;background:radial-gradient(120% 90% at 50% -10%,#14202e,#0a0e14 55%,#0c1014);font-family:JetBrains Mono,Consolas,ui-monospace,monospace}.game-header{display:flex;justify-content:space-between;align-items:center;background:#0a121c;border-bottom:1px solid #1A7A3A;padding:1rem}.game-info h2{color:#1a7a3a;margin-bottom:.5rem;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em}.match-meta{display:flex;gap:1.5rem;flex-wrap:wrap}.meta-item{color:#8fa2b4;font-size:.82rem;font-weight:500}.meta-item:before{content:"• ";color:#1a7a3a;margin-right:.5rem}.meta-item:first-child:before{content:"";margin-right:0}.game-container{display:grid;grid-template-columns:1fr 350px;gap:1rem;flex:1;overflow:hidden}.game-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.player-panel{background:linear-gradient(180deg,#0a1420,#08111c);border:1px solid #22303E;padding:1rem;min-height:120px;display:flex;flex-direction:column}.player-panel.player1{border-top:3px solid #4a7eff}.player-panel.player2{border-top:3px solid #ff4a4a}.player-title{font-size:1rem;font-weight:700;letter-spacing:.04em;margin-bottom:.75rem;text-shadow:0 0 10px rgba(0,0,0,.5)}.player-stats{display:flex;flex-direction:column;gap:.5rem}.stat{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.stat .label{color:#6e8296;font-weight:500}.stat .value{color:#e8eef4;font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums}.controls{background:linear-gradient(180deg,#0a1420,#08111c);border:1px solid #22303E;padding:1rem;display:flex;flex-direction:column;gap:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:#1a7a3a;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.button-group{display:flex;gap:.5rem}.btn-control{flex:1;font-family:inherit;background:#0d1826;color:#8fa2b4;border:1px solid #22303E;padding:.5rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .15s ease;cursor:pointer}.btn-control:hover:not(:disabled){border-color:#1a7a3a;color:#50ff80}.btn-control.active{background:#1a7a3a;color:#181206;border-color:#50ff80}.speed-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.btn-speed{font-family:inherit;background:#0d1826;color:#8fa2b4;border:1px solid #22303E;padding:.5rem;font-size:.74rem;font-weight:700;transition:all .15s ease;cursor:pointer}.btn-speed:hover:not(:disabled){border-color:#1a7a3a;color:#50ff80}.btn-speed.active{background:#1a7a3a;color:#181206;border-color:#50ff80}.progress-slider{width:100%;height:6px;background:#0d1826;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#1a7a3a;cursor:pointer;transition:all .2s ease}.progress-slider::-webkit-slider-thumb:hover{background:#50ff80;box-shadow:0 0 0 3px #50ff8040}.progress-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1a7a3a;cursor:pointer;border:none;transition:all .2s ease}.progress-slider::-moz-range-thumb:hover{background:#50ff80;box-shadow:0 0 0 3px #50ff8040}.game-footer{background:#0a121c;border-top:1px solid #22303E;padding:.75rem 1rem;display:flex;justify-content:center}.unit-count{display:flex;gap:2rem;color:#8fa2b4;font-size:.85rem}.unit-count span{display:flex;gap:.5rem}.unit-count span:before{content:"";display:inline-block;width:8px;height:8px;background:#1a7a3a}@media (max-width: 1024px){.game-container{grid-template-columns:1fr}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;max-height:200px;padding-right:0}.controls{grid-column:1 / -1}}@media (max-width: 768px){.game-viewer{height:auto}.game-container{grid-template-columns:1fr}.game-sidebar{grid-template-columns:1fr;max-height:none;padding-right:0}.match-meta{flex-direction:column;gap:.5rem}}.app{display:flex;flex-direction:column;height:100vh;background:radial-gradient(120% 90% at 50% -10%,#14202e,#0a0e14 55%,#0c1014);font-family:JetBrains Mono,Consolas,ui-monospace,monospace;image-rendering:pixelated}.navbar{background:#0a121c;border-bottom:1px solid #1A7A3A;padding:1rem;box-shadow:0 4px 12px #00000080;position:sticky;top:0;z-index:100}.navbar-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-brand{display:flex;align-items:center;gap:1rem}.navbar-brand h1{font-size:1.4rem;font-weight:800;letter-spacing:.08em;color:#1a7a3a;margin:0;text-shadow:2px 0 0 #8a5a10,0 2px 0 #8a5a10}.navbar-menu{display:flex;align-items:center;gap:.5rem}.btn-nav{font-family:inherit;background:none;color:#6e8296;border:2px solid transparent;padding:.6rem 1rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.btn-nav:hover{color:#50ff80;background:#0d1826}.btn-nav.active{color:#181206;background:#1a7a3a;border-color:#50ff80}.navbar-user{display:flex;align-items:center;gap:1.5rem}.user-info{color:#c4d2e0;font-weight:500;font-size:.82rem;letter-spacing:.04em}.btn-primary{font-family:inherit;background:#1a7a3a;color:#181206;padding:.75rem 1.5rem;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;border:2px solid #50FF80;cursor:pointer;transition:transform .08s,background .15s}.btn-primary:hover:not(:disabled){transform:translate(-1px,-1px);background:#50ff80}.btn-primary:active:not(:disabled){transform:translate(0)}.btn-secondary{font-family:inherit;background:#0d1826;color:#c4d2e0;padding:.6rem 1.2rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border:2px solid #22303E;cursor:pointer;transition:transform .08s,border-color .15s,color .15s}.btn-secondary:hover:not(:disabled){transform:translate(-1px,-1px);border-color:#1a7a3a;color:#50ff80}.btn-link{background:none;color:#1a7a3a;border:none;padding:0;cursor:pointer;text-decoration:underline;font-weight:500;font-family:inherit;transition:color .2s ease}.btn-link:hover:not(:disabled){color:#50ff80}.main-content{flex:1;overflow-y:auto;padding:2rem;max-width:1400px;margin:0 auto;width:100%}@media (max-width: 768px){.navbar-content{flex-direction:column;gap:1rem}.navbar-brand{width:100%;justify-content:space-between}.navbar-brand h1{font-size:1.15rem}.navbar-user{width:100%;justify-content:space-between}.main-content{padding:1rem}}:root{--bg:#0A0E14;--bg2:#0C1014;--panel:#0A1420;--panel2:#101E2C;--line:#22303E;--ink:#C4D2E0;--bright:#E8EEF4;--muted:#6E8296;--jade:#1A7A3A;--jade-hi:#50FF80;--ok:#3fae5c;--bad:#E34948;--mono:"JetBrains Mono","Consolas","SFMono-Regular",ui-monospace,"Courier New",monospace;--sans:"IBM Plex Sans","Segoe UI",-apple-system,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--mono);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--panel)}::-webkit-scrollbar-thumb{background:var(--jade);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--jade-hi)}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}button{cursor:pointer;font-size:inherit;border:none;border-radius:4px;transition:all .2s ease;font-weight:500}button:disabled{opacity:.6;cursor:not-allowed}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:var(--jade-hi);font-weight:700}.error-banner{background:#cc2d2d;color:#fff;padding:1rem;margin-bottom:1rem;border-radius:4px;border-left:4px solid var(--bad)}input[type=text],input[type=password],input[type=email]{background:var(--panel2);color:var(--ink);border:1px solid var(--jade);padding:.75rem;border-radius:4px;font-size:inherit;transition:all .2s ease}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus{outline:none;border-color:var(--jade-hi);box-shadow:0 0 0 2px #50ff8026}input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--panel2);outline:none;-webkit-appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--jade-hi);cursor:pointer;transition:all .2s ease}input[type=range]::-webkit-slider-thumb:hover{background:var(--jade-hi);box-shadow:0 0 0 3px #50ff8040}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--jade-hi);cursor:pointer;border:none;transition:all .2s ease}input[type=range]::-moz-range-thumb:hover{background:var(--jade-hi);box-shadow:0 0 0 3px #50ff8040}
