@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";.login-container{min-height:100vh;background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.bg-grid{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,255,65,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.crt-overlay{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:100}.scanline{position:absolute;left:0;right:0;height:2px;background:#00ff411a;box-shadow:0 0 10px #00ff4133}.vignette{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.4) 100%)}.screen-curve{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 50%,rgba(0,0,0,.1) 100%);border-radius:20px}.terminal-window{width:100%;max-width:640px;background:#0d0d0d;border:1px solid #1a1a1a;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #00ff411a,0 20px 60px #00000080,0 0 100px #00ff410d;position:relative;z-index:1}.terminal-header{display:flex;align-items:center;padding:12px 16px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a;gap:12px}.terminal-title{font-family:JetBrains Mono,monospace;font-size:12px;color:#909090;flex:1;text-align:center}.terminal-body{padding:24px}.welcome-section{margin-bottom:24px;text-align:center}.ascii-art{font-family:JetBrains Mono,monospace;font-size:10px;color:#00ff41;text-shadow:0 0 10px rgba(0,255,65,.5);margin:0 0 16px;line-height:1.2;overflow-x:auto}.system-status{display:flex;align-items:center;justify-content:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:10px;color:#707070;letter-spacing:1px}.status-dot{width:6px;height:6px;border-radius:50%;background:#00ff41;box-shadow:0 0 8px #00ff41}.blinking{animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.divider{color:#222}.login-form{background:#0000004d;border:1px solid #151515;border-radius:4px;padding:20px}.form-header{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:11px;color:#00ff41;letter-spacing:1px}.prompt{color:#00ff41}.input-group{margin-bottom:16px}.input-label{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:#909090;letter-spacing:1px;margin-bottom:8px}.input-wrapper{display:flex;align-items:center;background:#080808;border:1px solid #151515;border-radius:2px;padding:0 12px;transition:border-color .2s}.input-wrapper:focus-within{border-color:#00ff41;box-shadow:0 0 10px #00ff411a}.input-prefix{font-family:JetBrains Mono,monospace;color:#a0a0a0;margin-right:8px}.terminal-input{flex:1;background:transparent;border:none;outline:none;font-family:JetBrains Mono,monospace;font-size:14px;color:#00ff41;padding:12px 0;caret-color:transparent}.terminal-input::placeholder{color:#a0a0a0}.cursor-blink{color:#00ff41;animation:blink 1s infinite}.error-output{background:#ff33331a;border:1px solid rgba(255,51,51,.3);border-radius:2px;padding:12px;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:12px}.error-prefix{color:#f33}.error-message{color:#f66}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:linear-gradient(180deg,#151515,#0d0d0d);border:1px solid #00ff41;border-radius:2px;color:#00ff41;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:2px;cursor:pointer;transition:all .2s;text-transform:uppercase}.submit-btn:hover:not(:disabled){background:#00ff411a;box-shadow:0 0 20px #00ff4133}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.btn-prompt{color:#00ff41}.mode-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #151515}.toggle-label{font-family:JetBrains Mono,monospace;font-size:11px;color:#707070}.toggle-btn{background:transparent;border:none;color:#00bfff;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;text-decoration:underline;letter-spacing:1px;transition:color .2s}.toggle-btn:hover{color:#00dfff;text-shadow:0 0 10px rgba(0,191,255,.5)}.footer-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-family:JetBrains Mono,monospace;font-size:9px;color:#a0a0a0;letter-spacing:1px}.hint-icon{color:#a0a0a0}.version-info{position:absolute;bottom:20px;font-family:JetBrains Mono,monospace;font-size:9px;color:#222;letter-spacing:2px}@media (max-width: 640px){.terminal-body{padding:16px}.ascii-art{font-size:6px}.login-form{padding:16px}.terminal-input{font-size:14px}}@media (prefers-reduced-motion: reduce){.scanline,.blinking,.cursor-blink{animation:none}}/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.terminal-wrapper{display:flex;flex-direction:column;height:100%;width:100%;min-width:0;background:#0a0a0a;border-radius:4px;overflow:hidden}.terminal-status-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a}.status-indicator{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-connected{background:#00ff41;box-shadow:0 0 8px #00ff41}.status-disconnected{background:#ffb000;box-shadow:0 0 8px #ffb000}.status-connecting{background:#00bfff;box-shadow:0 0 8px #00bfff}.status-error{background:#f33;box-shadow:0 0 8px #f33;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-family:JetBrains Mono,monospace;font-size:11px;color:#909090;letter-spacing:1px}.terminal-title{font-family:JetBrains Mono,monospace;font-size:11px;color:#a0a0a0;letter-spacing:2px}.terminal-container{position:relative;flex:1;overflow:hidden;padding:8px 22px 8px 10px;min-width:0;min-height:0}.terminal-scanlines{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);pointer-events:none;z-index:10}.terminal-glow{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(0,255,65,.03) 0%,transparent 70%);pointer-events:none;z-index:5}.xterm-container{height:100%;width:100%;min-width:0;overflow:hidden}.xterm-container .xterm{height:100%}.xterm-container .xterm-viewport{overflow-y:auto!important}.xterm-container .xterm-viewport::-webkit-scrollbar{width:8px}.xterm-container .xterm-viewport::-webkit-scrollbar-track{background:#0a0a0a}.xterm-container .xterm-viewport::-webkit-scrollbar-thumb{background:#1a1a1a;border-radius:4px}.xterm-container .xterm-viewport::-webkit-scrollbar-thumb:hover{background:#2a2a2a}.level-info{position:relative;background:#0d0d0d;border:1px solid #1a1a1a;border-radius:4px;overflow:hidden}.level-cat-dropdown{position:relative;background:#0a0a0a;border-bottom:1px solid #1a1a1a}.level-cat-dropdown-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:transparent;border:none;color:#a0a0a0;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:1px;cursor:pointer;transition:all .15s ease;text-align:left}.level-cat-dropdown-btn:hover{background:#ffffff05}.level-cat-dropdown-label{color:gray}.level-cat-dropdown-value{flex:1;color:#00ff41;text-transform:uppercase}.level-cat-dropdown-arrow{font-size:.5rem;color:gray}.level-cat-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#0d0d0d;border:1px solid #1a1a1a;border-top:none;z-index:100;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #00000080}.level-cat-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:transparent;border:none;border-bottom:1px solid #151515;color:#a0a0a0;font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.5px;cursor:pointer;transition:all .15s ease;text-align:left;text-transform:uppercase}.level-cat-dropdown-item:last-child{border-bottom:none}.level-cat-dropdown-item:hover{background:#00ff410d;color:#ccc}.level-cat-dropdown-item.active{background:#00ff411a;color:#00ff41}.level-cat-item-count{font-size:.65rem;color:#707070;background:#ffffff0d;padding:2px 6px;border-radius:2px}.level-cat-dropdown-item.active .level-cat-item-count{background:#00ff4126;color:#00ff41}.level-header{padding:16px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a}.level-badge{display:flex;align-items:center;gap:12px;margin-bottom:8px}.level-info .level-status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:10px;background:#ff3b30;box-shadow:0 0 8px #ff3b30cc;vertical-align:middle}.level-info .level-title.solved .level-status-indicator{background:#00ff41;box-shadow:0 0 8px #00ff41cc}.level-label{font-family:JetBrains Mono,monospace;font-size:10px;color:#00ff41;letter-spacing:2px;opacity:.7}.level-number{font-family:JetBrains Mono,monospace;font-size:24px;font-weight:700;color:#00ff41;text-shadow:0 0 10px rgba(0,255,65,.5)}.level-title{font-family:JetBrains Mono,monospace;font-size:14px;color:#e0e0e0;text-transform:uppercase;letter-spacing:1px}.level-description{padding:16px;font-size:13px;line-height:1.6;color:#9a9a9a;border-bottom:1px solid #1a1a1a;min-height:60px}.level-description p{margin:0}.loading-dots span{animation:blink 1.4s infinite both;font-family:JetBrains Mono,monospace;color:#00ff41}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.error-text{color:#f33}.level-hint{border-bottom:1px solid #1a1a1a}.hint-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;color:#909090;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1px;cursor:pointer;transition:color .2s,background .2s}.hint-toggle:hover{color:#00ff41;background:#00ff410d}.hint-icon{font-size:8px;color:#00ff41;opacity:.7}.hint-content{padding:0 16px 16px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hint-text{padding:12px;background:#00ff410d;border:1px solid rgba(0,255,65,.2);border-left:3px solid #00ff41;border-radius:2px;font-size:12px;color:#aaa;line-height:1.5}.flag-submit{display:flex;gap:8px;padding:12px 12px 0}.flag-input{flex:1;padding:10px 12px;background:#0a0a0a;border:1px solid #1a1a1a;border-radius:2px;color:#00ff41;font-family:JetBrains Mono,monospace;font-size:12px}.flag-input:focus{outline:none;border-color:#00ff41}.flag-input:disabled{opacity:.5}.flag-submit-btn{flex:none;width:auto;min-width:80px;white-space:nowrap;padding:10px 16px}.flag-message{margin:8px 12px 0;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px;border-radius:2px}.flag-message-success{color:#00ff41;background:#00ff4114;border:1px solid rgba(0,255,65,.3)}.flag-message-error{color:#f33;background:#ff333314;border:1px solid rgba(255,51,51,.3)}.level-success-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .3s ease-out}.level-success-content{text-align:center;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.level-success-icon{font-size:48px;color:#00ff41;text-shadow:0 0 20px rgba(0,255,65,.8);margin-bottom:12px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.level-success-text{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;color:#00ff41;letter-spacing:3px;text-shadow:0 0 10px rgba(0,255,65,.5);margin-bottom:8px}.level-success-time{font-family:JetBrains Mono,monospace;font-size:12px;color:#888;letter-spacing:1px}.nav-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:60;animation:fadeIn .2s ease-out}.nav-confirm-dialog{background:#151515;border:1px solid #ff3333;border-radius:4px;padding:20px;text-align:center;max-width:280px;box-shadow:0 0 20px #f333}.nav-confirm-text{font-family:JetBrains Mono,monospace;font-size:12px;color:#e0e0e0;line-height:1.6;margin-bottom:16px}.nav-confirm-buttons{display:flex;gap:8px;justify-content:center}.nav-confirm-btn{padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;border:1px solid;border-radius:2px;cursor:pointer;transition:all .2s}.nav-confirm-cancel{background:transparent;border-color:#666;color:#999}.nav-confirm-cancel:hover{background:#ffffff0d;border-color:#888;color:#ccc}.nav-confirm-ok{background:#ff33331a;border-color:#f33;color:#f33}.nav-confirm-ok:hover{background:#f333}.level-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px}.level-nav-info{font-family:JetBrains Mono,monospace;font-size:.7rem;color:gray;letter-spacing:1px}.nav-btn{flex:none;width:36px;padding:8px;background:#151515;border:1px solid #1a1a1a;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){background:#1a1a1a;border-color:#00ff41;color:#00ff41}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.expand-btn{width:100%;background:linear-gradient(180deg,#151515,#0d0d0d);border-color:#00ff41;color:#00ff41;text-transform:uppercase;letter-spacing:1px;margin-top:8px}.expand-btn:hover{background:#00ff411a;border-color:#00ff41;color:#00ff41}@media (max-width: 768px){.level-header{padding:12px}.level-number{font-size:20px}.level-description,.level-hint{padding:12px}.level-nav{padding:8px}}.level-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.level-modal{width:80%;max-width:900px;height:70%;max-height:600px;background:#0d0d0d;border:1px solid #1a1a1a;border-radius:4px;display:flex;flex-direction:column;overflow:hidden;animation:scaleIn .2s ease-out;box-shadow:0 0 40px #00ff411a}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a;flex-shrink:0}.modal-title{display:flex;align-items:center;gap:12px}.modal-title-label{font-family:JetBrains Mono,monospace;font-size:10px;color:#00ff41;letter-spacing:2px;opacity:.7}.modal-title-text{font-family:JetBrains Mono,monospace;font-size:14px;color:#e0e0e0;text-transform:uppercase;letter-spacing:2px}.modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #333;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:16px;cursor:pointer;transition:all .2s}.modal-close-btn:hover{background:#ff33331a;border-color:#f33;color:#f33}.modal-content{display:flex;flex:1;overflow:hidden}.level-list-container{width:240px;flex-shrink:0;border-right:1px solid #1a1a1a;display:flex;flex-direction:column}.level-list-header{padding:12px 16px;border-bottom:1px solid #1a1a1a;font-family:JetBrains Mono,monospace;font-size:10px;color:#707070;letter-spacing:2px;text-transform:uppercase}.level-list{flex:1;overflow-y:auto;padding:8px}.level-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;background:transparent;position:relative;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all .2s;margin-bottom:4px}.level-list-item:hover{background:#00ff410d;border-color:#00ff4133}.level-list-item.active{background:#00ff411a;border-color:#00ff41}.level-list-item.active .level-list-number{color:#00ff41;text-shadow:0 0 10px rgba(0,255,65,.5)}.level-list-item:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 8px #ff3b3099;flex-shrink:0}.level-list-item.solved:before{background:#00ff41;box-shadow:0 0 8px #00ff4199}.level-list-item.solved .level-list-number{color:#00ff41}.level-list-status{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:9px;color:#00ff41;letter-spacing:1px;opacity:.8}.level-list-item:not(.solved){opacity:.6}.level-list-item:not(.solved) .level-list-number{color:#ff3b30}.level-category-group{margin-bottom:12px}.level-category-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#ffffff05;border:1px solid #1f1f1f;border-radius:2px;cursor:pointer;transition:all .15s ease}.level-category-header:hover{background:#ffffff0a;border-color:#333}.level-category-header.active{background:#00ff4114;border-color:#00ff414d}.level-category-name{font-family:JetBrains Mono,monospace;font-size:.65rem;color:#909090;text-transform:uppercase;letter-spacing:.5px}.level-category-header.active .level-category-name{color:#00ff41}.level-category-count{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#707070;background:#ffffff0d;padding:2px 6px;border-radius:2px}.level-category-header.active .level-category-count{background:#00ff4126;color:#00ff41}.level-category-levels{display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 8px}.level-list-number{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;color:#909090;min-width:24px}.level-list-title{font-family:JetBrains Mono,monospace;font-size:11px;color:#a0a0a0;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-details-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.level-details-header{padding:24px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a}.level-details-badge{display:flex;align-items:center;gap:8px;margin-bottom:8px}.level-details-label{font-family:JetBrains Mono,monospace;font-size:10px;color:#00ff41;letter-spacing:2px;opacity:.7}.level-details-number{font-family:JetBrains Mono,monospace;font-size:32px;font-weight:700;color:#00ff41;text-shadow:0 0 15px rgba(0,255,65,.5)}.level-details-title{font-family:JetBrains Mono,monospace;font-size:18px;color:#e0e0e0;text-transform:uppercase;letter-spacing:2px}.level-details-body{flex:1;padding:24px;overflow-y:auto}.level-details-description{font-size:14px;line-height:1.7;color:#a0a0a0;margin-bottom:24px}.modal-hint-section{margin-bottom:24px}.modal-hint-toggle{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#00ff410d;border:1px solid rgba(0,255,65,.2);border-radius:2px;color:#00ff41;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1px;cursor:pointer;transition:all .2s}.modal-hint-toggle:hover{background:#00ff411a;border-color:#00ff41}.modal-hint-icon{font-size:8px}.modal-hint-content{padding:16px;background:#00ff410d;border:1px solid rgba(0,255,65,.2);border-top:none;border-radius:0 0 2px 2px;animation:slideDown .2s ease-out}.modal-hint-text{font-size:13px;color:#aaa;line-height:1.6}.modal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid #1a1a1a;background:linear-gradient(0deg,#151515,#0d0d0d)}.modal-nav-info{font-family:JetBrains Mono,monospace;font-size:.75rem;color:gray;letter-spacing:1px}.modal-nav-btn{flex:none;width:auto;min-width:100px;padding:12px 16px;background:#151515;border:1px solid #1a1a1a;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1px;cursor:pointer;transition:all .2s}.modal-nav-btn:hover:not(:disabled){background:#1a1a1a;border-color:#00ff41;color:#00ff41}.modal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.level-list::-webkit-scrollbar,.level-details-body::-webkit-scrollbar{width:6px}.level-list::-webkit-scrollbar-track,.level-details-body::-webkit-scrollbar-track{background:#0d0d0d}.level-list::-webkit-scrollbar-thumb,.level-details-body::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.level-list::-webkit-scrollbar-thumb:hover,.level-details-body::-webkit-scrollbar-thumb:hover{background:#707070}@media (max-width: 768px){.level-modal{width:95%;height:85%;max-height:none}.modal-content{flex-direction:column}.level-list-container{width:100%;height:150px;border-right:none;border-bottom:1px solid #1a1a1a}.level-list{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden}.level-list-item{flex-shrink:0;margin-bottom:0;margin-right:8px}.level-details-header{padding:16px}.level-details-number{font-size:24px}.level-details-title{font-size:14px}.level-details-body{padding:16px}}.leaderboard{background:#0d0d0d;border:1px solid #1a1a1a;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;height:100%;max-height:400px}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a;flex-shrink:0}.leaderboard-title{font-family:JetBrains Mono,monospace;font-size:12px;color:#00ff41;letter-spacing:2px}.leaderboard-status{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:1px}.status-loading{color:#00bfff}.status-error{color:#f33}.status-updated{color:#707070}.leaderboard-table-wrapper{flex:1;overflow-y:auto;overflow-x:hidden}.leaderboard-table{width:100%;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:11px}.leaderboard-table thead{position:sticky;top:0;background:#0d0d0d;z-index:1}.leaderboard-table th{padding:10px 12px;text-align:left;color:#707070;font-weight:400;font-size:9px;letter-spacing:1px;border-bottom:1px solid #1a1a1a}.leaderboard-table td{padding:10px 12px;border-bottom:1px solid #151515;color:#a0a0a0}.leaderboard-table tr:hover td{background:#00ff4108}.rank-top-1 td{background:#ffd7000d}.rank-top-1 .col-rank .rank-badge{background:linear-gradient(135deg,gold,#fa0);color:#000;box-shadow:0 0 10px #ffd7004d}.rank-top-2 td{background:#c0c0c00d}.rank-top-2 .col-rank .rank-badge{background:linear-gradient(135deg,silver,#a0a0a0);color:#000}.rank-top-3 td{background:#cd7f320d}.rank-top-3 .col-rank .rank-badge{background:linear-gradient(135deg,#cd7f32,sienna);color:#000}.col-rank{width:50px;text-align:center}.col-user{min-width:100px}.col-level{width:60px;text-align:center}.col-time{width:60px;text-align:right}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:2px;font-weight:700;font-size:11px}.rank-number{color:#707070}.username{color:#e0e0e0}.level-badge{display:inline-block;padding:2px 6px;background:#151515;border:1px solid #222;border-radius:2px;font-size:10px;color:#00ff41}.time{font-variant-numeric:tabular-nums;color:#909090}.empty-row td{text-align:center;color:#707070;padding:24px}.leaderboard-loading{display:flex;align-items:center;justify-content:center;padding:32px}.loading-bar{width:100%;height:2px;background:#151515;border-radius:1px;overflow:hidden}.loading-progress{width:30%;height:100%;background:#00ff41;animation:loading 1.5s ease-in-out infinite}.leaderboard-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;color:#f33;font-size:11px}.error-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #ff3333;border-radius:50%;font-size:18px;font-weight:700}.leaderboard-table-wrapper::-webkit-scrollbar{width:6px}.leaderboard-table-wrapper::-webkit-scrollbar-track{background:#0a0a0a}.leaderboard-table-wrapper::-webkit-scrollbar-thumb{background:#1a1a1a;border-radius:3px}.leaderboard-table-wrapper::-webkit-scrollbar-thumb:hover{background:#2a2a2a}.leaderboard-expand-btn{width:100%;padding:10px 12px;margin-top:8px;background:linear-gradient(180deg,#151515,#0d0d0d);border:1px solid #00ff41;border-radius:2px;color:#00ff41;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s;text-transform:uppercase}.leaderboard-expand-btn:hover{background:#00ff411a;border-color:#00ff41;color:#00ff41}@media (max-width: 768px){.leaderboard-header{padding:10px 12px}.leaderboard-title{font-size:10px}.leaderboard-table th,.leaderboard-table td{padding:8px 10px;font-size:10px}}.leaderboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.leaderboard-modal{width:80%;max-width:900px;height:70%;max-height:600px;background:#0d0d0d;border:1px solid #1a1a1a;border-radius:4px;display:flex;flex-direction:column;overflow:hidden;animation:scaleIn .2s ease-out;box-shadow:0 0 40px #00ff411a}.lb-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(180deg,#151515,#0d0d0d);border-bottom:1px solid #1a1a1a;flex-shrink:0}.lb-modal-title{display:flex;align-items:center;gap:12px}.lb-modal-title-label{font-family:JetBrains Mono,monospace;font-size:10px;color:#00ff41;letter-spacing:2px;opacity:.7}.lb-modal-title-text{font-family:JetBrains Mono,monospace;font-size:14px;color:#e0e0e0;text-transform:uppercase;letter-spacing:2px}.lb-modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #333;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:16px;cursor:pointer;transition:all .2s}.lb-modal-close-btn:hover{background:#ff33331a;border-color:#f33;color:#f33}.lb-modal-content{display:flex;flex:1;overflow:hidden}.lb-filter-section{width:200px;flex-shrink:0;border-right:1px solid #1a1a1a;display:flex;flex-direction:column;padding:16px;background:#080808}.lb-filter-header{font-family:JetBrains Mono,monospace;font-size:10px;color:#707070;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.lb-filter-group{margin-bottom:16px}.lb-filter-label{font-family:JetBrains Mono,monospace;font-size:9px;color:#909090;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.lb-filter-btn{width:100%;padding:8px 12px;background:#151515;border:1px solid #1a1a1a;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s;margin-bottom:4px;text-align:left}.lb-filter-btn:hover{background:#00ff410d;border-color:#00ff4133;color:#a0a0a0}.lb-filter-btn.active{background:#00ff411a;border-color:#00ff41;color:#00ff41}.lb-stats-panel{margin-top:auto;padding-top:16px;border-top:1px solid #1a1a1a}.lb-stats-title{font-family:JetBrains Mono,monospace;font-size:9px;color:#707070;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.lb-stat-item{display:flex;justify-content:space-between;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:10px}.lb-stat-label{color:#909090}.lb-stat-value{color:#00ff41}.lb-table-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.lb-table-header-row{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0d0d0d;border-bottom:1px solid #1a1a1a;flex-shrink:0}.lb-table-title{font-family:JetBrains Mono,monospace;font-size:10px;color:#707070;letter-spacing:2px}.lb-table-status{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:1px}.lb-status-loading{color:#00bfff}.lb-status-updated{color:#707070}.lb-table-wrapper{flex:1;overflow-y:auto;overflow-x:hidden}.lb-table{width:100%;border-collapse:collapse;font-family:JetBrains Mono,monospace}.lb-table thead{position:sticky;top:0;background:#0d0d0d;z-index:1}.lb-table th{padding:12px 16px;text-align:left;color:#707070;font-weight:400;font-size:9px;letter-spacing:1px;border-bottom:1px solid #1a1a1a}.lb-table td{padding:12px 16px;border-bottom:1px solid #151515;color:#a0a0a0;font-size:12px}.lb-table tr:hover td{background:#00ff4108}.lb-rank-top-1 td{background:#ffd7000d}.lb-rank-top-1 .lb-col-rank .lb-rank-badge{background:linear-gradient(135deg,gold,#fa0);color:#000;box-shadow:0 0 10px #ffd7004d}.lb-rank-top-2 td{background:#c0c0c00d}.lb-rank-top-2 .lb-col-rank .lb-rank-badge{background:linear-gradient(135deg,silver,#a0a0a0);color:#000}.lb-rank-top-3 td{background:#cd7f320d}.lb-rank-top-3 .lb-col-rank .lb-rank-badge{background:linear-gradient(135deg,#cd7f32,sienna);color:#000}.lb-col-rank{width:60px;text-align:center}.lb-col-user{min-width:120px}.lb-col-level{width:70px;text-align:center}.lb-col-time{width:80px;text-align:right}.lb-rank-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:2px;font-weight:700;font-size:12px}.lb-rank-number{color:#707070}.lb-username{color:#e0e0e0}.lb-level-badge{display:inline-block;padding:3px 8px;background:#151515;border:1px solid #222;border-radius:2px;font-size:11px;color:#00ff41}.lb-time{font-variant-numeric:tabular-nums;color:#909090}.lb-loading{display:flex;align-items:center;justify-content:center;padding:48px}.lb-loading-bar{width:200px;height:2px;background:#151515;border-radius:1px;overflow:hidden}.lb-loading-progress{width:30%;height:100%;background:#00ff41;animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(400%)}}.lb-empty{text-align:center;padding:48px;color:#707070;font-family:JetBrains Mono,monospace;font-size:12px}.lb-table-wrapper::-webkit-scrollbar{width:6px}.lb-table-wrapper::-webkit-scrollbar-track{background:#0d0d0d}.lb-table-wrapper::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.lb-table-wrapper::-webkit-scrollbar-thumb:hover{background:#707070}@media (max-width: 768px){.leaderboard-modal{width:95%;height:85%;max-height:none}.lb-modal-content{flex-direction:column}.lb-filter-section{width:100%;height:auto;flex-shrink:0;border-right:none;border-bottom:1px solid #1a1a1a;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px}.lb-filter-header{width:100%;margin-bottom:8px}.lb-filter-group{margin-bottom:0;display:flex;gap:4px;flex-wrap:wrap}.lb-filter-btn{margin-bottom:0}.lb-stats-panel{display:none}.lb-table-header-row{padding:10px 12px}.lb-table th,.lb-table td{padding:10px 12px;font-size:11px}}.game-page{display:flex;flex-direction:column;height:100vh;background:#050505;overflow:hidden}.game-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(180deg,#0d0d0d,#080808);border-bottom:1px solid #1a1a1a;flex-shrink:0}.header-left{display:flex;align-items:baseline;gap:16px}.logo{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;color:#00ff41;margin:0;letter-spacing:2px;text-shadow:0 0 10px rgba(0,255,65,.3)}.tagline{font-family:JetBrains Mono,monospace;font-size:10px;color:#888;letter-spacing:3px}.header-right{display:flex;align-items:center;gap:16px}.user-info{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px}.user-label{color:#707070;letter-spacing:1px}.user-name{color:#00ff41;letter-spacing:1px}.logout-btn{padding:8px 16px;background:transparent;border:1px solid #333;border-radius:2px;color:#909090;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ff33331a;border-color:#f33;color:#f33}.game-main{display:flex;flex:1;overflow:hidden;min-height:0}.game-sidebar{width:320px;display:flex;flex-direction:column;gap:12px;padding:12px;background:#080808;border-right:1px solid #1a1a1a;overflow-y:auto;flex-shrink:0}.sidebar-section{flex-shrink:0}.sidebar-section:first-child{flex:0 0 auto}.sidebar-section:last-child{flex:1;min-height:200px}.game-terminal{flex:1;padding:12px;overflow:hidden;min-width:0;min-height:0}@media (max-width: 1024px){.game-sidebar{width:280px}}@media (max-width: 768px){.game-main{flex-direction:column}.game-sidebar{width:100%;flex-direction:row;gap:8px;border-right:none;border-bottom:1px solid #1a1a1a;overflow-x:auto;overflow-y:hidden;flex-shrink:0;max-height:250px}.sidebar-section{min-width:280px;flex:0 0 auto}.header-left{gap:8px}.logo{font-size:16px}.tagline{display:none}}.game-header:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#050505;color:#f3f4f6}.xterm-viewport{overflow-y:auto!important}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:#0a0a0a}.loading-text{color:#00ff41;font-family:JetBrains Mono,monospace;font-size:14px;letter-spacing:1px}
