.checkin-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;padding:16px}.checkin-loading{text-align:center;color:var(--text-secondary);padding:20px}.checkin-header{margin-bottom:12px}.checkin-header h3{margin:0;font-size:16px;color:var(--text-primary)}.checkin-stats{display:flex;gap:24px;margin-bottom:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px}.stat-item{display:flex;align-items:baseline;gap:4px}.stat-value{font-size:20px;font-weight:700;color:var(--accent)}.stat-label{font-size:12px;color:var(--text-secondary)}.checkin-button{width:100%;padding:10px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#00a67d,#00c9a7);color:#fff;margin-bottom:10px}.checkin-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00a67d66}.checkin-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.checkin-button.checked{background:var(--bg-secondary);color:var(--text-secondary)}.checkin-error{color:#ff6b6b;font-size:12px;text-align:center;margin-bottom:10px;padding:6px;background:#ff6b6b1a;border-radius:6px}.checkin-success{color:var(--accent);font-size:12px;text-align:center;margin-bottom:10px;padding:6px;background:#00a67d1a;border-radius:6px}.checkin-calendar{margin-bottom:0}.calendar-header{text-align:center;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}.weekday{text-align:center;font-size:10px;color:var(--text-secondary);padding:2px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-day{position:relative;text-align:center;font-size:11px;padding:4px 0;color:var(--text-primary);border-radius:3px;transition:background .2s}.calendar-day.other-month{color:var(--text-muted)}.calendar-day.today{background:var(--accent-light);font-weight:700}.calendar-day.checked-in{background:#00a67d33;color:var(--accent)}.calendar-day.checked-in.today{background:var(--accent);color:#fff}.check-mark{position:absolute;top:-1px;right:1px;font-size:7px;color:var(--accent)}.calendar-day.checked-in.today .check-mark{color:#fff}.home-panel{margin-bottom:0}.home-checkin-content{display:block;padding:30px 50px 40px;min-height:auto}.home-checkin-content .checkin-card{width:100%;max-width:none;margin:0;background:transparent;border:none;padding:0}.home-checkin-content .checkin-stats{display:flex;gap:0;padding:0;margin-bottom:24px;justify-content:center;background:transparent;border:none;border-radius:0}.home-checkin-content .stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;background:#00d4ff0d;border:1px solid var(--border)}.home-checkin-content .stat-item:first-child{border-radius:6px 0 0 6px;border-right:none}.home-checkin-content .stat-item:last-child{border-radius:0 6px 6px 0}.home-checkin-content .stat-value{font-size:36px}.home-checkin-content .stat-label{font-size:14px}.home-checkin-content .checkin-button{padding:16px;font-size:16px;margin-bottom:30px;border-radius:6px}.home-checkin-content .checkin-calendar{width:100%}.home-checkin-content .calendar-header{font-size:18px;font-weight:600;margin-bottom:20px}.home-checkin-content .calendar-weekdays{margin-bottom:10px}.home-checkin-content .weekday{font-size:14px;padding:10px 0;color:var(--primary)}.home-checkin-content .calendar-days{gap:6px}.home-checkin-content .calendar-day{font-size:16px;padding:14px 0;border-radius:4px}.home-checkin-content .check-mark{font-size:11px;top:3px;right:6px}.home-contest-content{display:flex;flex-direction:column;align-items:center;padding:30px 40px;min-height:auto}.home-contest-list{width:100%;max-width:800px;display:flex;flex-direction:column;gap:12px}.home-contest-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#00d4ff08;border:1px solid var(--border);border-radius:4px;text-decoration:none;transition:all .2s}.home-contest-item:hover{background:#00d4ff14;border-color:var(--primary)}.home-contest-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.home-contest-name{font-size:15px;font-weight:500;color:#e6f1ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-contest-time{font-size:12px;color:#8892b0}.home-contest-status{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;flex-shrink:0;margin-left:16px}.home-contest-status.ongoing{background:#64ff6426;color:#64ff64}.home-contest-status.upcoming{background:#64c8ff26;color:#64d4ff}.home-contest-status.ended{background:#8892b026;color:#8892b0}.home-more-link{margin-top:20px;font-size:13px;color:var(--primary);text-decoration:none;opacity:.8;transition:opacity .2s}.home-more-link:hover{opacity:1}.home-partner-content{display:flex;justify-content:center;padding:40px 60px;min-height:auto}.home-partner-row{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}.home-partner-item{display:flex;align-items:center;gap:16px;padding:18px 32px;background:#00d4ff08;border:1px solid var(--border);border-radius:6px;transition:all .2s}.home-partner-item:hover{background:#00d4ff14;border-color:var(--primary)}.home-partner-item img{width:48px;height:48px;object-fit:contain;border-radius:6px}.home-partner-item span{font-size:18px;font-weight:500;color:#ccd6f6}.home-empty{text-align:center;color:#8892b0;font-size:14px;padding:20px}@media(max-width:768px){.home-checkin-content,.home-contest-content,.home-partner-content{padding:20px}.home-contest-item{flex-direction:column;align-items:flex-start;gap:10px}.home-contest-status{margin-left:0}.home-partner-row{flex-direction:column;align-items:stretch}.home-partner-item{justify-content:center}}.toast-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast-item{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:6px;background:#0a1428f2;border:1px solid;box-shadow:0 4px 20px #0006;animation:toastSlideIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-color:#00ff8880;background:linear-gradient(135deg,#00ff8826,#0a1428f2)}.toast-success .toast-icon{color:#0f8;background:#0f83}.toast-error{border-color:#ff525280;background:linear-gradient(135deg,#ff525226,#0a1428f2)}.toast-error .toast-icon{color:#ff5252;background:#ff525233}.toast-info{border-color:#00d4ff80;background:linear-gradient(135deg,#00d4ff26,#0a1428f2)}.toast-info .toast-icon{color:#00d4ff;background:#00d4ff33}.toast-warning{border-color:#ffc10780;background:linear-gradient(135deg,#ffc10726,#0a1428f2)}.toast-warning .toast-icon{color:#ffc107;background:#ffc10733}.toast-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.toast-message{flex:1;color:#e0f0ff;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .2s;flex-shrink:0}.toast-close:hover{color:#fff}@media(max-width:480px){.toast-container{left:10px;right:10px;max-width:none}}.container-window{position:fixed;z-index:9000;background:#081020fa;border:1px solid rgba(0,180,255,.3);border-radius:8px;box-shadow:0 8px 32px #00000080,0 0 20px #00b4ff1a;display:flex;flex-direction:column;overflow:hidden;font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container-window.maximized{border-radius:0;border:none}.container-window.minimized{height:auto!important}.container-window.dragging,.container-window.resizing{-webkit-user-select:none;user-select:none}.container-window.dragging .container-window-content iframe,.container-window.resizing .container-window-content iframe{pointer-events:none}.container-window-titlebar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0006;border-bottom:1px solid rgba(0,180,255,.2);cursor:move;flex-shrink:0}.container-window.maximized .container-window-titlebar{cursor:default}.titlebar-info{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.titlebar-icon{font-size:16px;flex-shrink:0}.titlebar-title{color:#e0f0ff;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titlebar-url{color:#7a9cc6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:8px}.titlebar-actions{display:flex;gap:2px;flex-shrink:0;align-items:center}.titlebar-separator{width:1px;height:20px;background:#ffffff26;margin:0 6px}.titlebar-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.titlebar-btn svg{width:14px;height:14px;stroke:#7a9cc6}.titlebar-btn:hover{background:#ffffff1a}.titlebar-btn:hover svg{stroke:#e0f0ff}.titlebar-btn.nav-btn:hover{background:#00d4ff26}.titlebar-btn.nav-btn:hover svg{stroke:#00d4ff}.titlebar-btn.refresh:hover{background:#00d4ff33}.titlebar-btn.refresh:hover svg{stroke:#00d4ff}.titlebar-btn.close:hover{background:#ff47574d}.titlebar-btn.close:hover svg{stroke:#ff4757}.titlebar-btn.disabled,.titlebar-btn:disabled{opacity:.4;cursor:not-allowed}.titlebar-btn.disabled:hover,.titlebar-btn:disabled:hover{background:transparent}.titlebar-btn.disabled:hover svg,.titlebar-btn:disabled:hover svg{stroke:#7a9cc6}.container-window-addressbar{padding:6px 12px;background:#0000004d;border-bottom:1px solid rgba(0,180,255,.15);flex-shrink:0}.address-url{color:#7a9cc6;font-size:12px;font-family:Consolas,Monaco,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;cursor:text;padding:4px 8px;border-radius:4px;transition:background .2s}.address-url:hover{background:#00b4ff1a;color:#e0f0ff}.address-form{display:block;width:100%}.address-input{width:100%;padding:4px 8px;background:#00000080;border:1px solid rgba(0,180,255,.4);border-radius:4px;color:#e0f0ff;font-size:12px;font-family:Consolas,Monaco,monospace;outline:none}.address-input:focus{border-color:#00d4ff;box-shadow:0 0 8px #00d4ff4d}.container-window-content{flex:1;position:relative;overflow:hidden;background:#000}.container-window-content iframe{width:100%;height:100%;border:none;background:#fff}.iframe-loading,.iframe-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#081020f2;color:#e0f0ff}.loading-spinner{width:40px;height:40px;border:3px solid rgba(0,180,255,.2);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.iframe-loading p{font-size:14px;color:#7a9cc6}.iframe-error p{font-size:14px;margin:4px 0}.iframe-error .error-hint{color:#7a9cc6;font-size:12px}.iframe-error button{margin-top:16px;padding:8px 24px;background:#00d4ff;color:#000;border:none;border-radius:4px;cursor:pointer;font-size:14px}.iframe-error button:hover{opacity:.9}.resize-edge,.resize-corner{position:absolute;z-index:10;background:transparent}.resize-edge.top{top:-4px;left:12px;right:12px;height:8px;cursor:n-resize}.resize-edge.bottom{bottom:-4px;left:12px;right:12px;height:8px;cursor:s-resize}.resize-edge.left{left:-4px;top:12px;bottom:12px;width:8px;cursor:w-resize}.resize-edge.right{right:-4px;top:12px;bottom:12px;width:8px;cursor:e-resize}.resize-corner.top-left{top:-4px;left:-4px;width:16px;height:16px;cursor:nw-resize}.resize-corner.top-right{top:-4px;right:-4px;width:16px;height:16px;cursor:ne-resize}.resize-corner.bottom-left{bottom:-4px;left:-4px;width:16px;height:16px;cursor:sw-resize}.resize-corner.bottom-right{bottom:-4px;right:-4px;width:16px;height:16px;cursor:se-resize}.resize-corner.bottom-right:after{content:"";position:absolute;bottom:6px;right:6px;width:10px;height:10px;border-right:2px solid rgba(0,180,255,.5);border-bottom:2px solid rgba(0,180,255,.5)}.resize-corner.bottom-right:hover:after{border-color:#00d4ffe6}.monitor-screen{position:fixed;inset:0;background:radial-gradient(ellipse at center,#0c1929,#020810);color:#e0e6ed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden;display:flex;flex-direction:column}.loading-text{color:#00d4ff;font-size:18px;text-align:center;padding:100px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.stars-bg{position:absolute;inset:0;pointer-events:none}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.6}}.monitor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 30px;background:#050f1ee6;border-bottom:1px solid rgba(0,212,255,.2);z-index:100}.header-left,.header-right{flex:1;display:flex;align-items:center;gap:12px}.header-right{justify-content:flex-end}.header-date,.header-time{font-size:15px;font-weight:500;font-family:ui-monospace,monospace;color:#00d4ff}.live-indicator{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#ff475726;border:1px solid rgba(255,71,87,.3);border-radius:20px;font-size:12px;color:#ff4757;font-weight:600}.live-dot{width:6px;height:6px;background:#ff4757;border-radius:50%;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 #ff475780}50%{opacity:.5;box-shadow:0 0 0 6px #ff475700}}.header-center{flex:2;display:flex;align-items:center;justify-content:center;gap:14px;transition:opacity .2s}.header-center:hover{opacity:.8}.header-logo{width:38px;height:38px;filter:drop-shadow(0 0 12px rgba(0,212,255,.5))}.header-center h1{font-size:22px;font-weight:600;color:#fff;margin:0;letter-spacing:4px;text-shadow:0 0 20px rgba(0,212,255,.3)}.brand-wendao{font-family:STKaiti,KaiTi,楷体,SimSun,宋体,serif;font-size:28px;font-weight:700;color:#00d4ff;letter-spacing:6px;text-shadow:0 0 10px rgba(0,212,255,.8),0 0 20px rgba(0,212,255,.5),0 0 30px rgba(0,212,255,.3);background:linear-gradient(135deg,#00d4ff,#00a8cc,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 8px rgba(0,212,255,.6))}.monitor-main{flex:1;display:flex;overflow:hidden;z-index:10}.side-panel{width:280px;padding:16px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.panel-card{background:#0a1932d9;border:1px solid rgba(0,212,255,.15);border-radius:8px;overflow:hidden}.panel-card.tall{flex:1;display:flex;flex-direction:column}.panel-title{padding:10px 14px;font-size:13px;font-weight:600;color:#00d4ff;border-bottom:1px solid rgba(0,212,255,.1);background:#00d4ff0d}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#00d4ff1a}.stat-item{background:#0a1932e6;padding:14px;text-align:center}.stat-value{font-size:24px;font-weight:700;font-family:ui-monospace,monospace;margin-bottom:4px}.stat-value.cyan{color:#00d4ff}.stat-value.green{color:#00b4d8}.stat-value.orange{color:#fa0}.stat-value.purple{color:#a855f7}.stat-label{font-size:11px;color:#8892a4}.rank-list{padding:10px;display:flex;flex-direction:column;gap:6px}.rank-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#ffffff05;border-radius:6px;border-left:3px solid transparent}.rank-item.rank-1{border-left-color:gold;background:#ffd7000d}.rank-item.rank-2{border-left-color:silver;background:#c0c0c008}.rank-item.rank-3{border-left-color:#cd7f32;background:#cd7f3208}.rank-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border-radius:4px;background:#ffffff14;color:#8892a4}.rank-1 .rank-num{background:gold;color:#000}.rank-2 .rank-num{background:silver;color:#000}.rank-3 .rank-num{background:#cd7f32;color:#fff}.rank-name{flex:1;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-score{font-size:13px;font-weight:700;font-family:ui-monospace,monospace;color:#00d4ff}.solve-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.solve-list::-webkit-scrollbar{width:3px}.solve-list::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:2px}.solve-item{padding:8px 10px;background:#00b4ff08;border-radius:6px;border-left:2px solid #00d4ff}.solve-time{font-size:10px;font-family:ui-monospace,monospace;color:#8892a4;margin-bottom:4px}.solve-content{font-size:11px;margin-bottom:3px;line-height:1.4}.solve-team{color:#00d4ff;font-weight:600}.solve-action{color:#8892a4;margin:0 3px}.solve-challenge{color:#e0e6ed}.solve-points{font-size:13px;font-weight:700;font-family:ui-monospace,monospace;color:#00d4ff}.no-data{text-align:center;padding:30px;color:#8892a4;font-size:12px}.globe-section{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;min-width:0}.globe-arena{position:relative;width:800px;height:800px;flex-shrink:0}.earth-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px}.earth-core{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(0,180,255,.15) 0%,transparent 50%),radial-gradient(circle at 65% 65%,rgba(120,80,255,.1) 0%,transparent 40%),linear-gradient(135deg,#0a1525,#050a15,#020408);border:1px solid rgba(0,180,255,.4);box-shadow:0 0 80px #0096ff33,0 0 40px #0096ff1a,inset 0 0 80px #0064c81a,inset -30px -20px 60px #00000080;overflow:hidden}.earth-meridians{position:absolute;inset:0;border-radius:50%;animation:earthSpinReverse 60s linear infinite}@keyframes earthSpinReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.meridian{position:absolute;top:50%;left:50%;width:100%;height:100%;border:1px solid rgba(0,180,255,.15);border-radius:50%;transform-origin:center}.meridian:nth-child(1){transform:translate(-50%,-50%) rotateY(0)}.meridian:nth-child(2){transform:translate(-50%,-50%) rotateY(30deg)}.meridian:nth-child(3){transform:translate(-50%,-50%) rotateY(60deg)}.meridian:nth-child(4){transform:translate(-50%,-50%) rotateY(90deg)}.meridian:nth-child(5){transform:translate(-50%,-50%) rotateY(120deg)}.meridian:nth-child(6){transform:translate(-50%,-50%) rotateY(150deg)}.parallel{position:absolute;left:50%;transform:translate(-50%);border:1px solid rgba(0,180,255,.12);border-radius:50%}.parallel:nth-child(7){top:15%;width:60%;height:8%}.parallel:nth-child(8){top:30%;width:85%;height:10%}.parallel:nth-child(9){top:45%;width:100%;height:10%}.parallel:nth-child(10){top:60%;width:85%;height:10%}.parallel:nth-child(11){top:75%;width:60%;height:8%}.continents{position:absolute;inset:0;border-radius:50%;overflow:hidden;animation:earthSpinReverse 60s linear infinite}.continent{position:absolute;background:linear-gradient(135deg,#00c8ff14,#6496ff0d);border:1px solid rgba(0,180,255,.2);clip-path:polygon(20% 0%,80% 10%,100% 50%,80% 100%,20% 90%,0% 50%)}.continent-1{top:15%;left:10%;width:35%;height:30%;clip-path:polygon(10% 20%,90% 0%,100% 60%,70% 100%,0% 80%)}.continent-2{top:20%;right:15%;width:28%;height:35%;clip-path:polygon(0% 30%,60% 0%,100% 40%,80% 100%,20% 90%)}.continent-3{bottom:20%;left:25%;width:40%;height:25%;clip-path:polygon(20% 0%,100% 20%,80% 100%,0% 80%)}.city-lights{position:absolute;inset:0;border-radius:50%;animation:earthSpinReverse 60s linear infinite}.city-dot{position:absolute;width:3px;height:3px;background:#00d4ff;border-radius:50%;box-shadow:0 0 6px #00d4ff,0 0 12px #00d4ff;animation:cityPulse 2s ease-in-out infinite}.city-dot:nth-child(1){top:25%;left:20%;animation-delay:0s}.city-dot:nth-child(2){top:35%;left:35%;animation-delay:.3s}.city-dot:nth-child(3){top:30%;right:25%;animation-delay:.6s}.city-dot:nth-child(4){top:45%;right:30%;animation-delay:.9s}.city-dot:nth-child(5){bottom:35%;left:40%;animation-delay:1.2s}.city-dot:nth-child(6){bottom:30%;right:35%;animation-delay:1.5s}@keyframes cityPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.earth-atmosphere{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle at center,transparent 40%,rgba(0,150,255,.03) 50%,rgba(0,150,255,.08) 60%,rgba(0,150,255,.15) 70%,rgba(0,150,255,.08) 80%,transparent 90%);pointer-events:none;animation:atmospherePulse 4s ease-in-out infinite}@keyframes atmospherePulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.orbit-ring{position:absolute;border-radius:50%;border:1px solid;animation:orbitSpin linear infinite reverse}.orbit-ring-1{inset:-40px;border-color:#00b4ff33;animation-duration:25s}.orbit-ring-1:before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;background:#00d4ff;border-radius:50%;box-shadow:0 0 15px #00d4ff}.orbit-ring-2{inset:-80px;border-color:#00b4ff1f;border-style:dashed;animation-duration:40s}.orbit-ring-2:before{content:"";position:absolute;bottom:-3px;left:30%;width:6px;height:6px;background:#a855f7;border-radius:50%;box-shadow:0 0 10px #a855f7}.orbit-ring-3{inset:-120px;border-color:#00b4ff0f;animation-duration:60s}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.attack-layer{position:absolute;inset:0;width:100%;height:100%}.attack-line{animation:lineAppear .5s ease-out both}@keyframes lineAppear{0%{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}.target-label{animation:labelFadeIn .5s ease-out both}.target-label text{font-family:Courier New,monospace}.attacker-label{animation:labelFadeIn .5s ease-out both,attackerPulse 2s ease-in-out infinite}.attacker-label text{font-family:Courier New,monospace}@keyframes labelFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes attackerPulse{0%,to{opacity:.8}50%{opacity:1}}.flying-particle{opacity:.9}.safe-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:20}.safe-icon{width:60px;height:60px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#00d4ff;background:#00b4ff1a;border:2px solid rgba(0,180,255,.3);border-radius:50%;animation:safeIconPulse 2s ease-in-out infinite}@keyframes safeIconPulse{0%,to{box-shadow:0 0 #00b4ff4d}50%{box-shadow:0 0 0 15px #00b4ff00}}.safe-text{font-size:16px;font-weight:600;color:#00d4ff;letter-spacing:3px;margin-bottom:4px}.safe-subtext{font-size:12px;color:#8892a4}.monitor-footer{display:flex;justify-content:center;gap:40px;padding:12px 30px;background:#050f1ee6;border-top:1px solid rgba(0,212,255,.2);z-index:100}.footer-item{display:flex;align-items:center;gap:8px}.footer-dot{width:8px;height:8px;border-radius:50%}.footer-dot.cyan{background:#00d4ff;box-shadow:0 0 8px #00d4ff}.footer-dot.red{background:#ff4757;box-shadow:0 0 8px #ff4757;animation:dotBlink 1.5s ease-in-out infinite}.footer-dot.orange{background:#fa0;box-shadow:0 0 8px #fa0}.footer-dot.green{background:#a855f7;box-shadow:0 0 8px #a855f7}@keyframes dotBlink{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.footer-value{font-size:18px;font-weight:700;font-family:ui-monospace,monospace;color:#fff}.footer-label{font-size:12px;color:#8892a4}@media(max-width:1200px){.side-panel{width:240px}.globe-arena{max-width:550px;max-height:550px}}@media(max-width:900px){.side-panel{display:none}.monitor-footer{gap:25px}.footer-value{font-size:16px}}.dashboard-wrapper{display:flex;min-height:calc(100vh - 140px);gap:0}.dashboard-sidebar{width:200px;background:var(--bg-card);border-right:1px solid var(--border);flex-shrink:0}.sidebar-menu-item{padding:14px 20px;cursor:pointer;transition:all .2s;border-left:2px solid transparent;color:var(--text-secondary);font-size:14px}.sidebar-menu-item:hover{background:#00d4ff0d;color:var(--text-primary)}.sidebar-menu-item.active{background:#00d4ff14;border-left-color:var(--primary);color:var(--primary);font-weight:500}.sidebar-menu-item.logout-item{margin-top:auto;border-top:1px solid var(--border);color:#f44}.sidebar-menu-item.logout-item:hover{background:#ff44441a;color:#f66}.dashboard-main{flex:1;padding:20px;overflow-y:auto}.dashboard-header{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:20px;margin-bottom:30px}.user-info-card{background:var(--bg-card);border:1px solid var(--border);padding:30px;display:flex;gap:30px;align-items:center}.user-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);flex-shrink:0;position:relative;transition:all .3s ease}.user-avatar:hover{border-color:var(--accent);transform:scale(1.05)}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-hover-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;font-size:12px;color:var(--primary);text-align:center;padding:10px}.user-avatar:hover .avatar-hover-overlay{opacity:1}.user-details h2{font-size:24px;margin-bottom:12px;color:var(--text-primary)}.user-badges{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.badge{padding:5px 14px;border-radius:4px;font-size:13px;display:inline-block;background:#00d4ff1a;border:1px solid rgba(0,212,255,.2);color:var(--text-primary)}.badge-score{background:#00d4ff1a;border:1px solid rgba(0,212,255,.2)}.badge-solved{background:#00ff881a;border:1px solid rgba(0,255,136,.2)}.user-meta{font-size:13px;color:var(--text-secondary)}.user-meta .separator{margin:0 8px}.radar-card{background:var(--bg-card);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;min-height:260px}.radar-card h3{font-size:14px;margin-bottom:16px;color:var(--text-primary);text-align:center}.radar-chart{width:100%;height:auto;flex:1}.radar-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.radar-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.radar-empty p{color:var(--text-secondary);font-size:14px;margin:0 0 8px}.radar-empty span{color:var(--text-secondary);font-size:12px;opacity:.7}.radar-fallback{flex:1;display:flex;flex-direction:column;gap:12px;padding:10px 0}.radar-fallback-title{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.radar-fallback-item{display:flex;align-items:center;gap:12px}.radar-fallback-label{font-size:13px;color:var(--text-primary);min-width:60px}.radar-fallback-bar{flex:1;height:8px;background:#00d4ff1a;border-radius:4px;overflow:hidden}.radar-fallback-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#0ff);border-radius:4px;transition:width .3s ease}.radar-fallback-value{font-size:14px;font-weight:600;color:#00d4ff;min-width:30px;text-align:right}.team-info-card{background:var(--bg-card);border:1px solid var(--border);padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:260px;justify-content:space-between}.team-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:var(--text-primary)}.team-badge{background:#00d4ff1a;padding:2px 8px;border-radius:4px;font-size:12px;color:var(--primary)}.team-avatar-section{width:80px;height:80px;margin-bottom:12px}.team-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.team-name{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.member-count{font-size:12px;color:var(--text-secondary)}.team-leader{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.team-toggle-section{width:100%;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#6464784d;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.team-empty-state{width:100%;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;flex:1}.team-empty-state p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.join-team-btn{padding:12px 32px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #00d4ff33}.join-team-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.stats-section{margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{font-size:18px;color:var(--text-primary)}.view-all{font-size:13px;color:var(--primary);text-decoration:none;transition:opacity .2s}.view-all:hover{opacity:.8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);padding:24px;transition:border-color .2s}.stat-card:hover{border-color:#00d4ff4d}.stat-info{flex:1}.stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.stat-number{font-size:32px;font-weight:600;color:var(--primary);line-height:1}.quick-links-section{margin-bottom:30px}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.quick-link-card{background:var(--bg-card);border:1px solid var(--border);padding:16px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary);transition:all .2s}.quick-link-card:hover{border-color:var(--primary);transform:translate(4px)}.link-icon{font-size:20px;flex-shrink:0}.link-text{flex:1;font-size:14px}.link-date{font-size:12px;color:var(--text-secondary);flex-shrink:0}.empty-state{background:var(--bg-card);border:1px solid var(--border);padding:40px;text-align:center;color:var(--text-secondary)}.placeholder-content{background:var(--bg-card);border:1px solid var(--border);padding:60px;text-align:center;color:var(--text-secondary);font-size:16px;border-radius:4px;margin-top:20px}.error-message,.success-message{padding:12px 16px;margin:16px 20px;border-radius:4px;font-size:14px}.error-message{background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);color:#ff4d4d}.success-message{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:#0f8}.settings-container{background:var(--bg-card);border:1px solid var(--border)}.settings-tabs{display:flex;border-bottom:1px solid var(--border);background:#0003}.settings-tab{padding:14px 24px;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .2s;font-size:14px}.settings-tab:hover{color:var(--text-primary);background:#00d4ff0d}.settings-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#00d4ff14}.settings-content{padding:30px}.profile-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.profile-settings h3,.security-settings h3{font-size:18px;margin:0;color:var(--text-primary)}.edit-btn{padding:8px 20px;background:transparent;color:var(--primary);border:1px solid var(--primary);border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.settings-info{margin-bottom:24px}.settings-info .info-row{display:flex;padding:16px 0;border-bottom:1px solid var(--border);align-items:center}.settings-info .info-row:last-child{border-bottom:none}.settings-info .info-label{width:120px;color:var(--text-secondary);font-size:14px}.settings-info .info-value{flex:1;color:var(--text-primary);font-size:14px}.edit-input,.edit-textarea{flex:1;padding:8px 12px;background:#0000004d;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.edit-textarea{min-height:80px;resize:vertical;font-family:inherit}.edit-input:focus,.edit-textarea:focus{outline:none;border-color:var(--primary)}.edit-actions{display:flex;gap:12px;margin-top:20px}.save-btn,.cancel-btn,.submit-btn{padding:10px 24px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:opacity .2s}.save-btn,.submit-btn{background:var(--primary);color:#fff}.save-btn:hover,.submit-btn:hover{opacity:.9}.cancel-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.cancel-btn:hover{background:#ffffff0d}.password-form{max-width:500px}.form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.form-group input{width:100%;padding:10px 12px;background:#0000004d;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px}.submit-btn{margin-top:10px}.loading{text-align:center;padding:60px;font-size:16px;color:var(--text-secondary)}@media(max-width:1200px){.dashboard-header{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.dashboard-wrapper{flex-direction:column}.dashboard-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.sidebar-menu-item{flex-direction:column;padding:12px 16px;border-left:none;border-bottom:3px solid transparent;white-space:nowrap}.sidebar-menu-item.active{border-left:none;border-bottom-color:var(--primary)}.menu-label{font-size:12px}.dashboard-main{padding:12px}.user-info-card{flex-direction:column;text-align:center}.stats-grid,.quick-links-grid{grid-template-columns:1fr}.instances-grid{grid-template-columns:1fr!important}}.instances-container{padding:20px}.instances-container h2{font-size:24px;margin-bottom:24px;color:var(--text-primary)}.instances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.instance-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;transition:all .3s}.instance-card:hover{border-color:var(--border)}.instance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.instance-header h3{font-size:18px;color:var(--text-primary);margin:0}.instance-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-running{background:#00d4ff1a;color:#00d4ff;border:1px solid rgba(0,212,255,.3)}.status-starting{background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.status-stopping,.status-stopped{background:#8892b01a;color:#8892b0;border:1px solid rgba(136,146,176,.3)}.instance-info{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.info-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.info-label{font-size:14px;color:var(--text-secondary);min-width:80px}.info-value{font-size:14px;color:var(--text-primary);font-weight:500;display:flex;align-items:center;gap:8px;flex:1}.access-link{color:#00d4ff;text-decoration:none;word-break:break-all}.access-link:hover{text-decoration:underline}.copy-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;transition:transform .2s}.copy-btn:hover{transform:scale(1.2)}.instance-actions{display:flex;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.instance-actions .btn{flex:1;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;border:none}.instance-actions .btn-secondary{background:#00d4ff1a;color:#00d4ff;border:1px solid rgba(0,212,255,.3)}.instance-actions .btn-secondary:hover{background:#00d4ff33;border-color:#00d4ff80}.instance-actions .btn-danger{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.instance-actions .btn-danger:hover{background:#ff6b6b33;border-color:#ff6b6b80}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.messages-container{padding:30px}.messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.messages-header h2{color:var(--text-primary);font-size:24px;margin:0}.messages-actions{display:flex;gap:10px;align-items:center}.messages-actions .filter-btn{padding:8px 20px;background:#00d4ff14;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .3s;font-size:14px}.messages-actions .filter-btn:hover{background:#00d4ff1f;color:var(--text-primary)}.messages-actions .filter-btn.active{background:#00d4ff26;border-color:var(--primary);color:var(--primary)}.messages-actions .mark-all-btn{padding:8px 20px;background:#64ff6414;border:1px solid rgba(100,255,100,.2);border-radius:4px;color:#64ff64;cursor:pointer;transition:all .3s;font-size:14px}.messages-actions .mark-all-btn:hover{background:#64ff6426;border-color:#64ff6466}.notifications-list{display:flex;flex-direction:column;gap:16px}.notification-item{background:#0014284d;border:1px solid var(--border);border-radius:4px;padding:16px;position:relative;transition:all .2s}.notification-item:hover{background:#00142880;border-color:var(--border)}.notification-item.unread{border-left:2px solid var(--primary);background:#00142866}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notification-type-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500}.notification-time{color:var(--text-secondary);font-size:13px}.notification-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 10px}.notification-content{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px}.notification-actions{display:flex;gap:10px}.notification-actions .btn{padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .3s}.notification-actions .btn-secondary{background:#00d4ff14;border:1px solid rgba(0,212,255,.2);color:var(--primary)}.notification-actions .btn-secondary:hover{background:#00d4ff26;border-color:#00d4ff66}.notification-actions .btn-danger{background:#ff6b6b14;border:1px solid rgba(255,107,107,.2);color:#ff6b6b}.notification-actions .btn-danger:hover{background:#ff6b6b26;border-color:#ff6b6b66}.unread-indicator{position:absolute;top:16px;right:16px;width:6px;height:6px;background:var(--primary);border-radius:50%}.submissions-container{padding:20px}.submissions-container h2{font-size:24px;margin-bottom:24px;color:var(--text-primary)}.submission-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}.stat-card.mini{background:var(--bg-card);border:1px solid var(--border);padding:16px;text-align:center;border-radius:8px}.stat-card.mini .stat-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.stat-card.mini .stat-value{display:block;font-size:24px;font-weight:700;color:var(--text-primary)}.stat-card.mini.correct .stat-value{color:#0f8}.stat-card.mini.wrong .stat-value,.stat-card.mini.blood .stat-value{color:#ff6b6b}.stat-card.mini.score .stat-value{color:#00d4ff}.stat-card.mini.accuracy .stat-value{color:#ffc107}.submission-filters{display:flex;gap:10px;margin-bottom:20px}.submission-filters .filter-btn{padding:8px 20px;background:#00d4ff14;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .3s;font-size:14px}.submission-filters .filter-btn:hover{background:#00d4ff1f;color:var(--text-primary)}.submission-filters .filter-btn.active{background:#00d4ff26;border-color:var(--primary);color:var(--primary)}.submissions-list{display:flex;flex-direction:column;gap:12px}.submission-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.submission-item:hover{border-color:var(--border);background:#00142880}.submission-item.correct{border-left:3px solid #00ff88}.submission-item.wrong{border-left:3px solid #ff6b6b}.submission-item.duplicate{border-left:3px solid #ffc107}.submission-main{flex:1}.submission-challenge{display:flex;align-items:center;gap:12px;margin-bottom:8px}.submission-challenge .challenge-title{font-size:16px;font-weight:600;color:var(--text-primary)}.submission-challenge .challenge-category{padding:2px 8px;background:#00d4ff1a;border-radius:4px;font-size:12px;color:var(--primary)}.submission-flag{font-family:monospace;font-size:13px;color:var(--text-secondary)}.submission-meta{display:flex;align-items:center;gap:16px}.submission-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.submission-status.status-correct{background:#00ff8826;color:#0f8}.submission-status.status-wrong{background:#ff6b6b26;color:#ff6b6b}.submission-status.status-duplicate{background:#ffc10726;color:#ffc107}.submission-status.status-rate_limited{background:#8892b026;color:#8892b0}.submission-score{font-size:14px;color:#0f8;font-weight:500}.submission-score .blood-bonus{color:#ff6b6b;margin-left:4px}.submission-time{font-size:13px;color:var(--text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination button{padding:8px 20px;background:#00d4ff14;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .3s;font-size:14px}.pagination button:hover:not(:disabled){background:#00d4ff26;border-color:var(--primary)}.pagination .page-info{color:var(--text-secondary);font-size:14px}.favorites-container{padding:20px}.favorites-container h2{font-size:24px;margin-bottom:24px;color:var(--text-primary)}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.favorite-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;transition:all .2s}.favorite-card:hover{border-color:var(--primary)}.favorite-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.favorite-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.remove-favorite-btn{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.remove-favorite-btn:hover{color:#ff6b6b}.favorite-meta{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.favorite-category{padding:2px 10px;background:#00d4ff1a;border-radius:4px;font-size:12px;color:var(--primary)}.favorite-difficulty{padding:2px 10px;border-radius:4px;font-size:12px}.favorite-difficulty.diff-level_1{background:#2ecc7133;color:#2ecc71}.favorite-difficulty.diff-level_2{background:#3498db33;color:#3498db}.favorite-difficulty.diff-level_3{background:#f1c40f33;color:#f1c40f}.favorite-difficulty.diff-level_4{background:#e67e2233;color:#e67e22}.favorite-difficulty.diff-level_5{background:#e74c3c33;color:#e74c3c}.favorite-score{font-size:12px;color:var(--primary);font-weight:500}.favorite-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border)}.favorite-time{font-size:12px;color:var(--text-secondary)}.goto-challenge-btn{padding:6px 16px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:4px;color:var(--primary);cursor:pointer;font-size:13px;transition:all .2s}.goto-challenge-btn:hover{background:#00d4ff33;border-color:var(--primary)}.problems-container{padding:20px}.problems-container h2{font-size:24px;margin-bottom:24px;color:var(--text-primary)}.problems-intro{background:#00d4ff0d;border:1px solid rgba(0,212,255,.15);border-radius:8px;padding:16px;margin-bottom:24px}.problems-intro p{margin:0;color:var(--text-secondary);font-size:14px}.problems-by-category{display:flex;flex-direction:column;gap:24px}.category-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.category-title{display:flex;align-items:center;gap:10px;padding:16px;margin:0;font-size:16px;color:var(--text-primary);background:#00d4ff0d;border-bottom:1px solid var(--border)}.category-count{padding:2px 10px;background:var(--primary);color:#000;border-radius:10px;font-size:12px;font-weight:600}.category-challenges{padding:12px;display:flex;flex-direction:column;gap:8px}.problem-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0003;border-radius:4px;transition:all .2s}.problem-item:hover{background:#00d4ff14}.problem-title{flex:1;font-size:14px;color:var(--text-primary)}.problem-difficulty{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.problem-difficulty.diff-level_1{background:#2ecc7133;color:#2ecc71}.problem-difficulty.diff-level_2{background:#3498db33;color:#3498db}.problem-difficulty.diff-level_3{background:#f1c40f33;color:#f1c40f}.problem-difficulty.diff-level_4{background:#e67e2233;color:#e67e22}.problem-difficulty.diff-level_5{background:#e74c3c33;color:#e74c3c}.problem-score{font-size:12px;color:var(--primary);font-weight:500}@media(max-width:768px){.submission-stats-grid{grid-template-columns:repeat(3,1fr)}.submission-item{flex-direction:column;align-items:flex-start;gap:12px}.submission-meta{flex-wrap:wrap;gap:8px}.favorites-grid{grid-template-columns:1fr}}.email-settings{max-width:500px}.email-settings h3{font-size:18px;margin:0 0 24px;color:var(--text-primary)}.email-bound-info,.email-unbound-info{margin-bottom:24px}.email-status{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;margin-bottom:16px}.email-status.success{background:#64ff641a;border:1px solid rgba(100,255,100,.3);color:#64ff64}.email-status.warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107}.email-status .status-icon{font-size:18px;font-weight:700}.bound-email{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#0003;border-radius:6px;margin-bottom:12px}.bound-email .label{color:var(--text-secondary);font-size:14px}.bound-email .value{color:var(--primary);font-size:14px;font-weight:500}.email-tip{color:var(--text-secondary);font-size:13px;margin:0;line-height:1.5}.email-form{margin-top:20px}.email-form .form-group{margin-bottom:20px}.email-form .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.email-form .form-group input{width:100%;padding:10px 12px;background:#0000004d;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;box-sizing:border-box}.email-form .form-group input:focus{outline:none;border-color:var(--primary)}.code-group .code-input-row{display:flex;gap:12px}.code-group .code-input-row input{flex:1}.send-code-btn{padding:10px 20px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:4px;color:var(--primary);cursor:pointer;font-size:14px;white-space:nowrap;transition:all .2s;min-width:120px}.send-code-btn:hover:not(:disabled){background:#00d4ff33;border-color:var(--primary)}.send-code-btn:disabled{opacity:.6;cursor:not-allowed}.email-form .submit-btn{width:100%;margin-top:10px}.email-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.code-group .code-input-row{flex-direction:column}.send-code-btn{width:100%}}.package-wizard-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.package-wizard-modal{background:linear-gradient(135deg,#1a1f2e,#16202e);border:1px solid rgba(0,255,255,.3);border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid rgba(0,255,255,.2)}.wizard-header h2{margin:0;color:#00d4ff;font-size:24px}.close-btn{background:none;border:none;color:#8892b0;font-size:32px;cursor:pointer;line-height:1;transition:color .2s}.close-btn:hover{color:#ff6b6b}.wizard-progress{display:flex;justify-content:space-between;align-items:center;padding:32px 64px;position:relative}.wizard-progress:before{content:"";position:absolute;left:64px;right:64px;top:50%;height:2px;background:#0ff3;transform:translateY(-50%)}.progress-dot{width:40px;height:40px;border-radius:50%;background:#1a1f2ecc;border:2px solid rgba(0,255,255,.3);display:flex;align-items:center;justify-content:center;color:#8892b0;font-weight:600;position:relative;z-index:1;transition:all .3s ease}.progress-dot.active{border-color:#00d4ff;background:#00d4ff33;color:#00d4ff}.progress-dot.current{background:#00d4ff;color:#0a192f}.error-banner{margin:0 32px 20px;padding:16px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.wizard-content{padding:0 32px 32px}.wizard-step h3{color:#ccd6f6;margin-bottom:24px;font-size:20px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:32px}.template-card{background:#1a1f2e99;border:2px solid rgba(0,255,255,.2);border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease}.template-card:hover{border-color:#00ffff80;transform:translateY(-2px)}.template-card.selected{border-color:#00d4ff;background:#00d4ff1a}.template-name{font-size:18px;font-weight:600;color:#00d4ff;margin-bottom:8px}.template-desc{color:#8892b0;font-size:14px;margin-bottom:12px;min-height:40px}.template-info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64ffda}.file-upload-section{margin-bottom:32px}.file-drop-zone{border:2px dashed rgba(0,255,255,.3);border-radius:8px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#1a1f2e66}.file-drop-zone:hover{border-color:#0ff9;background:#00d4ff0d}.upload-icon{font-size:48px;margin-bottom:16px}.file-icon{font-size:64px;margin-bottom:16px}.file-name{font-size:18px;color:#00d4ff;margin-bottom:8px;font-weight:500}.file-size{color:#8892b0;font-size:14px}.upload-hint{color:#8892b0;font-size:14px;margin-top:8px}.config-form{max-width:600px;margin-bottom:32px}.form-group label{display:block;color:#ccd6f6;margin-bottom:8px;font-weight:500}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:12px;background:#1a1f2e99;border:1px solid rgba(0,255,255,.2);border-radius:6px;color:#ccd6f6;font-size:14px;transition:all .2s ease}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:#00d4ff;background:#1a1f2ecc}.form-group input[type=checkbox]{margin-right:0;cursor:pointer;vertical-align:middle}.form-group input[type=checkbox]:focus{outline:none;box-shadow:none}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;cursor:pointer}.dockerfile-preview{margin-bottom:32px;max-height:500px;overflow-y:auto}.dockerfile-preview pre{background:#0a192f;border:1px solid rgba(0,255,255,.2);border-radius:6px;padding:20px;margin:0}.dockerfile-preview code{color:#64ffda;font-family:Courier New,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap}.build-progress-container{margin-bottom:32px}.progress-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.status-badge{padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px}.status-badge.pending{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.status-badge.building{background:#00d4ff33;color:#00d4ff;border:1px solid rgba(0,212,255,.3);animation:pulse 2s infinite}.status-badge.success{background:#64ffda33;color:#64ffda;border:1px solid rgba(100,255,218,.3)}.status-badge.failed{background:#ff6b6b33;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.progress-percentage{font-size:24px;font-weight:700;color:#00d4ff}.progress-bar{width:100%;height:12px;background:#00d4ff1a;border-radius:6px;overflow:hidden;margin-bottom:16px;border:1px solid rgba(0,212,255,.2)}.progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#08f);border-radius:6px;transition:width .5s ease}.progress-step{color:#00d4ff;font-size:16px;font-weight:500;margin-bottom:24px}.build-logs{margin-top:24px}.build-logs h4{color:#ccd6f6;margin-bottom:12px;font-size:16px}.logs-container{background:#0a192f;border:1px solid rgba(0,255,255,.2);border-radius:6px;padding:16px;max-height:300px;overflow-y:auto;font-family:Courier New,monospace}.log-line{color:#64ffda;font-size:13px;line-height:1.6;margin-bottom:4px}.log-line:last-child{margin-bottom:0}.success-info{margin-top:24px;padding:20px;background:#64ffda1a;border:1px solid rgba(100,255,218,.3);border-radius:8px}.success-info p{margin:8px 0;color:#ccd6f6}.success-info code{background:#0000004d;padding:4px 8px;border-radius:4px;color:#64ffda;font-family:Courier New,monospace}.error-message{margin-top:16px;padding:16px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.wizard-actions{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.wizard-actions button{flex:1;max-width:200px}.cyber-btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.cyber-btn.primary{background:linear-gradient(135deg,#00d4ff,#08f);color:#0a192f}.cyber-btn.primary:hover:not(:disabled){transform:translateY(-2px)}.cyber-btn.primary:disabled{opacity:.5;cursor:not-allowed}.cyber-btn.secondary{background:#8892b01a;color:#8892b0;border:1px solid rgba(136,146,176,.3)}.cyber-btn.secondary:hover{background:#8892b033;border-color:#8892b080}.ai-management{padding:20px}.ai-management h2{color:var(--text-primary);margin-bottom:20px;font-size:1.5rem}.ai-section-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.ai-section-tabs button{padding:10px 20px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:all .3s ease;border-bottom:2px solid transparent}.ai-section-tabs button:hover{color:var(--primary-color)}.ai-section-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.ai-loading{text-align:center;padding:20px;color:var(--text-secondary)}.ai-config-section{background:var(--card-bg);border-radius:8px;padding:20px}.config-form .form-row{display:flex;gap:20px;margin-bottom:15px}.config-form .form-group{flex:1}.config-form .form-group.full-width{flex:1 1 100%}.config-form .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.config-form .form-group input,.config-form .form-group select,.config-form .form-group textarea{width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;transition:border-color .3s ease}.config-form .form-group input:focus,.config-form .form-group select:focus,.config-form .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.config-form .form-group textarea{resize:vertical;min-height:100px}.config-form .form-row.switches{display:flex;gap:30px;flex-wrap:wrap;margin-top:20px}.config-form .switch-group label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-primary)}.config-form .switch-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.config-form .form-actions{margin-top:25px;padding-top:20px;border-top:1px solid var(--border-color)}.ai-knowledge-section{background:var(--card-bg);border-radius:8px;padding:20px}.knowledge-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.knowledge-toolbar .search-box{display:flex;gap:10px;flex:1;max-width:500px}.knowledge-toolbar .search-box input{flex:1;padding:10px 15px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary)}.knowledge-toolbar .search-box input:focus{outline:none;border-color:var(--primary-color)}.knowledge-toolbar .search-box button{padding:10px 20px;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.knowledge-toolbar .search-box button:hover{background:var(--hover-bg)}.knowledge-list{overflow-x:auto}.knowledge-list table{width:100%;border-collapse:collapse}.knowledge-list th,.knowledge-list td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color)}.knowledge-list th{background:var(--secondary-bg);color:var(--text-secondary);font-weight:500;font-size:.9rem}.knowledge-list td{color:var(--text-primary);font-size:.95rem}.knowledge-list tr:hover{background:var(--hover-bg)}.knowledge-list .keywords-cell,.knowledge-list .question-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-list .match-type{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.knowledge-list .match-type.fuzzy{background:#00ffff26;color:#0ff}.knowledge-list .match-type.exact{background:#00ff6426;color:#00ff64}.knowledge-list .match-type.regex{background:#ffa50026;color:orange}.knowledge-list .status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.knowledge-list .status.enabled{background:#00ff6426;color:#00ff64}.knowledge-list .status.disabled{background:#ff646426;color:#ff6464}.knowledge-list .actions{white-space:nowrap}.knowledge-list .actions button{padding:6px 12px;margin-right:8px;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:all .3s ease}.knowledge-list .actions button:hover{background:var(--hover-bg)}.knowledge-list .actions button.danger{color:#ff6464;border-color:#ff64644d}.knowledge-list .actions button.danger:hover{background:#ff646426}.empty-message{text-align:center;padding:40px;color:var(--text-secondary)}.btn-primary{padding:10px 25px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:6px;color:#000;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00ffff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:10px 25px;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:var(--hover-bg)}.modal-content{background:var(--card-bg);border-radius:12px;padding:25px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-content.knowledge-modal{max-width:700px}.modal-content h3{color:var(--text-primary);margin-bottom:20px;font-size:1.25rem}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal-content .form-group textarea{resize:vertical;min-height:120px}.modal-content .form-row{display:flex;gap:15px}.modal-content .form-row .form-group{flex:1}.modal-content .form-group.switch-inline{display:flex;align-items:center}.modal-content .form-group.switch-inline label{display:flex;align-items:center;gap:10px;margin-bottom:0;cursor:pointer;color:var(--text-primary)}.modal-content .form-group.switch-inline input[type=checkbox]{width:18px;height:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--border-color)}@media(max-width:768px){.config-form .form-row{flex-direction:column;gap:15px}.knowledge-toolbar{flex-direction:column;align-items:stretch}.knowledge-toolbar .search-box{max-width:none}.modal-content .form-row{flex-direction:column}}.daily-challenge-management{padding:20px}.daily-sub-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid rgba(0,255,255,.2);padding-bottom:10px}.daily-sub-tabs button{background:transparent;border:1px solid rgba(0,255,255,.3);color:#ffffffb3;padding:8px 20px;border-radius:4px;cursor:pointer;transition:all .3s}.daily-sub-tabs button:hover{border-color:#0ff;color:#0ff}.daily-sub-tabs button.active{background:#00ffff1a;border-color:#0ff;color:#0ff}.daily-loading{text-align:center;padding:40px;color:#0ff;font-size:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{color:#0ff;margin:0;font-size:18px}.header-actions{display:flex;gap:10px}.publish-now-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;color:#fff;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:700;transition:all .3s}.publish-now-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff6b6b66}.config-form{background:#00142899;border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:25px;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;color:#fffc;margin-bottom:8px;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;background:#0000004d;border:1px solid rgba(0,255,255,.3);border-radius:4px;padding:10px 12px;color:#fff;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0ff}.form-group select{cursor:pointer}.form-group select option{background:#0a1628;color:#fff}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#fff3;transition:.4s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#0ff}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.form-actions{display:flex;justify-content:flex-end;margin-top:20px;gap:10px}.save-btn,.create-btn{background:linear-gradient(135deg,#0ff,#00a8a8);border:none;color:#000;padding:12px 30px;border-radius:4px;cursor:pointer;font-weight:700;font-size:14px;transition:all .3s}.save-btn:hover,.create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0ff6}.save-btn:disabled,.create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.config-info{background:#0064641a;border:1px solid rgba(0,255,255,.15);border-radius:8px;padding:20px}.config-info h4{color:#0ff;margin:0 0 15px;font-size:16px}.config-info ul{margin:0;padding-left:20px}.config-info li{color:#ffffffb3;margin-bottom:8px;font-size:13px;line-height:1.5}.config-info strong{color:#0ff}.daily-history-table{width:100%;border-collapse:collapse;background:#00142899;border:1px solid rgba(0,255,255,.2);border-radius:8px;overflow:hidden}.daily-history-table th{background:#00ffff1a;color:#0ff;padding:12px 15px;text-align:left;font-weight:600;font-size:13px;border-bottom:1px solid rgba(0,255,255,.2)}.daily-history-table td{padding:12px 15px;color:#ffffffd9;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05)}.daily-history-table tr:hover td{background:#00ffff0d}.daily-history-table .actions{display:flex;gap:8px}.daily-history-table .actions button{padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.daily-history-table .actions button.danger{background:transparent;border:1px solid #ff4757;color:#ff4757}.daily-history-table .actions button.danger:hover{background:#ff4757;color:#fff}.daily-history-table .actions button.warning{background:transparent;border:1px solid #ff9800;color:#ff9800}.daily-history-table .actions button.warning:hover{background:#ff9800;color:#fff}.daily-history-table .actions button.primary{background:transparent;border:1px solid #00ffff;color:#0ff}.daily-history-table .actions button.primary:hover{background:#0ff;color:#000}.daily-status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.daily-status-badge.scheduled{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.4)}.daily-status-badge.active{background:#0f03;color:#0f0;border:1px solid rgba(0,255,0,.4)}.daily-status-badge.ended{background:#ffffff1a;color:#ffffff80;border:1px solid rgba(255,255,255,.2)}.daily-status-badge.paused{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.4)}.difficulty-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.difficulty-badge.level_1{background:#2ecc7133;color:#2ecc71}.difficulty-badge.level_2{background:#3498db33;color:#3498db}.difficulty-badge.level_3{background:#f1c40f33;color:#f1c40f}.difficulty-badge.level_4{background:#e67e2233;color:#e67e22}.difficulty-badge.level_5{background:#e74c3c33;color:#e74c3c}.first-blood{color:#ff6b6b;font-weight:500}.first-blood small{color:#ff6b6bb3;font-size:11px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:20px}.pagination button{background:transparent;border:1px solid rgba(0,255,255,.3);color:#ffffffb3;padding:8px 14px;border-radius:4px;cursor:pointer;transition:all .2s}.pagination button:hover{border-color:#0ff;color:#0ff}.pagination button.active{background:#0ff;border-color:#0ff;color:#000}.empty-state{text-align:center;padding:60px 20px;color:#ffffff80;font-size:16px}.create-form{background:#00142899;border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:25px;max-width:800px}.create-form textarea{resize:vertical;min-height:80px}.training-management{padding:20px}.training-management h2{color:#e6f1ff;margin:0 0 20px}.section-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid rgba(0,255,255,.1);padding-bottom:12px}.section-tabs button{padding:8px 16px;background:#00ffff0d;border:1px solid rgba(0,255,255,.1);border-radius:4px;color:#8892b0;cursor:pointer;transition:all .3s ease}.section-tabs button:hover{background:#00ffff1a;color:#0ff}.section-tabs button.active{background:#00ffff26;border-color:#00ffff4d;color:#0ff}.loading{text-align:center;padding:40px;color:#8892b0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#11182799;border:1px solid rgba(0,255,255,.15);border-radius:8px;padding:20px;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:#00ffff4d;background:#111827cc}.stat-value{font-size:32px;font-weight:700;color:#0ff;margin-bottom:8px}.stat-label{font-size:14px;color:#8892b0}.data-table{width:100%;border-collapse:collapse;margin-bottom:16px}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.data-table code{background:#ffffff1a;padding:2px 6px;border-radius:3px;font-family:monospace;color:#a0c4ff}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.status-badge.active{background:#00ff8826;color:#0f8}.status-badge.archived{background:#96969626;color:#969696}.status-badge.draft{background:#ffc10726;color:#ffc107}.status-badge.published{background:#00ff8826;color:#0f8}.status-badge.closed{background:#ff646426;color:#ff6464}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.badge.public{background:#00ffff26;color:#0ff}.badge.private{background:#96969626;color:#969696}.btn-danger{padding:6px 12px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:4px;color:#ff6464;cursor:pointer;font-size:13px;transition:all .3s ease}.btn-danger:hover{background:#ff646433;border-color:#ff6464}.filter-bar{margin-bottom:16px}.filter-bar select{padding:8px 12px;background:#111827cc;border:1px solid rgba(0,255,255,.2);border-radius:4px;color:#e6f1ff;font-size:14px;cursor:pointer}.filter-bar select:focus{outline:none;border-color:#00ffff80}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination button{padding:8px 16px;background:#00ffff0d;border:1px solid rgba(0,255,255,.2);border-radius:4px;color:#e6f1ff;cursor:pointer;transition:all .3s ease}.pagination button:hover:not(:disabled){background:#00ffff1a;color:#0ff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#8892b0;font-size:14px}.section-header{margin-bottom:16px}.btn-primary{padding:8px 16px;background:#00ffff26;border:1px solid rgba(0,255,255,.3);border-radius:4px;color:#0ff;cursor:pointer;font-size:14px;transition:all .3s ease}.btn-primary:hover{background:#00ffff40;border-color:#0ff}.btn-edit{padding:6px 12px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:4px;color:#0ff;cursor:pointer;font-size:13px;margin-right:8px;transition:all .3s ease}.btn-edit:hover{background:#0ff3;border-color:#0ff}.btn-secondary{padding:8px 16px;background:#00ffff0d;border:1px solid rgba(0,255,255,.15);border-radius:4px;color:#8892b0;cursor:pointer;font-size:14px;transition:all .3s ease}.btn-secondary:hover{background:#00ffff1a;color:#0ff}.modal-content{background:linear-gradient(180deg,#111827,#0d1117);border:1px solid rgba(0,255,255,.2);border-radius:8px;padding:24px;min-width:400px;max-width:500px}.modal-content h3{color:#0ff;margin:0 0 20px;font-size:18px}.form-group label{display:block;color:#8892b0;font-size:13px;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(0,255,255,.15);border-radius:4px;color:#e6f1ff;font-size:14px;box-sizing:border-box;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#00ffff80;background:#0006}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.export-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:#00ffff0d;border:1px solid rgba(0,255,255,.15);border-radius:8px}.export-info{color:#8892b0;font-size:14px}.btn-export{padding:10px 20px;background:linear-gradient(135deg,#0ff3,#00c8c833);border:1px solid rgba(0,255,255,.4);border-radius:6px;color:#0ff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-export:hover:not(:disabled){background:linear-gradient(135deg,#00ffff4d,#00c8c84d);border-color:#0ff;box-shadow:0 0 15px #00ffff4d}.btn-export:disabled{opacity:.6;cursor:not-allowed}.empty-message{text-align:center;padding:40px 20px;color:#8892b0;font-size:14px;background:#11182766;border:1px dashed rgba(0,255,255,.2);border-radius:8px;margin:20px 0}.categories-section{margin-top:16px}.admin-container{display:flex;min-height:100vh;background:#0a0e17}.admin-sidebar{width:240px;background:linear-gradient(180deg,#111827,#0d1117);border-right:1px solid rgba(0,255,255,.1);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}.admin-logo{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid rgba(0,255,255,.1);cursor:pointer;transition:all .2s ease}.admin-logo:hover{background:#00ffff0d}.admin-logo:hover img{transform:scale(1.05)}.admin-logo:hover span{text-shadow:0 0 15px rgba(0,255,255,.8)}.admin-logo img{width:40px;height:40px;border-radius:8px;transition:transform .2s ease}.admin-logo span{font-size:18px;font-weight:700;color:#0ff;text-shadow:0 0 10px rgba(0,255,255,.5)}.admin-nav{flex:1;padding:20px 0}.admin-nav button{display:block;width:100%;padding:14px 24px;background:transparent;border:none;color:#8892b0;font-size:15px;text-align:left;cursor:pointer;transition:all .3s}.admin-nav button:hover{color:#0ff;background:#00ffff0d}.admin-nav button.active{color:#0ff;background:#00ffff1a;border-left:3px solid #00ffff}.admin-user{padding:20px;border-top:1px solid rgba(0,255,255,.1);display:flex;justify-content:space-between;align-items:center}.admin-user span{color:#8892b0;font-size:14px}.admin-user button{padding:6px 12px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);color:#ff6464;border-radius:4px;cursor:pointer;font-size:12px;transition:all .3s}.admin-user button:hover{background:#ff646433}.admin-main{flex:1;margin-left:240px;padding:30px;min-height:100vh}.admin-main h2{color:#e6f1ff;font-size:24px;margin-bottom:24px;font-weight:600}.admin-error,.admin-success{padding:12px 20px;border-radius:6px;margin-bottom:20px;font-size:14px}.admin-error{background:#ff64641a;border:1px solid rgba(255,100,100,.3);color:#ff6464}.admin-success{background:#64ff641a;border:1px solid rgba(100,255,100,.3);color:#64ff64}.admin-loading{color:#8892b0;text-align:center;padding:40px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.stat-card{background:linear-gradient(135deg,#00ffff0d,#0064641a);border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:30px;text-align:center}.stat-value{font-size:48px;font-weight:700;color:#0ff;text-shadow:0 0 20px rgba(0,255,255,.5);margin-bottom:8px}.stat-label{color:#8892b0;font-size:14px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{margin:0}.create-btn{padding:10px 20px;background:linear-gradient(135deg,#0ff,#08f);border:none;border-radius:6px;color:#0a0e17;font-weight:700;cursor:pointer;transition:all .3s}.create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0ff6}.admin-table{width:100%;border-collapse:collapse;background:#11182780;border-radius:8px;overflow:hidden}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(0,255,255,.1)}.admin-table th{background:#00ffff0d;color:#0ff;font-weight:600;font-size:13px;text-transform:uppercase}.admin-table td{color:#e6f1ff;font-size:14px}.admin-table tr:hover{background:#00ffff05}.role-badge,.status-badge,.difficulty-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.role-badge.admin{background:#ff646433;color:#ff6464}.role-badge.user{background:#64c8ff33;color:#64c8ff}.status-badge.active{background:#64ff6433;color:#64ff64}.status-badge.inactive,.status-badge.draft{background:#ffc86433;color:#ffc864}.status-badge.banned,.status-badge.disabled{background:#ff646433;color:#ff6464}.difficulty-badge.easy{background:#64ff6433;color:#64ff64}.difficulty-badge.medium{background:#ffc86433;color:#ffc864}.difficulty-badge.hard{background:#ff646433;color:#ff6464}.actions{display:flex;gap:8px}.actions button{padding:6px 12px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);color:#0ff;border-radius:4px;cursor:pointer;font-size:12px;transition:all .3s}.actions button:hover{background:#0ff3}.actions button.danger{background:#ff64641a;border-color:#ff64644d;color:#ff6464}.actions button.danger:hover{background:#ff646433}.pagination{display:flex;gap:8px;justify-content:center;margin-top:24px}.pagination button{padding:8px 14px;background:#00ffff0d;border:1px solid rgba(0,255,255,.2);color:#8892b0;border-radius:4px;cursor:pointer;transition:all .3s}.pagination button:hover,.pagination button.active{background:#00ffff1a;color:#0ff;border-color:#0ff6}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:linear-gradient(135deg,#111827,#0d1117);border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:30px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h3{color:#0ff;font-size:20px;margin-bottom:24px}.form-group label{display:block;color:#8892b0;font-size:14px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;background:#0000004d;border:1px solid rgba(0,255,255,.2);border-radius:6px;color:#e6f1ff;font-size:14px;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0ff;box-shadow:0 0 10px #0ff3}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.modal-actions button:first-child{background:transparent;border:1px solid rgba(255,255,255,.2);color:#8892b0}.modal-actions button:first-child:hover{border-color:#fff6;color:#e6f1ff}.modal-actions button.primary{background:linear-gradient(135deg,#0ff,#08f);border:none;color:#0a0e17;font-weight:700}.modal-actions button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0ff6}.form-section-title{color:#0ff;font-size:15px;font-weight:600;margin:24px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(0,255,255,.2)}.difficulty-badge.expert{background:#9400d333;color:#9400d3}.log-filters{background:#00ffff0d;border:1px solid rgba(0,255,255,.1);border-radius:8px;padding:20px;margin-bottom:20px}.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.filter-row:last-child{grid-template-columns:1fr 1fr auto;margin-bottom:0}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#8892b0;font-size:13px;margin-bottom:6px}.filter-group input,.filter-group select{padding:10px;background:#0000004d;border:1px solid rgba(0,255,255,.2);border-radius:6px;color:#e6f1ff;font-size:14px;transition:all .3s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#0ff;box-shadow:0 0 10px #0ff3}.filter-actions{display:flex;gap:8px;align-items:flex-end}.filter-actions button{padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s;background:transparent;border:1px solid rgba(255,255,255,.2);color:#8892b0}.filter-actions button:hover{border-color:#fff6;color:#e6f1ff}.filter-actions button.primary{background:linear-gradient(135deg,#0ff,#08f);border:none;color:#0a0e17;font-weight:700}.filter-actions button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0ff6}.hints-admin-section{margin-top:20px;border-top:1px solid rgba(0,255,255,.2);padding-top:16px}.hints-list-admin{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.hint-item-admin{background:#00ffff0d;border:1px solid rgba(0,255,255,.15);border-radius:8px;padding:12px}.hint-header-admin{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hint-number-admin{color:#0ff;font-weight:600;font-size:13px}.hint-cost-admin{color:#ff9800;font-size:12px;background:#ff980026;padding:2px 8px;border-radius:4px}.hint-content-admin{color:#c9d1d9;font-size:14px;line-height:1.5;margin-bottom:10px;padding:8px;background:#0003;border-radius:4px}.hint-actions{display:flex;gap:8px}.hint-actions button{padding:4px 12px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s}.hint-actions button:not(.danger):not(.primary){background:transparent;border:1px solid rgba(0,255,255,.3);color:#0ff}.hint-actions button:not(.danger):not(.primary):hover{background:#00ffff1a}.hint-actions button.primary{background:linear-gradient(135deg,#0ff,#08f);border:none;color:#0a0e17;font-weight:700}.hint-actions button.danger{background:transparent;border:1px solid rgba(255,51,102,.5);color:#f36}.hint-actions button.danger:hover{background:#ff33661a}.add-hint-form{background:#0003;border-radius:8px;padding:12px;border:1px dashed rgba(0,255,255,.2)}.admin-docker h2{margin-bottom:24px;color:#e6f1ff}.docker-status{margin-bottom:24px}.status-indicator{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:8px;font-weight:500}.status-indicator.online{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:#0f8}.status-indicator.offline{background:#ff33661a;border:1px solid rgba(255,51,102,.3);color:#f36}.status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pull-image-form{background:#0000004d;border:1px solid rgba(0,255,255,.15);border-radius:8px;padding:20px;margin-bottom:24px}.pull-image-form h3{margin:0 0 16px;color:#0ff;font-size:16px}.pull-input-group{display:flex;gap:12px}.pull-input-group input{flex:1;padding:10px 16px;background:#0006;border:1px solid rgba(0,255,255,.2);border-radius:6px;color:#e6f1ff;font-size:14px}.pull-input-group input:focus{outline:none;border-color:#0ff}.pull-input-group button{padding:10px 24px;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s}.pull-input-group button.primary{background:linear-gradient(135deg,#0ff,#08f);border:none;color:#0a0e17}.pull-input-group button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #0ff6}.pull-input-group button:disabled{opacity:.5;cursor:not-allowed}.docker-images h3{margin:0 0 16px;color:#e6f1ff;font-size:16px}.docker-images .empty-state{text-align:center;color:#7a9cc6;padding:40px;background:#0003;border-radius:8px}.image-tag{display:inline-block;background:#00ffff1a;border:1px solid rgba(0,255,255,.2);color:#0ff;padding:2px 8px;border-radius:4px;font-size:12px;margin:2px}.admin-table code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px}.admin-categories .empty-state{text-align:center;color:#7a9cc6;padding:60px 20px;background:#0003;border-radius:8px}.category-name-badge{display:inline-block;padding:4px 12px;border:2px solid;border-radius:4px;font-weight:600;color:#e6f1ff}.color-preview{display:inline-block;width:16px;height:16px;border-radius:3px;margin-right:8px;vertical-align:middle;border:1px solid rgba(255,255,255,.2)}.color-input-group{display:flex;gap:8px;align-items:center}.color-input-group input[type=color]{width:40px;height:36px;padding:0;border:1px solid rgba(0,255,255,.3);border-radius:4px;cursor:pointer;background:transparent}.color-input-group input[type=text]{flex:1}.section-actions{display:flex;gap:12px;align-items:center}.selected-count{color:#0ff;font-size:14px;padding:4px 12px;background:#00ffff1a;border-radius:4px}.batch-btn{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;border:1px solid rgba(0,255,255,.3);background:transparent;color:#0ff}.batch-btn:hover{background:#00ffff1a;border-color:#0ff}.batch-btn.danger{border-color:#ff336680;color:#f36}.batch-btn.danger:hover{background:#ff33661a;border-color:#f36}.admin-table tr.selected{background:#00ffff14}.admin-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#00ffff}.docker-image-selector{display:flex;flex-direction:column;gap:8px}.docker-image-selector select,.docker-image-selector input{width:100%}.access-level-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.access-level-badge.public{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.access-level-badge.internal{background:#ffa50026;color:orange;border:1px solid rgba(255,165,0,.3)}.form-hint{margin-top:6px;font-size:12px;color:#6b7280}.invite-code-text{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;padding:4px 10px;background:#00ffff1a;border:1px solid rgba(0,255,255,.2);border-radius:4px;color:#0ff;cursor:pointer;transition:all .2s;display:inline-block}.invite-code-text:hover{background:#0ff3;border-color:#0ff6;box-shadow:0 0 10px #00ffff4d}.admin-invite-codes .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-invite-codes .section-header h2{color:#0ff;margin:0}.admin-invite-codes .empty-state{text-align:center;padding:60px 20px;color:#6b7280;background:#0003;border-radius:8px;border:1px dashed rgba(0,255,255,.2)}.header-actions{display:flex;gap:12px;align-items:center}.action-btn{padding:10px 20px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:6px;color:#0ff;cursor:pointer;transition:all .3s;font-size:14px}.action-btn:hover:not(:disabled){background:#0ff3;border-color:#00ffff80}.batch-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#00ffff1a,#0088ff1a);border:1px solid rgba(0,255,255,.2);border-radius:8px;margin-bottom:16px}.batch-toolbar .selected-count{color:#0ff;font-weight:500;margin-right:8px}.batch-toolbar button{padding:6px 14px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#e6f1ff;cursor:pointer;font-size:13px;transition:all .2s}.batch-toolbar button:hover{background:#0ff3;border-color:#0ff6}.batch-toolbar button.danger{color:#ff6b6b;border-color:#ff6b6b4d}.batch-toolbar button.danger:hover{background:#ff6b6b33;border-color:#ff6b6b80}.col-checkbox{width:40px;text-align:center}.col-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#00ffff}.admin-table tbody tr.selected{background:#00ffff14}.admin-table tbody tr.selected:hover{background:#00ffff1f}.expires-quick-select{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.expires-quick-select button{padding:6px 12px;background:#00ffff1a;border:1px solid rgba(0,255,255,.3);border-radius:4px;color:#0ff;font-size:12px;cursor:pointer;transition:all .2s}.expires-quick-select button:hover{background:#0ff3;border-color:#00ffff80}.admin-containers{padding:24px}.admin-containers .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-containers h2{font-size:24px;color:var(--text-primary);margin:0}.instance-count{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;background:linear-gradient(135deg,#00d4ff,#08f);color:#0a0e17;font-weight:600;border-radius:14px;font-size:14px}.containers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.container-monitor-card{background:linear-gradient(135deg,#1a1f2ef2,#0d1117f2);border:1px solid rgba(0,255,255,.2);border-radius:8px;overflow:hidden}.container-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-input,.filter-select{flex:1;min-width:200px;padding:10px 14px;background:#1a1f2e99;border:1px solid rgba(0,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#00ffff80;background:#1a1f2ecc}.filter-input::placeholder{color:#8892b0}.filter-select option{background:#1a1f2e;color:var(--text-primary)}.clear-filters-btn{padding:10px 20px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#ff6b6b33;border-color:#ff6b6b80}.filtered-count{font-size:14px;color:#ffc107;font-weight:400}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0003;border-bottom:1px solid rgba(0,255,255,.1)}.card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.challenge-name{font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-id{font-size:12px;color:#00d4ff;font-weight:500;opacity:.8;flex-shrink:0}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.status-running{background:#00d4ff26;color:#00d4ff;border:1px solid rgba(0,212,255,.4);box-shadow:0 0 10px #00d4ff33}.status-starting{background:#ffc10726;color:#ffc107;border:1px solid rgba(255,193,7,.4)}.status-stopping,.status-stopped{background:#8892b026;color:#8892b0;border:1px solid rgba(136,146,176,.3)}.card-content{padding:20px;display:flex;flex-direction:column;gap:14px}.info-item{display:flex;align-items:flex-start}.info-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.info-label{font-size:12px;color:#8892b0;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.info-value{font-size:14px;color:var(--text-primary);font-weight:500}.info-value-muted{font-size:14px;color:#8892b0;font-style:italic}.info-link{font-size:14px;color:#00d4ff;text-decoration:none;word-break:break-all;transition:all .2s;font-weight:500}.info-link:hover{color:#0ff;text-shadow:0 0 8px rgba(0,212,255,.6)}.flag-display{display:flex;align-items:center;gap:10px;margin-top:4px}.flag-code{flex:1;padding:8px 12px;background:#00d4ff0d;border:1px solid rgba(0,212,255,.2);border-radius:4px;color:#00d4ff;font-family:Courier New,Courier,monospace;font-size:13px;font-weight:600;word-break:break-all;-webkit-user-select:all;user-select:all}.copy-flag-btn{padding:6px 12px;background:linear-gradient(135deg,#00d4ff26,#0088ff26);color:#00d4ff;border:1px solid rgba(0,212,255,.4);border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;transition:all .2s ease}.copy-flag-btn:hover{background:linear-gradient(135deg,#00d4ff40,#0088ff40);border-color:#00d4ff99;box-shadow:0 2px 10px #00d4ff4d;transform:translateY(-1px)}.copy-flag-btn:active{transform:translateY(0)}.card-footer{padding:16px 20px;background:#00000026;border-top:1px solid rgba(0,255,255,.1)}.stop-container-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#ff6b6b26,#ff444426);color:#ff6b6b;border:1px solid rgba(255,107,107,.4);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.stop-container-btn:hover{background:linear-gradient(135deg,#ff6b6b40,#ff444440);border-color:#ff6b6b99;box-shadow:0 4px 15px #ff6b6b4d;transform:translateY(-1px)}.stop-container-btn:active{transform:translateY(0)}.danger-btn{padding:6px 12px;background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3);border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.danger-btn:hover{background:#ff6b6b33;border-color:#ff6b6b80}.docker-quick-actions{margin:24px 0;display:flex;gap:16px;flex-wrap:wrap}.package-btn{padding:14px 28px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#00d4ff,#08f);color:#0a192f;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00d4ff66;display:inline-flex;align-items:center;gap:8px}.package-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00d4ff99}.package-btn:active{transform:translateY(0)}@media(max-width:768px){.containers-grid{grid-template-columns:1fr}.admin-containers .section-header{flex-direction:column;align-items:flex-start;gap:12px}.docker-quick-actions{flex-direction:column}.package-btn{width:100%;justify-content:center}}.challenge-sub-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid rgba(0,255,255,.2);padding-bottom:15px}.challenge-sub-tabs button{background:transparent;border:1px solid rgba(0,255,255,.3);color:#ffffffb3;padding:10px 24px;border-radius:4px;cursor:pointer;transition:all .3s;font-size:14px;font-weight:500}.challenge-sub-tabs button:hover{border-color:#0ff;color:#0ff;background:#00ffff0d}.challenge-sub-tabs button.active{background:#00ffff26;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #0ff3}.challenge-sub-tabs button .badge{background:#ff5252;color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;margin-left:8px}.writeup-review-section{padding:20px}.writeup-review-container{display:flex;gap:20px;height:calc(100vh - 280px);min-height:500px}.writeup-list{width:350px;flex-shrink:0;overflow-y:auto;border:1px solid rgba(0,255,255,.2);border-radius:8px;background:#0003}.writeup-list-item{padding:15px;border-bottom:1px solid rgba(0,255,255,.1);cursor:pointer;transition:all .2s}.writeup-list-item:hover{background:#00ffff0d}.writeup-list-item.active{background:#00ffff1a;border-left:3px solid #00ffff}.wp-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wp-title{font-weight:600;color:#fff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:10px}.wp-status{font-size:12px;padding:2px 8px;border-radius:4px;flex-shrink:0}.wp-status.status-pending{background:#ffc10733;color:#ffc107}.wp-status.status-published{background:#0f83;color:#0f8}.wp-status.status-rejected{background:#ff525233;color:#ff5252}.wp-item-meta{display:flex;gap:15px;font-size:12px;color:#ffffff80;margin-bottom:5px}.wp-item-time{font-size:11px;color:#fff6}.writeup-detail{flex:1;border:1px solid rgba(0,255,255,.2);border-radius:8px;background:#0003;display:flex;flex-direction:column;overflow:hidden}.wp-detail-header{padding:20px;border-bottom:1px solid rgba(0,255,255,.2);background:#0003}.wp-detail-header h3{margin:0 0 10px;color:#fff;font-size:18px}.wp-detail-meta{display:flex;gap:20px;font-size:13px;color:#fff9}.wp-detail-content{flex:1;padding:20px;overflow-y:auto;color:#ffffffe6;line-height:1.8}.wp-detail-content.markdown-body{font-size:14px}.wp-detail-content.markdown-body h1,.wp-detail-content.markdown-body h2,.wp-detail-content.markdown-body h3,.wp-detail-content.markdown-body h4{color:#fff;margin-top:1.5em;margin-bottom:.8em;font-weight:600}.wp-detail-content.markdown-body h1{font-size:1.8em;border-bottom:1px solid rgba(0,255,255,.2);padding-bottom:.3em}.wp-detail-content.markdown-body h2{font-size:1.5em;border-bottom:1px solid rgba(0,255,255,.15);padding-bottom:.3em}.wp-detail-content.markdown-body h3{font-size:1.25em}.wp-detail-content.markdown-body p{margin-bottom:1em}.wp-detail-content.markdown-body img{max-width:100%;height:auto;object-fit:contain;border-radius:6px;border:1px solid rgba(0,255,255,.2);margin:1em 0;display:block}.wp-detail-content.markdown-body code{background:#00ffff1a;padding:.2em .5em;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:#0ff}.wp-detail-content.markdown-body pre{background:#0006;border:1px solid rgba(0,255,255,.2);border-radius:6px;padding:1em;overflow-x:auto;margin:1em 0}.wp-detail-content.markdown-body pre code{background:transparent;padding:0;color:#ffffffe6}.wp-detail-content.markdown-body ul,.wp-detail-content.markdown-body ol{padding-left:2em;margin-bottom:1em}.wp-detail-content.markdown-body li{margin-bottom:.5em}.wp-detail-content.markdown-body blockquote{border-left:4px solid #00ffff;margin:1em 0;color:#ffffffb3;background:#00ffff0d;padding:.5em 1em}.wp-detail-content.markdown-body a{color:#00d4ff;text-decoration:none}.wp-detail-content.markdown-body a:hover{text-decoration:underline}.wp-detail-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:14px;line-height:1.6;color:#ffffffd9}.wp-detail-actions{padding:15px 20px;border-top:1px solid rgba(0,255,255,.2);display:flex;gap:15px;background:#0003}.wp-detail-actions .approve-btn{padding:10px 30px;background:#0f83;border:1px solid #00ff88;color:#0f8;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s}.wp-detail-actions .approve-btn:hover{background:#00ff884d;box-shadow:0 0 15px #00ff884d}.wp-detail-actions .reject-btn{padding:10px 30px;background:#ff525233;border:1px solid #ff5252;color:#ff5252;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s}.wp-detail-actions .reject-btn:hover{background:#ff52524d;box-shadow:0 0 15px #ff52524d}.wp-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#fff6}.refresh-btn{background:#00ffff1a;border:1px solid rgba(0,255,255,.3);color:#0ff;padding:8px 20px;border-radius:4px;cursor:pointer;transition:all .3s}.refresh-btn:hover:not(:disabled){background:#0ff3;border-color:#0ff}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.admin-dashboard h2{color:#0ff;font-size:24px;margin-bottom:24px;text-shadow:0 0 10px rgba(0,255,255,.3)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#00ffff0d,#0064641a);border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00ffff26;border-color:#0ff6}.stat-card.primary{background:linear-gradient(135deg,#0088ff1a,#0064c826);border-color:#0088ff4d}.stat-card.primary .stat-icon{background:#08f3;color:#08f}.stat-card.primary .stat-value{color:#08f}.stat-card.success{background:linear-gradient(135deg,#00ff881a,#00b46426);border-color:#00ff884d}.stat-card.success .stat-icon{background:#0f83;color:#0f8}.stat-card.success .stat-value{color:#0f8}.stat-card.warning{background:linear-gradient(135deg,#ffc1071a,#c8960026);border-color:#ffc1074d}.stat-card.warning .stat-icon{background:#ffc10733;color:#ffc107}.stat-card.warning .stat-value{color:#ffc107}.stat-card.info{background:linear-gradient(135deg,#00d4ff1a,#0096c826);border-color:#00d4ff4d}.stat-card.info .stat-icon{background:#00d4ff33;color:#00d4ff}.stat-card.info .stat-value{color:#00d4ff}.stat-card.accent{background:linear-gradient(135deg,#9c27b01a,#781e8c26);border-color:#9c27b04d}.stat-card.accent .stat-icon{background:#9c27b033;color:#9c27b0}.stat-card.accent .stat-value{color:#9c27b0}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#00ffff1a;flex-shrink:0}.stat-info{flex:1;min-width:0}.stat-value{font-size:32px;font-weight:700;color:#0ff;line-height:1.2}.stat-label{color:#8892b0;font-size:13px;margin-top:4px}.stat-change{font-size:12px;margin-top:6px;padding:2px 8px;border-radius:4px;display:inline-block}.stat-change.positive{background:#00ff8826;color:#0f8}.stat-change.negative{background:#ff525226;color:#ff5252}.stat-change.warning{background:#ffc10726;color:#ffc107}.dashboard-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.chart-card{background:linear-gradient(135deg,#111827cc,#0d1117e6);border:1px solid rgba(0,255,255,.15);border-radius:12px;padding:20px}.chart-card.wide{grid-column:span 2}.chart-card h3{color:#e6f1ff;font-size:16px;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,255,.1)}.category-chart{display:flex;flex-direction:column;gap:12px}.category-bar-item{display:flex;align-items:center;gap:12px}.category-label{width:100px;display:flex;justify-content:space-between;flex-shrink:0}.category-name{color:#8892b0;font-size:13px}.category-count{color:#0ff;font-size:13px;font-weight:600}.category-bar{flex:1;height:20px;background:#0000004d;border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;background:linear-gradient(90deg,#0ff,#08f);border-radius:4px;transition:width .5s ease;min-width:4px}.category-percent{width:50px;text-align:right;color:#8892b0;font-size:12px;flex-shrink:0}.chart-placeholder{display:flex;flex-direction:column;gap:10px}.placeholder-bar{height:20px;background:linear-gradient(90deg,#00ffff1a,#0088ff1a);border-radius:4px;padding:0 12px;display:flex;align-items:center;color:#8892b0;font-size:12px}.role-chart{min-height:120px}.role-pie-container{display:flex;flex-direction:column;gap:10px}.role-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#0003;border-radius:6px}.role-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.role-name{flex:1;color:#e6f1ff;font-size:13px}.role-count{color:#0ff;font-weight:600;font-size:14px}.trend-chart{height:200px;display:flex;align-items:flex-end}.trend-bars{display:flex;justify-content:space-around;align-items:flex-end;width:100%;height:100%;gap:8px;padding-bottom:30px;position:relative}.trend-bars.placeholder .trend-bar{background:linear-gradient(180deg,#0ff3,#0088ff1a)}.trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.trend-bar{width:100%;max-width:60px;background:linear-gradient(180deg,#0ff,#08f);border-radius:4px 4px 0 0;position:relative;min-height:4px;transition:height .5s ease}.trend-count{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:11px;color:#0ff;font-weight:600;white-space:nowrap}.trend-date{margin-top:8px;font-size:11px;color:#8892b0}.dashboard-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dashboard-panel{background:linear-gradient(135deg,#111827cc,#0d1117e6);border:1px solid rgba(0,255,255,.15);border-radius:12px;padding:20px}.dashboard-panel h3{color:#e6f1ff;font-size:15px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,255,.1)}.panel-empty{text-align:center;color:#8892b0;padding:20px;font-size:13px}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0003;border-radius:6px;transition:all .2s}.leaderboard-item:hover{background:#00ffff0d}.rank{font-size:14px;font-weight:700;width:32px;color:#8892b0}.rank.rank-1{color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.rank.rank-2{color:silver;text-shadow:0 0 10px rgba(192,192,192,.5)}.rank.rank-3{color:#cd7f32;text-shadow:0 0 10px rgba(205,127,50,.5)}.solver-name{flex:1;color:#e6f1ff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solve-count{color:#0ff;font-size:13px;font-weight:600;flex-shrink:0}.recent-list{display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0003;border-radius:6px}.recent-user{color:#00d4ff;font-size:13px;font-weight:500;width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.recent-challenge{flex:1;color:#e6f1ff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.recent-status.correct{background:#0f83;color:#0f8}.recent-status.wrong,.recent-status.incorrect{background:#ff525233;color:#ff5252}.system-status{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#0003;border-radius:6px}.status-label{color:#8892b0;font-size:13px}.system-status .status-value{font-size:14px;font-weight:600;color:#e6f1ff}.system-status .status-value.online{color:#0f8}.system-status .status-value.highlight{color:#ffc107}@media(max-width:1400px){.dashboard-charts{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}.dashboard-bottom{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-icon{width:40px;height:40px;font-size:20px}.stat-value{font-size:24px}}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,255,.1)}.chart-header h3{margin:0;border:none;padding:0}.chart-type-switch{display:flex;gap:4px;background:#0003;padding:3px;border-radius:6px}.chart-type-switch button{padding:6px 14px;background:transparent;border:none;color:#8892b0;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.chart-type-switch button:hover{color:#e6f1ff;background:#00ffff0d}.chart-type-switch button.active{background:#00ffff26;color:#0ff}.pie-chart-container{display:flex;align-items:center;gap:24px;padding:10px 0}.pie-chart{width:140px;height:140px;flex-shrink:0}.pie-legend{flex:1;display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:10px;font-size:13px}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-label{flex:1;color:#e6f1ff}.legend-value{color:#0ff;font-weight:600}.trend-line-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px 0}.trend-line-chart{width:100%;height:100%;max-height:180px}.video-player-container{position:relative;width:100%;height:100%;background:#000;overflow:hidden;-webkit-user-select:none;user-select:none}.video-player-container.fullscreen{position:fixed;inset:0;z-index:9999}.video-player-container.loading{display:flex;align-items:center;justify-content:center}.video-loading{text-align:center;color:#fff}.video-loading .spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.video-element{width:100%;height:100%;object-fit:contain;cursor:pointer}.video-header{position:absolute;top:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);display:flex;justify-content:space-between;align-items:center;opacity:0;transition:opacity .3s ease;z-index:10}.video-header.visible{opacity:1}.video-header h3{color:#fff;font-size:16px;font-weight:500;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.5)}.video-header .close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.video-header .close-btn:hover{background:#fff3}.play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.play-button-large{width:80px;height:80px;background:#00d4ffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}.play-button-large:hover{transform:scale(1.1);background:#00d4ff}.play-button-large svg{width:40px;height:40px;color:#fff;margin-left:4px}.video-controls{position:absolute;bottom:0;left:0;right:0;padding:0 16px 12px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity .3s ease;z-index:10}.video-controls.visible{opacity:1}.progress-bar-container{position:relative;height:20px;padding:8px 0;cursor:pointer}.progress-bar{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#00d4ff;border-radius:50%;cursor:pointer;transition:transform .1s}.progress-bar::-webkit-slider-thumb:hover{transform:scale(1.2)}.progress-bar::-moz-range-thumb{width:14px;height:14px;background:#00d4ff;border:none;border-radius:50%;cursor:pointer}.question-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#ffc107;border:2px solid #fff;border-radius:50%;cursor:pointer;z-index:5;transition:transform .2s}.question-marker:hover{transform:translate(-50%,-50%) scale(1.3)}.question-marker.answered{background:#4caf50}.controls-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.controls-left,.controls-right{display:flex;align-items:center;gap:12px}.control-btn{width:36px;height:36px;background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.control-btn:hover{background:#ffffff1a}.control-btn svg{width:24px;height:24px}.control-btn.speed-btn{width:auto;padding:0 8px;font-size:14px;font-weight:500}.volume-control{display:flex;align-items:center;gap:4px}.volume-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer}.time-display{color:#fff;font-size:13px;font-family:Menlo,Monaco,monospace}.video-stats{position:absolute;top:60px;right:16px;background:#0009;padding:8px 12px;border-radius:4px;display:flex;gap:16px;color:#fff;font-size:13px;opacity:0;transition:opacity .3s ease}.video-stats.visible{opacity:1}.video-stats span{display:flex;align-items:center;gap:4px}.question-overlay{position:absolute;inset:0;background:#0a0e1ad9;display:flex;align-items:center;justify-content:center;z-index:100}.question-modal{background:#081020f2;border:1px solid rgba(0,180,255,.3);border-radius:8px;width:90%;max-width:500px;padding:0;font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.question-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0000004d;border-bottom:1px solid rgba(0,180,255,.15)}.question-time{color:#00d4ff;font-size:14px}.question-score{color:#0f8;font-size:14px;font-weight:500}.question-content{padding:20px}.question-content h4{color:#e0f0ff;font-size:15px;font-weight:500;line-height:1.6;margin:0 0 20px}.options{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff08;border:1px solid rgba(0,180,255,.15);border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s}.option:hover:not(.correct):not(.wrong){border-color:#00d4ff66;background:#00d4ff0d}.option.selected:not(.correct):not(.wrong){background:#00d4ff1a;border-color:#00d4ff}.option.correct{background:#00ff881a;border-color:#0f8}.option.wrong{background:#ff47571a;border-color:#ff4757}.option input[type=radio]{display:none}.option-label{width:28px;height:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:600;color:#7a9cc6;font-size:13px;flex-shrink:0;transition:all .2s}.option:hover:not(.correct):not(.wrong) .option-label{border-color:#00d4ff80;color:#00d4ff}.option.selected:not(.correct):not(.wrong) .option-label{background:#00d4ff;border-color:#00d4ff;color:#000}.option.correct .option-label{background:#0f8;border-color:#0f8;color:#000}.option.wrong .option-label{background:#ff4757;border-color:#ff4757;color:#fff}.option-text{color:#d0d0d0;font-size:14px;line-height:1.5;flex:1}.option.selected .option-text,.option.correct .option-text{color:#fff}.result{margin-top:16px;padding:14px 16px;border-radius:6px}.result.correct{background:#00ff881a;border:1px solid rgba(0,255,136,.3)}.result.wrong{background:#ff47571a;border:1px solid rgba(255,71,87,.3)}.result-icon{font-size:15px;font-weight:600;margin-bottom:8px}.result.correct .result-icon{color:#0f8}.result.wrong .result-icon{color:#ff4757}.score-earned{color:#0f8;font-size:16px;font-weight:600;margin-bottom:10px}.explanation{color:#7a9cc6;font-size:13px;line-height:1.6;padding:10px 12px;background:#0003;border-radius:4px;border-left:2px solid #00d4ff}.explanation strong{color:#00d4ff;font-weight:500}.question-actions{padding:16px 20px 20px;display:flex;justify-content:center}.submit-btn,.continue-btn{padding:10px 32px;font-size:14px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.submit-btn{background:#00d4ff;color:#000}.submit-btn:hover:not(:disabled){opacity:.9}.submit-btn:disabled{background:#333;color:#666;cursor:not-allowed}.continue-btn{background:#0f8;color:#000}.continue-btn:hover{opacity:.9}@media(max-width:600px){.question-modal{width:95%}.question-header{padding:14px 16px}.question-time,.question-score{font-size:13px}.question-content{padding:16px}.question-content h4{font-size:14px;margin-bottom:16px}.option{padding:10px 12px;gap:10px}.option-label{width:24px;height:24px;font-size:12px}.option-text{font-size:13px}.question-actions{padding:14px 16px 18px}.submit-btn,.continue-btn{padding:8px 28px;font-size:13px}.result{padding:12px 14px}.result-icon{font-size:14px}.score-earned{font-size:15px}.explanation{font-size:12px;padding:8px 10px}}.doc-viewer-page{position:fixed;inset:0;width:100vw;height:100vh;background:#0a0a0f;display:flex;z-index:9999}.doc-sidebar{background:#0d0d14;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .15s ease}.doc-sidebar.collapsed{width:0!important;border-right:none}.sidebar-header{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-title{color:#64ffda;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600}.sidebar-count{color:#8892b0;font-size:12px}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}.nav-item{display:block;padding:12px 16px;color:#8892b0;font-size:13px;cursor:pointer;border-left:2px solid transparent;transition:background .15s,color .15s;line-height:1.4}.nav-item:hover{color:#e6f1ff;background:#ffffff08}.nav-item.active{color:#64ffda;background:#64ffda14;border-left-color:#64ffda}.nav-item.active:hover{background:#64ffda14}.nav-category{margin-bottom:8px}.nav-category-title{padding:10px 16px 6px;color:#64ffda;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(100,255,218,.1);margin-bottom:4px}.nav-category .nav-item{padding-left:24px;font-size:12px}.nav-tree-item{margin-bottom:2px}.nav-item.has-children{display:flex;align-items:center;gap:6px;font-weight:500}.nav-folder-icon{font-size:14px;flex-shrink:0}.nav-children{margin-left:8px;padding-left:8px;border-left:1px solid rgba(100,255,218,.15)}.nav-item.nav-child{display:flex;align-items:center;gap:4px;padding-left:16px;font-size:11px;color:#6a7595}.nav-item.nav-child:hover{color:#a8b2d1}.nav-item.nav-child.active{color:#64ffda}.nav-child-connector{color:#64ffda4d;font-family:monospace;font-size:12px;flex-shrink:0;width:12px}.nav-item{display:flex;align-items:center;justify-content:space-between}.nav-item-title{flex:1;cursor:pointer;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-actions{display:none;gap:2px;flex-shrink:0;margin-left:4px}.nav-item:hover .nav-item-actions{display:flex}.nav-action-btn{width:18px;height:18px;padding:0;border:none;background:#64ffda1a;color:#64ffda;border-radius:3px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-action-btn:hover{background:#64ffda33}.nav-action-btn.danger{background:#ff64641a;color:#ff6b6b}.nav-action-btn.danger:hover{background:#ff646440}.doc-main{flex:1;display:flex;flex-direction:column;min-width:0;background:#0a0a0f}.doc-header{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#0d0d14;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.doc-header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.doc-header-title{color:#e6f1ff;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-header-badge{padding:3px 8px;background:#64ffda1a;border:1px solid rgba(100,255,218,.2);border-radius:3px;color:#64ffda;font-size:11px;font-weight:500;flex-shrink:0}.doc-close-btn{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:13px;cursor:pointer;flex-shrink:0}.doc-close-btn:hover{background:#ff64641a;border-color:#ff646433;color:#ff6b6b}.doc-content-wrapper{flex:1;overflow-y:auto;padding:32px 48px}.doc-article{max-width:760px;margin:0 auto}.doc-title{font-size:26px;font-weight:600;color:#e6f1ff;margin:0 0 28px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08);line-height:1.4}.doc-content{color:#a8b2d1;font-size:15px;line-height:1.9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;user-select:none;-webkit-user-select:none}.doc-content img{-webkit-user-drag:none;pointer-events:none}.doc-content h1{font-size:22px;color:#e6f1ff;margin:36px 0 14px;font-weight:600}.doc-content h2{font-size:19px;color:#e6f1ff;margin:30px 0 12px;font-weight:600}.doc-content h3{font-size:16px;color:#ccd6f6;margin:24px 0 10px;font-weight:600}.doc-content h4{font-size:14px;color:#ccd6f6;margin:20px 0 8px;font-weight:600}.doc-content p{margin-bottom:14px;text-align:justify}.doc-content a{color:#64ffda;text-decoration:none}.doc-content a:hover{text-decoration:underline}.doc-content ul,.doc-content ol{padding-left:1.8em;margin:14px 0}.doc-content li{margin-bottom:6px;line-height:1.8}.doc-content blockquote{margin:18px 0;padding:14px 18px;background:#64ffda08;border-left:3px solid #64ffda;color:#a8b2d1}.doc-content blockquote p{margin:0}.doc-content code{background:#64ffda1a;padding:2px 6px;border-radius:3px;font-size:.88em;font-family:Consolas,Monaco,monospace;color:#64ffda}.doc-content pre{background:#000;padding:16px 18px;border-radius:6px;overflow-x:auto;margin:18px 0;font-size:13px;line-height:1.6;border:1px solid rgba(255,255,255,.06)}.doc-content pre code{background:transparent;padding:0;color:#e6edf3}.doc-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}.doc-content th,.doc-content td{padding:10px 14px;text-align:left;border:1px solid rgba(255,255,255,.08)}.doc-content th{background:#64ffda0d;font-weight:600;color:#e6f1ff}.doc-content tr:nth-child(2n){background:#ffffff05}.doc-content img{max-width:100%;height:auto;display:block;margin:18px auto;border-radius:4px}.doc-content .image-content{max-height:65vh;object-fit:contain}.doc-content .text-content{white-space:pre-wrap;word-wrap:break-word;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;background:#000;padding:18px;border-radius:6px;margin:0;color:#e6edf3;border:1px solid rgba(255,255,255,.06)}.doc-content .pdf-notice{text-align:center;padding:50px 20px;color:#8892b0;font-size:14px}.doc-content hr{border:none;height:1px;background:#ffffff14;margin:28px 0}.doc-outline{background:#0d0d14;border-left:1px solid rgba(255,255,255,.06);padding:20px 0;flex-shrink:0;overflow:hidden;transition:width .15s ease}.doc-outline.collapsed{width:0!important;padding:0;border-left:none}.outline-title{font-size:11px;font-weight:600;color:#64ffda;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;padding:0 16px}.outline-list{list-style:none;padding:0;margin:0}.outline-item{padding:8px 16px;font-size:12px;color:#8892b0;cursor:pointer;line-height:1.4;border-left:2px solid transparent}.outline-item:hover{color:#e6f1ff}.outline-item.active{color:#64ffda;border-left-color:#64ffda;background:#64ffda08}.doc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#8892b0}.doc-spinner{width:32px;height:32px;border:2px solid rgba(100,255,218,.2);border-top-color:#64ffda;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px}@keyframes spin{to{transform:rotate(360deg)}}.doc-loading p{font-size:13px;color:#8892b0}.doc-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#8892b0;text-align:center;padding:40px}.doc-error p{font-size:14px;color:#8892b0}.doc-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 28px;background:#0d0d14;border-top:1px solid rgba(255,255,255,.06);font-size:11px;flex-shrink:0}.doc-footer .file-info{color:#8892b0}.doc-footer .hint{color:#4a5568}.doc-content-wrapper::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar,.doc-outline::-webkit-scrollbar{width:5px}.doc-content-wrapper::-webkit-scrollbar-track,.sidebar-nav::-webkit-scrollbar-track,.doc-outline::-webkit-scrollbar-track{background:transparent}.doc-content-wrapper::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-thumb,.doc-outline::-webkit-scrollbar-thumb{background:#64ffda26;border-radius:3px}.doc-content-wrapper::-webkit-scrollbar-thumb:hover,.sidebar-nav::-webkit-scrollbar-thumb:hover,.doc-outline::-webkit-scrollbar-thumb:hover{background:#64ffda40}.resize-handle{width:6px;background:transparent;cursor:col-resize;flex-shrink:0;position:relative;z-index:10}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:#64ffda33;border-radius:2px;opacity:0;transition:opacity .15s}.resize-handle:hover:after{opacity:1}.resize-handle:hover{background:#64ffda0d}.resize-handle.left{margin-left:-3px}.resize-handle.right{margin-right:-3px}.doc-main.video-mode{padding:0;overflow:hidden}.doc-main.video-mode .video-player-container{width:100%;height:100%}@media(max-width:1100px){.doc-outline,.resize-handle.right{display:none}}@media(max-width:800px){.doc-sidebar,.resize-handle.left{display:none}.doc-content-wrapper{padding:24px 20px}.doc-header{padding:12px 16px}.doc-footer{padding:10px 16px}.doc-title{font-size:22px}}.vqm-container{display:flex;height:100vh;background:#0a0a0f;color:#e6f1ff}.vqm-video-section{flex:1;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08);min-width:0}.vqm-video-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0d0d14;border-bottom:1px solid rgba(255,255,255,.08)}.vqm-video-header h3{margin:0;font-size:16px;font-weight:500;color:#e6f1ff}.vqm-close-btn{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:13px;cursor:pointer}.vqm-close-btn:hover{background:#ffffff1a;color:#e6f1ff}.vqm-video-wrapper{flex:1;display:flex;align-items:center;justify-content:center;background:#000;min-height:0;position:relative}.vqm-video{max-width:100%;max-height:100%;width:100%;cursor:pointer}.vqm-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;cursor:pointer}.vqm-play-btn{width:80px;height:80px;border-radius:50%;background:#00d4ffe6;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}.vqm-play-btn:hover{transform:scale(1.1);background:#00d4ff}.vqm-play-btn svg{width:40px;height:40px;color:#000;margin-left:4px}.vqm-progress-container{padding:12px 20px 16px;background:#0d0d14;border-top:1px solid rgba(255,255,255,.08)}.vqm-progress-bar{position:relative;height:8px;background:#ffffff1a;border-radius:4px;cursor:pointer;margin-bottom:12px}.vqm-progress-bar:hover{height:10px}.vqm-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#00d4ff,#00a8cc);border-radius:4px;pointer-events:none}.vqm-progress-marker{position:absolute;top:-4px;bottom:-4px;width:3px;transform:translate(-50%);background:#ffc107;border-radius:1px;cursor:pointer;transition:width .15s,background .15s;z-index:2}.vqm-progress-marker:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #ffc107;transition:border-top-color .15s}.vqm-progress-marker:hover{width:5px;background:#ffca28}.vqm-progress-marker:hover:before{border-top-color:#ffca28}.vqm-progress-marker.active{width:5px;background:#ff5722;animation:pulse-line 1s infinite}.vqm-progress-marker.active:before{border-top-color:#ff5722}@keyframes pulse-line{0%,to{box-shadow:0 0 6px #ff5722cc}50%{box-shadow:0 0 12px #ff5722}}.vqm-progress-marker.disabled{background:#666;opacity:.5}.vqm-progress-marker.disabled:before{border-top-color:#666}.vqm-progress-info{display:flex;justify-content:space-between;align-items:center}.vqm-video-info{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#0d0d14;border-top:1px solid rgba(255,255,255,.08)}.vqm-time{font-family:Menlo,Monaco,monospace;font-size:14px;color:#8892b0}.vqm-add-btn{padding:10px 20px;background:linear-gradient(135deg,#00d4ff,#00a8cc);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vqm-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.vqm-timeline{padding:12px 20px;background:#0d0d14;border-top:1px solid rgba(255,255,255,.08)}.vqm-timeline-label{font-size:11px;color:#8892b0;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.vqm-timeline-bar{position:relative;height:8px;background:#ffffff1a;border-radius:4px}.vqm-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#ffc107;border:2px solid #fff;border-radius:50%;cursor:pointer;transition:transform .2s;z-index:1}.vqm-timeline-marker:hover{transform:translate(-50%,-50%) scale(1.3)}.vqm-timeline-marker.disabled{background:#666;opacity:.5}.vqm-panel{width:420px;flex-shrink:0;display:flex;flex-direction:column;background:#0d0d14;overflow:hidden}.vqm-list{display:flex;flex-direction:column;height:100%}.vqm-list-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.vqm-list-header h4{margin:0;font-size:14px;font-weight:600;color:#64ffda}.vqm-loading,.vqm-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8892b0;font-size:14px}.vqm-empty .hint{font-size:12px;color:#4a5568;margin-top:8px}.vqm-questions{flex:1;overflow-y:auto;padding:12px}.vqm-question-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:14px;margin-bottom:12px}.vqm-question-card.disabled{opacity:.6}.vqm-question-card.highlighted{border-color:#ff5722;background:#ff57221a;box-shadow:0 0 12px #ff57224d;animation:pulse-card 1s infinite}@keyframes pulse-card{0%,to{box-shadow:0 0 12px #ff57224d}50%{box-shadow:0 0 20px #ff572280}}.vqm-q-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.vqm-q-index{font-size:12px;font-weight:600;color:#64ffda}.vqm-q-time{padding:2px 8px;background:#00d4ff1a;border-radius:4px;font-size:12px;font-family:monospace;color:#00d4ff;cursor:pointer}.vqm-q-time:hover{background:#00d4ff33}.vqm-q-score{font-size:12px;color:#4caf50;font-weight:500}.vqm-q-disabled{font-size:11px;color:#f44336;padding:2px 6px;background:#f443361a;border-radius:3px}.vqm-q-content{font-size:14px;color:#e6f1ff;line-height:1.5;margin-bottom:12px}.vqm-q-options{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#8892b0;margin-bottom:10px}.vqm-q-options div{padding:6px 10px;background:#ffffff05;border-radius:4px}.vqm-q-options div.correct{background:#4caf5026;color:#4caf50;border-left:3px solid #4caf50}.vqm-q-explanation{font-size:12px;color:#8892b0;padding:10px;background:#64ffda08;border-left:2px solid rgba(100,255,218,.3);border-radius:0 4px 4px 0;margin-bottom:12px}.vqm-q-actions{display:flex;gap:8px}.vqm-q-actions button{padding:6px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:12px;cursor:pointer;transition:all .2s}.vqm-q-actions button:hover{background:#ffffff1a;color:#e6f1ff}.vqm-q-actions button.danger:hover{background:#f4433626;border-color:#f443364d;color:#f44336}.vqm-form{display:flex;flex-direction:column;height:100%}.vqm-form-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.vqm-form-header h4{margin:0;font-size:14px;font-weight:600;color:#64ffda}.vqm-cancel-btn{padding:6px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:12px;cursor:pointer}.vqm-cancel-btn:hover{background:#ffffff0d;color:#e6f1ff}.vqm-form-body{flex:1;overflow-y:auto;padding:16px 20px}.vqm-form-group{margin-bottom:16px}.vqm-form-group label{display:block;font-size:12px;color:#8892b0;margin-bottom:6px;font-weight:500}.vqm-form-group input[type=text],.vqm-form-group input[type=number],.vqm-form-group textarea,.vqm-form-group select{width:100%;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e6f1ff;font-size:14px;outline:none;transition:border-color .2s}.vqm-form-group input:focus,.vqm-form-group textarea:focus,.vqm-form-group select:focus{border-color:#00d4ff80}.vqm-form-group textarea{resize:vertical;min-height:60px}.vqm-form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#e6f1ff}.vqm-form-group.checkbox input{width:auto}.vqm-time-input{display:flex;gap:8px}.vqm-time-input input{flex:1}.vqm-time-input button{padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#8892b0;font-size:12px;cursor:pointer;white-space:nowrap}.vqm-time-input button:hover{background:#ffffff1a;color:#e6f1ff}.vqm-form-row{display:flex;gap:12px}.vqm-form-row .vqm-form-group{flex:1}.vqm-form-actions{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.vqm-save-btn{width:100%;padding:12px;background:linear-gradient(135deg,#00d4ff,#00a8cc);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.vqm-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.vqm-save-btn:disabled{opacity:.6;cursor:not-allowed}.vqm-questions::-webkit-scrollbar,.vqm-form-body::-webkit-scrollbar{width:5px}.vqm-questions::-webkit-scrollbar-track,.vqm-form-body::-webkit-scrollbar-track{background:transparent}.vqm-questions::-webkit-scrollbar-thumb,.vqm-form-body::-webkit-scrollbar-thumb{background:#64ffda26;border-radius:3px}@media(max-width:900px){.vqm-container{flex-direction:column}.vqm-video-section{height:50vh;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.vqm-panel{width:100%;height:50vh}}.bundle-overlay{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center}.bundle-container{width:90%;max-width:900px;max-height:90vh;background:#0d0d14;border-radius:12px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow:hidden}.bundle-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(100,255,218,.05) 0%,transparent 100%)}.bundle-header-left{flex:1}.bundle-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#e6f1ff}.bundle-desc{margin:0 0 8px;font-size:14px;color:#8892b0;line-height:1.5}.bundle-count{font-size:12px;color:#64ffda;background:#64ffda1a;padding:4px 10px;border-radius:12px}.bundle-header-right{display:flex;gap:12px}.bundle-add-btn{padding:10px 20px;background:linear-gradient(135deg,#00d4ff,#00a8cc);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.bundle-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.bundle-close-btn{padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#8892b0;font-size:14px;cursor:pointer;transition:all .2s}.bundle-close-btn:hover{background:#ffffff1a;color:#e6f1ff}.bundle-error{padding:12px 24px;background:#f443361a;border-bottom:1px solid rgba(244,67,54,.2);color:#f44336;font-size:14px;cursor:pointer}.bundle-content{flex:1;overflow-y:auto;padding:20px}.bundle-loading,.bundle-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#8892b0;font-size:14px}.bundle-empty .hint{margin-top:8px;font-size:12px;color:#4a5568}.bundle-list{display:flex;flex-direction:column;gap:12px}.bundle-item{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:pointer;transition:all .2s}.bundle-item:hover{background:#ffffff0d;border-color:#64ffda33}.bundle-item-index{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#64ffda1a;border-radius:50%;font-size:14px;font-weight:600;color:#64ffda;flex-shrink:0}.bundle-item-icon{font-size:24px;flex-shrink:0}.bundle-item-info{flex:1;min-width:0}.bundle-item-title{font-size:15px;font-weight:500;color:#e6f1ff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bundle-item-desc{font-size:13px;color:#8892b0;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bundle-item-meta{display:flex;gap:12px;font-size:12px;color:#4a5568}.bundle-item-type{padding:2px 8px;background:#00d4ff1a;border-radius:4px;color:#00d4ff}.bundle-item-actions{display:flex;gap:8px;flex-shrink:0}.bundle-item-btn{padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:12px;cursor:pointer;transition:all .2s}.bundle-item-btn:hover{background:#ffffff1a;color:#e6f1ff}.bundle-item-btn.danger:hover{background:#f4433626;border-color:#f443364d;color:#f44336}.bundle-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:1100;display:flex;align-items:center;justify-content:center}.bundle-modal{position:relative;width:90%;max-width:500px;background:#0d0d14;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:24px}.bundle-modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8892b0;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.bundle-modal-close:hover{background:#f4433626;border-color:#f443364d;color:#f44336}.bundle-modal h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#64ffda}.bundle-form-group{margin-bottom:16px}.bundle-form-group label{display:block;font-size:13px;color:#8892b0;margin-bottom:8px}.bundle-form-group input[type=text],.bundle-form-group textarea{width:100%;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e6f1ff;font-size:14px;outline:none}.bundle-form-group input:focus,.bundle-form-group textarea:focus{border-color:#00d4ff80}.bundle-form-group textarea{resize:vertical;min-height:80px}.bundle-form-group input[type=file]{padding:10px;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:6px;color:#8892b0;width:100%}.bundle-form-group .file-selected{margin-top:8px;padding:8px 12px;background:#64ffda0d;border-radius:4px;font-size:13px;color:#64ffda}.bundle-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.bundle-modal-actions button{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.bundle-modal-actions button:first-child{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#8892b0}.bundle-modal-actions button:first-child:hover{background:#ffffff1a;color:#e6f1ff}.bundle-modal-actions button.primary{background:linear-gradient(135deg,#00d4ff,#00a8cc);border:none;color:#fff}.bundle-modal-actions button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.bundle-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.video-question-manager-overlay{position:fixed;inset:0;z-index:1200;background:#0a0a0f}.bundle-content::-webkit-scrollbar{width:5px}.bundle-content::-webkit-scrollbar-track{background:transparent}.bundle-content::-webkit-scrollbar-thumb{background:#64ffda26;border-radius:3px}@media(max-width:600px){.bundle-container{width:100%;height:100%;max-height:100%;border-radius:0}.bundle-header{flex-direction:column;gap:16px}.bundle-header-right{width:100%}.bundle-header-right button{flex:1}.bundle-item{flex-wrap:wrap}.bundle-item-actions{width:100%;margin-top:8px;justify-content:flex-end}}.training-page{padding:20px;max-width:1400px;margin:0 auto}.error-toast{position:fixed;top:80px;right:20px;background:#f44;color:#fff;padding:14px 24px;border-radius:8px;cursor:pointer;z-index:10000;animation:slideIn .3s ease;box-shadow:0 4px 20px #f449,0 0 0 1px #fff3;font-weight:500;font-size:14px;max-width:400px;word-wrap:break-word}.success-toast{position:fixed;top:80px;right:20px;background:#4caf50;color:#fff;padding:14px 24px;border-radius:8px;cursor:pointer;z-index:10000;animation:slideIn .3s ease;box-shadow:0 4px 20px #4caf5099,0 0 0 1px #fff3;font-weight:500;font-size:14px;max-width:400px;word-wrap:break-word}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.training-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.training-tabs{display:flex;gap:8px}.tab-btn{padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#8892b0;cursor:pointer}.tab-btn:hover{background:#ffffff1a;color:#e6f1ff}.tab-btn.active{background:#ffffff26;border-color:#fff3;color:#e6f1ff}.training-actions{display:flex;gap:12px}.action-btn{padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e6f1ff;cursor:pointer}.action-btn:hover{background:#ffffff1a}.action-btn.primary{background:#6496ff33;border-color:#6496ff4d;color:#a0c4ff}.action-btn.primary:hover{background:#6496ff4d}.action-btn:disabled{opacity:.5;cursor:not-allowed}.training-content{min-height:400px}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#8892b0}.empty-state p{margin-bottom:20px}.empty-actions{display:flex;gap:12px;justify-content:center}.class-list h3{color:#e6f1ff;margin-bottom:20px}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.class-card{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:20px;cursor:pointer}.class-card:hover{background:#0000004d}.class-card.teacher-card{border-left:3px solid rgba(100,150,255,.5)}.class-card.student-card{border-left:3px solid rgba(100,200,100,.5)}.class-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.class-card-header h4{color:#e6f1ff;margin:0;font-size:18px}.class-status{padding:4px 10px;background:#64c86426;border-radius:4px;font-size:12px;color:#8bc88b}.teacher-name{font-size:13px;color:#8892b0}.class-desc{color:#8892b0;font-size:14px;margin-bottom:16px;line-height:1.5}.class-stats{display:flex;gap:16px;margin-bottom:12px;font-size:13px;color:#8892b0}.class-invite{font-size:13px;color:#8892b0}.class-invite code{background:#ffffff1a;padding:2px 8px;border-radius:4px;color:#a0c4ff;font-family:monospace}.class-detail-header{margin-bottom:24px}.class-detail-header h2{color:#e6f1ff;margin:0 0 8px}.class-detail-header p{color:#8892b0;margin:0}.invite-code-section{margin-top:12px;display:flex;align-items:center;gap:12px}.invite-code-section code{background:#ffffff1a;padding:4px 12px;border-radius:4px;color:#a0c4ff;font-size:16px}.small-btn{padding:6px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e6f1ff;font-size:13px;cursor:pointer}.small-btn:hover{background:#ffffff26}.small-btn.primary{background:#6496ff33;color:#a0c4ff}.small-btn.danger{background:#ff646426;border-color:#ff64644d;color:#ff6464}.small-btn.danger:hover{background:#ff646440}.class-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.class-tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:#8892b0;cursor:pointer}.class-tab:hover{color:#e6f1ff}.class-tab.active{color:#e6f1ff;border-bottom-color:#a0c4ff}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.data-table th{background:#ffffff08;color:#8892b0;font-weight:500;font-size:13px}.data-table td{color:#e6f1ff;font-size:14px}.data-table tr:hover{background:#ffffff08}.data-table tr.late{background:#ffc8640d}.late-badge{margin-left:8px;padding:2px 6px;background:#ffc86433;border-radius:4px;font-size:11px;color:#ffc864}.section-header{display:flex;justify-content:flex-end;gap:12px;margin-bottom:16px}.section-header .action-btn{padding:10px 20px;font-size:14px}.section-header .action-btn.primary{background:linear-gradient(135deg,#00d4ff,#00a8cc);color:#fff}.section-header .action-btn:not(.primary){background:#64ffda1a;border:1px solid rgba(100,255,218,.3);color:#64ffda}.section-header .action-btn:not(.primary):hover{background:#64ffda33}.courseware-card.has-children{border:1px solid rgba(100,255,218,.2)}.courseware-card.has-children .courseware-card-icon{background:linear-gradient(135deg,#64ffda,#00b894);font-size:24px}.courseware-categories{display:flex;flex-direction:column;gap:32px}.courseware-category-group{background:#00000026;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px}.category-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(100,255,218,.15)}.category-title{color:#64ffda;font-size:16px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.category-title:before{content:"";display:inline-block;width:4px;height:16px;background:#64ffda;border-radius:2px}.category-desc{color:#8892b0;font-size:13px;margin:8px 0 0}.category-empty{color:#8892b0;font-size:14px;text-align:center;padding:30px 20px;background:#0003;border-radius:8px;border:1px dashed rgba(255,255,255,.1)}.courseware-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.courseware-card{display:flex;flex-direction:column;align-items:flex-start;padding:16px;background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .15s;position:relative;min-height:80px}.courseware-card:hover{background:#64ffda0d;border-color:#64ffda33;transform:translateY(-2px)}.courseware-card.public{border-color:#64c8ff26}.courseware-card-icon{font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 14px;background:#64ffda1a;border:1px solid rgba(100,255,218,.2);border-radius:4px;color:#64ffda;margin-bottom:12px}.courseware-card-content{text-align:left;width:100%}.courseware-card-title{color:#e6f1ff;font-size:13px;font-weight:500;margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.courseware-card-badge{display:inline-block;margin-top:8px;padding:2px 8px;background:#64c8ff26;border-radius:3px;font-size:10px;color:#64c8ff}.courseware-card-delete{position:absolute;top:8px;right:8px;width:20px;height:20px;border:none;background:#ff646433;color:#ff6b6b;border-radius:50%;font-size:14px;cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.courseware-card:hover .courseware-card-delete{opacity:1}.courseware-card-delete:hover{background:#ff646466}.courseware-card.video .courseware-card-icon{background:linear-gradient(135deg,#f44,#c00)}.courseware-card-badge.video{background:#ff444426;color:#ff6b6b}.courseware-card.bundle{border:1px solid rgba(100,255,218,.2)}.courseware-card.bundle .courseware-card-icon{background:linear-gradient(135deg,#64ffda,#00b894);font-size:28px}.courseware-card.bundle:hover{border-color:#64ffda66;box-shadow:0 4px 20px #64ffda26}.courseware-card-badge.bundle{background:#64ffda26;color:#64ffda}.modal-hint{margin:0 0 16px;font-size:13px;color:#8892b0;line-height:1.5}.courseware-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.courseware-card:hover .courseware-card-actions{opacity:1}.courseware-card-btn{padding:4px 8px;background:#00d4ff33;border:none;border-radius:4px;color:#00d4ff;font-size:11px;cursor:pointer;transition:all .2s}.courseware-card-btn:hover{background:#00d4ff66}.courseware-card-btn.edit{background:#ffc10733;color:#ffc107}.courseware-card-btn.edit:hover{background:#ffc10766}.courseware-card-actions .courseware-card-delete{position:static;opacity:1}.courseware-list-view{display:flex;flex-direction:column;gap:8px}.courseware-tree-item{display:flex;flex-direction:column}.courseware-children{margin-left:24px;padding-left:12px;border-left:2px solid rgba(0,212,255,.2);margin-top:4px}.courseware-child-card{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ffffff05;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:4px}.courseware-child-card:hover{background:#00d4ff14}.courseware-child-card.video{background:#ffc86408}.courseware-child-card.video:hover{background:#ffc8641a}.child-connector{color:#00d4ff66;font-family:monospace;font-size:14px;flex-shrink:0}.child-icon{font-size:16px;flex-shrink:0}.child-title{flex:1;color:#e6f1ff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-badge{padding:2px 6px;background:#ffc86426;border-radius:4px;color:#ffc864;font-size:10px;flex-shrink:0}.child-btn{padding:3px 8px;background:#00d4ff26;border:none;border-radius:4px;color:#00d4ff;font-size:11px;cursor:pointer;transition:all .2s;opacity:0;flex-shrink:0}.courseware-child-card:hover .child-btn{opacity:1}.child-btn:hover{background:#00d4ff4d}.child-delete-btn{width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:#8892b0;font-size:14px;cursor:pointer;transition:all .2s;opacity:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.courseware-child-card:hover .child-delete-btn{opacity:1}.child-delete-btn:hover{background:#f443;color:#f44}.video-question-manager-overlay{position:fixed;inset:0;z-index:10000;background:#0a0a0f}.class-actions-row{margin-top:12px;display:flex;gap:8px}.courseware-actions{display:flex;gap:8px;align-items:center}.assignment-list{display:flex;flex-direction:column;gap:16px}.assignment-item{padding:20px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.assignment-header h4{color:#e6f1ff;margin:0}.assignment-badges{display:flex;gap:8px}.badge{padding:4px 10px;border-radius:4px;font-size:12px}.badge.type-homework{background:#64c8ff26;color:#64c8ff}.badge.type-experiment{background:#c864ff26;color:#c864ff}.badge.type-quiz{background:#ffc86426;color:#ffc864}.badge.status-draft{background:#96969626;color:#969696}.badge.status-published{background:#64c86426;color:#8bc88b}.badge.status-closed,.badge.expired{background:#ff646426;color:#ff6464}.badge.open{background:#00ff8826;color:#0f8}.badge.submitted{background:#64c8ff26;color:#64c8ff}.assignment-desc{color:#8892b0;margin-bottom:12px;font-size:14px}.assignment-meta{display:flex;gap:20px;margin-bottom:16px;font-size:13px;color:#8892b0}.assignment-actions{display:flex;gap:8px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#0a192f;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:24px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-content.large{max-width:800px}.modal-content{position:relative}.modal-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#8892b0;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:#ff646433;border-color:#ff646466;color:#ff6b6b}.modal-content h3{color:#e6f1ff;margin:0 0 20px;padding-right:30px}.modal-error-message{background:#ff444426;border:1px solid rgba(255,68,68,.4);border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#ff6b6b;font-size:14px;line-height:1.5;display:flex;align-items:center;gap:8px}.modal-error-message:before{content:"⚠";font-size:18px;flex-shrink:0}.form-group{margin-bottom:16px}.form-group label{display:block;color:#8892b0;margin-bottom:8px;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e6f1ff;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#ffffff4d}.form-group textarea{resize:vertical;min-height:80px}.form-info{margin:16px 0;padding:12px;background:#0003;border-radius:6px;font-size:13px;color:#8892b0}.form-info p{margin:4px 0}.file-selected{margin-top:8px;padding:8px 12px;background:#6496ff1a;border:1px solid rgba(100,150,255,.2);border-radius:4px;font-size:13px;color:#a0c4ff;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-selected .file-name{color:#00d4ff;word-break:break-all}.file-selected .file-size{color:#8892b0;font-size:12px}.remove-file-btn{padding:4px 10px;background:#ff646426;border:1px solid rgba(255,100,100,.3);color:#ff6b6b;border-radius:3px;cursor:pointer;font-size:12px;transition:all .2s ease}.remove-file-btn:hover:not(:disabled){background:#ff646440;border-color:#ff6b6b}.remove-file-btn:disabled{opacity:.5;cursor:not-allowed}.form-hint{margin-top:6px;font-size:12px;color:#8892b0}.file-link{color:#00d4ff;text-decoration:none;transition:color .2s ease}.file-link:hover{color:#4de8ff;text-decoration:underline}.no-file{color:#5a6a8a}.submission-file{margin-top:12px;padding-top:12px;border-top:1px solid rgba(100,150,255,.1)}.submission-file h4{margin-bottom:8px;color:#a0c4ff;font-size:13px}.form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-group.checkbox input{width:auto}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.upload-progress{margin:16px 0;padding:12px;background:#00d4ff0d;border:1px solid rgba(0,212,255,.2);border-radius:8px}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:#8892b0}.progress-label span:last-child{color:#00d4ff;font-weight:600}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#64ffda);border-radius:4px;transition:width .3s ease}.progress-hint{margin-top:8px;font-size:12px;color:#64ffda;text-align:center}.confirm-dialog{max-width:320px;padding:20px}.confirm-message{color:#e6f1ff;font-size:15px;line-height:1.5;margin:0 0 20px;text-align:left}.action-btn.danger{background:#f44;color:#fff}.action-btn.danger:hover{background:#f66}.assignment-detail-info{background:#0064c81a;border:1px solid rgba(0,180,255,.2);border-radius:6px;padding:14px 18px;margin-bottom:20px}.assignment-detail-info .detail-row{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.assignment-detail-info .detail-label{color:#8892b0;font-size:13px}.assignment-detail-info .detail-value{color:#e6f1ff;font-size:13px;font-weight:500;margin-right:12px}.assignment-detail-info .detail-value.expired{color:#ff6b6b}.assignment-detail-info .detail-desc{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,180,255,.15)}.assignment-detail-info .detail-desc p{color:#b8c5d6;font-size:13px;line-height:1.6;margin:6px 0 0;white-space:pre-wrap}.submissions-summary{color:#8892b0;font-size:13px;margin-bottom:12px;padding:8px 12px;background:#0003;border-radius:4px}.submission-content{margin-bottom:20px}.submission-content h4{color:#8892b0;margin:0 0 8px;font-size:14px}.content-preview{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:16px;color:#e6f1ff;white-space:pre-wrap;max-height:200px;overflow-y:auto}.grade-result{background:#64c8641a;border:1px solid rgba(100,200,100,.2);border-radius:6px;padding:16px;margin-bottom:20px}.grade-result p{margin:0 0 8px;color:#e6f1ff}.grade-result strong{color:#8bc88b;font-size:18px}.submissions-list{max-height:400px;overflow-y:auto}@media(max-width:768px){.training-header{flex-direction:column;gap:16px;align-items:stretch}.training-tabs{overflow-x:auto}.training-actions{justify-content:center}.class-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:0}.assignment-header{flex-direction:column;gap:8px}.assignment-meta{flex-wrap:wrap;gap:12px}}.rankings-section,.class-rankings-section{padding:20px 0}.class-rankings-section h2,.rankings-section h3{color:#e6f1ff;margin:0 0 8px}.rankings-desc{color:#8892b0;font-size:14px;margin:0 0 20px}.rankings-table{width:100%}.rankings-table th{text-align:center}.rankings-table td{text-align:center;vertical-align:middle}.rankings-table .class-name{text-align:left;font-weight:500;color:#e6f1ff}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:700;font-size:14px}.rank-badge.rank-1{background:linear-gradient(135deg,gold,#ffb700);color:#1a1a2e;box-shadow:0 2px 8px #ffd7004d}.rank-badge.rank-2{background:linear-gradient(135deg,silver,#a0a0a0);color:#1a1a2e;box-shadow:0 2px 8px #c0c0c04d}.rank-badge.rank-3{background:linear-gradient(135deg,#cd7f32,#b87333);color:#1a1a2e;box-shadow:0 2px 8px #cd7f324d}.rank-badge.rank-other{background:#ffffff1a;color:#8892b0}.score{font-weight:500}.score.ctf-score{color:#64ffda}.score.homework-score{color:#a0c4ff}.score.video-score{color:#ff9f43}.score.total-score{color:gold;font-weight:600}.score.avg-score{color:#c8a0ff}.member-info{display:flex;align-items:center;gap:8px;justify-content:flex-start}.member-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.rankings-table tr.current-user{background:#64ffda14}.rankings-table tr.current-user td{color:#64ffda}.class-rankings{margin-top:20px}@media(max-width:768px){.rankings-table{font-size:12px}.rank-badge{width:24px;height:24px;font-size:12px}.member-avatar{width:24px;height:24px}}.invitation-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:6px;background:#ff6b6b;border-radius:10px;font-size:11px;font-weight:700;color:#fff}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-badge.role-student{background:#6496ff26;color:#a0c4ff}.role-badge.role-assistant{background:#ffc86426;color:#ffc864}.role-badge.role-teacher{background:#64ffda26;color:#64ffda}.invitations-section{padding:20px 0}.invitations-section h2{color:#e6f1ff;margin:0 0 20px}.invitation-list{display:flex;flex-direction:column;gap:16px}.invitation-card{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px}.invitation-card.status-pending{border-left:3px solid #ffc864}.invitation-card.status-accepted{border-left:3px solid #64ffda;opacity:.7}.invitation-card.status-rejected,.invitation-card.status-expired,.invitation-card.status-cancelled{border-left:3px solid #666;opacity:.5}.invitation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.invitation-from{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inviter-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.inviter-name{font-weight:600;color:#e6f1ff}.invitation-action{color:#8892b0}.invitation-from .class-name{font-weight:600;color:#64ffda}.invitation-status{padding:4px 10px;border-radius:4px;font-size:12px}.invitation-status.status-pending{background:#ffc86426;color:#ffc864}.invitation-status.status-accepted{background:#64ffda26;color:#64ffda}.invitation-status.status-rejected,.invitation-status.status-expired,.invitation-status.status-cancelled{background:#96969626;color:#969696}.invitation-body{margin-bottom:12px}.invitation-role{margin-bottom:8px;color:#8892b0;font-size:14px}.invitation-message{color:#e6f1ff;font-style:italic;margin:8px 0;padding:8px 12px;background:#ffffff08;border-radius:4px}.invitation-time{font-size:12px;color:#8892b0}.invitation-actions{display:flex;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.modal-desc{color:#8892b0;margin-bottom:20px}.modal-desc strong{color:#e6f1ff}.role-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.role-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.role-option:hover{background:#ffffff0d;border-color:#fff3}.role-option.active{background:#64ffda1a;border-color:#64ffda4d}.role-icon{font-size:24px}.role-name{font-weight:600;color:#e6f1ff;font-size:14px}.role-desc{color:#8892b0;font-size:12px;margin-left:auto}.user-suggestions{position:absolute;top:100%;left:0;right:0;max-height:250px;overflow-y:auto;background:#1e2a3f;border:1px solid rgba(100,149,237,.5);border-radius:6px;margin-top:4px;z-index:1000;box-shadow:0 4px 20px #0009,0 0 0 1px #6495ed33}.user-suggestion-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.08)}.user-suggestion-item:last-child{border-bottom:none}.user-suggestion-item:hover{background:#6495ed33}.suggestion-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.suggestion-info{flex:1;min-width:0}.suggestion-username{font-weight:600;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-nickname{font-size:12px;color:#b8c5d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.no-results{padding:16px 12px;text-align:center;color:#b8c5d9;font-size:14px}.user-search-loading{font-size:12px;color:#64b5f6;margin-top:5px;font-style:italic}.export-btn{background:linear-gradient(135deg,#4caf50,#45a049)!important;border:1px solid rgba(76,175,80,.5)!important;color:#fff!important}.export-btn:hover{background:linear-gradient(135deg,#45a049,#388e3c)!important;box-shadow:0 4px 12px #4caf5066}.export-modal{max-width:450px}.export-tip{color:#8892b0;font-size:13px;margin-bottom:16px}.export-class-list{max-height:300px;overflow-y:auto;background:#0003;border-radius:8px;padding:12px;margin-bottom:20px}.export-select-all{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#64ffda1a;border:1px solid rgba(100,255,218,.2);border-radius:6px;cursor:pointer;margin-bottom:10px;font-weight:600;color:#64ffda}.export-select-all:hover{background:#64ffda26}.export-class-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;margin-bottom:8px;transition:all .15s}.export-class-item:hover{background:#ffffff14;border-color:#fff3}.export-class-item input[type=checkbox],.export-select-all input[type=checkbox]{width:16px;height:16px;accent-color:#64ffda}.export-class-name{flex:1;color:#e6f1ff;font-size:14px}.export-class-count{color:#8892b0;font-size:12px;background:#ffffff1a;padding:2px 8px;border-radius:4px}.export-modal .empty-message{text-align:center;color:#8892b0;padding:20px}.ai-assistant-trigger{position:fixed;bottom:24px;left:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0f8);border:none;cursor:grab;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00d4ff66;transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease;z-index:1000;-webkit-user-select:none;user-select:none;touch-action:none}.ai-assistant-trigger:hover{transform:scale(1.1);box-shadow:0 6px 30px #00d4ff80}.ai-assistant-trigger.dragging{cursor:grabbing;transform:scale(1.15);box-shadow:0 8px 40px #00d4ff99;transition:none}.ai-assistant-trigger.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.ai-assistant-trigger svg{width:28px;height:28px;color:#000}.ai-assistant-panel{position:fixed;bottom:24px;left:24px;width:500px;height:70vh;max-height:700px;min-height:400px;background:#1a1f2e;border-radius:16px;box-shadow:0 10px 50px #0009;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(20px) scale(.95);pointer-events:none;transition:all .3s ease;z-index:1001;border:1px solid #2a3142}.ai-assistant-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.ai-assistant-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#222837;border-bottom:1px solid #2a3142}.header-info{display:flex;align-items:center;gap:12px}.ai-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0f8);display:flex;align-items:center;justify-content:center}.ai-avatar svg{width:24px;height:24px;color:#000}.header-text{display:flex;flex-direction:column}.assistant-name{font-weight:600;color:#fff;font-size:1rem}.assistant-status{font-size:.75rem;color:#00ff64}.header-actions{display:flex;align-items:center;gap:8px}.size-btn,.clear-btn,.close-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.size-btn:hover,.clear-btn:hover,.close-btn:hover{background:#ffffff1a}.size-btn:hover{background:#00d4ff33}.clear-btn:hover{background:#ff646433}.size-btn svg,.clear-btn svg,.close-btn svg{width:18px;height:18px;color:#8892a8}.size-btn:hover svg{color:#00d4ff}.clear-btn:hover svg{color:#ff6464}.ai-assistant-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;background:#1a1f2e}.ai-assistant-messages::-webkit-scrollbar{width:6px}.ai-assistant-messages::-webkit-scrollbar-track{background:transparent}.ai-assistant-messages::-webkit-scrollbar-thumb{background:#3a4255;border-radius:3px}.message{display:flex;gap:10px;max-width:90%}.message.user{flex-direction:row-reverse;align-self:flex-end}.message.assistant{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0f8);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-avatar svg{width:18px;height:18px;color:#000}.message-content{display:flex;flex-direction:column;gap:4px}.message-text{padding:12px 16px;border-radius:16px;font-size:.9rem;line-height:1.5;word-break:break-word}.message.assistant .message-text{background:#252b3b;color:#e0e6f0;border-bottom-left-radius:4px}.message.user .message-text{background:linear-gradient(135deg,#00d4ff,#0f8);color:#000;border-bottom-right-radius:4px}.message-meta{display:flex;align-items:center;gap:8px;padding:0 4px}.message.user .message-meta{flex-direction:row-reverse}.message-time{font-size:.7rem;color:#6b7588}.message-source{font-size:.65rem;padding:2px 6px;border-radius:4px;font-weight:500}.message-source.knowledge_base{background:#00d4ff33;color:#00d4ff}.message-source.api{background:#ffa50033;color:orange}.message-source.fallback{background:#80808033;color:#888}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:#252b3b;border-radius:16px 16px 16px 4px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#6b7588;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.typing-cursor{display:inline-block;color:#00d4ff;font-weight:700;animation:blink .8s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-assistant-input{display:flex;gap:10px;padding:16px;border-top:1px solid #2a3142;background:#222837}.ai-assistant-input input{flex:1;padding:12px 16px;background:#1a1f2e;border:1px solid #3a4255;border-radius:24px;color:#e0e6f0;font-size:.9rem;outline:none;transition:border-color .3s ease}.ai-assistant-input input:focus{border-color:#00d4ff}.ai-assistant-input input::placeholder{color:#6b7588}.voice-btn{width:44px;height:44px;border-radius:50%;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.voice-btn:hover:not(:disabled){background:#00d4ff33;border-color:#00d4ff}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn svg{width:22px;height:22px;color:#00d4ff}.voice-btn.listening{background:#ff646433;border-color:#ff6464;animation:pulse-recording 1.5s infinite}.voice-btn.listening svg{color:#ff6464}@keyframes pulse-recording{0%,to{box-shadow:0 0 #ff646466}50%{box-shadow:0 0 0 8px #ff646400}}.send-btn{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0f8);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #00d4ff66}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{width:20px;height:20px;color:#000}.code-block{margin:8px 0;border-radius:8px;overflow:hidden;background:#1e1e2e;border:1px solid #3a4255;font-family:Consolas,Monaco,Courier New,monospace}.code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#2d2d3d;border-bottom:1px solid #3a4255}.code-language{font-size:.75rem;color:#888;text-transform:uppercase;font-weight:500}.copy-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid #4a5568;border-radius:4px;color:#a0aec0;font-size:.7rem;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:#3a4255;border-color:#00d4ff;color:#00d4ff}.copy-btn svg{width:14px;height:14px}.code-content{margin:0;padding:12px;overflow-x:auto;overflow-y:auto;max-height:300px;font-size:.8rem;line-height:1.5;color:#e0e6f0;background:#1e1e2e}.code-content::-webkit-scrollbar{height:6px}.code-content::-webkit-scrollbar-track{background:#1e1e2e}.code-content::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.code-content code{font-family:inherit;white-space:pre}.code-content.hljs{background:#1e1e2e!important;padding:12px!important}.markdown-table-wrapper{margin:12px 0;overflow-x:auto;border-radius:8px;border:1px solid #3a4255}.markdown-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#1e1e2e}.markdown-table th{background:linear-gradient(135deg,#00d4ff26,#00ff881a);color:#00d4ff;font-weight:600;padding:10px 12px;text-align:left;border-bottom:2px solid rgba(0,212,255,.3);white-space:nowrap}.markdown-table td{padding:8px 12px;color:#e0e6f0;border-bottom:1px solid #2a3142}.markdown-table tbody tr:hover{background:#00d4ff0d}.markdown-table tbody tr:last-child td{border-bottom:none}.ai-assistant-panel.large{width:650px;height:80vh;max-height:800px}.ai-assistant-panel.fullscreen{width:calc(100vw - 48px);height:calc(100vh - 48px);max-height:none;bottom:24px;left:24px;border-radius:16px}.ai-assistant-panel.fullscreen .code-content{max-height:500px}@media(max-width:480px){.ai-assistant-panel{width:calc(100vw - 20px);height:calc(100vh - 100px);bottom:10px;left:10px;border-radius:12px}.ai-assistant-trigger{bottom:16px;left:16px;width:50px;height:50px}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark: #0a0e1a;--bg-darker: #060912;--bg-card: rgba(8, 16, 32, .9);--primary: #00d4ff;--primary-dim: #0099cc;--primary-glow: rgba(0, 212, 255, .4);--primary-border: rgba(0, 212, 255, .5);--accent-gold: #d4a500;--text: #e0f0ff;--text-secondary: #7a9cc6;--text-dim: #4a6a8a;--border: rgba(0, 180, 255, .3);--border-light: rgba(0, 180, 255, .15)}body{font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh;overflow-x:hidden}.cyber-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:radial-gradient(ellipse at 50% 100%,rgba(0,100,180,.2) 0%,transparent 60%),radial-gradient(ellipse at 0% 50%,rgba(0,60,120,.1) 0%,transparent 50%),radial-gradient(ellipse at 100% 50%,rgba(0,80,140,.1) 0%,transparent 50%),linear-gradient(180deg,#050810,#0a1225,#0d1a35)}.cyber-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,180,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,180,255,.03) 1px,transparent 1px);background-size:60px 60px}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:70px;background:transparent;position:relative;z-index:100}.nav-left,.nav-right{display:flex;align-items:center;gap:40px}.nav-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px}.nav-logo{width:52px;height:52px;border-radius:50%;border:3px solid var(--accent-gold);box-shadow:0 0 20px #d4a50080,0 0 40px #d4a5004d,inset 0 0 15px #d4a50033;padding:4px;background:radial-gradient(circle,#1e190ae6,#0a0a14f2)}.nav-title{font-size:24px;font-weight:700;color:var(--primary);text-shadow:0 0 20px var(--primary-glow);letter-spacing:3px;display:flex;align-items:center}.title-artistic{font-size:36px;font-weight:700;letter-spacing:8px;background:linear-gradient(135deg,#0ff,#00d4ff,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(0,255,255,.8),0 0 50px rgba(0,255,255,.5),0 4px 10px rgba(0,0,0,.6);filter:drop-shadow(0 0 25px rgba(0,255,255,.6));font-family:STKaiti,KaiTi,楷体,SimKai,serif;position:relative}.title-divider{color:var(--primary);opacity:.6;margin:0 8px;font-size:24px}.title-subtitle{color:var(--text-secondary);font-size:18px;font-weight:500;letter-spacing:2px;opacity:.8}.nav-link{color:var(--text-secondary);font-size:16px;text-decoration:none;padding:8px 0;position:relative;transition:all .3s ease;letter-spacing:2px}.nav-link:hover{color:var(--primary)}.nav-link.active{color:var(--accent-gold);text-shadow:0 0 10px rgba(212,165,0,.5)}.nav-link.active:after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--accent-gold);box-shadow:0 0 10px var(--accent-gold)}.nav-lang{color:var(--text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px}.nav-lang .arrow{font-size:10px}.user-avatar{width:52px;height:52px;border-radius:50%;border:3px solid var(--accent-gold);box-shadow:0 0 15px #d4a50066,0 0 30px #d4a50033;overflow:hidden;cursor:pointer;padding:3px;background:radial-gradient(circle,#1e190ae6,#0a0a14f2)}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.shell{max-width:1200px;margin:0 auto;padding:20px 40px 40px;position:relative;z-index:1}.home-page{display:flex;flex-direction:column;gap:30px}.cyber-panel{position:relative;background:#050f23d9;border:1px solid var(--border);margin:20px auto;max-width:1400px;width:calc(100% - 80px)}.cyber-panel:before{content:"";position:absolute;top:-1px;left:-1px;width:30px;height:30px;border-left:2px solid var(--primary);border-top:2px solid var(--primary)}.cyber-panel:after{content:"";position:absolute;top:-1px;right:-1px;width:30px;height:30px;border-right:2px solid var(--primary);border-top:2px solid var(--primary)}.cyber-panel-content{position:relative}.cyber-panel-content:before{content:"";position:absolute;bottom:-1px;left:-1px;width:30px;height:30px;border-left:2px solid var(--primary);border-bottom:2px solid var(--primary)}.cyber-panel-content:after{content:"";position:absolute;bottom:-1px;right:-1px;width:30px;height:30px;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary)}.cyber-panel-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;border-bottom:none}.cyber-panel-header h2{font-size:18px;font-weight:600;color:var(--primary);letter-spacing:6px}.panel-arrow{background:transparent;border:none;color:var(--primary);font-size:24px;cursor:pointer;padding:0 8px;transition:all .3s ease;font-family:serif}.panel-arrow:hover{text-shadow:0 0 10px var(--primary-glow)}.cyber-panel-content{padding:50px 40px;min-height:220px;display:flex;align-items:center;justify-content:center}.empty-state{text-align:center;color:var(--primary)}.empty-icon{width:100px;height:100px;margin:0 auto 20px}.empty-icon svg{width:100%;height:100%;stroke:var(--primary);opacity:.6}.empty-state p{font-size:14px;color:var(--primary);letter-spacing:2px;opacity:.8}.partner-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:10px 0}.partner-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 30px;background:#00d4ff08;border:1px solid rgba(0,212,255,.15);border-radius:8px;min-width:160px}.partner-logo-box{width:100px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.partner-logo-box img{max-width:100%;max-height:100%;object-fit:contain}.partner-name{font-size:13px;color:var(--text-secondary);letter-spacing:1px;text-align:center}.home-footer{display:flex;justify-content:space-between;align-items:flex-start;padding:40px 0 20px;margin-top:20px}.footer-left h3{font-size:22px;font-weight:600;color:var(--text);margin-bottom:12px;letter-spacing:2px}.footer-left p{font-size:13px;color:var(--text-secondary);margin-bottom:8px;letter-spacing:1px}.footer-left .beian{color:var(--primary);font-size:12px}.footer-right{display:flex;align-items:center;gap:16px}.footer-logo{width:60px;height:60px;border-radius:8px;opacity:.8}.footer-brand-text{display:flex;flex-direction:column;gap:4px}.footer-title{font-size:14px;color:var(--primary);letter-spacing:1px}.footer-sub{font-size:12px;color:var(--text-secondary)}@media(max-width:1024px){.nav-center{position:static;transform:none}.top-nav{flex-wrap:wrap;height:auto;padding:15px 20px;gap:15px}.nav-left,.nav-right{gap:20px}}@media(max-width:768px){.top-nav{flex-direction:column;align-items:center}.nav-left,.nav-right{flex-wrap:wrap;justify-content:center}.home-footer{flex-direction:column;gap:30px;text-align:center}.footer-right{justify-content:center}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-darker)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dim)}.page-header{padding:40px 0 30px;margin-bottom:30px}.page-header h1{font-size:28px;font-weight:700;color:var(--primary);letter-spacing:4px}.page-header p{color:var(--text-secondary);margin-top:8px}.card{background:var(--bg-card);border:1px solid var(--border);padding:24px}.btn-primary{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff;border:none;padding:12px 32px;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:2px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 0 20px var(--primary-glow)}.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--primary-border);padding:12px 32px;font-size:14px;cursor:pointer;letter-spacing:2px;transition:all .3s ease}.btn-secondary:hover{background:#00d4ff1a}.contest-tabs{display:flex;gap:8px;margin-bottom:30px}.tab-btn{padding:10px 24px;font-size:14px;background:transparent;border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);transition:all .3s ease}.tab-btn.active{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff;border-color:var(--primary)}.contest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.contest-card-new{background:var(--bg-card);border:1px solid var(--border);padding:24px}.contest-card-header{display:flex;justify-content:space-between;margin-bottom:16px}.contest-type,.contest-status{font-size:12px;padding:4px 12px}.type-ctf{background:#00d4ff26;color:var(--primary);border:1px solid rgba(0,212,255,.3)}.type-awd{background:#ff336626;color:#f36;border:1px solid rgba(255,51,102,.3)}.status-ongoing{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.status-signup{background:#00d4ff26;color:var(--primary);border:1px solid rgba(0,212,255,.3)}.contest-badge{font-size:11px;padding:3px 10px;border-radius:4px;font-weight:500}.badge-external{background:#ffa50026;color:orange;border:1px solid rgba(255,165,0,.3)}.contest-title{font-size:18px;font-weight:600;margin-bottom:10px}.contest-description{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.contest-info{display:flex;gap:24px;margin-bottom:20px;padding-top:16px;border-top:1px solid var(--border-light)}.info-label{font-size:12px;color:var(--text-dim)}.info-value{font-size:14px;font-weight:500}.contest-card-footer{display:flex;gap:12px}.contest-btn{flex:1;padding:10px 16px;font-size:14px;cursor:pointer;border:none}.contest-btn.btn-primary{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff}.contest-btn.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.challenges-page{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr;gap:20px 30px;padding:30px 0}.challenges-page>.view-mode-tabs{grid-column:1 / -1}.challenges-sidebar{background:var(--bg-card);border:1px solid var(--border);height:fit-content;position:sticky;top:90px}.sidebar-header{padding:16px 20px;border-bottom:1px solid var(--border-light)}.sidebar-header h3{font-size:15px;color:var(--primary)}.category-list{padding:8px 0}.category-item{border-bottom:1px solid var(--border-light)}.category-header{display:flex;align-items:center;gap:10px;padding:12px 20px;cursor:pointer;font-size:14px}.category-header.active{background:#00d4ff1a;color:var(--primary)}.category-name{flex:1}.subcategory-list{background:#0003;padding:8px 0}.subcategory-item{display:flex;justify-content:space-between;padding:8px 20px 8px 40px;font-size:13px;color:var(--text-secondary);cursor:pointer}.subcategory-item.active{color:var(--primary)}.challenges-main{min-width:0}.challenges-header{display:flex;justify-content:space-between;margin-bottom:20px}.challenges-header h2{font-size:20px;color:var(--primary)}.difficulty-filter{display:flex;gap:8px;margin-bottom:20px;padding:8px 0;border-bottom:1px solid var(--border-light)}.difficulty-tab{padding:6px 16px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.difficulty-tab:hover{background:#00d4ff1a;border-color:var(--primary-border);color:var(--primary)}.difficulty-tab.active{background:#00d4ff26;border-color:var(--primary);color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.filter-row{display:flex;gap:40px;margin-bottom:20px;padding:12px 0;flex-wrap:wrap;align-items:center}.filter-group{display:flex;align-items:center;gap:10px}.filter-label{color:var(--text-secondary);font-size:13px;font-weight:500;white-space:nowrap;min-width:40px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:5px 14px;background:#08102099;border:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{background:#00d4ff14;border-color:var(--primary-border);color:var(--text)}.filter-btn.active{background:#00d4ff1f;border-color:var(--primary);color:var(--primary);font-weight:500}.view-mode-tabs{display:flex;gap:0;margin-bottom:20px;grid-column:1 / -1;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;overflow:hidden;width:fit-content}.view-mode-tab{padding:10px 24px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.view-mode-tab:hover{background:#00d4ff1a;color:var(--text)}.view-mode-tab.active{background:#00d4ff26;color:var(--primary);font-weight:500}.training-sidebar{min-height:400px}.no-projects{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.project-description{color:var(--text-secondary);font-size:14px;margin:8px 0 0}.chapters-container{display:flex;flex-direction:column;gap:30px}.chapter-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.chapter-title{font-size:18px;color:var(--primary);margin:0 0 8px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.chapter-description{color:var(--text-secondary);font-size:13px;margin:0 0 16px}.training-challenges-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.training-challenge-row{display:flex;align-items:center;gap:16px;background:#0a1423cc;border:1px solid var(--border);border-radius:6px;padding:12px 16px;cursor:pointer;transition:all .2s ease}.training-challenge-row:hover{border-color:var(--primary-border);background:#00ffff0d}.training-challenge-row.solved{border-color:#00ff884d;background:#00ff880d}.training-challenge-row .challenge-title{flex:1;color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-challenge-row .challenge-difficulty{font-size:12px;font-weight:500;min-width:40px;text-align:center}.training-challenge-row .challenge-score{color:var(--primary);font-size:13px;font-weight:600;min-width:50px;text-align:right}.training-challenge-row .challenge-solves{color:var(--text-secondary);font-size:12px;min-width:70px;text-align:right}.training-challenge-row .solved-badge{background:#0f83;color:#0f8;font-size:11px;padding:3px 8px;border-radius:4px;white-space:nowrap}.no-challenges{color:var(--text-secondary);text-align:center;padding:20px}.training-challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:16px}.training-challenge-card{background:#0a1423e6;border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.training-challenge-card:hover{border-color:var(--primary-border);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.training-challenge-card.solved{border-color:#00ff884d;background:linear-gradient(135deg,rgba(0,255,136,.1) 0%,transparent 100%)}.training-challenge-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:8px}.training-challenge-card .challenge-title{color:var(--text);font-size:14px;font-weight:500;line-height:1.4;flex:1;word-break:break-word}.training-challenge-card .solved-badge{background:#0f83;color:#0f8;font-size:10px;padding:2px 6px;border-radius:4px;white-space:nowrap}.training-challenge-card .card-body{text-align:center;padding:12px 0}.training-challenge-card .challenge-score{color:var(--text);font-size:28px;font-weight:700}.training-challenge-card .card-footer{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:12px}.training-challenge-card .challenge-difficulty{font-size:12px;letter-spacing:1px}.training-challenge-card .challenge-solves{color:var(--text-secondary)}.challenges-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.challenge-item{display:flex;flex-direction:column;gap:12px;padding:18px;background:#0a1423e6;border:1px solid var(--border);border-radius:6px;transition:border-color .2s ease,background .2s ease;cursor:pointer}.challenge-item:hover{border-color:var(--primary-border);background:#0f1c2df2}.challenge-item.challenge-solved{background:#00281e80;border-color:#00ff884d}.challenge-item.challenge-solved:hover{background:#00322399;border-color:#00ff8880}.challenge-info{flex:1}.challenge-info h4{font-size:16px;font-weight:600;margin-bottom:10px;color:var(--text);line-height:1.4}.challenge-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.challenge-tag{font-size:11px;padding:4px 10px;background:#00d4ff1f;border:1px solid rgba(0,212,255,.3);border-radius:4px;color:var(--primary);font-weight:500}.challenge-tag.container-tag{background:#ffaa001f;border-color:#fa06;color:#fa0}.challenge-solved-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;margin:16px 0;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:4px;color:#0f8;font-size:14px}.solved-check{font-size:18px;font-weight:700}.challenge-stats{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.challenge-stats .challenge-solves{font-size:12px;color:var(--text-secondary)}.challenge-stats .challenge-score{font-size:14px;font-weight:600;color:var(--primary);padding:4px 12px;background:#00d4ff1a;border-radius:4px}.card-favorite-btn{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;transition:all .2s;line-height:1;opacity:.6}.card-favorite-btn:hover,.card-favorite-btn.favorited{color:#ffc107;opacity:1}.card-favorite-btn:disabled{opacity:.3;cursor:not-allowed}.challenge-btn{padding:8px 16px;background:linear-gradient(135deg,#00d4ff33,#06f3);color:var(--primary);border:1px solid var(--primary-border);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease}.challenge-btn:hover{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff;border-color:transparent}.challenge-container-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffaa001a;border:1px solid rgba(255,170,0,.4);border-radius:4px;color:#fa0;font-size:11px;cursor:pointer;transition:all .3s ease}.challenge-container-btn:hover{background:#fa03;border-color:#fa0;transform:scale(1.02)}.challenge-container-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.challenge-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.diff{font-size:12px;padding:2px 8px}.diff-level-1{background:#00ff8826;color:#0f8}.diff-level-2{background:#64dc7826;color:#64dc78}.diff-level-3{background:#ffc80026;color:#ffc800}.diff-level-4{background:#ff643226;color:#ff6432}.diff-level-5{background:#ff336626;color:#f36}.podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;margin-bottom:40px;padding:40px 0 20px}.podium-card{width:200px;padding:24px 20px;text-align:center;background:linear-gradient(180deg,#1e283ce6,#141c2df2);border:1px solid var(--border);border-radius:12px;transition:transform .3s ease,box-shadow .3s ease}.podium-card:hover{transform:translateY(-5px)}.podium-1{border-color:#ffd70080;box-shadow:0 8px 32px #ffd70026;transform:scale(1.05)}.podium-1:hover{transform:scale(1.05) translateY(-5px)}.podium-2{border-color:#c0c0c066;box-shadow:0 6px 24px #c0c0c01a}.podium-3{border-color:#cd7f3266;box-shadow:0 6px 24px #cd7f321a}.podium-avatar{position:relative;width:80px;height:80px;margin:0 auto 16px}.podium-avatar .avatar-img{width:80px;height:80px;border-radius:50%;border:3px solid var(--border)}.podium-1 .podium-avatar .avatar-img{border-color:#ffd70099}.podium-2 .podium-avatar .avatar-img{border-color:#c0c0c099}.podium-3 .podium-avatar .avatar-img{border-color:#cd7f3299}.avatar-placeholder{width:80px;height:80px;background:var(--bg-darker);border:3px solid var(--border);border-radius:50%;margin:0 auto}.podium-rank{position:absolute;bottom:-6px;right:-6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border-radius:50%;box-shadow:0 2px 8px #0000004d}.podium-1 .podium-rank{background:linear-gradient(135deg,gold,#ffb800);color:#000}.podium-2 .podium-rank{background:linear-gradient(135deg,#e0e0e0,#a0a0a0);color:#000}.podium-3 .podium-rank{background:linear-gradient(135deg,#cd7f32,#a66428);color:#fff}.podium-name{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.podium-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.podium-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.podium-stat .stat-label{font-size:12px;color:var(--text-dim)}.podium-stat .stat-value{font-size:16px;font-weight:700;color:var(--primary)}.rank-filters{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.podium-level{font-size:12px;font-weight:500;margin-top:2px;margin-bottom:8px}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.col-level{text-align:center;font-size:13px;font-weight:500}.rank-row-new.current-user{background:#00d4ff14;border-left:3px solid var(--primary);margin-left:-3px}.rank-row-new.current-user:hover{background:#00d4ff1f}.podium-card.current-user{border-color:var(--primary);box-shadow:0 0 25px #00d4ff66}.podium-card.current-user .podium-avatar .avatar-img{border-color:var(--primary)}.you-tag{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--primary);color:var(--bg-dark);font-size:10px;font-weight:600;border-radius:3px}.rank-table-new{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.rank-header-new{display:grid;grid-template-columns:70px 1fr 80px 80px 80px 100px;padding:14px 24px;background:#00d4ff0d;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.rank-row-new{display:grid;grid-template-columns:70px 1fr 80px 80px 80px 100px;padding:14px 24px;align-items:center;border-bottom:1px solid var(--border-light);transition:background .2s ease}.rank-row-new:hover{background:#00d4ff08}.rank-row-new:last-child{border-bottom:none}.col-rank{font-weight:600;font-size:15px;color:var(--text-dim)}.user-info{display:flex;align-items:center;gap:12px}.avatar-small{width:40px;height:40px;background:var(--bg-darker);border:2px solid var(--border);border-radius:50%;flex-shrink:0}.avatar-small.avatar-img,.avatar-small img{width:40px;height:40px;object-fit:cover}.user-text{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:500;font-size:14px}.user-sig{font-size:11px;color:var(--text-dim)}.col-solves,.col-blood,.col-score{text-align:center;font-size:14px;font-weight:500}.col-score{font-weight:700;color:var(--primary)}.auth-container{display:flex;justify-content:center;padding:60px 0}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);padding:40px}.auth-card h1{font-size:24px;text-align:center;margin-bottom:30px;color:var(--primary)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;margin-bottom:8px;color:var(--text-secondary)}.form-group input{width:100%;padding:12px 14px;font-size:14px;border:1px solid var(--border);background:var(--bg-darker);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--primary)}.form-hint{margin-top:6px;font-size:12px;color:var(--text-dim)}.auth-footer{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.auth-footer a{color:var(--primary);text-decoration:none}.about-content{max-width:700px}.about-section{margin-bottom:32px}.about-section h2{font-size:18px;color:var(--primary);margin-bottom:12px}.about-section p{color:var(--text-secondary);line-height:1.7}.feature-list{list-style:none}.feature-list li{padding:10px 0;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}@media(max-width:1024px){.contest-grid{grid-template-columns:1fr}}@media(max-width:900px){.challenges-page{grid-template-columns:1fr}.podium{flex-direction:column;align-items:center}}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;width:100%}.toolbar-right{display:flex;align-items:center;gap:12px}.cyber-btn{padding:10px 24px;font-size:14px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;letter-spacing:2px;transition:all .3s ease}.cyber-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,#0066ff 100%);color:#fff;border-color:var(--primary)}.cyber-btn.primary:hover{box-shadow:0 0 20px var(--primary-glow)}.cyber-btn:hover{border-color:var(--primary);color:var(--primary)}.cyber-input{padding:10px 16px;font-size:14px;border:1px solid var(--border);background:var(--bg-darker);color:var(--text);min-width:200px;transition:all .3s ease}.cyber-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 10px #00d4ff33}.cyber-input::placeholder{color:var(--text-dim)}.cyber-table-wrapper{width:100%;display:flex;flex-direction:column}.cyber-table{width:100%;border-collapse:collapse}.cyber-table thead{background:#00d4ff14}.cyber-table th{padding:14px 12px;text-align:left;font-size:13px;font-weight:500;color:var(--primary);border-bottom:1px solid var(--border);letter-spacing:1px}.cyber-table td{padding:14px 12px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border-light)}.cyber-table tbody tr:hover{background:#00d4ff0d}.cyber-panel-content.with-table{flex-direction:column;align-items:stretch;justify-content:flex-start}.global-footer{text-align:center;padding:30px 20px;color:var(--primary);font-size:12px;letter-spacing:1px;opacity:.8}.cyber-panel-content{padding:30px 40px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.cyber-panel-content>.empty-state{margin-top:40px}.challenges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.challenges-header-right{display:flex;align-items:center;gap:16px}.challenges-count{color:var(--text-secondary);font-size:14px}.toolbar-title{color:var(--text-secondary);font-size:14px;letter-spacing:1px}.toolbar-left{display:flex;align-items:center;gap:12px}.full-width{width:100%}a.user-avatar{display:block}.error-message{background:#ff336626;color:#f36;border:1px solid rgba(255,51,102,.3);padding:12px 16px;margin-bottom:16px;font-size:14px;border-radius:4px}.cyber-btn:disabled{opacity:.6;cursor:not-allowed}.profile-container{max-width:1200px;margin:0 auto;padding:20px}.profile-header{display:flex;align-items:center;gap:30px;background:var(--bg-card);border:1px solid var(--border);padding:30px;margin-bottom:20px}.profile-avatar-section{flex-shrink:0}.profile-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);cursor:pointer;position:relative}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar .avatar-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:12px;opacity:0;transition:opacity .3s}.profile-avatar:hover .avatar-overlay{opacity:1}.profile-info{flex:1}.profile-username{font-size:24px;color:var(--primary);margin:0 0 10px}.profile-team{color:var(--text-secondary);margin:0}.profile-stats{display:flex;gap:40px}.stat-item{text-align:center}.stat-icon{font-size:24px;margin-bottom:5px}.stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:5px}.stat-value{font-size:18px;color:var(--primary);font-weight:700}.profile-content{display:flex;gap:20px}.profile-sidebar{width:200px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border);padding:10px 0}.sidebar-item{display:flex;align-items:center;gap:10px;padding:12px 20px;cursor:pointer;color:var(--text-secondary);transition:all .3s}.sidebar-item:hover{background:#00d4ff1a;color:var(--primary)}.sidebar-item.active{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff}.sidebar-item.logout{border-top:1px solid var(--border);margin-top:10px;color:#f36}.sidebar-item.logout:hover{background:#ff33661a}.sidebar-icon{font-size:16px}.profile-main{flex:1;background:var(--bg-card);border:1px solid var(--border);padding:20px}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border)}.content-header h3{margin:0;color:var(--primary)}.edit-btn{background:transparent;border:1px solid var(--primary);color:var(--primary);padding:6px 12px;cursor:pointer;font-size:12px;transition:all .3s}.edit-btn:hover{background:#00d4ff1a}.basic-info{display:flex;gap:30px}.info-avatar{width:120px;height:120px;flex-shrink:0}.info-avatar img{width:100%;height:100%;object-fit:cover;border:2px solid var(--border)}.info-table{flex:1}.info-row{display:flex;padding:12px 0;border-bottom:1px solid var(--border)}.info-label{width:80px;color:var(--text-secondary);flex-shrink:0}.info-value{flex:1;color:var(--text)}.edit-input,.edit-textarea{flex:1;background:var(--bg-dark);border:1px solid var(--border);color:var(--text);padding:8px 12px;font-size:14px}.edit-textarea{min-height:80px;resize:vertical}.edit-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.password-form{max-width:400px}.password-form .form-group{margin-bottom:20px}.password-form label{display:block;margin-bottom:8px;color:var(--text-secondary)}.password-form input{width:100%;background:var(--bg-dark);border:1px solid var(--border);color:var(--text);padding:10px 12px;font-size:14px}.placeholder-content{padding:40px;text-align:center;color:var(--text-secondary)}.success-message{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3);padding:12px 16px;margin-bottom:16px;font-size:14px;border-radius:4px}.loading{text-align:center;padding:60px;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay-transparent{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.modal-content{background:var(--bg-card);border:1px solid var(--border);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-body{flex:1;overflow-y:auto;padding:16px 20px}.challenge-modal .modal-body{flex:1;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;color:var(--primary);font-size:18px}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--primary)}.modal-header-actions{display:flex;align-items:center;gap:12px}.favorite-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 10px;border-radius:4px;transition:all .2s;line-height:1}.favorite-btn:hover{border-color:#ffc107;color:#ffc107}.favorite-btn.favorited{background:#ffc10726;border-color:#ffc107;color:#ffc107}.favorite-btn:disabled{opacity:.5;cursor:not-allowed}.challenge-modal{width:800px;height:800px;max-width:90vw;max-height:90vh;aspect-ratio:1 / 1}.challenge-detail-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.challenge-description{background:#0003;padding:12px;margin-bottom:14px;line-height:1.6}.challenge-description p{margin:0;color:var(--text);white-space:pre-wrap;font-size:14px}.container-section{background:#00d4ff0d;border:1px solid var(--border);padding:14px;margin-bottom:14px}.container-section h4{margin:0 0 10px;color:var(--primary);font-size:14px}.instance-info{display:flex;flex-direction:column;gap:12px}.instance-url{display:flex;align-items:center;gap:12px}.instance-url label{color:var(--text-secondary);font-size:13px}.instance-url code{flex:1;background:var(--bg-darker);padding:8px 12px;color:var(--primary);font-family:monospace}.instance-url .instance-link{flex:1;background:var(--bg-darker);padding:8px 12px;color:var(--primary);font-family:monospace;text-decoration:none;border-radius:4px;transition:all .2s}.instance-url .instance-link:hover{background:var(--primary);color:var(--bg-darker)}.instance-timer{display:flex;align-items:center;gap:12px}.instance-timer label{color:var(--text-secondary);font-size:13px}.instance-timer span{font-family:monospace;font-size:16px;color:var(--text)}.instance-timer .time-warning{color:#f36}.instance-actions{display:flex;gap:12px;margin-top:8px}.instance-start{text-align:center}.instance-start p{margin:0 0 12px;color:var(--text-secondary)}.cooldown-notice{margin-top:12px;padding:8px 16px;background:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:6px;color:orange;font-size:13px}.start-progress{margin-top:20px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-bar{width:100%;height:8px;background:#00d4ff1a;border-radius:4px;overflow:hidden;border:1px solid rgba(0,212,255,.2)}.progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#08f);border-radius:4px;transition:width .4s ease;box-shadow:0 0 10px #00d4ff80;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-message{margin-top:12px;font-size:14px;color:#00d4ff;font-weight:500;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.attachment-section{margin-bottom:14px}.attachment-section h4{margin:0 0 10px;color:var(--primary);font-size:14px}.attachment-section .attachment-btn{text-decoration:none}.hints-section{margin-bottom:20px;border-top:1px solid var(--border);padding-top:16px}.hints-section h4{margin:0 0 12px;color:var(--primary);font-size:14px}.hints-list{display:flex;flex-direction:column;gap:12px}.hint-item{background:#00b4ff0d;border:1px solid var(--border-light);border-radius:6px;padding:12px}.hint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hint-number{color:var(--primary);font-weight:600;font-size:13px}.hint-cost{color:#ff9800;font-size:12px;background:#ff98001a;padding:2px 8px;border-radius:4px}.hint-content{color:var(--text);font-size:14px;line-height:1.6;padding:8px;background:#0003;border-radius:4px}.hint-locked{display:flex;align-items:center;gap:12px}.hints-loading{color:var(--text-secondary);font-size:13px;padding:12px;text-align:center}.flag-section{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}.flag-section.modal-footer{flex-shrink:0;margin-top:0;padding:16px 20px;background:var(--bg-card);border-top:1px solid var(--border)}.flag-section h4{margin:0 0 10px;color:var(--primary);font-size:14px}.flag-input-group{display:flex;gap:12px}.flag-input{flex:1}.cyber-btn.small{padding:6px 12px;font-size:12px}.cyber-btn.danger{border-color:#f36;color:#f36}.cyber-btn.danger:hover{background:#ff33661a}.container-tag{background:#00ff8826!important;color:#0f8!important;border-color:#00ff884d!important}.challenge-item{cursor:pointer;transition:all .3s ease}.challenge-item:hover{border-color:var(--primary);background:#00d4ff0d}.team-logo-section{margin:20px 0;padding:20px;background:#0003;border:1px solid var(--border)}.team-logo-section label{display:block;color:var(--primary);font-size:14px;margin-bottom:12px}.logo-upload-container{display:flex;justify-content:center}.team-logo-preview{width:120px;height:120px;border:2px solid var(--primary);border-radius:8px;overflow:hidden;cursor:pointer;position:relative;transition:all .3s ease}.team-logo-preview:hover{border-color:var(--text);transform:scale(1.05)}.team-logo-preview img{width:100%;height:100%;object-fit:contain;background:#0000004d}.logo-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;font-size:12px;color:var(--primary)}.team-logo-preview:hover .logo-overlay{opacity:1}.access-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500}.access-badge.public{background:#6c757d33;color:#8892b0;border:1px solid rgba(108,117,125,.3)}.access-badge.internal{background:#ffa50026;color:orange;border:1px solid rgba(255,165,0,.3)}.access-expires{color:#8892b0;font-size:12px;margin-left:8px}.user-access-level{display:flex;align-items:center;gap:8px;margin-top:10px}.solvers-section{margin-top:16px;padding:14px;background:#00ffff08;border:1px solid rgba(0,255,255,.15);border-radius:6px}.solvers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.solvers-section h4{color:#e6f1ff;margin:0 0 12px;font-size:15px}.solvers-loading{color:var(--text-secondary);text-align:center;padding:12px}.solvers-list{display:flex;flex-direction:column;gap:8px}.solver-item{display:flex;align-items:center;gap:10px;padding:10px;background:#00ffff0d;border:1px solid rgba(0,255,255,.1);border-radius:6px}.solver-rank{min-width:60px}.blood-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.blood-badge.first-blood{background:#ff646433;color:#ff6464;border:1px solid rgba(255,100,100,.4)}.blood-badge.second-blood{background:#ffc86433;color:#ffc864;border:1px solid rgba(255,200,100,.4)}.blood-badge.third-blood{background:#64c8ff33;color:#64c8ff;border:1px solid rgba(100,200,255,.4)}.solver-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.solver-avatar img{width:100%;height:100%;object-fit:cover}.solver-info{flex:1;display:flex;flex-direction:column;gap:4px}.solver-name{color:#e6f1ff;font-size:14px;font-weight:500}.solver-time{color:#8892b0;font-size:12px}.daily-challenge-card{background:linear-gradient(135deg,#2563eb26,#7c3aed26);border:1px solid rgba(37,99,235,.4);border-radius:12px;padding:20px 24px;margin-bottom:24px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.daily-challenge-card:hover{border-color:#2563ebb3;background:linear-gradient(135deg,#2563eb33,#7c3aed33)}.daily-challenge-badge{position:absolute;top:0;right:24px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;padding:6px 14px;font-size:12px;font-weight:700;border-radius:0 0 8px 8px}.daily-challenge-content{display:flex;justify-content:space-between;align-items:center;gap:30px}.daily-challenge-info{flex:1}.daily-challenge-title{font-size:18px;font-weight:700;color:#e6f1ff;margin:0 0 12px}.daily-challenge-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.daily-tag{background:#00ffff1a;color:#0ff;padding:2px 8px;border-radius:4px;font-size:12px}.daily-tag.container{background:#ffaa0026;color:#fa0}.daily-points{color:#4ade80;font-weight:700;font-size:14px}.daily-first-blood{color:#ff6464;font-size:13px}.daily-first-blood.unclaimed{color:#fbbf24;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.daily-challenge-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:120px;padding-top:12px}.daily-countdown{font-size:26px;font-weight:700;color:#0ff;font-family:monospace;letter-spacing:1px}.daily-stats{color:#8892b0;font-size:13px;white-space:nowrap}.daily-status.completed{color:#4ade80;font-weight:700;padding:4px 12px;background:#4ade801a;border-radius:4px}.daily-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:700;cursor:pointer;transition:all .3s ease}.daily-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px #2563eb66}.daily-modal-header{background:linear-gradient(135deg,#2563eb33,#7c3aed33)}.daily-modal-title{display:flex;align-items:center;gap:12px}.daily-modal-badge{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700}.daily-modal-info{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#0003;border-radius:8px;margin-bottom:16px}.daily-modal-countdown{display:flex;flex-direction:column;align-items:center}.countdown-label{font-size:12px;color:#8892b0}.countdown-value{font-size:28px;font-weight:700;color:#0ff;font-family:monospace}.daily-modal-rewards{display:flex;gap:20px}.reward-item{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#4ade801a;border-radius:8px}.reward-item.first-blood{background:#ff64641a}.reward-item.streak{background:#7c3aed1a}.reward-value{font-size:18px;font-weight:700;color:#4ade80}.reward-item.first-blood .reward-value{color:#ff6464}.reward-item.streak .reward-value{color:#a78bfa}.reward-label{font-size:11px;color:#8892b0}.daily-modal-stats{display:flex;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:16px;font-size:14px;color:#8892b0}.first-blood-info{color:#ff6464}.daily-completed-info{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:8px;color:#4ade80;font-weight:700}.daily-completed-info.modal-footer{flex-shrink:0;margin:0;border-radius:0;border-left:none;border-right:none;border-bottom:none}.completed-icon{font-size:24px}.writeup-tab-content{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.writeup-header{display:flex;justify-content:flex-end;margin-bottom:.5rem}.writeup-split-layout{display:flex;gap:0;height:calc(100vh - 400px);min-height:500px;max-height:700px;border:1px solid rgba(0,180,255,.2);border-radius:8px;overflow:hidden}.writeup-left-panel{width:280px;min-width:240px;max-width:280px;background:#050a14cc;border-right:1px solid rgba(0,180,255,.2);display:flex;flex-direction:column;flex-shrink:0}.my-writeups-section{border-bottom:1px solid rgba(0,180,255,.3);padding-bottom:.5rem;margin-bottom:.5rem}.my-writeups-header{padding:.6rem 1rem;font-size:.8rem;font-weight:600;color:#0f8;background:#00ff881a;border-bottom:1px solid rgba(0,255,136,.2)}.my-writeups-list{max-height:150px;overflow-y:auto}.my-writeup-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(0,180,255,.1)}.my-writeup-info{flex:1;cursor:pointer;display:flex;align-items:center;gap:.5rem;min-width:0}.my-writeup-title{font-size:.8rem;color:#e0f0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.my-writeup-status{font-size:.65rem;padding:2px 6px;border-radius:3px;flex-shrink:0}.my-writeup-status.status-draft{background:#8080804d;color:#999}.my-writeup-status.status-pending{background:#ffc10733;color:#ffc107}.my-writeup-status.status-published{background:#0f83;color:#0f8}.my-writeup-status.status-rejected{background:#ff525233;color:#ff5252}.my-writeup-edit-btn{padding:3px 10px;font-size:.7rem;background:#00b4ff1a;border:1px solid rgba(0,180,255,.3);color:#00d4ff;border-radius:3px;cursor:pointer;transition:all .2s;flex-shrink:0}.my-writeup-edit-btn:hover{background:#00b4ff33;border-color:#00d4ff}.public-writeups-header{padding:.6rem 1rem;font-size:.8rem;font-weight:600;color:#7a9cc6;background:#0003;border-bottom:1px solid rgba(0,180,255,.1)}.writeup-list-vertical{flex:1;overflow-y:auto}.writeup-list-item{padding:.75rem 1rem;border-bottom:1px solid rgba(0,180,255,.1);cursor:pointer;transition:background .2s ease;display:flex;align-items:center;gap:.75rem}.writeup-list-item:hover{background:#00b4ff1a}.writeup-list-item.active{background:#00b4ff26;border-left:3px solid #00d4ff}.writeup-list-item-title{flex:1;font-size:.85rem;color:#e0f0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.writeup-list-item-author{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#7a9cc6;min-width:60px}.writeup-list-item-author img{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,180,255,.3)}.writeup-list-item-likes{min-width:50px;text-align:right}.writeup-list-item-likes .like-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;background:#64788c26;border:1px solid rgba(100,120,140,.3);border-radius:4px;color:#a0b0c0;font-size:.85rem;cursor:pointer;transition:all .2s ease}.writeup-list-item-likes .like-btn .like-icon{width:16px;height:16px}.writeup-list-item-likes .like-btn:hover{background:#64788c4d;color:#e0f0ff;transform:scale(1.05)}.writeup-list-item-likes .like-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.writeup-list-item-likes .like-btn.loading{opacity:.6}.writeup-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-top:1px solid rgba(0,180,255,.2);background:#050a14e6}.writeup-pagination .page-btn{width:28px;height:28px;border:1px solid rgba(0,180,255,.3);background:transparent;color:#7a9cc6;border-radius:4px;cursor:pointer;transition:all .2s ease}.writeup-pagination .page-btn:hover:not(:disabled){background:#00b4ff33;color:#00d4ff}.writeup-pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.writeup-pagination .page-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#7a9cc6;font-size:.9rem;cursor:pointer}.writeup-pagination .page-num:hover{background:#00b4ff1a}.writeup-pagination .page-num.active{background:#00b4ff4d;color:#00d4ff}.writeup-right-panel{flex:1;background:#0a0f1999;overflow-y:auto;position:relative;padding:1.5rem}.writeup-new-btn{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,#00d4ff,#06f);border:none;border-radius:4px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.writeup-new-btn:hover{transform:scale(1.05)}.writeup-content-loading,.writeup-content-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#7a9cc6}.writeup-content-detail{padding-right:80px;display:flex;flex-direction:column;height:100%}.writeup-content-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid rgba(0,180,255,.2);flex-shrink:0}.writeup-content-title{font-size:1.1rem;color:#e0f0ff;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writeup-content-meta{display:flex;gap:1rem;font-size:.8rem;color:#7a9cc6;flex-shrink:0}.writeup-content-body{color:#c0d8f0;line-height:1.8;flex:1;overflow-y:auto;padding-right:.5rem}.writeup-content-body h1,.writeup-content-body h2,.writeup-content-body h3{color:#e0f0ff;margin:1.5rem 0 1rem}.writeup-content-body code{background:#00b4ff1a;padding:.2rem .5rem;border-radius:4px;font-family:Consolas,monospace;color:#00d4ff}.writeup-content-body pre{background:#050a14cc;padding:1rem;border-radius:6px;overflow-x:auto;border:1px solid rgba(0,180,255,.2)}.writeup-content-body pre code{background:none;padding:0}.writeup-content-body blockquote{border-left:3px solid #00d4ff;margin:1rem 0;padding-left:1rem;color:#7a9cc6}.writeup-content-body img{max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid rgba(0,180,255,.2);margin:1rem 0;display:block}.writeup-content-body img.clickable{cursor:zoom-in;transition:all .2s ease}.writeup-content-body img.clickable:hover{border-color:#00d4ff80;box-shadow:0 0 15px #00d4ff4d}.image-preview-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:zoom-out}.image-preview-container{position:relative;max-width:95vw;max-height:95vh}.image-preview{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 0 30px #00d4ff4d}.image-preview-close{position:absolute;top:-40px;right:0;width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-preview-close:hover{background:#ff52524d;border-color:#ff5252}.writeup-loading,.writeup-empty{text-align:center;padding:2rem;color:#7a9cc6}.writeup-modal{background:#050f1efa;border:2px solid rgba(0,180,255,.4);border-radius:12px;width:800px;max-width:90vw;height:600px;max-height:80vh;display:flex;flex-direction:column}.writeup-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(0,180,255,.2)}.writeup-modal-header h3{font-size:1.25rem;color:#00d4ff;margin:0}.writeup-modal-header .close-btn{background:none;border:none;color:#7a9cc6;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;transition:all .3s ease}.writeup-modal-header .close-btn:hover{color:#ff5252;transform:rotate(90deg)}.writeup-modal-body{padding:2rem;overflow-y:auto;flex:1;min-height:450px}.writeup-modal-body .form-group{margin-bottom:1.5rem}.writeup-modal-body label{display:block;color:#e0f0ff;font-weight:500;margin-bottom:.5rem;font-size:.95rem}.writeup-modal-body .form-input,.writeup-modal-body .content-textarea{width:100%;padding:.75rem;background:#0000004d;border:1px solid rgba(0,180,255,.3);border-radius:6px;color:#fff;font-size:.95rem;font-family:inherit;transition:all .3s ease}.writeup-modal-body .form-input:focus,.writeup-modal-body .content-textarea:focus{outline:none;border-color:#00d4ff}.writeup-modal-body .content-textarea{font-family:Courier New,monospace;line-height:1.6;resize:vertical}.writeup-modal-body .editor-toolbar{display:flex;flex-wrap:nowrap;gap:.35rem;margin-bottom:.5rem;padding:.5rem;background:#0003;border:1px solid rgba(0,180,255,.2);border-radius:6px}.writeup-modal-body .toolbar-btn{padding:.4rem .65rem;background:#00b4ff1a;border:1px solid rgba(0,180,255,.3);border-radius:4px;color:#7a9cc6;cursor:pointer;font-size:.8rem;transition:all .3s ease;white-space:nowrap}.writeup-modal-body .toolbar-btn:hover{background:#00b4ff33;border-color:#00b4ff80;color:#00d4ff}.writeup-modal-body .toolbar-btn.active{background:#00b4ff4d;border-color:#00d4ff;color:#00d4ff}.writeup-modal-body .content-preview{padding:1rem;background:#0000004d;border:1px solid rgba(0,180,255,.3);border-radius:6px;min-height:400px;color:#e0f0ff;line-height:1.8}.writeup-modal-body .form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.writeup-modal-body .form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#00d4ff}.writeup-modal-body .form-checkbox span{color:#e0f0ff;font-size:.95rem}.writeup-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid rgba(0,180,255,.2)}.writeup-modal-footer .cancel-btn,.writeup-modal-footer .submit-btn{padding:.75rem 2rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s ease;border:2px solid;font-weight:600}.writeup-modal-footer .cancel-btn{background:#ffffff0d;border-color:#fff3;color:#ffffffb3}.writeup-modal-footer .cancel-btn:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.writeup-modal-footer .submit-btn{background:#00d4ff1a;border-color:#00d4ff66;color:#00d4ff}.writeup-modal-footer .submit-btn:hover:not(:disabled){background:#00d4ff33;border-color:#00d4ff;box-shadow:0 0 15px #00d4ff4d}.writeup-modal-footer .submit-btn:disabled{opacity:.5;cursor:not-allowed}.modal-tabs{display:flex;gap:0;border-bottom:2px solid rgba(0,180,255,.2);margin-bottom:1.5rem}.modal-tabs .tab-btn{padding:1rem 2rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#7a9cc6;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;margin-bottom:-2px}.modal-tabs .tab-btn:hover{color:#00d4ff;background:#00b4ff0d}.modal-tabs .tab-btn.active{color:#00d4ff;border-bottom-color:#00d4ff;background:#00b4ff1a}.writeup-modal-body .editor-toolbar{display:flex;gap:1rem;flex-wrap:wrap;padding:.75rem;background:#0000004d;border:1px solid rgba(0,180,255,.2);margin-bottom:.5rem;border-radius:6px}.writeup-modal-body .toolbar-group{display:flex;gap:.5rem;padding-right:1rem;border-right:1px solid rgba(0,180,255,.2)}.writeup-modal-body .toolbar-group:last-child{border-right:none;margin-left:auto;padding-right:0}.writeup-modal-body .toolbar-btn{padding:.5rem .75rem;background:#00b4ff0d;border:1px solid rgba(0,180,255,.2);border-radius:4px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:.9rem;min-width:36px}.writeup-modal-body .toolbar-btn:hover{background:#00b4ff26;border-color:#00b4ff66;color:#00d4ff}.writeup-modal-body .toolbar-btn.active{background:#00b4ff33;border-color:#00d4ff;color:#00d4ff}.writeup-view-modal{background:#050f1efa;border:2px solid rgba(0,180,255,.4);border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.writeup-view-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(0,180,255,.2)}.writeup-view-header h3{font-size:1.5rem;color:#00d4ff;margin:0}.writeup-view-header .close-btn{background:none;border:none;color:#7a9cc6;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;transition:all .3s ease}.writeup-view-header .close-btn:hover{color:#ff5252;transform:rotate(90deg)}.writeup-view-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid rgba(0,180,255,.1);background:#0003}.writeup-author-info{display:flex;align-items:center;gap:.75rem}.writeup-author-info img{width:32px;height:32px;border-radius:50%;border:2px solid rgba(0,180,255,.3)}.writeup-author-info span{color:#e0f0ff;font-weight:500}.writeup-view-meta .writeup-stats{display:flex;gap:1.5rem;color:#7a9cc6;font-size:.9rem}.writeup-view-content{padding:2rem;overflow-y:auto;flex:1;color:#e0f0ff;line-height:1.8}.writeup-view-content h1,.writeup-view-content h2,.writeup-view-content h3{color:#00d4ff;margin-top:1.5rem;margin-bottom:1rem}.writeup-view-content h1{font-size:1.75rem;border-bottom:2px solid rgba(0,180,255,.3);padding-bottom:.5rem}.writeup-view-content h2{font-size:1.5rem}.writeup-view-content h3{font-size:1.25rem}.writeup-view-content p{margin:1rem 0}.writeup-view-content code{background:#0006;padding:.2rem .4rem;border-radius:3px;color:#00d4ff;font-family:Courier New,monospace}.writeup-view-content pre{background:#0006;padding:1rem;border-radius:6px;border-left:3px solid #00d4ff;overflow-x:auto;margin:1rem 0}.writeup-view-content pre code{background:none;padding:0;color:#e0f0ff}.writeup-view-content blockquote{border-left:4px solid rgba(0,180,255,.5);padding-left:1rem;margin:1rem 0;color:#7a9cc6;font-style:italic}.writeup-view-content ul,.writeup-view-content ol{margin:1rem 0;padding-left:2rem}.writeup-view-content li{margin:.5rem 0}.writeup-view-content a{color:#00d4ff;text-decoration:none;border-bottom:1px solid rgba(0,180,255,.3);transition:all .3s ease}.writeup-view-content a:hover{border-bottom-color:#00d4ff}.writeup-view-content img{max-width:100%;border-radius:6px;margin:1rem 0}.writeup-modal-large{background:#050f1efa;border:2px solid rgba(0,180,255,.4);border-radius:8px;width:680px;height:580px;max-width:85vw;max-height:75vh;display:flex;flex-direction:column;overflow:hidden}.writeup-modal-large .writeup-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid rgba(0,180,255,.2)}.writeup-modal-large .header-title{color:#00d4ff;font-size:.95rem}.writeup-modal-large .close-btn{background:none;border:none;color:#ff6b6b;font-size:1.25rem;cursor:pointer;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.writeup-modal-large .close-btn:hover{background:#ff6b6b33}.writeup-title-input{padding:.5rem 1rem;border-bottom:1px solid rgba(0,180,255,.15)}.writeup-title-input input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(0,180,255,.2);border-radius:6px;color:#e0f0ff;font-size:1rem}.writeup-title-input input::placeholder{color:#ffffff4d}.writeup-title-input input:focus{outline:none;border-color:#00d4ff;background:#00b4ff0d}.editor-toolbar-full{display:flex;align-items:center;gap:.2rem;padding:.4rem .5rem;background:#0003;border-bottom:1px solid rgba(0,180,255,.15);flex-wrap:nowrap;overflow-x:auto}.editor-toolbar-full .toolbar-group{display:flex;align-items:center;gap:.1rem;flex-shrink:0}.editor-toolbar-full .toolbar-divider{width:1px;height:20px;background:#00b4ff33;margin:0 .25rem;flex-shrink:0}.editor-toolbar-full .toolbar-btn{padding:.25rem .4rem;background:transparent;border:1px solid transparent;border-radius:4px;color:#7a9cc6;cursor:pointer;font-size:.8rem;transition:all .2s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.editor-toolbar-full .toolbar-btn:hover{background:#00b4ff26;color:#00d4ff}.editor-toolbar-full .toolbar-btn:active{background:#00b4ff40}.editor-toolbar-full .toolbar-select{padding:.25rem .5rem;background:#0000004d;border:1px solid rgba(0,180,255,.2);border-radius:4px;color:#7a9cc6;cursor:pointer;font-size:.8rem}.editor-toolbar-full .toolbar-select:focus{outline:none;border-color:#00d4ff}.editor-full-container{display:flex;flex:1;min-height:0;overflow:hidden}.editor-textarea-full{flex:1;width:100%;padding:1rem;background:#1e232df2;border:none;color:#e0f0ff;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;line-height:1.7;resize:none;outline:none}.editor-split-container{display:flex;flex:1;min-height:0;overflow:hidden}.editor-pane{flex:1;display:flex;flex-direction:column;border-right:1px solid rgba(0,180,255,.15)}.preview-pane{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-textarea,.editor-textarea-split{flex:1;width:100%;padding:1rem;background:#1e232df2;border:none;color:#e0f0ff;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;resize:none;outline:none}.editor-textarea::placeholder,.editor-textarea-split::placeholder{color:#ffffff40}.preview-header{padding:.6rem 1rem;background:#00b4ff1a;border-bottom:1px solid rgba(0,180,255,.2);color:#00d4ff;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.preview-content{flex:1;padding:1rem;background:#0f141ef2;overflow-y:auto;color:#e0f0ff;line-height:1.8}.preview-content.markdown-body{font-size:.95rem}.preview-content.markdown-body h1,.preview-content.markdown-body h2,.preview-content.markdown-body h3,.preview-content.markdown-body h4,.preview-content.markdown-body h5,.preview-content.markdown-body h6{color:#00d4ff;margin:1.5rem 0 .75rem;border-bottom:1px solid rgba(0,180,255,.2);padding-bottom:.5rem}.preview-content.markdown-body p{margin:.75rem 0}.preview-content.markdown-body code{background:#00b4ff1a;padding:.15rem .4rem;border-radius:3px;color:#ff9f43;font-family:Consolas,monospace;font-size:.85em}.preview-content.markdown-body pre{background:#0006;padding:1rem;border-radius:6px;overflow-x:auto;margin:1rem 0}.preview-content.markdown-body pre code{background:transparent;padding:0;color:#e0f0ff}.preview-content.markdown-body blockquote{border-left:3px solid #00d4ff;margin:1rem 0;padding:.5rem 1rem;background:#00b4ff0d;color:#7a9cc6}.preview-content.markdown-body ul,.preview-content.markdown-body ol{padding-left:1.5rem;margin:.75rem 0}.preview-content.markdown-body li{margin:.35rem 0}.preview-content.markdown-body a{color:#00d4ff;text-decoration:none}.preview-content.markdown-body a:hover{text-decoration:underline}.preview-content.markdown-body img{max-width:100%;border-radius:6px;margin:1rem 0}.preview-content.markdown-body table{width:100%;border-collapse:collapse;margin:1rem 0}.preview-content.markdown-body th,.preview-content.markdown-body td{border:1px solid rgba(0,180,255,.2);padding:.5rem .75rem;text-align:left}.preview-content.markdown-body th{background:#00b4ff1a;color:#00d4ff}.preview-content.markdown-body hr{border:none;height:1px;background:#00b4ff4d;margin:1.5rem 0}.writeup-modal-footer-large{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0000004d;border-top:1px solid rgba(0,180,255,.2)}.writeup-modal-footer-large .footer-left{display:flex;align-items:center;gap:1rem}.writeup-modal-footer-large .footer-right{display:flex;align-items:center;gap:.75rem}.writeup-modal-footer-large .delete-btn{padding:.5rem 1rem;background:#ff525226;border:1px solid rgba(255,82,82,.3);border-radius:4px;color:#ff5252;cursor:pointer;font-size:.9rem;transition:all .3s ease}.writeup-modal-footer-large .delete-btn:hover{background:#ff525240;border-color:#ff5252}.writeup-modal-footer-large .publish-btn{padding:.5rem 1.5rem;background:linear-gradient(135deg,#00d4ff,#00a8cc);border:none;border-radius:4px;color:#000;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.writeup-modal-footer-large .publish-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #00d4ff66}.writeup-modal-footer-large .publish-btn:disabled{opacity:.5;cursor:not-allowed}.writeup-modal-footer-large .form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#7a9cc6;font-size:.9rem}.writeup-modal-footer-large .form-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#00d4ff}.checkin-float-btn{position:fixed;bottom:100px;right:24px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#00a67d,#00c9a7);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #00a67d66;transition:all .3s ease;z-index:1000}.checkin-float-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #00a67d80}.checkin-float-btn svg{width:24px;height:24px;color:#fff}.checkin-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checkin-modal{position:relative;max-width:400px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.checkin-modal-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;background:#ffffff1a;color:#8892b0;font-size:20px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.checkin-modal-close:hover{background:#ff525233;color:#ff5252}.checkin-card{--bg-elevated: rgba(10, 20, 40, .95);--bg-secondary: rgba(0, 30, 60, .5);--bg-tertiary: rgba(0, 40, 80, .4);--border-color: rgba(0, 180, 255, .3);--text-primary: #e0f0ff;--text-secondary: #7a9cc6;--text-muted: #4a6a8a;--accent: #00d4ff;--accent-light: rgba(0, 212, 255, .15)}
