.notification[data-v-f367b674]{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:8px;color:#fff;font-weight:700;z-index:10000;box-shadow:0 4px 12px #0003;transform:translate(100%);transition:transform .3s ease-out;max-width:350px}.notification.show[data-v-f367b674]{transform:translate(0)}.notification.success[data-v-f367b674]{background-color:var(--success)}.notification.error[data-v-f367b674]{background-color:#ff4d4d}:root{--primary:#0a0a23;--secondary:#1b1b32;--accent:#6a67ce;--text:#ffffff;--success:#00cc7a;--muted:#97a0c7;--level1: #8fce00;--level2: #6a67ce;--level3: #e69138}*{box-sizing:border-box}body{margin:0;font-family:Courier New,monospace;background-color:var(--primary);color:var(--text);display:flex;justify-content:center;padding:24px 0;min-height:100vh;align-items:flex-start;background-image:radial-gradient(circle at 10% 20%,rgba(106,103,206,.06) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(255,107,107,.06) 0%,transparent 20%)}.container{width:94%;max-width:900px;padding:18px}header{text-align:center;margin-bottom:14px}h1{color:var(--accent);margin:0 0 6px;font-size:1.6rem}.description{color:#aaa;margin:0 0 20px}.level-navigation{display:flex;justify-content:center;margin-bottom:20px;gap:10px;flex-wrap:wrap}.level-btn{padding:10px 15px;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:all .3s;font-family:Courier New,monospace}.level-btn.level1{background-color:var(--level1);color:var(--primary)}.level-btn.level2{background-color:var(--level2);color:#fff}.level-btn.level3{background-color:var(--level3);color:var(--primary)}.level-btn:hover{opacity:.9;transform:translateY(-2px)}.progress-container{background-color:var(--secondary);padding:12px;border-radius:8px;border:1px solid rgba(106,103,206,.12);margin-bottom:14px;text-align:center}.progress-bar{height:18px;background:#2c2c4b;border-radius:10px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;width:0%;background:var(--accent);transition:width .4s ease;border-radius:10px}.level{background-color:var(--secondary);padding:14px;border-radius:8px;margin-bottom:12px;border:1px solid rgba(106,103,206,.12)}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.level-title{font-weight:700;color:var(--accent)}.level-status{font-size:.9rem;padding:6px 10px;border-radius:6px}.status-locked{background:#555;color:#999}.status-unlocked{background:#00cc7a1f;color:var(--success)}.status-completed{background:#00cc7a2e;color:var(--success)}.challenge-title{font-size:.9rem;margin-bottom:8px;padding-left:46px;color:#ccc;display:flex;align-items:center}.hint-link{margin-left:10px;color:var(--accent);text-decoration:none;font-weight:700;font-size:1rem;transition:transform .2s;display:inline-block}.hint-link:hover{transform:scale(1.2);color:var(--level1)}.flag-form{display:flex;flex-grow:1;align-items:center}.writeup-link{margin-left:15px;padding:8px 12px;background-color:var(--success);color:var(--primary);border-radius:6px;text-decoration:none;font-weight:700;font-size:.9em;white-space:nowrap;transition:all .2s ease}.writeup-link:hover{opacity:.8;box-shadow:0 0 10px #00cc7a80}.hint-link-locked{margin-left:10px;font-weight:700;font-size:1rem;color:#555;cursor:not-allowed;opacity:.6}.challenge{display:flex;align-items:center;padding:10px;border-radius:6px;background:#2a2a4466;margin-bottom:10px;transition:all .25s}.challenge.locked{opacity:.7;background:#3a3a3a}.challenge-number{display:inline-block;color:var(--primary);width:34px;height:34px;border-radius:50%;text-align:center;line-height:34px;font-weight:700;margin-right:12px;flex-shrink:0}.flag-form{display:flex;flex-grow:1}.flag-input{flex-grow:1;padding:10px;background:#2c2c4b;border:2px solid var(--accent);border-radius:4px 0 0 4px;color:var(--text);font-family:Courier New,monospace;font-size:14px}.flag-input:disabled{background:#3a3a3a;color:#777;border-color:#555}.submit-btn{padding:10px 14px;border:none;background:var(--accent);color:var(--primary);border-radius:0 4px 4px 0;cursor:pointer;font-weight:700}.submit-btn:disabled{background:#555;color:#999;cursor:not-allowed}.completed-message{display:none;margin-top:12px;padding:12px;border-radius:8px;background:#00cc7a1f;border:1px solid var(--success);text-align:center}.reset-container{text-align:center;margin:20px 0}.reset-btn{padding:10px 20px;background-color:#ff4d4d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-family:Courier New,monospace;font-weight:700;transition:background-color .3s}.reset-btn:hover{background-color:#ff1a1a}.ctf-footer{text-align:center;margin-top:18px;padding:12px;font-size:14px;color:var(--muted);border-top:1px solid rgba(255,255,255,.03)}.level-1 .level-title{color:var(--level1)}.level-1 .challenge-number{background-color:var(--level1)}.level-1 .challenge{border-left:4px solid var(--level1)}.level-2 .level-title{color:var(--level2)}.level-2 .challenge-number{background-color:var(--level2)}.level-2 .challenge{border-left:4px solid var(--level2)}.level-3 .level-title{color:var(--level3)}.level-3 .challenge-number{background-color:var(--level3)}.level-3 .challenge{border-left:4px solid var(--level3)}@media (max-width: 640px){.flag-form{flex-direction:column}.flag-input{border-radius:6px;margin-bottom:8px}.challenge{flex-direction:column;align-items:stretch}.challenge-number{margin-bottom:8px}.challenge-title{padding-left:0}.level-navigation{flex-direction:column}.challenge-actions{display:flex;width:100%;gap:8px}.challenge-actions .submit-btn,.challenge-actions .writeup-link{flex-grow:1;width:50%;margin:0;padding-top:10px;padding-bottom:10px;border-radius:6px;text-align:center}.submit-btn{border-radius:6px!important}.challenge-actions .writeup-link{display:flex;align-items:center;justify-content:center}}
