body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;font-size:14px}:root{--bg-base:#0d1117;--bg-surface-1:#161b22;--bg-surface-2:#1c2128;--bg-surface-3:#21262d;--bg-surface-4:#30363d;--text-primary:#f0f6fc;--text-secondary:#c9d1d9;--text-tertiary:#8b949e;--text-quaternary:#484f58;--border-default:#ffffff14;--border-strong:#ffffff24;--border-hover:#fff3;--accent-blue:#58a6ff;--accent-green:#3fb950;--accent-red:#f85149;--accent-yellow:#d29922;--accent-purple:#9b59b6;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--transition-fast:0.1s ease;--transition-normal:0.15s ease;--transition-medium:0.2s ease;--glass-bg:#0d1117b8;--glass-bg-heavy:#0d1117d9;--glass-blur:blur(20px);--glass-border:1px solid #ffffff14;--glass-radius:14px;--glass-shadow:0 8px 32px #0006}.global-bg{height:100%;inset:0;position:fixed;width:100%;z-index:0}.app-foreground{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;z-index:1}.menu-bar{align-items:stretch;backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:12px;box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex-shrink:0;font-size:13px;height:36px;margin:8px 12px 0;min-height:36px;-webkit-user-select:none;user-select:none;z-index:10}.menu-item-wrapper{position:relative}.menu-item{align-items:center;border-radius:8px;color:#c9d1d9;color:var(--text-secondary);cursor:default;display:flex;height:100%;padding:0 14px;transition:background .15s ease,color .15s ease;transition:background var(--transition-normal),color var(--transition-normal)}.menu-item.open,.menu-item:hover{background:#ffffff0f;color:#f0f6fc;color:var(--text-primary)}.menu-dropdown{background:#1c2128;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 32px #0009;left:0;min-width:180px;padding:4px 0;position:absolute;top:calc(100% + 4px);z-index:1000}.menu-dropdown-item{align-items:center;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 14px;transition:background .15s ease,color .15s ease;transition:background var(--transition-normal),color var(--transition-normal)}.menu-dropdown-item:hover{background:#ffffff14;color:#f0f6fc;color:var(--text-primary)}.menu-dropdown-item.active{color:#58a6ff;color:var(--accent-blue)}.menu-dropdown-check{flex-shrink:0;font-size:12px;text-align:center;width:16px}.music-player{gap:4px;height:100%;padding:0 10px;position:relative}.music-btn,.music-player{align-items:center;display:flex}.music-btn{background:none;border:none;border-radius:4px;color:#8b949e;color:var(--text-tertiary);cursor:pointer;justify-content:center;line-height:1;padding:4px 5px;transition:color .15s ease,background .15s ease;transition:color var(--transition-normal),background var(--transition-normal)}.music-btn:hover{background:#ffffff14;color:#f0f6fc;color:var(--text-primary)}.music-btn-play{color:#c9d1d9;color:var(--text-secondary)}.music-track-name{background:none;border:none;border-radius:4px;color:#8b949e;color:var(--text-tertiary);cursor:pointer;font-size:11px;max-width:140px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;transition:color .15s ease,background .15s ease;transition:color var(--transition-normal),background var(--transition-normal);white-space:nowrap}.music-track-name:hover{background:#ffffff0f;color:#c9d1d9;color:var(--text-secondary)}.music-time{font-feature-settings:"tnum";color:#484f58;color:var(--text-quaternary);font-size:10px;font-variant-numeric:tabular-nums;min-width:70px;text-align:center;white-space:nowrap}.music-volume{appearance:none;background:#0000;cursor:pointer;height:10px;margin:0;outline:none;padding:0;width:60px}.music-volume::-webkit-slider-runnable-track{background:#ffffff1f;border-radius:2px;height:4px}.music-volume::-webkit-slider-thumb{appearance:none;background:#c9d1d9;background:var(--text-secondary);border-radius:50%;cursor:pointer;height:10px;margin-top:-3px;-webkit-transition:background .15s ease;transition:background .15s ease;-webkit-transition:background var(--transition-normal);transition:background var(--transition-normal);width:10px}.music-volume::-webkit-slider-thumb:hover{background:#f0f6fc;background:var(--text-primary)}.music-volume::-moz-range-track{background:#ffffff1f;border:none;border-radius:2px;height:4px}.music-volume::-moz-range-thumb{background:#c9d1d9;background:var(--text-secondary);border:none;border-radius:50%;cursor:pointer;height:10px;width:10px}.music-dropdown{background:#1c2128;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 32px #0009;max-height:300px;min-width:220px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.music-dropdown-item{align-items:center;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:8px;padding:6px 14px;transition:background .15s ease,color .15s ease;transition:background var(--transition-normal),color var(--transition-normal)}.music-dropdown-item:hover{background:#ffffff14;color:#f0f6fc;color:var(--text-primary)}.music-dropdown-item.active{color:#58a6ff;color:var(--accent-blue)}.music-dropdown-check{flex-shrink:0;font-size:12px;text-align:center;width:16px}.app-wrapper{height:100vh;overflow:hidden;position:relative}.app{display:flex;flex:1 1;gap:8px;overflow:hidden;padding:8px 12px}.app-player{gap:0;padding:0}.sidebar{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;min-width:260px;overflow:hidden;transition:border-color .15s ease;transition:border-color var(--transition-normal);width:260px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:16px}.sidebar-header h2{color:#f0f6fc;color:var(--text-primary);font-size:16px}.level-list{flex:1 1;overflow-y:auto;padding:8px}.level-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:4px;padding:10px 12px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.level-item:hover{background:#ffffff0f}.level-item.active{background:#1f6feb22;border:1px solid #1f6feb;box-shadow:0 0 0 1px #1f6feb26}.level-item-info{align-items:center;display:flex;gap:8px;overflow:hidden}.level-order{color:#8b949e;color:var(--text-tertiary);font-size:12px}.level-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-item-meta{align-items:center;display:flex;gap:6px}.difficulty-badge{border-radius:9999px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.difficulty-badge.easy{background:#23863633;color:#3fb950;color:var(--accent-green)}.difficulty-badge.medium{background:#d2992233;color:#d29922;color:var(--accent-yellow)}.difficulty-badge.hard{background:#da363333;color:#f85149;color:var(--accent-red)}.difficulty-badge.expert{background:#a371f733;color:#a371f7}.new-level-form{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);padding:12px 16px}.new-level-form input{margin-bottom:8px;width:100%}.new-level-actions{display:flex;gap:8px}.sidebar-footer{border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);padding:12px}.settings-btn{background:#ffffff0f;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:8px;transition:all .15s ease;transition:all var(--transition-normal);width:100%}.settings-btn:hover{background:#ffffff1a;border-color:#fff3;border-color:var(--border-hover)}.settings-btn:active{transform:scale(.97)}.settings-btn.active{background:#1f6feb22;border-color:#1f6feb;color:#58a6ff;color:var(--accent-blue)}.main-content{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.editor-area{flex:1 1;overflow-y:auto;padding:24px}.empty-state{align-items:center;color:#8b949e;color:var(--text-tertiary);display:flex;flex-direction:column;height:100%;justify-content:center}.empty-state h3{color:#c9d1d9;color:var(--text-secondary);margin-bottom:8px}.level-editor{max-width:800px}.editor-section{margin-bottom:24px}.editor-section h3{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);color:#f0f6fc;color:var(--text-primary);font-size:15px;margin-bottom:12px;padding-bottom:6px}.form-grid{grid-gap:8px 12px;align-items:start;display:grid;gap:8px 12px;grid-template-columns:140px 1fr;margin-bottom:12px}.form-grid label{padding-top:6px}.form-grid label,.hint-text{color:#8b949e;color:var(--text-tertiary);font-size:13px}.hint-text{font-style:italic}.collapsible-card{background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);margin-bottom:8px;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.collapsible-card:hover{border-color:#fff3;border-color:var(--border-hover);box-shadow:0 4px 12px #0006;box-shadow:var(--shadow-md)}.card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px;transition:background .15s ease;transition:background var(--transition-normal)}.card-header:hover{background:#ffffff0a}.card-arrow{color:#8b949e;color:var(--text-tertiary);font-size:10px;transition:color .15s ease;transition:color var(--transition-normal)}.card-header:hover .card-arrow{color:#c9d1d9;color:var(--text-secondary)}.card-body{background:#00000026;padding:14px}.card-actions,.card-body{border-top:1px solid #ffffff14;border-top:1px solid var(--border-default)}.card-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px}.module-badge{border-radius:6px;font-size:12px;font-weight:600;padding:3px 8px}.module-badge.input_guard{background:#e74c3c22;color:#e74c3c}.module-badge.output_guard{background:#e67e2222;color:#e67e22}.module-badge.llm_judge{background:#3498db22;color:#3498db}.module-badge.llm_helper{background:#9b59b622;color:#9b59b6}.module-badge.flag{background:#f1c40f22;color:#f1c40f}.module-badge.modifier{background:#27ae6022;color:#27ae60}.module-badge.details{background:#8b949e22;color:#c9d1d9;color:var(--text-secondary)}.collapsible-card[draggable]{cursor:grab}.collapsible-card.dragging{opacity:.4}.collapsible-card.drag-over{border-top:2px solid #58a6ff;border-top:2px solid var(--accent-blue);margin-top:-1px}.palette{background:#161b22;background:var(--bg-surface-1);border-left:1px solid #ffffff14;border-left:1px solid var(--border-default);min-width:240px;overflow-y:auto;padding:16px;width:240px}.palette h3{color:#f0f6fc;color:var(--text-primary);font-size:15px;margin-bottom:16px}.palette-section{margin-bottom:20px}.palette-section h4{color:#8b949e;color:var(--text-tertiary);font-size:11px;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.palette-item{background:#0d1117;background:var(--bg-base);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-left:3px solid;border-radius:8px;cursor:pointer;margin-bottom:6px;padding:10px 12px;transition:all .15s ease;transition:all var(--transition-normal)}.palette-item:hover{background:#21262d;background:var(--bg-surface-3);border-color:#fff3;border-color:var(--border-hover);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);transform:translateX(-2px)}.palette-item-label{font-size:13px;font-weight:600;margin-bottom:2px}.palette-item-desc{color:#8b949e;color:var(--text-tertiary);font-size:11px}.chat-tester{background:#00000026;border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);display:flex;flex-direction:column;height:280px;min-height:280px;transition:height .2s ease,min-height .2s ease;transition:height var(--transition-medium),min-height var(--transition-medium)}.chat-tester-minimized{height:auto;min-height:0}.chat-header{align-items:center;background:#161b22;background:var(--bg-surface-1);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:8px 16px}.chat-messages{flex:1 1;overflow-y:auto;padding:12px 16px}.chat-msg{margin-bottom:10px;max-width:80%}.chat-msg.user{margin-left:auto}.chat-msg-content{border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);font-size:13px;line-height:1.5;padding:8px 12px;white-space:pre-wrap}.chat-msg.user .chat-msg-content{background:#1f6feb;border-bottom-right-radius:2px;color:#fff}.chat-msg.assistant .chat-msg-content{background:#ffffff0f;border-bottom-left-radius:2px}.chat-msg.system .chat-msg-content{background:#ffffff14;color:#8b949e;color:var(--text-tertiary);font-style:italic}.chat-msg.hint .chat-msg-content{background:#9b59b633;border-bottom-left-radius:2px;border-left:3px solid #9b59b6;border-left:3px solid var(--accent-purple);color:#d4a5e5}.chat-msg.hint:before{color:#9b59b6;color:var(--accent-purple);content:"💡 Hint";display:block;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:2px;text-transform:uppercase}.chat-msg.blocked .chat-msg-content{background:#da363322;border:1px solid #da3633;color:#f85149;color:var(--accent-red)}.chat-msg-meta{color:#8b949e;color:var(--text-tertiary);font-size:10px;margin-top:2px;padding:0 4px}.chat-input{background:#ffffff08;border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);display:flex;gap:8px;padding:12px 16px}.chat-input input{flex:1 1}.btn-flag{background:#f1c40f22;border:1px solid #f1c40f;border-radius:8px;color:#f1c40f;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s ease;transition:all var(--transition-normal);white-space:nowrap}.btn-flag:hover{background:#f1c40f33;box-shadow:0 0 12px #f1c40f33}.btn-flag:active{transform:scale(.97)}.flag-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.flag-modal{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117d9;background:var(--glass-bg-heavy);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);max-width:440px;min-width:360px;padding:24px}.flag-modal-title{color:#f1c40f;font-size:16px;font-weight:700;margin-bottom:16px;text-align:center}.flag-modal-input{margin-bottom:16px;width:100%}.flag-modal-actions{display:flex;gap:8px;justify-content:flex-end}.flag-modal-result{font-size:16px;font-weight:700;padding:20px 0;text-align:center}.flag-modal-result.correct{color:#3fb950;color:var(--accent-green)}.flag-modal-result.incorrect{color:#f85149;color:var(--accent-red)}.helper-bot-container{align-items:flex-end;bottom:72px;display:flex;flex-direction:column;gap:8px;position:absolute;right:16px;z-index:50}.helper-bot-pill{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#9b59b633;border:1px solid #9b59b666;border-radius:20px;color:#d4a5e5;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.helper-bot-pill:hover{background:#9b59b644;border-color:#9b59b6;box-shadow:0 4px 12px #9b59b633;transform:translateY(-1px)}.helper-bot-pill.unavailable{color:#484f58;color:var(--text-quaternary);cursor:default;opacity:.6}.helper-bot-pill.unavailable,.helper-bot-pill.unavailable:hover{background:#21262d;background:var(--bg-surface-3);border-color:#ffffff14;border-color:var(--border-default)}.helper-bot-pill.unavailable:hover{box-shadow:none;transform:none}.helper-bot-pill.on-cooldown{background:#d2992226;border-color:#d2992266;color:#d29922;cursor:default}.helper-bot-pill.on-cooldown:hover{background:#d2992226;border-color:#d2992266;box-shadow:none;transform:none}.helper-bot-pill.has-new{animation:helper-pulse 2s ease-in-out infinite;border-color:#9b59b6;box-shadow:0 0 12px #9b59b64d}@keyframes helper-pulse{0%,to{box-shadow:0 0 8px #9b59b633}50%{box-shadow:0 0 16px #9b59b680}}.helper-bot-panel{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117d9;background:var(--glass-bg-heavy);border:1px solid #9b59b644;border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);overflow:hidden;width:300px}.helper-bot-header{align-items:center;background:#9b59b622;border-bottom:1px solid #9b59b633;color:#d4a5e5;display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:1px;padding:10px 14px;text-transform:uppercase}.helper-bot-close{background:none;border:none;color:#8b949e;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.helper-bot-close:hover{color:#f0f6fc}.helper-bot-body{color:#c9d1d9;color:var(--text-secondary);font-size:13px;line-height:1.5;max-height:200px;overflow-y:auto;padding:14px}.helper-bot-loading{color:#8b949e;color:var(--text-tertiary);font-style:italic}.settings-panel{max-width:100%}.settings-providers-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.settings-providers-grid .settings-section{margin-bottom:0}.settings-panel h3{color:#f0f6fc;color:var(--text-primary);font-size:18px;margin-bottom:20px}.settings-section{background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:16px;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.settings-section:hover{box-shadow:0 4px 12px #0006;box-shadow:var(--shadow-md)}.settings-section h4{color:#f0f6fc;color:var(--text-primary);margin-bottom:10px}.settings-row{align-items:center;display:flex;gap:8px}.settings-row input{flex:1 1}.toggle-switch{display:inline-block;height:20px;position:relative;width:36px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:#30363d;border-radius:20px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.toggle-slider:before{background:#c9d1d9;border-radius:50%;bottom:3px;content:"";height:14px;left:3px;position:absolute;transition:transform .2s;width:14px}.toggle-switch input:checked+.toggle-slider{background:#238636}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(16px)}.test-result{border:1px solid;border-radius:10px;margin-top:16px;padding:12px 16px}.test-result.ok{background:#23863622;border-color:#238636;color:#3fb950;color:var(--accent-green)}.test-result.error{background:#da363322;border-color:#da3633;color:#f85149;color:var(--accent-red)}.test-result p{font-size:13px;margin-top:4px}.error-text{color:#f85149;color:var(--accent-red)}.discover-btn{background:#21262d;background:var(--bg-surface-3);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#58a6ff;color:var(--accent-blue);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease;transition:all var(--transition-normal)}.discover-btn:hover{background:#30363d;background:var(--bg-surface-4);box-shadow:0 0 12px #58a6ff26}.discover-btn:active{transform:scale(.97)}.discover-btn:disabled{cursor:not-allowed;opacity:.5}.model-list{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px}.model-item{align-items:center;color:#8b949e;color:var(--text-tertiary);display:flex;font-size:12px;gap:6px;padding:2px 0}.model-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.model-dot.active{background:#3fb950;background:var(--accent-green);box-shadow:0 0 6px #3fb95066}.model-dot.inactive{background:#484f58;background:var(--text-quaternary)}input,select,textarea{background:#00000040;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#c9d1d9;color:var(--text-secondary);font-family:inherit;font-size:13px;padding:6px 10px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background-color var(--transition-normal)}input:hover,select:hover,textarea:hover{border-color:#484f58;border-color:var(--text-quaternary)}input:focus,select:focus,textarea:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb4d;outline:none}textarea{resize:vertical}.btn-icon{align-items:center;background:#ffffff0f;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;transition:all .15s ease;transition:all var(--transition-normal);width:28px}.btn-icon:hover{background:#ffffff1a;border-color:#fff3;border-color:var(--border-hover)}.btn-icon:active{transform:scale(.97)}.btn-danger-icon:hover{background:#da363333;border-color:#da363366;color:#f85149;color:var(--accent-red)}.btn-primary{background:#238636;border:1px solid #2ea043;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s ease;transition:all var(--transition-normal)}.btn-primary:hover{background:#2ea043;box-shadow:0 0 12px #2ea04340}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-sm{background:#ffffff0f;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease;transition:all var(--transition-normal)}.btn-sm:hover{background:#ffffff1a;border-color:#fff3;border-color:var(--border-hover)}.btn-sm:active{transform:scale(.97)}.btn-danger{background:#da363322;border:1px solid #da3633;border-radius:8px;color:#f85149;color:var(--accent-red);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease;transition:all var(--transition-normal)}.btn-danger:hover{background:#da363344;box-shadow:0 0 12px #da363333}.btn-danger:active{transform:scale(.97)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#30363d;background:var(--bg-surface-4);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#484f58;background:var(--text-quaternary)}.log-panel-container{display:flex;flex-direction:column;margin:0 12px 8px;position:relative}.log-panel-container:has(.log-panel:not(.minimized)){height:20vh;min-height:120px}.log-panel-container:has(.log-panel.minimized){height:auto;min-height:0}.log-panel{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117d9;background:var(--glass-bg-heavy);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;height:100%;overflow:hidden}.log-panel-header{align-items:center;background:#0000;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:4px 12px}.log-panel-title{align-items:center;display:flex;font-size:12px;font-weight:600;gap:6px;white-space:nowrap}.log-status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.log-count,.log-status-text{font-size:10px;font-weight:400}.log-count{background:#21262d;background:var(--bg-surface-3);border-radius:9999px;padding:1px 6px}.log-count,.log-minimize-btn{color:#8b949e;color:var(--text-tertiary)}.log-minimize-btn{background:none;border:none;cursor:pointer;font-size:11px;padding:2px 6px;transition:color .15s ease;transition:color var(--transition-normal)}.log-minimize-btn:hover{color:#f0f6fc;color:var(--text-primary)}.log-panel.minimized .log-panel-header{cursor:pointer}.log-panel.minimized .log-panel-header:hover{background:#1c2128;background:var(--bg-surface-2)}.log-panel-controls{align-items:center;display:flex;gap:4px}.log-filter-btn{background:none;border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase;transition:all .15s ease;transition:all var(--transition-normal)}.log-filter-btn.active{background:#21262d;background:var(--bg-surface-3)}.log-filter-btn:hover{background:#30363d;background:var(--bg-surface-4)}.log-search{border-radius:6px!important;font-size:11px!important;padding:2px 6px!important;width:120px}.log-panel-messages{flex:1 1;overflow-y:auto;padding:4px 0}.log-entry{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;padding:1px 12px;transition:background .1s ease;transition:background var(--transition-fast)}.log-entry:hover{background:#161b2266}.log-timestamp{color:#484f58;color:var(--text-quaternary);flex-shrink:0;font-size:11px}.log-source-badge{border-radius:4px;flex-shrink:0;font-size:10px;font-weight:600;padding:0 5px}.log-level{flex-shrink:0;font-size:10px;font-weight:700;width:40px}.log-message{color:#c9d1d9;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.log-meta-toggle{background:none;border:none;color:#484f58;color:var(--text-quaternary);cursor:pointer;font-family:monospace;font-size:11px;padding:0 2px;transition:color .15s ease;transition:color var(--transition-normal)}.log-meta-json,.log-meta-toggle:hover{color:#8b949e;color:var(--text-tertiary)}.log-meta-json{background:#161b22;background:var(--bg-surface-1);border:1px solid #ffffff14;border:1px solid var(--border-default);border-radius:6px;font-size:11px;margin:2px 0 2px 60px;overflow-x:auto;padding:6px 10px;width:100%}.game-state-row{align-items:center;display:flex;gap:8px;margin-bottom:12px}.game-state-dot{border-radius:50%;box-shadow:0 0 6px currentColor;flex-shrink:0;height:10px;width:10px}.game-state-label{font-size:14px;font-weight:700;letter-spacing:1px}.game-timer{color:#f0f6fc;color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:28px;font-weight:700;letter-spacing:2px;margin-bottom:16px;text-align:center}.game-controls-group{display:flex;flex-direction:column;gap:8px}.game-btn{border:1px solid;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px;transition:all .15s ease;transition:all var(--transition-normal)}.game-btn:active:not(:disabled){transform:scale(.97)}.game-btn:disabled{cursor:not-allowed;opacity:.35}.game-btn-start{background:#23863633;border-color:#238636;color:#3fb950;color:var(--accent-green)}.game-btn-start:not(:disabled):hover{background:#23863655;box-shadow:0 0 16px #23863640}.game-btn-pause{background:#d2992233;border-color:#d29922;color:#d29922;color:var(--accent-yellow)}.game-btn-pause:not(:disabled):hover{background:#d2992244;box-shadow:0 0 16px #d2992240}.game-btn-stop{background:#da363322;border-color:#da3633;color:#f85149;color:var(--accent-red)}.game-btn-stop:not(:disabled):hover{background:#da363344;box-shadow:0 0 16px #da363340}.game-sidebar-stat{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:8px 0}.game-sidebar-stat-value{color:#f0f6fc;color:var(--text-primary);font-size:20px;font-weight:700}.game-sidebar-stat-label{color:#8b949e;color:var(--text-tertiary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.scoreboard{background:#0d1117;background:var(--bg-base);flex:1 1;overflow-y:auto;padding:20px 24px}.scoreboard-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);color:#8b949e;color:var(--text-tertiary);display:flex;font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:8px;padding:8px 16px;text-transform:uppercase}.sh-rank{flex-shrink:0;width:60px}.sh-player{flex:1 1}.sh-levels{flex-shrink:0;width:200px}.sh-score{flex-shrink:0;text-align:right;width:80px}.scoreboard-empty{color:#8b949e;color:var(--text-tertiary);font-size:14px;padding:60px 20px;text-align:center}.player-card{background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);margin-bottom:8px;padding:14px 16px;position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal);will-change:transform}.player-card:hover{border-color:#484f58;border-color:var(--text-quaternary);box-shadow:0 4px 16px #0000004d}.player-card-gold{background:#f1c40f08;border-left:3px solid #f1c40f}.player-card-silver{background:#c0c0c008;border-left:3px solid silver}.player-card-bronze{background:#cd7f3208;border-left:3px solid #cd7f32}.player-card-main{gap:14px}.player-card-main,.player-rank{align-items:center;display:flex}.player-rank{background:#21262d;background:var(--bg-surface-3);border-radius:10px;color:#8b949e;color:var(--text-tertiary);flex-shrink:0;font-size:20px;font-weight:800;height:40px;justify-content:center;width:40px}.player-rank.gold{background:#f1c40f18;color:#f1c40f}.player-rank.silver{background:#c0c0c018;color:silver}.player-rank.bronze{background:#cd7f3218;color:#cd7f32}.player-rank.rank-up{animation:rankJiggleUp .7s cubic-bezier(.22,1,.36,1)}.player-rank.rank-down{animation:rankJiggleDown .7s cubic-bezier(.22,1,.36,1)}.player-score.score-flash{animation:scoreFlash .7s ease-out}.player-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.player-name{font-size:16px;font-weight:700}.player-name,.player-score{color:#f0f6fc;color:var(--text-primary)}.player-score{flex-shrink:0;font-size:24px;font-weight:800;min-width:80px;text-align:right}.level-pills{display:flex;flex-wrap:wrap;gap:6px}.level-pill{border-radius:9999px;font-size:14px;font-weight:600;min-width:80px;padding:5px 14px;text-align:center;white-space:nowrap}.level-pill.locked{background:#30363d;background:var(--bg-surface-4);color:#8b949e;color:var(--text-tertiary)}.level-pill.active{animation:pillPulse 2s ease-in-out infinite}.level-pill.active,.level-pill.player-active{background:#d29922;background:var(--accent-yellow);color:#0d1117;color:var(--bg-base)}.level-pill.completed{background:#238636;color:#3fb950;color:var(--accent-green)}.level-pill-stats{display:flex;gap:4px;margin-top:1px}.level-stat-item{box-sizing:border-box;font-size:9px;min-width:62px;opacity:.5;padding:0 8px;text-align:center;white-space:nowrap}.level-pill.clickable{cursor:pointer;transition:filter .15s}.level-pill.clickable:hover{filter:brightness(1.3)}.level-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.level-modal{background:#1c2128;background:var(--bg-surface-2,#1e1e2e);border:1px solid #333;border:1px solid var(--border-subtle,#333);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:640px;width:90%}.level-modal-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--border-subtle,#333);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.level-modal-player{font-size:16px;font-weight:700;margin-right:12px}.level-modal-level{font-size:14px;opacity:.6}.level-modal-close{background:none;border:none;color:#c9d1d9;color:var(--text-secondary,#aaa);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.level-modal-close:hover{color:#f0f6fc;color:var(--text-primary,#fff)}.level-modal-body{flex:1 1;overflow-y:auto;padding:16px 20px}.level-modal-section{margin-bottom:16px}.level-modal-label{font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;opacity:.5;text-transform:uppercase}.level-modal-content{background:#30363d;background:var(--bg-surface-4,#111);border-radius:8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.5;margin:0;max-height:200px;overflow-y:auto;padding:12px 14px;white-space:pre-wrap;word-break:break-word}.level-modal-footer{border-top:1px solid #333;border-top:1px solid var(--border-subtle,#333);display:flex;flex-shrink:0;font-size:12px;gap:20px;opacity:.6;padding:12px 20px}@keyframes pillPulse{0%,to{opacity:1}50%{opacity:.7}}.player-stats{border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;padding-top:10px}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-label{color:#8b949e;color:var(--text-tertiary);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#c9d1d9;color:var(--text-secondary);font-size:13px;font-weight:600}.user-management{max-width:1000px}.user-form{background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px}.user-table{border-collapse:collapse;font-size:13px;width:100%}.user-table th{border-bottom:1px solid #ffffff24;border-bottom:1px solid var(--border-strong);color:#8b949e;color:var(--text-tertiary);font-size:11px;letter-spacing:.5px;padding:8px 12px;text-align:left;text-transform:uppercase}.user-table td{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);color:#c9d1d9;color:var(--text-secondary);padding:10px 12px}.user-row:hover{background:#161b22;background:var(--bg-surface-1)}.user-table td input{font-size:13px;padding:4px 8px;width:100%}.auth-screen{overflow:hidden}.auth-content,.auth-screen{height:100%;position:relative;width:100%}.auth-content{justify-content:center;z-index:1}.auth-content,.auth-landing{align-items:center;display:flex}.auth-landing{flex-direction:column;gap:24px;text-align:center}.auth-title{color:#fff;font-size:48px;font-weight:900;letter-spacing:-.5px;line-height:1.1;text-shadow:0 2px 24px #00000080}.auth-typing{color:#ffffffb3;font-size:20px;min-height:32px}.auth-typing-prefix{color:#fff9}.auth-typing-anim{color:#fff;font-weight:700}.text-type{display:inline;white-space:pre-wrap}.text-type__cursor{color:#58a6ff;color:var(--accent-blue);display:inline-block;font-weight:400;margin-left:1px;opacity:1}.text-type__cursor--hidden{display:none}.auth-pill-row{display:flex;gap:16px;margin-top:12px}.auth-pill{border:none;border-radius:9999px;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.01em;padding:12px 36px;transition:all .2s ease}.auth-pill-primary{background:#58a6ff;background:var(--accent-blue);box-shadow:0 4px 16px #58a6ff4d;color:#fff}.auth-pill-primary:hover{background:#79c0ff;box-shadow:0 6px 20px #58a6ff66;transform:translateY(-1px)}.auth-pill-primary:active{transform:translateY(0)}.auth-pill-outline{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #fff3;color:#fff}.auth-pill-outline:hover{background:#ffffff24;border-color:#ffffff59;transform:translateY(-1px)}.auth-pill-outline:active{transform:translateY(0)}.auth-pill-full{width:100%}.auth-pill:disabled{cursor:default;opacity:.6;transform:none}.auth-card-wrapper{align-items:center;display:flex;flex-direction:column;gap:12px}.auth-back-btn{align-self:flex-start;background:none;border:none;color:#ffffff80;cursor:pointer;font-size:13px;padding:4px 8px;transition:color .15s ease}.auth-back-btn:hover{color:#fff}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#161b22d9;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;gap:14px;padding:32px 28px;width:360px}.auth-card-wide{width:420px}.auth-card-title{color:#f0f6fc;color:var(--text-primary);font-size:22px;font-weight:700;margin-bottom:4px;text-align:center}.player-login-error{color:#f85149;color:var(--accent-red);font-size:13px;text-align:center}.player-login-switch{color:#8b949e;color:var(--text-tertiary);font-size:13px;margin-top:4px;text-align:center}.link-btn{background:none;border:none;color:#58a6ff;color:var(--accent-blue);cursor:pointer;font-size:13px;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:#79c0ff}.register-card{background:#161b22;background:var(--bg-surface-1);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:8px;padding:40px 32px 32px;width:420px}.register-step{padding:8px 4px 16px}.register-label{color:#f0f6fc;color:var(--text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:4px}.register-optional{font-weight:400}.register-hint,.register-optional{color:#8b949e;color:var(--text-tertiary);font-size:12px}.register-hint{line-height:1.4;margin-bottom:12px}.register-input{background:#21262d;background:var(--bg-surface-3);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:8px;color:#f0f6fc;color:var(--text-primary);font-size:14px;outline:none;padding:10px 12px;transition:border-color .15s ease;width:100%}.register-input:focus{border-color:#58a6ff;border-color:var(--accent-blue);box-shadow:0 0 0 2px #58a6ff26}.register-input::placeholder{color:#484f58;color:var(--text-quaternary)}.register-loading{color:#58a6ff;color:var(--accent-blue);font-size:13px;font-style:italic;text-align:center}.stepper-outer{align-items:center;display:flex;flex-direction:column;width:100%}.stepper-container{border:1px solid #ffffff14;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;width:100%}.stepper-indicator-row{align-items:center;display:flex;padding:20px 24px;width:100%}.stepper-content{overflow:hidden;position:relative}.stepper-step{padding:0 24px}.stepper-footer{padding:0 24px 20px}.stepper-footer-nav{display:flex;margin-top:8px}.stepper-footer-nav.spread{justify-content:space-between}.stepper-footer-nav.end{justify-content:flex-end}.stepper-back-btn{background:none;border:none;border-radius:6px;color:#8b949e;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:6px 12px;transition:color .15s ease}.stepper-back-btn:hover{color:#c9d1d9;color:var(--text-secondary)}.stepper-next-btn{align-items:center;background:#58a6ff;background:var(--accent-blue);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:center;letter-spacing:-.01em;padding:8px 20px;transition:all .15s ease}.stepper-next-btn:hover{background:#79c0ff;box-shadow:0 2px 8px #58a6ff40}.stepper-next-btn:active{transform:scale(.97)}.stepper-indicator{cursor:pointer;outline:none;position:relative}.stepper-indicator-inner{align-items:center;border-radius:9999px;display:flex;font-weight:600;height:38px;justify-content:center;width:38px}.stepper-active-dot{background-color:#fff;border-radius:9999px;height:14px;width:14px}.stepper-step-number{font-size:16px}.stepper-connector{background-color:#30363d;background-color:var(--bg-surface-4);border-radius:2px;flex:1 1;height:2px;margin-left:6px;margin-right:6px;overflow:hidden;position:relative}.stepper-connector-inner{height:100%;left:0;position:absolute;top:0}.stepper-check-icon{color:#fff;height:20px;width:20px}.stepper-connector{height:3px}.game-waiting{color:#8b949e;color:var(--text-tertiary);flex:1 1;gap:0;justify-content:center;overflow-y:auto;padding:32px 24px 24px}.game-waiting,.game-waiting-status{align-items:center;display:flex;flex-direction:column}.game-waiting-status{flex-shrink:0;gap:8px;margin-bottom:28px}.game-waiting-loader{animation:game-waiting-spin 8s infinite;aspect-ratio:1;background:radial-gradient(farthest-side,#fff 90%,#0000) 0 0/8px 8px no-repeat,conic-gradient(from -90deg at 30px 30px,#0000 90deg,#ffffff40 0) 0 0/40px 40px,conic-gradient(from 90deg at 10px 10px,#0000 90deg,#ffffff40 0) 0 0/40px 40px no-repeat,conic-gradient(from -90deg at 30px 30px,#0000 90deg,#ffffff40 0) 100% 100%/40px 40px no-repeat;width:70px}@keyframes game-waiting-spin{0%{background-position:left 1px top 1px,0 0,0 0,100% 100%}16.67%{background-position:left 50% top 1px,0 0,0 0,100% 100%}33.33%{background-position:left 50% bottom 1px,0 0,0 0,100% 100%}50%{background-position:right 1px bottom 1px,0 0,0 0,100% 100%}66.67%{background-position:right 1px bottom 50%,0 0,0 0,100% 100%}83.33%{background-position:left 1px bottom 50%,0 0,0 0,100% 100%}to{background-position:left 1px top 1px,0 0,0 0,100% 100%}}.game-waiting-title{color:#c9d1d9;color:var(--text-secondary);font-size:20px;font-weight:700}.game-waiting-sub{color:#8b949e;color:var(--text-tertiary);font-size:13px;line-height:1.5;max-width:300px;text-align:center}.exploit-tip-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#161b22d9;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:14px;flex-shrink:0;max-width:520px;padding:28px 28px 20px;transition:opacity .6s ease,transform .6s ease;width:100%}.exploit-tip-fade-in{opacity:1;transform:translateY(0)}.exploit-tip-fade-out{opacity:0;transform:translateY(12px)}.exploit-tip-label{color:#58a6ff;font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.exploit-tip-title{color:#f0f6fc;font-size:22px;font-weight:800;margin-bottom:14px;min-height:32px}.exploit-tip-typing{color:#f0f6fc}.exploit-tip-desc{color:#b1bac4;font-size:14px;line-height:1.6;margin-bottom:20px}.exploit-tip-example-label{color:#3fb950;font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.exploit-tip-example{background:#00000059;border:1px solid #ffffff0f;border-radius:8px;color:#c9d1d9;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.5;margin:0 0 16px;max-height:160px;overflow-y:auto;padding:14px 16px;white-space:pre-wrap;word-break:break-word}.exploit-tip-counter{color:#8b949e;color:var(--text-tertiary);font-size:11px;opacity:.6;text-align:right}.exploit-tip-progress{background:#ffffff0f;border-radius:2px;height:3px;margin-top:12px;overflow:hidden;width:100%}.exploit-tip-progress-bar{animation:tipCountdown 60s linear forwards;background:#58a6ff;border-radius:2px;height:100%;transform-origin:left;width:100%}@keyframes tipCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.player-game{display:flex;flex:1 1;gap:8px;height:100%;overflow:hidden;padding:8px 12px}.player-sidebar{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;min-width:220px;overflow-y:auto;padding:16px;width:220px}.player-timer{color:#f0f6fc;color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:32px;font-weight:700;letter-spacing:2px;margin:12px 0;text-align:center}.player-main{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.player-level-card{background:#ffffff08;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);font-size:15px;padding:18px 24px}.desc-toggle-btn{background:none;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:6px;color:#8b949e;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:4px 12px;transition:color .15s ease,border-color .15s ease;transition:color var(--transition-normal),border-color var(--transition-normal)}.desc-toggle-btn:hover{border-color:#fff3;border-color:var(--border-hover);color:#c9d1d9;color:var(--text-secondary)}.level-desc-panel{overflow:hidden;transition:max-height .35s ease,opacity .3s ease,margin-top .35s ease}.level-desc-expanded{margin-top:10px;max-height:50vh;opacity:1;overflow-y:auto}.level-desc-collapsed{margin-top:0;max-height:0;opacity:0}.level-desc-content{border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);color:#8b949e;color:var(--text-tertiary);font-size:16px;line-height:1.6;padding:12px 0}.level-desc-body{display:flex;gap:16px;margin-top:8px}.level-desc-text{flex:1 1;min-width:0}.level-modifiers{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.game-modifiers-banner{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.game-modifier-pill{color:#8b949e;gap:5px;padding:3px 10px}.game-modifier-pill,.modifier-pill{align-items:center;background:#ffffff0a;border:1px solid;border-radius:6px;display:flex;font-size:11px;white-space:nowrap}.modifier-pill{gap:6px;padding:4px 8px;position:relative}.modifier-pill-icon{font-size:12px}.modifier-pill-label{color:#c9d1d9;color:var(--text-secondary);font-weight:600}.modifier-pill-info{align-items:center;background:#ffffff0f;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:50%;color:#484f58;color:var(--text-quaternary);cursor:pointer;display:flex;font-size:10px;font-style:italic;font-weight:700;height:16px;justify-content:center;margin-left:2px;padding:0;transition:background .15s,color .15s;width:16px}.modifier-pill-info:hover{background:#ffffff1f;color:#c9d1d9;color:var(--text-secondary)}.modifier-pill-detail{background:#1c2128;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 4px 12px #0006;color:#c9d1d9;color:var(--text-secondary);font-size:11px;padding:6px 10px;pointer-events:none;position:fixed;white-space:nowrap;z-index:9999}.player-chat{display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.player-chat .chat-messages{flex:1 1;overflow-y:auto;padding:12px 16px}.player-leaderboard{backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:14px;border-radius:var(--glass-radius);box-shadow:0 8px 32px #0006;box-shadow:var(--glass-shadow);min-width:220px;overflow:hidden;position:relative;transition:width .4s cubic-bezier(.22,1,.36,1),min-width .4s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.22,1,.36,1);width:220px}.player-leaderboard.lb-minimized{border-left:none;min-width:0;width:0}.lb-minimize-btn{align-items:center;backdrop-filter:blur(20px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--glass-blur);background:#0d1117b8;background:var(--glass-bg);border:1px solid #ffffff14;border:var(--glass-border);border-radius:6px 0 0 6px;border-right:none;color:#8b949e;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:10px;height:48px;justify-content:center;left:-20px;position:absolute;top:50%;transform:translateY(-50%);transition:color .15s ease,background .15s ease;transition:color var(--transition-normal),background var(--transition-normal);width:20px;z-index:5}.lb-minimize-btn:hover{background:#ffffff14;color:#f0f6fc;color:var(--text-primary)}.lb-inner{height:100%;min-width:200px;overflow-y:auto;padding:12px 10px}.lb-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);color:#8b949e;color:var(--text-tertiary);display:flex;font-size:10px;letter-spacing:1px;margin-bottom:8px;padding:0 8px 8px;text-transform:uppercase}.lb-header-rank{width:32px}.lb-header-player{flex:1 1}.lb-header-score{text-align:right;width:40px}.lb-cards{position:relative}.lb-card{align-items:center;background:#ffffff0a;border:1px solid #0000;border-radius:8px;display:flex;margin-bottom:4px;padding:8px;transition:background .15s ease,border-color .15s ease;transition:background var(--transition-normal),border-color var(--transition-normal)}.lb-card:hover{background:#ffffff12}.lb-card-me{background:#1f6feb14;border-color:#58a6ff4d}.lb-card-gold{border-color:#ffd70040}.lb-card-silver{border-color:#c0c0c033}.lb-card-bronze{border-color:#cd7f3233}.lb-rank{align-items:center;background:#ffffff14;border-radius:6px;color:#8b949e;color:var(--text-tertiary);display:flex;flex-shrink:0;font-size:12px;font-weight:800;height:24px;justify-content:center;margin-right:8px;width:24px}.lb-rank.gold{background:linear-gradient(135deg,gold,#b8860b);color:#1a1a2e}.lb-rank.silver{background:linear-gradient(135deg,silver,grey);color:#1a1a2e}.lb-rank.bronze{background:linear-gradient(135deg,#cd7f32,#8b4513);color:#1a1a2e}.lb-rank.rank-up{animation:rankJiggleUp .7s ease}.lb-rank.rank-down{animation:rankJiggleDown .7s ease}.lb-name{color:#c9d1d9;color:var(--text-secondary);flex:1 1;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-card-me .lb-name{color:#58a6ff;color:var(--accent-blue);font-weight:700}.lb-score{color:#f0f6fc;color:var(--text-primary);font-size:13px;font-weight:700;min-width:32px;text-align:right}.lb-score.score-flash{animation:scoreFlash .7s ease}@keyframes rankJiggleUp{0%{transform:scale(1) rotate(0deg)}20%{transform:scale(1.35) rotate(-8deg)}40%{transform:scale(1.15) rotate(5deg)}60%{transform:scale(1.25) rotate(-3deg)}80%{transform:scale(1.05) rotate(1deg)}to{transform:scale(1) rotate(0deg)}}@keyframes rankJiggleDown{0%{transform:scale(1) rotate(0deg)}20%{transform:scale(.75) rotate(8deg)}40%{transform:scale(.85) rotate(-5deg)}60%{transform:scale(.8) rotate(3deg)}80%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0deg)}}@keyframes scoreFlash{0%{color:#f0f6fc;color:var(--text-primary);text-shadow:none}30%{color:#3fb950;color:var(--accent-green);text-shadow:0 0 8px #3fb95099}to{color:#f0f6fc;color:var(--text-primary);text-shadow:none}}.level-actions-dropdown{position:relative}.level-actions-menu{background:#1c2128;background:var(--bg-surface-2);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-lg);min-width:140px;padding:4px 0;position:absolute;right:0;top:100%;z-index:100}.level-actions-menu button{background:none;border:none;color:#c9d1d9;color:var(--text-secondary);cursor:pointer;display:block;font-size:13px;padding:6px 12px;text-align:left;transition:background .15s ease,color .15s ease;transition:background var(--transition-normal),color var(--transition-normal);width:100%}.level-actions-menu button:hover{background:#21262d;background:var(--bg-surface-3);color:#f0f6fc;color:var(--text-primary)}.level-actions-menu button.danger{color:#f85149;color:var(--accent-red)}.level-actions-menu button.danger:hover{background:#f8514922}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:#161b22;background:var(--bg-surface-1);border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 24px #00000080;box-shadow:var(--shadow-lg);max-width:480px;min-width:360px;padding:24px}.modal-content h3{color:#f0f6fc;color:var(--text-primary);font-size:16px;margin-bottom:4px}.game-control-page{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1000px;padding:24px}.gc-left,.gc-right{display:flex;flex-direction:column;gap:16px}.gc-section{background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.gc-section:hover{box-shadow:0 4px 12px #0006;box-shadow:var(--shadow-md)}.gc-section-title{color:#f0f6fc;color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.gc-section-desc{color:#8b949e;font-size:12px;line-height:1.4;margin-bottom:12px}.gc-form-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.gc-form-row label{color:#c9d1d9;color:var(--text-secondary);font-size:13px}.gc-buttons{display:flex;flex-direction:column;gap:6px}.gc-option{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-default);padding:12px 0}.gc-option:last-child{border-bottom:none;padding-bottom:0}.gc-option-header{justify-content:space-between}.gc-option-header,.gc-toggle{align-items:center;display:flex}.gc-toggle{cursor:pointer;gap:8px}.gc-toggle input[type=checkbox]{accent-color:#238636;height:16px;width:16px}.gc-toggle-label{color:#f0f6fc;color:var(--text-primary);font-size:14px;font-weight:500}.gc-option-detail{align-items:center;display:flex;gap:8px;margin-top:8px;padding-left:24px}.gc-option-desc{color:#8b949e;color:var(--text-tertiary);font-size:12px;line-height:1.4;margin-top:6px;padding-left:24px}.scoreboard-page{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:16px 24px}.scoreboard-top-bar{align-items:center;background:#ffffff0a;border:1px solid #ffffff24;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 1px 0 #ffffff0f;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.scoreboard-timer{color:#f0f6fc;color:var(--text-primary);font-family:Courier New,monospace;font-size:28px;font-weight:800}.scoreboard-hidden{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:80px 20px}.scoreboard-hidden-label{color:#f85149;color:var(--accent-red);font-size:18px;font-weight:700;letter-spacing:3px;margin-bottom:24px;text-transform:uppercase}.scoreboard-hidden-timer{color:#f0f6fc;color:var(--text-primary);font-family:Courier New,monospace;font-size:96px;font-weight:900;line-height:1;margin-bottom:24px;text-shadow:0 0 40px #f851494d}.scoreboard-hidden-sub{color:#8b949e;color:var(--text-tertiary);font-size:14px}.winners-circle{align-items:center;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#0d1117d9;cursor:pointer;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.fireworks-canvas{inset:0;pointer-events:none;position:absolute;z-index:1}.winner-card{padding:48px 64px;position:relative;text-align:center;transition:opacity .4s ease,transform .4s ease;z-index:2}.winner-card.winner-fade-in{animation:winnerEnter .6s cubic-bezier(.22,1,.36,1);opacity:1;transform:scale(1)}.winner-card.winner-fade-out{opacity:0;transform:scale(.9)}@keyframes winnerEnter{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.winner-place{font-size:36px;font-weight:800;letter-spacing:6px;margin-bottom:24px;text-transform:uppercase}.winner-first .winner-place{animation:winnerGlow 2s ease-in-out infinite;font-size:48px}@keyframes winnerGlow{0%,to{text-shadow:0 0 20px #f1c40f4d}50%{text-shadow:0 0 40px #f1c40f99,0 0 80px #f1c40f33}}.winner-avatar{align-items:center;background:#21262d;background:var(--bg-surface-3);border:4px solid;border-radius:50%;color:#f0f6fc;color:var(--text-primary);display:flex;font-size:64px;font-weight:800;height:140px;justify-content:center;margin:0 auto 24px;width:140px}.winner-first .winner-avatar{animation:avatarPulse 2s ease-in-out infinite;border-width:5px;font-size:80px;height:180px;width:180px}@keyframes avatarPulse{0%,to{box-shadow:0 0 0 0 #f1c40f66}50%{box-shadow:0 0 0 20px #f1c40f00}}.winner-name{color:#f0f6fc;color:var(--text-primary);font-size:48px;font-weight:800;margin-bottom:36px}.winner-first .winner-name{font-size:64px}.winner-stats-grid{grid-gap:36px;display:grid;gap:36px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.winner-stat{align-items:center;display:flex;flex-direction:column;gap:8px}.winner-stat-value{color:#f0f6fc;color:var(--text-primary);font-size:36px;font-weight:700}.winner-stat-label{color:#8b949e;color:var(--text-tertiary);font-size:16px;letter-spacing:1px;text-transform:uppercase}.winner-click-hint{animation:hintPulse 2s ease-in-out infinite;color:#484f58;color:var(--text-quaternary);font-size:18px}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:1}}.winner-champion-label{animation:championPulse 1.5s ease-in-out infinite;font-size:32px;font-weight:800;letter-spacing:8px;text-transform:uppercase}@keyframes championPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.drumroll-label{color:#8b949e;color:var(--text-tertiary);font-size:32px;letter-spacing:6px;margin-bottom:24px;text-transform:uppercase}.drumroll-title{animation:championPulse 1.5s ease-in-out infinite;color:#f0f6fc;color:var(--text-primary);font-size:80px;font-weight:900;margin-bottom:20px}.drumroll-sub{color:#8b949e;color:var(--text-tertiary);font-size:28px;margin-bottom:40px}.player-tools{border-top:1px solid #ffffff14;border-top:1px solid var(--border-default);flex-shrink:0;margin-top:auto;padding-top:12px}.player-tools-header{color:#1abc9c;font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.player-tools-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.player-tool-btn{background:#1abc9c14;border:1px solid #1abc9c33;border-radius:6px;color:#1abc9c;cursor:pointer;font-size:11px;padding:3px 8px;transition:all .1s ease;transition:all var(--transition-fast)}.player-tool-btn:hover{background:#1abc9c26;border-color:#1abc9c66}.player-tool-btn.active{background:#1abc9c33;border-color:#1abc9c;color:#f0f6fc}.player-tool-panel{margin-top:6px}.player-tool-desc{color:#8b949e;color:var(--text-tertiary);font-size:11px;line-height:1.4;margin-bottom:6px}.player-tool-shift{align-items:center;color:#c9d1d9;color:var(--text-secondary);display:flex;font-size:11px;gap:6px;margin-bottom:6px}.player-tool-shift input{border:1px solid #ffffff14;border:1px solid var(--border-default);border-radius:4px;font-size:11px;padding:2px 4px;width:50px}.player-tool-input,.player-tool-shift input{background:#1c2128;background:var(--bg-surface-2);color:#f0f6fc;color:var(--text-primary)}.player-tool-input{border:1px solid #ffffff14;border:1px solid var(--border-default);border-radius:6px;font-family:SF Mono,Fira Code,monospace;font-size:12px;min-height:40px;padding:6px 8px;resize:vertical;width:100%}.player-tool-input:focus{border-color:#1abc9c80;outline:none}.player-tool-actions{display:flex;gap:4px;margin-top:6px}.player-tool-actions .btn-sm{font-size:11px;padding:3px 10px}.player-tool-output{margin-top:6px}.player-tool-output-label{color:#8b949e;color:var(--text-tertiary);font-size:10px;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.player-tool-output-text{background:#21262d;background:var(--bg-surface-3);border:1px solid #ffffff14;border:1px solid var(--border-default);border-radius:6px;color:#1abc9c;cursor:pointer;font-family:SF Mono,Fira Code,monospace;font-size:12px;padding:6px 8px;transition:background .1s ease;transition:background var(--transition-fast);word-break:break-all}.player-tool-output-text:hover{background:#30363d;background:var(--bg-surface-4)}
/*# sourceMappingURL=main.d6f3ffe3.css.map*/