.navbar{background:var(--bg-primary);box-shadow:var(--shadow-sm);height:var(--header-height);left:0;position:fixed;right:0;top:0;z-index:100}.navbar-container{align-items:center;display:flex;gap:24px;height:100%;margin:0 auto;max-width:1400px;padding:0 20px}.navbar-brand{align-items:center;display:flex;flex-shrink:0;gap:6px;text-decoration:none}.brand-icon{background:var(--primary);border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;padding:4px 8px}.brand-text{color:var(--text-primary);font-size:18px}.navbar-nav{align-items:center;display:flex;flex:1 1}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;padding:6px 12px;text-decoration:none;transition:all .15s}.nav-link:hover{background:var(--bg-hover);text-decoration:none}.nav-link.active{background:var(--primary-light);color:var(--primary)}.navbar-right{align-items:center;flex-shrink:0}.auth-links,.navbar-right{display:flex;gap:8px}.user-menu-wrapper{position:relative}.user-menu-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:background .15s}.user-menu-btn:hover{background:var(--bg-hover)}.user-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:28px;justify-content:center;overflow:hidden;width:28px}.user-avatar img{height:100%;object-fit:cover;width:100%}.username-text{font-size:14px;font-weight:500}.menu-overlay{inset:0;position:fixed;z-index:199}.user-dropdown{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;padding:4px 0;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.dropdown-item{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:14px;padding:8px 16px;text-align:left;text-decoration:none;transition:background .15s;width:100%}.dropdown-item:hover{background:var(--bg-hover);text-decoration:none}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:#ff7a901f}.dropdown-divider{background:var(--border);height:1px;margin:4px 0}.lang-toggle{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:999px;display:inline-flex;height:30px;margin-right:6px;overflow:hidden}.lang-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;height:100%;padding:0 12px}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background:#3b82f6;background:var(--primary,#3b82f6);color:#fff}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin-top:var(--header-height)}.home-page{background:#0000;color:var(--text-primary)}.home-page .container{margin:0 auto;max-width:1180px;padding:0;width:min(1180px,calc(100% - 48px))}.home-hero{animation:home-rise .4s ease both;border-bottom:1px solid var(--border);padding:72px 0 52px}@keyframes home-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home-eyebrow{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:10.5px;gap:10px;letter-spacing:.24em;text-transform:uppercase}.home-eyebrow:before{background:var(--text-muted);content:"";flex:none;height:1px;width:22px}.home-title{font-family:var(--font-serif);font-size:clamp(40px,5.6vw,68px);font-weight:400;letter-spacing:-.028em;line-height:1.03;margin:18px 0 20px;max-width:17ch}.home-title em{color:var(--primary);font-style:italic}.home-lede{color:var(--text-secondary);font-size:16px;line-height:1.65;margin:0 0 30px;max-width:62ch}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.home-cta .btn,.home-hero .btn{border-radius:999px;font-size:14px;font-weight:600;padding:11px 22px}.home-stats{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.home-stat{background:#0c0f16;padding:20px 22px}.home-stat b{display:block;font-family:var(--font-serif);font-size:32px;font-weight:400;letter-spacing:-.02em;line-height:1}.home-stat span{color:var(--text-muted);display:block;font-size:12px;letter-spacing:.04em;margin-top:8px}.home-section{padding:56px 0 8px}.home-section-head{align-items:flex-end;display:flex;gap:32px;justify-content:space-between;margin-bottom:26px}.home-section-head h2{font-family:var(--font-serif);font-size:clamp(28px,3.4vw,42px);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin:14px 0 10px}.home-section-head p{color:var(--text-secondary);font-size:14.5px;line-height:1.65;margin:0;max-width:66ch}.home-link{color:var(--primary);flex:none;font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap}.home-link:hover{color:var(--text-primary);text-decoration:none}.home-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.home-filter{background:#0000;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:12.5px;font-weight:600;gap:7px;padding:7px 13px;transition:all .16s}.home-filter,.home-filter b{align-items:center;border-radius:999px;display:inline-flex}.home-filter b{background:#ffffff12;color:var(--text-muted);font-size:10.5px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.home-filter:hover{border-color:var(--primary);color:var(--primary)}.home-filter.active{background:linear-gradient(120deg,#8fa9ff,#7c9cff 45%,#5ee0c0);border-color:#0000;color:#07090d}.home-filter.active b{background:#07090d2e;color:#07090d}.home-course-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-course-card{background:linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:26px 26px 22px;position:relative;text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.home-course-card:before{background:linear-gradient(90deg,#0000,var(--primary),#0000);background:linear-gradient(90deg,#0000,var(--accent,var(--primary)),#0000);content:"";height:2px;inset:0 0 auto 0;opacity:.8;position:absolute}.home-course-card:after{background:var(--primary);background:var(--accent,var(--primary));border-radius:50%;content:"";filter:blur(20px);height:280px;opacity:.07;position:absolute;right:-140px;top:-140px;transition:opacity .25s ease;width:280px}.home-course-card:hover{border-color:color-mix(in srgb,var(--accent,var(--primary)) 34%,var(--border));box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-4px)}.home-course-card:hover:after{opacity:.16}.home-course-top{align-items:center;display:flex;gap:12px;justify-content:space-between}.home-course-program{color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.home-course-arrow{border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);display:grid;font-size:14px;height:30px;place-items:center;transition:all .2s ease;width:30px}.home-course-card:hover .home-course-arrow{background:var(--primary);background:var(--accent,var(--primary));border-color:#0000;color:#07090d;transform:translateX(2px)}.home-course-card h3{font-family:var(--font-serif);font-size:25px;font-weight:400;letter-spacing:-.015em;line-height:1.16;margin:2px 0 0;position:relative;z-index:1}.home-course-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:13.5px;line-height:1.6;margin:0;overflow:hidden;position:relative;z-index:1}.home-course-meta{border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:12px;gap:16px;margin-top:auto;padding-top:15px}.home-course-meta b{color:var(--text-secondary);font-weight:600}.home-course-chips{display:flex;flex-wrap:wrap;gap:7px}.home-course-chips span{background:#ffffff08;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.08em;padding:3px 9px;text-transform:uppercase}.home-course-chips span:first-child{background:color-mix(in srgb,var(--primary) 10%,#0000);background:color-mix(in srgb,var(--accent,var(--primary)) 10%,#0000);border-color:color-mix(in srgb,var(--accent,var(--primary)) 38%,#0000);color:var(--primary);color:var(--accent,var(--primary))}.home-skeleton{animation:home-shimmer 1.3s linear infinite;background:linear-gradient(100deg,hsla(0,0%,100%,.035) 30%,hsla(0,0%,100%,.075) 50%,hsla(0,0%,100%,.035) 70%);background-size:220% 100%;border-top-color:var(--border);min-height:230px}.home-skeleton:after,.home-skeleton:before{display:none}@keyframes home-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.home-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);padding:34px;text-align:center}.home-empty a{color:var(--primary);font-weight:600}.home-band{background:radial-gradient(800px 380px at 12% 0,#7c9cff12,#0000 65%),#0a0c12;border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:64px;padding:58px 0 62px}.home-band .container{margin:0 auto;max-width:1180px;padding:0;width:min(1180px,calc(100% - 48px))}.home-map-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-map-card{background:linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 22px 20px;transition:border-color .2s ease,transform .2s ease}.home-map-card:hover{border-color:#7c9cff59;transform:translateY(-2px)}.home-map-label{color:var(--primary);font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.home-map-card h3{font-family:var(--font-serif);font-size:21px;font-weight:400;line-height:1.2;margin:10px 0 4px}.home-map-note{color:var(--text-muted);font-size:12px;margin:0 0 14px}.home-map-card ul{border-top:1px solid var(--border);list-style:none;margin:0;padding:0}.home-map-card li{border-bottom:1px solid #ffffff0d;color:var(--text-secondary);font-size:13px;padding:7px 0}.home-map-card li:last-child{border-bottom:none}.home-steps-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}.home-step{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 20px}.home-step-num{color:var(--primary);font-size:30px;line-height:1}.home-step h3,.home-step-num{font-family:var(--font-serif)}.home-step h3{font-size:19px;font-weight:400;line-height:1.2;margin:14px 0 8px}.home-step p{color:var(--text-secondary);font-size:12.5px;line-height:1.6;margin:0}.home-cta{background:radial-gradient(700px 340px at 18% 20%,#7c9cff1f,#0000 65%),radial-gradient(600px 320px at 88% 70%,#5ee0c014,#0000 65%);border-top:1px solid var(--border);margin-top:72px;padding:74px 0 84px}.home-cta h2{font-family:var(--font-serif);font-size:clamp(30px,3.6vw,46px);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin:16px 0 14px;max-width:22ch}.home-cta h2 em{color:var(--primary);font-style:italic}.home-cta p{color:var(--text-secondary);font-size:14.5px;margin:0 0 28px;max-width:58ch}.home-cta .home-actions{margin-bottom:0}@media (max-width:980px){.home-course-grid{grid-template-columns:1fr}.home-map-grid,.home-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.home-band .container,.home-page .container{width:min(100% - 32px,1180px)}.home-hero{padding:48px 0 38px}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-section-head{align-items:flex-start;flex-direction:column;gap:14px}.home-map-grid,.home-steps-grid{grid-template-columns:1fr}.home-cta{margin-top:48px;padding:52px 0 62px}}.problems-page{padding:24px 16px}.problems-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:220px 1fr}.problems-sidebar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 16px)}.filter-section{margin-bottom:20px}.filter-section h3{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.filter-options{display:flex;flex-direction:column;gap:4px}.filter-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);display:flex;font-weight:500;gap:8px;padding:7px 12px;text-align:left;transition:all .15s}.filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.filter-btn.easy.active{background:#5ee0c01f;border-color:var(--easy-color);color:var(--easy-color)}.filter-btn.medium.active{background:#f0b4291f;border-color:var(--medium-color);color:var(--medium-color)}.filter-btn.hard.active{background:#ff7a901f;border-color:var(--hard-color);color:var(--hard-color)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-count{background:#00000014;border-radius:10px;font-size:10px;padding:0 4px}.problems-main{display:flex;flex-direction:column;gap:16px}.problems-toolbar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);gap:16px;padding:12px 16px}.problems-toolbar,.search-box{align-items:center;display:flex}.search-box{color:var(--text-muted);flex:1 1;gap:8px}.search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:14px;outline:none}.total-count{color:var(--text-muted);flex-shrink:0;font-size:13px}.problems-table{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.table-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase}.table-header,.table-row{display:grid;grid-template-columns:40px 60px 1fr 180px 100px 100px}.table-row{align-items:center;border-bottom:1px solid var(--border-light);padding:12px 16px;transition:background .15s}.table-row:hover{background:var(--bg-hover)}.table-row:last-child{border-bottom:none}.table-row a{color:var(--text-primary);font-size:14px;font-weight:500;text-decoration:none}.table-row a:hover{color:var(--primary);text-decoration:underline}.col-tags{display:flex;flex-wrap:wrap;gap:4px}.status-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.status-icon.accepted{background:#5ee0c01f;color:var(--easy-color)}.status-icon.attempted{background:#f0b4291f;color:var(--medium-color)}.status-icon.none{background:var(--bg-secondary)}.pagination{padding:8px}.empty-state{color:var(--text-muted);padding:40px;text-align:center}@media (max-width:768px){.problems-layout{grid-template-columns:1fr}.problems-sidebar{position:static}.table-header,.table-row{grid-template-columns:30px 50px 1fr 80px}.col-ac,.col-tags{display:none}}.lc-link{background:#f0a93b1f;border:1px solid #f0a93b59;border-radius:5px;color:#f0a93b;font-size:11px;font-weight:700;margin-left:8px;padding:1px 6px;text-decoration:none;vertical-align:middle;white-space:nowrap}.lc-link:hover{background:#f0a93b38}.problems-download-btn{flex-shrink:0;white-space:nowrap}@media (max-width:900px){.problems-toolbar{flex-wrap:wrap}.problems-download-btn{width:100%}}.problem-detail-page{height:calc(100vh - var(--header-height));overflow:hidden}.problem-layout{display:grid;grid-template-columns:1fr 1fr;height:100%}.problem-left{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.problem-header{background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px}.problem-title-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.problem-num{color:var(--text-muted)}.problem-name,.problem-num{font-size:20px;font-weight:700}.problem-name{color:var(--text-primary)}.problem-meta{align-items:center;display:flex;gap:12px;margin-bottom:8px}.meta-item{color:var(--text-muted)}.problem-tags{display:flex;flex-wrap:wrap;gap:6px}.problem-tabs{background:var(--bg-primary);border-bottom:1px solid var(--border);display:flex;flex-shrink:0}.tab-btn{color:var(--text-primary);font-weight:600;padding:10px 16px;transition:background .15s,color .15s,border-color .15s}.tab-btn:hover{background:#7c9cff24}.tab-btn.active,.tab-btn.active:hover{background:#7c9cff24;border-bottom:3px solid #1a73e8;color:var(--primary);font-weight:700}.tab-content{background:var(--bg-primary);flex:1 1;overflow-y:auto}.description-tab,.markdown-body,.tab-content{color:var(--text-primary)}.description-tab{padding:20px}.problem-section{margin:16px 0}.problem-section h3{font-size:14px;font-weight:600;margin-bottom:6px}.sample-case{margin:16px 0}.sample-io{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.io-label{color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:4px}.io-content{background:var(--bg-secondary);font-family:Consolas,monospace;font-size:13px;min-height:40px;padding:10px 12px;white-space:pre-wrap}.hint-box,.io-content{border:1px solid var(--border);border-radius:var(--radius-sm)}.hint-box{margin:16px 0;overflow:hidden}.hint-box summary{background:var(--bg-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:10px 14px}.hint-box p{font-size:14px;padding:12px 14px}.problem-actions{border-top:1px solid var(--border);display:flex;gap:8px;margin-top:20px;padding-top:16px}.action-btn{padding:6px 12px}.action-btn.bookmarked{background:#f0b4291f;border-color:var(--medium-color);color:var(--medium-color)}.discuss-tab,.result-tab,.submissions-tab{padding:20px}.discuss-tab{display:flex;flex-wrap:wrap;gap:10px}.submissions-table{border-collapse:collapse;font-size:13px;width:100%}.submissions-table th{border-bottom:2px solid var(--border);color:var(--text-secondary);font-weight:600;padding:8px 12px;text-align:left}.submissions-table td{border-bottom:1px solid var(--border-light);padding:10px 12px}.submission-row{cursor:pointer;transition:background .12s}.submission-row:hover{background:var(--primary-light)}.submission-actions{align-items:center;display:flex;gap:10px;white-space:nowrap}.sub-link{color:var(--primary);font-weight:600;text-decoration:none}.sub-link:hover{text-decoration:underline}.sub-load-btn{background:var(--bg-primary);border:1px solid var(--primary);border-radius:4px;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;padding:3px 10px;transition:all .12s}.sub-load-btn:hover{background:var(--primary);color:#fff}.status-badge{border-radius:4px;font-size:12px;font-weight:600;padding:3px 8px}.result-content{display:flex;flex-direction:column;gap:16px}.result-status{align-items:center;display:flex;gap:12px}.result-meta{color:var(--text-secondary);font-size:13px}.error-message{background:#1e2132;border-radius:var(--radius-sm);color:#ff7b7b;font-family:Consolas,monospace;font-size:12px;max-height:360px;overflow-x:auto;overflow-y:auto;padding:12px;white-space:pre-wrap}.judging-animation{align-items:center;color:var(--primary);display:flex;font-size:14px;gap:12px}.problem-right{background:#1e1e1e;display:flex;flex-direction:column;min-height:0;overflow:hidden}.editor-header{align-items:center;background:#2d2d2d;border-bottom:1px solid #444;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:7px 10px}.mode-switch{border:1px solid #555;border-radius:6px;display:inline-flex;overflow:hidden}.mode-btn{background:#3d3d3d;border:none;color:#bbb;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .12s}.mode-btn+.mode-btn{border-left:1px solid #555}.mode-btn.active{background:var(--primary);color:#fff;font-weight:600}.rt-badge{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.editor-tools{gap:4px;margin-left:auto}.editor-tools,.etool{align-items:center;display:inline-flex}.etool{background:#3d3d3d;border:1px solid #555;border-radius:5px;color:#ddd;cursor:pointer;font-size:13px;height:26px;justify-content:center;transition:all .12s;width:28px}.etool:hover{background:#4a4a4a}.etool.on{background:#1a73e859;border-color:var(--primary);color:#fff}.etool-select{background:#3d3d3d;border:1px solid #555;border-radius:5px;color:#ddd;cursor:pointer;font-size:12px;height:26px}.problem-right.fullscreen{height:100vh;inset:0;position:fixed;width:100vw;z-index:1000}.console-resizer{background:#2d2d2d;border-top:1px solid #444;cursor:row-resize;flex-shrink:0;height:6px}.console-resizer:hover{background:var(--primary)}.console-panel{background:#1e1e1e;border-top:1px solid #444;display:flex;flex:0 0 auto;flex-direction:column;max-height:calc(100% - 250px);min-height:90px}.editor-footer{position:relative;z-index:1}.console-tabs{background:#252526;display:flex;flex-shrink:0;gap:2px}.console-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px}.console-tab:hover{color:#fff}.console-tab.active{background:#1e1e1e;border-bottom-color:var(--primary);color:#fff}.console-dot{animation:pulse 1s infinite;background:var(--primary);border-radius:50%;display:inline-block;height:7px;margin-left:6px;width:7px}.console-body{color:#d4d4d4;flex:1 1;font-size:13px;overflow-y:auto;padding:10px 12px}.tc-empty{align-items:center;color:#888;display:flex;gap:8px;padding:12px 0}.tc-source{display:flex;gap:14px;margin-bottom:10px}.tc-source label{align-items:center;color:#aaa;cursor:pointer;display:inline-flex;font-size:12px;gap:5px}.tc-source label.active{color:#fff}.tc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tc-chip{background:#2d2d2d;border:1px solid #555;border-radius:14px;color:#ccc;cursor:pointer;font-size:12px;padding:3px 12px}.tc-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.console-body .io-label{color:#8a8f98;font-size:11px;font-weight:600;letter-spacing:.04em;margin:8px 0 3px;text-transform:uppercase}.console-body .io-label.err{color:#f48771}.tc-chips-label{color:var(--text-muted);font-size:12px;margin-right:2px}.tc-hint{color:#777;font-size:11px;line-height:1.5;margin-top:6px}.tc-pre{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:5px;color:#e0e0e0;font-family:JetBrains Mono,Menlo,monospace;font-size:12.5px;margin:0;max-height:320px;overflow-y:auto;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.tc-pre.err{border-color:#5a3a3a;color:#f48771}.submit-result .muted,.tc-pre .muted{color:#777}.tc-textarea{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:5px;color:#e0e0e0;font-family:JetBrains Mono,monospace;font-size:12.5px;min-height:90px;padding:8px 10px;resize:vertical;width:100%}.run-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.run-status{font-size:13px;font-weight:700}.run-status.ok{color:#4ec94e}.run-status.err{color:#f48771}.run-status.warn{color:#e2c08d}.run-meta{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.run-verdict{font-size:12px;font-weight:700;margin-left:auto}.run-verdict.pass{color:#4ec94e}.run-verdict.fail{color:#f48771}.run-error-card{background:#2a1f1f;border:1px solid #5a3a3a;border-radius:8px;margin:6px 0 10px;overflow:hidden}.run-error-card.warn{background:#2a261a;border-color:#6b5a2a}.run-error-card.blocked{background:#271f2a;border-color:#5a3a5a}.run-error-head{align-items:center;background:linear-gradient(90deg,#f487712e,#f4877100);border-bottom:1px solid #4a3030;display:flex;gap:9px;padding:9px 12px}.run-error-card.warn .run-error-head{background:linear-gradient(90deg,#e2c08d2e,#0000);border-bottom-color:#4a4330}.run-error-card.blocked .run-error-head{background:linear-gradient(90deg,#c88cdc29,#0000);border-bottom-color:#4a3050}.run-error-icon{font-size:15px;line-height:1}.run-error-type{color:#ff8a72;font-family:JetBrains Mono,monospace;font-size:13.5px;font-weight:700;letter-spacing:.2px}.run-error-card.warn .run-error-type{color:#e6c45a}.run-error-card.blocked .run-error-type{color:#d9a6e8}.run-error-line{background:#3a2424;border:1px solid #5a3a3a;border-radius:10px;color:#ffb4a0;font-size:11px;font-weight:600;margin-left:auto;padding:2px 9px}.run-error-line,.run-error-msg{font-family:JetBrains Mono,monospace}.run-error-msg{color:#f0d2cc;font-size:12.5px;padding:9px 12px 10px;white-space:pre-wrap;word-break:break-word}.run-block-reasons{color:#e6cdee;font-size:12.5px;line-height:1.6;margin:0;padding:6px 12px 11px 30px}.run-tb{background:#231a1a;border-top:1px dashed #4a3030;font-family:JetBrains Mono,Menlo,monospace;font-size:12px;line-height:1.55;margin:0;max-height:300px;overflow:auto;padding:10px 12px}.tb-line{color:#b9a9a9;white-space:pre-wrap;word-break:break-word}.tb-line.tb-file{color:#9ab4d6}.tb-line.tb-file .tb-ln{color:#e6c45a;font-weight:600}.tb-line.tb-err{color:#ff8a72;font-weight:700}.submit-result .result-status{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.submit-result .result-meta{color:#bbb;font-size:12px}.submit-result .result-meta.link{color:#6db3ff;text-decoration:none}.submit-result .result-meta.link:hover{text-decoration:underline}.submit-result .error-message{background:#2a2a2a;border:1px solid #5a3a3a;border-radius:5px;color:#f48771;font-family:JetBrains Mono,monospace;font-size:12px;margin-top:8px;max-height:320px;overflow:auto;padding:8px 10px;white-space:pre-wrap}.submit-result .judging-animation{align-items:center;color:#bbb;display:flex;gap:8px;margin-top:8px}.kbd-hint{color:#8a8f98;font-family:JetBrains Mono,monospace;font-size:11px;margin-right:auto}.btn-reset{background:#3d3d3d;border:1px solid #666;color:#e0e0e0;font-weight:600}.btn-reset:hover{background:#4a4a4a;border-color:#888;color:#fff}.language-select{background:#3d3d3d;border:1px solid #555;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;padding:5px 10px}.editor-wrapper{flex:1 1 auto;min-height:90px;overflow:hidden}.editor-footer{align-items:center;background:#2d2d2d;border-top:1px solid #444;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:10px 16px}@media (max-width:900px){.problem-layout{grid-template-columns:1fr;grid-template-rows:50vh 50vh}.problem-left,.problem-right{overflow:auto}}.meta-link{color:var(--primary);text-decoration:none}.meta-link:hover{text-decoration:underline}.submissions-tab-header{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px}.auth-page{align-items:center;background:var(--bg-secondary);display:flex;justify-content:center;min-height:calc(100vh - var(--header-height));padding:40px 16px}.auth-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:400px;padding:40px;width:100%}.auth-logo{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:24px}.auth-title{font-size:24px;font-weight:700;margin-bottom:6px;text-align:center}.auth-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:24px;text-align:center}.auth-submit{font-size:15px;justify-content:center;margin-top:8px;padding:10px;width:100%}.auth-switch{color:var(--text-secondary);font-size:14px;margin-top:20px;text-align:center}.field-error{color:var(--danger);display:block;font-size:12px;margin-top:4px}.form-error{border:1px solid #ff7a9066;border-radius:var(--radius-sm);color:var(--danger);font-size:13px;margin-bottom:12px;padding:10px 12px}.profile-page{padding:24px 16px}.profile-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:280px 1fr}.profile-sidebar{gap:16px}.profile-card,.profile-sidebar{display:flex;flex-direction:column}.profile-card{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);gap:10px;padding:24px;text-align:center}.profile-avatar-lg{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;overflow:hidden;width:80px}.profile-avatar-lg img{height:100%;object-fit:cover;width:100%}.profile-username{font-size:20px;font-weight:700}.profile-location,.profile-school{color:var(--text-secondary);font-size:13px}.profile-bio{color:var(--text-secondary);font-size:14px}.profile-stats{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:flex;gap:16px;justify-content:center;padding:12px 0;width:100%}.stat{align-items:center;display:flex;flex-direction:column;gap:2px}.stat-v{color:var(--primary);font-size:18px;font-weight:700}.stat-l{color:var(--text-muted);font-size:11px}.profile-follow-stats{color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.profile-link{color:var(--primary);font-size:13px;text-decoration:none}.edit-form{padding:16px}.edit-form h3{font-size:15px;font-weight:600;margin-bottom:12px}.profile-main{display:flex;flex-direction:column}.submission-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:10px;padding:10px 20px}.submission-row:last-child{border-bottom:none}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-dot.accepted{background:var(--easy-color)}.status-dot.compile_error,.status-dot.runtime_error,.status-dot.wrong_answer{background:var(--hard-color)}.status-dot.time_limit_exceeded{background:var(--medium-color)}.status-dot.judging,.status-dot.pending{background:var(--primary)}.sub-problem{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500;text-decoration:none}.sub-problem:hover{color:var(--primary)}.sub-lang,.sub-time{color:var(--text-muted);font-size:12px}.discussion-row{border-bottom:1px solid var(--border-light);color:var(--text-primary);display:flex;justify-content:space-between;padding:12px 20px;text-decoration:none;transition:background .15s}.discussion-row:hover{background:var(--bg-hover);text-decoration:none}.discussion-row:last-child{border-bottom:none}.discussion-title{font-size:14px;font-weight:500}.discussion-meta{color:var(--text-muted);font-size:12px}@media (max-width:768px){.profile-layout{grid-template-columns:1fr}}.discussions-page{padding:24px 16px}.discussions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.discussions-header h1{font-size:24px;font-weight:700}.discussions-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:160px 1fr}.discussions-sidebar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px;padding:8px;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 16px)}.cat-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:block;font-size:13px;font-weight:500;padding:8px 12px;text-align:left;transition:all .15s;width:100%}.cat-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cat-btn.active{background:var(--primary-light);color:var(--primary)}.discussions-main{display:flex;flex-direction:column;gap:8px}.discussion-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);display:block;padding:16px 20px;text-decoration:none;transition:all .15s}.discussion-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);text-decoration:none}.pin-badge{color:var(--medium-color);display:block;font-size:12px;margin-bottom:4px}.disc-title{font-size:16px;font-weight:600;margin-bottom:6px}.disc-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;margin-bottom:8px}.disc-cat{background:var(--bg-secondary);border-radius:20px;font-size:11px;padding:2px 8px;text-transform:capitalize}.disc-stats{color:var(--text-muted);display:flex;font-size:12px;gap:16px}.disc-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.disc-search-field{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:13px;font-weight:600;height:42px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.disc-search-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.disc-search-input-wrap{align-items:center;display:flex;flex:1 1 280px;position:relative}.disc-search-icon{font-size:14px;left:14px;opacity:.55;pointer-events:none;position:absolute}.disc-search-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;height:42px;padding:0 38px;transition:border-color .15s,box-shadow .15s;width:100%}.disc-search-input::placeholder{color:var(--text-secondary);opacity:.7}.disc-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.disc-search-clear{align-items:center;background:var(--bg-hover);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:22px;justify-content:center;line-height:1;position:absolute;right:10px;transition:background .15s,color .15s;width:22px}.disc-search-clear:hover{background:var(--primary-light);color:var(--primary)}.disc-search-btn{flex:0 0 auto;height:42px}.disc-search-summary{color:var(--text-secondary);font-size:13px;margin-bottom:14px}.disc-search-count{color:var(--text-primary);font-weight:700}@media (max-width:560px){.disc-search-btn,.disc-search-field,.disc-search-input-wrap{flex:1 1 100%}}.disc-created-banner{align-items:center;animation:disc-banner-in .25s ease;background:#5ee0c01f;background:var(--success-light,#5ee0c01f);border:1px solid #2ecc71;border:1px solid var(--success,#2ecc71);border-radius:var(--radius-md);color:#1e7e44;color:var(--success-dark,#1e7e44);display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:16px;padding:12px 16px}@keyframes disc-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.disc-created-icon{align-items:center;background:#2ecc71;background:var(--success,#2ecc71);border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.disc-created-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:20px;line-height:1;margin-left:auto;opacity:.7;padding:0 4px}.disc-created-close:hover{opacity:1}.disc-pagination-bar{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px;padding-top:16px}.disc-page-size{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.disc-page-size-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:13px;height:32px;padding:0 8px}.disc-page-size-select:focus{border-color:var(--primary);outline:none}.disc-total-count{margin-left:4px}.disc-pagination-bar .pagination{align-items:center;display:flex;gap:16px;padding:0}.disc-page-jump,.disc-pagination-bar .page-info{color:var(--text-secondary);font-size:13px}.disc-page-jump{align-items:center;display:flex;gap:6px}.disc-page-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:13px;height:32px;padding:0 8px}.disc-page-select:focus{border-color:var(--primary);outline:none}.disc-page-of{color:var(--text-secondary)}@media (max-width:560px){.disc-pagination-bar{justify-content:center}.disc-page-jump label{display:none}}.disc-textbooks{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 20px;padding:16px 18px}.disc-textbooks-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.disc-textbooks-head h2{color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 4px}.disc-textbooks-head p{color:var(--text-secondary);font-size:13px;margin:0;max-width:720px}.disc-textbooks-count{background:var(--primary-light);border-radius:999px;color:var(--primary);flex-shrink:0;font-size:12px;font-weight:600;padding:3px 10px}.disc-textbook-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.disc-textbook-card{background:var(--bg-primary);background:var(--bg-secondary,var(--bg-primary));border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:12px 14px;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}.disc-textbook-card:hover:not(:disabled){border-color:var(--primary);box-shadow:0 6px 16px #2f6b4f1a;transform:translateY(-1px)}.disc-textbook-card:disabled{cursor:wait;opacity:.65}.disc-textbook-title{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.35}.disc-textbook-meta{color:var(--text-muted);font-size:11.5px}.disc-textbook-action{color:var(--primary);font-size:12px;font-weight:700;margin-top:2px}@media (max-width:560px){.disc-textbooks-head{flex-direction:column}}.discussion-detail-page{margin:0 auto;max-width:900px;padding:24px 16px}.discussion-breadcrumb{color:var(--text-muted);font-size:13px;margin-bottom:16px}.discussion-breadcrumb a{color:var(--primary)}.discussion-header-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:24px;padding:24px}.discussion-title{font-size:22px;font-weight:700;margin-bottom:12px}.discussion-meta-row{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-bottom:20px}.author-link{align-items:center;display:flex;gap:6px;text-decoration:none}.author-name{color:var(--text-primary);font-weight:600}.author-rating{font-size:12px}.author-rating,.meta-sep{color:var(--text-muted)}.discussion-content{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-bottom:16px;padding:16px 0}.discussion-footer{align-items:center;display:flex;gap:12px}.action-btn{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.action-btn:hover{background:var(--bg-hover)}.action-btn.liked{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.comment-count{color:var(--text-secondary);font-size:13px}.comments-section h2{font-size:18px;font-weight:600;margin-bottom:16px}.comment-form{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);gap:10px;margin-bottom:16px;padding:16px}.comment-form,.comments-list{display:flex;flex-direction:column}.comments-list{gap:8px}.comment{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.comment.reply{border-left:3px solid var(--primary-light);margin-left:24px}.comment-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.comment-author{color:var(--primary);font-size:13px;font-weight:600;text-decoration:none}.comment-time{font-size:12px}.comment-body{font-size:14px;line-height:1.6;margin-bottom:10px}.comment-actions{display:flex;gap:8px}.action-small{background:#0000;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:3px 10px;transition:all .15s}.action-small:hover{background:var(--bg-hover)}.action-small.liked{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.reply-form{margin-top:10px}.create-discussion-page{margin:0 auto;max-width:800px;padding:24px 16px}.create-discussion-page h1{font-size:24px;font-weight:700;margin-bottom:20px}.create-form{padding:24px}.content-editor{font-family:Consolas,monospace;font-size:14px;resize:vertical}.contests-page{padding:24px 16px}.contests-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.contests-header h1{font-size:24px;font-weight:700}.status-filters{display:flex;gap:8px}.filter-chip{background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .15s}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.contest-section{margin-bottom:32px}.section-title{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px}.running-title{color:var(--secondary)}.contests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.contest-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;transition:all .15s}.contest-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.contest-card-header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.contest-status-badge{font-weight:600;padding:2px 8px}.contest-status-badge.upcoming{background:#7c9cff24;color:var(--primary)}.contest-status-badge.running{background:#5ee0c01f;color:var(--secondary)}.contest-status-badge.ended{background:var(--bg-secondary);color:var(--text-muted)}.contest-type{color:var(--text-muted);font-size:12px;text-transform:capitalize}.contest-card-title{font-size:16px;font-weight:600;margin-bottom:12px}.contest-card-title a{color:var(--text-primary);text-decoration:none}.contest-card-title a:hover{color:var(--primary)}.contest-card-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.meta-row{color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.contest-card-footer{border-top:1px solid var(--border);padding-top:12px}.contest-detail-page{padding:24px 16px}.contest-hero{align-items:center;background:linear-gradient(135deg,#1a73e8,#0d47a1);border-radius:var(--radius-lg);color:#fff;display:flex;justify-content:space-between;padding:32px}.contest-hero h1{font-size:24px;font-weight:700;margin:8px 0 12px}.contest-hero-meta{display:flex;flex-wrap:wrap;font-size:13px;gap:16px;opacity:.9}.contest-status-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;text-transform:uppercase}.contest-status-badge.upcoming{background:#fff3}.contest-status-badge.running{background:#28ca41}.contest-status-badge.ended{background:#ffffff1a}.contest-tabs{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:4px;margin-bottom:16px;padding:6px;width:-webkit-fit-content;width:fit-content}.tab-btn{border-radius:var(--radius-sm);font-size:14px;padding:8px 20px}.tab-btn:hover{background:var(--bg-hover)}.tab-btn.active{background:var(--primary);color:#fff}.contest-problems{display:flex;flex-direction:column}.contest-problem-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:12px;padding:14px 20px}.contest-problem-row:last-child{border-bottom:none}.contest-problem-letter{align-items:center;background:var(--primary-light);border-radius:50%;color:var(--primary);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.contest-problem-title{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500;text-decoration:none}.contest-problem-title:hover{color:var(--primary)}.contest-problem-points{color:var(--text-muted);font-size:13px}.ranking-table th{font-size:13px;padding:12px 20px}.ranking-table td{padding:12px 20px}.ranking-table tr.top-rank td{background:#f0b4291a}.ranking-page{padding:24px 16px}.ranking-page h1{font-size:24px;font-weight:700;margin-bottom:4px}.ranking-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.ranking-table-wrapper{margin-bottom:16px;overflow:hidden}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{background:var(--bg-secondary);border-bottom:2px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.ranking-table td{border-bottom:1px solid var(--border-light);font-size:14px;padding:12px 16px}.ranking-table tr:last-child td{border-bottom:none}.ranking-table tr:hover td{background:var(--bg-hover)}.ranking-table tr.top-rank td{background:linear-gradient(to right,#f0b4291a,var(--bg-primary))}.rank-cell{font-size:16px;font-weight:700}.user-link{align-items:center;color:var(--text-primary);display:flex;font-weight:500;gap:8px;text-decoration:none}.user-link:hover{color:var(--primary)}.user-avatar-sm{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;overflow:hidden;width:28px}.user-avatar-sm img{height:100%;object-fit:cover;width:100%}.rating-cell{color:var(--primary);font-weight:700}.submissions-page{padding:24px 16px}.submissions-header{margin-bottom:20px}.submissions-header h1{font-size:24px;font-weight:700}.submissions-table-wrapper{overflow-x:auto}.submissions-table-full{border-collapse:collapse;font-size:13px;width:100%}.submissions-table-full th{background:var(--bg-secondary);border-bottom:2px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.submissions-table-full td{border-bottom:1px solid var(--border-light);padding:10px 14px;white-space:nowrap}.submissions-table-full tr:last-child td{border-bottom:none}.submissions-table-full tr:hover td{background:var(--bg-hover)}.lang-badge{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.status-text{font-size:12px;font-weight:600}.status-accepted{color:var(--easy-color)}.status-wrong_answer{color:var(--hard-color)}.status-time_limit_exceeded{color:var(--medium-color)}.status-runtime_error{color:var(--hard-color)}.time-col{font-size:12px}.empty-td,.time-col{color:var(--text-muted)}.empty-td{padding:40px;text-align:center}.pagination{margin-top:16px}.back-link{color:var(--text-secondary);margin-bottom:8px}.submissions-problem{color:var(--text-secondary);font-weight:500}.submissions-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.filter-toggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.filter-btn{background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:5px 14px}.filter-btn+.filter-btn{border-left:1px solid var(--border)}.filter-btn.active{background:var(--primary);color:#fff}.filter-select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:inherit;font-size:13px;padding:5px 8px}.filter-count{color:var(--text-muted);font-size:13px}.submission-detail-page{margin:0 auto;max-width:1000px;padding:24px 16px}.submission-header{align-items:flex-start;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 24px}.submission-header h1{font-size:20px;font-weight:700;margin-bottom:6px}.sub-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.big-status{font-size:16px;font-weight:700;padding:8px 16px}.submission-stats{display:flex;gap:16px;margin-bottom:16px}.stat-box{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;gap:4px;padding:16px}.stat-label{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:18px;font-weight:700}.error-box{margin-bottom:16px;padding:16px}.error-box h3{color:var(--danger);font-size:14px;font-weight:600;margin-bottom:10px}.error-box pre{background:#1e2132;border-radius:var(--radius-sm);color:#ff7b7b;font-size:12px;max-height:460px;overflow-x:auto;overflow-y:auto;padding:12px;white-space:pre-wrap}.tc-detail{border-top:1px solid #2a2d3a;border-top:1px solid var(--border,#2a2d3a);margin-top:14px;padding-top:12px}.tc-detail-head{color:#ff7b7b;color:var(--danger,#ff7b7b);font-size:13px;font-weight:600;margin-bottom:8px}.tc-detail-label{color:#8a8f98;font-size:11px;letter-spacing:.04em;margin:8px 0 4px;text-transform:uppercase}.tc-detail-pre{background:#1e2132;border-radius:var(--radius-sm);color:#cdd3e0;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;margin:0;max-height:360px;overflow-x:auto;overflow-y:auto;padding:10px 12px;white-space:pre-wrap}.tc-detail-pre.err{color:#ff9b9b}.test-results{margin-bottom:16px;padding:16px}.test-results h3{font-size:14px;font-weight:600;margin-bottom:12px}.test-results-grid{display:flex;flex-wrap:wrap;gap:8px}.test-result-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;font-size:12px;gap:6px;padding:6px 10px}.tc-num{color:var(--text-secondary);font-weight:600}.tc-status.status-accepted{color:var(--easy-color);font-weight:700}.tc-status{color:var(--hard-color);font-weight:700}.tc-time{color:var(--text-muted)}.code-section{margin-bottom:16px;padding:16px}.code-section h3{font-size:14px;font-weight:600;margin-bottom:12px}.code-editor-view{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-weight:700;padding:4px 12px}.status-badge.status-accepted{background:#5ee0c01f;color:var(--easy-color)}.status-badge.status-wrong_answer{background:#ff7a901f;color:var(--hard-color)}.status-badge.status-time_limit_exceeded{background:#f0b4291f;color:var(--medium-color)}.status-badge.status-judging,.status-badge.status-pending{background:var(--primary-light);color:var(--primary)}.status-badge.status-compile_error,.status-badge.status-runtime_error{background:#ff7a901f;color:var(--hard-color)}.activities-page{background:var(--bg-secondary);min-height:calc(100vh - var(--header-height))}.activities-hero{background:linear-gradient(135deg,#1a73e8,#0d47a1);color:#fff;padding:32px 0 28px}.activities-hero h1{font-size:28px;font-weight:700;margin-bottom:4px}.activities-hero p{font-size:14px;margin-bottom:20px;opacity:.85}.activities-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-box-act{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:24px;color:#fff;display:flex;flex:1 1;gap:8px;max-width:400px;padding:8px 16px}.search-input-act{background:#0000;border:none;color:#fff;flex:1 1;font-size:14px;outline:none}.search-input-act::placeholder{color:#fff9}.filter-chips{display:flex;gap:8px}.chip{background:#0000;border:1px solid #fff6;border-radius:20px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .15s}.chip:hover{background:#ffffff26}.chip.active{background:var(--bg-primary);border-color:#fff;color:var(--primary)}.total-label{font-size:13px;opacity:.8}.activities-body{padding:28px 16px}.activities-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:24px}.activity-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s}.activity-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.activity-card-link{color:inherit;display:block}.activity-card-link,.activity-card-link:hover{text-decoration:none}.activity-cover{background:linear-gradient(135deg,#7c9cff24,#c5d8ff);overflow:hidden;padding-top:52%;position:relative;width:100%}.activity-cover img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.activity-cover-placeholder{align-items:center;display:flex;font-size:48px;inset:0;justify-content:center;position:absolute}.cover-badge-free{background:var(--secondary)}.cover-badge-discount,.cover-badge-free{border-radius:20px;color:#fff;font-size:11px;font-weight:700;left:10px;padding:3px 10px;position:absolute;top:10px}.cover-badge-discount{background:var(--danger)}.activity-info{padding:16px}.activity-title{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:6px}.activity-brief{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:13px;line-height:1.5;margin-bottom:12px;overflow:hidden}.activity-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.meta-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:4px}.meta-icon{font-size:13px}.star-rating{gap:2px}.activity-footer{border-top:1px solid var(--border-light);flex-wrap:wrap;gap:10px;padding-top:10px}.activity-footer,.price-area{align-items:center;display:flex}.price-area{gap:6px}.price-original{color:var(--text-muted);font-size:12px;text-decoration:line-through}.price-current{color:var(--danger);font-size:18px;font-weight:700}.price-discount-label{border-radius:4px;color:var(--danger);font-size:11px;padding:2px 6px}.price-badge.free{font-size:13px;font-weight:700;padding:4px 12px}.enrolled-badge,.price-badge.free{background:#5ee0c01f;border-radius:20px;color:var(--secondary)}.enrolled-badge{font-size:12px;font-weight:600;padding:4px 10px}.group-tag{border-radius:4px;color:var(--medium-color);font-size:11px;font-weight:500;padding:3px 8px}.pagination{align-items:center;display:flex;gap:16px;justify-content:center}.page-info{color:var(--text-secondary);font-size:13px}@media (max-width:700px){.activities-grid{grid-template-columns:1fr}}.academy-catalogue{background:radial-gradient(900px 380px at 8% -20%,#1a73e81a,#0000 60%),linear-gradient(180deg,var(--bg-primary),#f8faff);border:1px solid var(--border);border-radius:var(--radius-lg);margin:4px 0 34px;padding:26px}.academy-head{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:22px}.academy-eyebrow{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.14em;margin-bottom:6px;text-transform:uppercase}.academy-head h2{font-size:24px;margin:0 0 6px}.academy-head p{color:var(--text-secondary);font-size:13.5px;line-height:1.6;margin:0;max-width:760px}.academy-open{align-items:center;background:var(--primary);border-radius:999px;color:#fff;display:inline-flex;flex:none;font-size:13px;font-weight:600;gap:6px;padding:9px 16px;text-decoration:none;transition:transform .15s,box-shadow .15s;white-space:nowrap}.academy-open:hover{box-shadow:0 8px 20px #1a73e840;text-decoration:none;transform:translateY(-1px)}.academy-group{margin-top:22px}.academy-group>h3{font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.academy-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.academy-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;border-top:3px solid var(--academy-accent,var(--primary));color:inherit;display:flex;flex-direction:column;gap:8px;padding:18px 18px 14px;position:relative;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}.academy-card:hover{box-shadow:0 10px 26px #18274b1a;text-decoration:none;transform:translateY(-2px)}.academy-chips{display:flex;flex-wrap:wrap;gap:6px}.academy-chip{background:#7c9cff1f;border-radius:999px;color:#5d6b7e;font-size:10.5px;font-weight:600;letter-spacing:.03em;padding:3px 8px}.academy-chip.accent{background:color-mix(in srgb,#1a73e8 12%,var(--bg-primary));background:color-mix(in srgb,var(--academy-accent,#1a73e8) 12%,var(--bg-primary));color:#1a73e8;color:var(--academy-accent,#1a73e8)}.academy-card h4{font-size:16px;line-height:1.3;margin:2px 0 0}.academy-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:12.5px;line-height:1.55;margin:0;overflow:hidden}.academy-meta{align-items:center;border-top:1px solid var(--border-light);display:flex;font-size:11.5px;gap:12px;padding-top:9px}.academy-meta b{color:var(--text-primary)}.academy-arrow{color:var(--primary);color:var(--academy-accent,var(--primary));font-size:16px;margin-left:auto}@media (max-width:720px){.academy-head{flex-direction:column}.academy-catalogue{padding:18px}.academy-grid{grid-template-columns:1fr}}.academy-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}.academy-filter-chip{background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;font-size:12.5px;font-weight:600;gap:6px;padding:7px 12px;transition:all .15s}.academy-filter-chip,.academy-filter-chip b{align-items:center;border-radius:999px;display:inline-flex}.academy-filter-chip b{background:#7c9cff1f;font-size:10.5px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.academy-filter-chip:hover{border-color:var(--primary);color:var(--primary)}.academy-filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.academy-filter-chip.active b{background:#ffffff38;color:#fff}.academy-skeleton{animation:academy-shimmer 1.4s linear infinite;background:linear-gradient(100deg,#151a25 30%,#7c9cff1f 45%,#151a25 60%);border-top-color:#e6ebf3;min-height:178px}@keyframes academy-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.academy-empty{color:var(--text-secondary);font-size:13px;padding:18px 4px 4px}.academy-empty a{color:var(--primary);font-weight:600}.activity-detail-page{background:var(--bg-secondary)}.activity-hero-banner{background:linear-gradient(135deg,#1a1a2e,#0d47a1);color:#fff;padding:32px 0 0}.activity-hero-inner{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 340px}.activity-hero-left{padding-bottom:0}.activity-tags-row{display:flex;gap:6px;margin-bottom:10px}.act-tag{background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;font-size:11px;font-weight:600;padding:2px 10px}.activity-page-title{font-size:26px;font-weight:700;line-height:1.3;margin-bottom:10px}.activity-page-brief{font-size:14px;line-height:1.6;margin-bottom:16px;opacity:.85}.activity-hero-stats{display:flex;flex-wrap:wrap;font-size:13px;gap:20px;margin-bottom:20px;opacity:.85}.hero-tabs{border-top:1px solid #ffffff26;display:flex;gap:0}.hero-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#ffffffb3;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .15s}.hero-tab:hover{color:#fff}.hero-tab.active{border-bottom-color:#fff;color:#fff}.activity-hero-right{padding-bottom:20px}.enrollment-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary);overflow:hidden}.enroll-cover{height:180px;object-fit:cover;width:100%}.enroll-body{padding:20px}.discount-banner{background:#ff7a901f;border-radius:var(--radius-sm);color:var(--danger);font-size:13px;font-weight:600;margin-bottom:10px;padding:8px 12px}.enroll-price{margin-bottom:16px}.price-free-lg{color:var(--secondary);font-size:24px;font-weight:700}.price-current-lg{color:var(--danger);font-size:28px;font-weight:700;margin-right:8px}.price-original-sm{color:var(--text-muted);font-size:13px;text-decoration:line-through}.enroll-actions{display:flex;flex-direction:column;gap:8px}.enroll-btn{font-size:15px;justify-content:center;padding:12px;width:100%}.enroll-btn.wechat{background:#07c160;border-color:#07c160;color:#fff}.enroll-btn.wechat:hover{background:#06a84f}.group-buy-cta{align-items:center;display:flex;gap:8px}.group-buy-cta span{color:var(--text-muted);font-size:12px}.already-enrolled{text-align:center}.enrolled-check{color:var(--secondary);display:block;font-size:18px;font-weight:700;margin-bottom:8px}.enroll-meta{border-top:1px solid var(--border);color:var(--text-secondary);display:flex;flex-direction:column;font-size:12px;gap:4px;margin-top:16px;padding-top:12px}.activity-content{padding:24px 16px}.detail-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 260px}.detail-main,.detail-sidebar{display:flex;flex-direction:column;gap:16px}.detail-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 16px)}.detail-section{padding:24px}.detail-section h2{border-bottom:1px solid var(--border);font-size:18px;font-weight:700;margin-bottom:16px;padding-bottom:10px}.sidebar-box{padding:16px}.sidebar-box h3{font-size:14px;font-weight:700;margin-bottom:12px}.info-list{display:flex;flex-direction:column;gap:8px}.info-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.info-row span:first-child{color:var(--text-secondary)}.info-row span:last-child{font-weight:500}.curriculum{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.curriculum-section{border-bottom:1px solid var(--border)}.curriculum-section:last-child{border-bottom:none}.section-toggle{align-items:center;background:var(--bg-secondary);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:14px 16px;text-align:left;transition:background .15s;width:100%}.section-toggle:hover{background:var(--bg-hover)}.section-arrow{color:var(--text-muted);font-size:10px}.section-title-text{flex:1 1}.section-count{color:var(--text-muted);font-size:12px;font-weight:400}.lesson-list{background:var(--bg-primary)}.lesson-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;font-size:13px;gap:10px;padding:10px 20px}.lesson-row:last-child{border-bottom:none}.lesson-icon{color:var(--primary);flex-shrink:0;font-size:12px;width:16px}.lesson-title-link{color:var(--text-primary);flex:1 1;font-weight:500;text-decoration:none}.lesson-title-link:hover{color:var(--primary)}.lesson-title-locked{color:var(--text-muted);flex:1 1}.free-preview-tag{background:#7c9cff24;border-radius:4px;color:var(--primary);flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px}.lesson-duration{color:var(--text-muted);flex-shrink:0;font-size:12px}.announcements-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.announcement-item{background:var(--bg-secondary);border-left:3px solid var(--primary);border-radius:var(--radius-md);padding:16px}.ann-header{align-items:center;display:flex;gap:10px;margin-bottom:6px}.ann-meta{color:var(--text-muted);font-size:12px}.ann-content{font-size:14px;line-height:1.6}.ratings-summary{background:var(--bg-secondary);border-radius:var(--radius-md);gap:16px;margin-bottom:20px;padding:20px}.ratings-avg,.ratings-summary{align-items:center;display:flex}.ratings-avg{gap:12px}.avg-number{color:var(--text-primary);font-size:48px;font-weight:700}.rating-num-lg{color:var(--text-secondary);font-size:14px;margin-left:4px}.ratings-count{color:var(--text-muted);font-size:13px}.rating-form{margin-bottom:20px;padding:16px}.rating-form h3{font-size:15px;font-weight:600;margin-bottom:12px}.star-select{display:flex;gap:4px;margin-bottom:12px}.star-btn{background:#0000;border:none;color:#dadce0;cursor:pointer;font-size:28px;padding:0;transition:color .1s}.star-btn.on,.star-btn:hover{color:#fbbc04}.ratings-list{display:flex;flex-direction:column;gap:12px}.rating-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:14px}.rating-header{align-items:center;display:flex;gap:10px;margin-bottom:6px}.rater-name{font-size:14px;font-weight:600}.rating-date{color:var(--text-muted);font-size:12px}.rating-comment{color:var(--text-secondary);font-size:13px;line-height:1.5}.group-buy-section h4{font-size:15px;font-weight:600;margin-bottom:6px}.open-groups{margin-top:16px}.open-groups h5{font-size:13px;font-weight:600;margin-bottom:8px}.group-row{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-sm);display:flex;font-size:13px;gap:12px;margin-bottom:6px;padding:10px}.group-members{color:var(--primary);font-weight:700}.group-expires{color:var(--text-muted);flex:1 1;font-size:11px}.star-rating{align-items:center;display:inline-flex}.rating-num{color:var(--text-secondary);font-size:12px;margin-left:3px}@media (max-width:900px){.activity-hero-inner{grid-template-columns:1fr}.activity-hero-right{padding-bottom:0}.detail-grid{grid-template-columns:1fr}.detail-sidebar{position:static}}.payment-page{align-items:flex-start;background:var(--bg-secondary);display:flex;justify-content:center;min-height:calc(100vh - var(--header-height));padding:40px 16px}.payment-container{max-width:800px;width:100%}.payment-header{margin-bottom:28px;text-align:center}.payment-header h1{font-size:24px;font-weight:700;margin-bottom:6px}.payment-subtitle{color:var(--text-secondary);font-size:14px}.back-link{color:var(--primary);display:inline-block;font-size:13px;margin-bottom:12px;text-decoration:none}.back-link:hover{text-decoration:underline}.countdown{color:var(--danger);font-weight:700}.countdown.expired{color:var(--text-muted)}.payment-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.payment-left,.payment-right{padding:24px}.order-summary h2{font-size:16px;font-weight:700;margin-bottom:16px}.order-item{align-items:flex-start;display:flex;justify-content:space-between;padding:8px 0}.order-label{color:var(--text-secondary);font-size:13px}.order-value{font-size:13px;font-weight:500;max-width:200px;text-align:right}.order-no{font-family:monospace;font-size:12px}.group-buy-label{background:#7c9cff24;border-radius:4px;color:var(--primary);font-size:12px;padding:2px 8px}.order-divider{background:var(--border);height:1px;margin:10px 0}.total-row{padding-top:12px}.total-amount{color:var(--danger);font-size:24px;font-weight:700}.qr-section{align-items:center;display:flex;flex-direction:column}.method-header{margin-bottom:16px;width:100%}.method-brand{align-items:center;display:flex;font-size:16px;font-weight:700;gap:8px}.method-icon{font-size:20px}.alipay-brand{color:#1677ff}.wechat-brand{color:#07c160}.qr-wrapper{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.qr-amount{color:var(--danger);font-size:28px;font-weight:700}.qr-instruction{text-align:center}.payment-status-row,.qr-instruction{color:var(--text-secondary);font-size:13px}.payment-status-row{align-items:center;display:flex;gap:8px;margin-bottom:20px}.status-dot-anim{animation:pulse 1.5s infinite;background:var(--primary);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.mock-payment-section{border-top:1px dashed var(--border);padding-top:16px;width:100%}.mock-note{background:#f0b4291f;border:1px solid #f0b42959;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;line-height:1.5;margin-bottom:12px;padding:10px 12px}.payment-footer{color:var(--text-muted);font-size:13px;text-align:center}.order-expires{margin-top:4px}@media (max-width:600px){.payment-grid{grid-template-columns:1fr}}.vp-root{aspect-ratio:16/9;background:#000;border-radius:12px;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.vp-root:focus-visible{box-shadow:0 0 0 3px #3b82f68c}.vp-video{background:#000;display:block;height:100%;width:100%}.vp-spinner{animation:vp-spin .9s linear infinite;border:3px solid #ffffff40;border-radius:50%;border-top-color:#fff;height:48px;left:50%;margin:-24px 0 0 -24px;pointer-events:none;position:absolute;top:50%;width:48px;z-index:4}@keyframes vp-spin{to{transform:rotate(1turn)}}.vp-big-play{background:#0000;border:none;cursor:pointer;left:50%;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .12s ease;z-index:3}.vp-big-play:hover{transform:translate(-50%,-50%) scale(1.06)}.vp-controls{background:linear-gradient(180deg,#0000,#000000d9);bottom:0;color:#fff;left:0;opacity:1;padding:14px 16px 12px;position:absolute;right:0;transform:translateY(0);transition:opacity .2s ease,transform .2s ease;z-index:5}.vp-root.controls-hidden .vp-controls{opacity:0;pointer-events:none;transform:translateY(8px)}.vp-root.controls-hidden{cursor:none}.vp-title{font-size:13px;font-weight:600;margin-bottom:8px;opacity:.9;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #0009;white-space:nowrap}.vp-progress{align-items:center;cursor:pointer;display:flex;height:14px;position:relative}.vp-progress:before{background:#ffffff40;border-radius:2px;content:"";height:4px;left:0;position:absolute;right:0;transition:height .12s ease}.vp-progress:hover:before{height:6px}.vp-progress-buffered,.vp-progress-played{border-radius:2px;height:4px;left:0;pointer-events:none;position:absolute;transition:height .12s ease}.vp-progress-buffered{background:#fff6}.vp-progress-played{background:#3b82f6}.vp-progress:hover .vp-progress-buffered,.vp-progress:hover .vp-progress-played{height:6px}.vp-progress-thumb{background:#3b82f6;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6;height:14px;margin-left:-7px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) scale(0);transition:transform .12s ease;width:14px}.vp-progress:hover .vp-progress-thumb{transform:translateY(-50%) scale(1)}.vp-progress-hover{background:#ffffffb3;height:14px;margin-left:-1px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:2px}.vp-progress-tooltip{font-feature-settings:"tnum";background:#000000d9;border-radius:4px;bottom:20px;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;padding:3px 8px;pointer-events:none;position:absolute;transform:translateX(-50%)}.vp-controls-row{align-items:center;display:flex;gap:10px;margin-top:6px}.vp-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;height:34px;justify-content:center;padding:0;transition:background .12s;width:34px}.vp-btn:hover{background:#ffffff1f}.vp-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.vp-volume{align-items:center;display:flex}.vp-volume-slider{accent-color:#3b82f6;cursor:pointer;height:4px;opacity:0;transition:width .18s ease,opacity .18s ease,margin-left .18s ease;width:0}.vp-volume:focus-within .vp-volume-slider,.vp-volume:hover .vp-volume-slider{margin-left:4px;opacity:1;width:80px}.vp-time{font-feature-settings:"tnum";color:#fffffff2;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.vp-time-sep{margin:0 2px;opacity:.5}.vp-spacer{flex:1 1}.vp-rate{position:relative}.vp-rate-btn{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;padding:0 10px;width:auto}.vp-rate-menu{background:#141414f2;border-radius:6px;bottom:38px;box-shadow:0 8px 24px #0006;list-style:none;margin:0;min-width:80px;padding:4px 0;position:absolute;right:0;z-index:10}.vp-rate-menu li{margin:0;padding:0}.vp-rate-menu button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;text-align:left;width:100%}.vp-rate-menu button:hover{background:#ffffff1a}.vp-rate-menu button.active{color:#3b82f6;font-weight:700}.vp-root.is-fullscreen{aspect-ratio:auto;border-radius:0;height:100vh}.vp-root.is-fullscreen .vp-video{height:100%}@media (max-width:640px){.vp-time{font-size:12px}.vp-volume:hover .vp-volume-slider{width:56px}}.lesson-page{background:#1a1a2e;color:#fff;display:flex;flex-direction:column;height:calc(100vh - var(--header-height))}.lesson-topbar{align-items:center;background:#2d2d2d;border-bottom:1px solid #444;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:10px 16px}.lesson-back{color:#ffffffb3;font-size:13px;text-decoration:none;white-space:nowrap}.lesson-back:hover{color:#fff;text-decoration:none}.lesson-title-bar{flex:1 1;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-nav-btns{display:flex;gap:8px}.sidebar-toggle-btn{background:#0000;border:1px solid #555;border-radius:var(--radius-sm);color:#ffffffb3;cursor:pointer;font-size:12px;padding:5px 12px;white-space:nowrap}.sidebar-toggle-btn:hover{border-color:#888;color:#fff}.lesson-layout{display:grid;flex:1 1;grid-template-columns:1fr;overflow:hidden}.lesson-layout.with-sidebar{grid-template-columns:1fr 320px}.lesson-main{background:#121212;display:flex;flex-direction:column;overflow-y:auto}.video-area{background:#000;flex-shrink:0;position:relative;width:100%}.video-player{display:block;max-height:65vh;width:100%}.video-embed-wrapper{background:#000;padding-top:56.25%;position:relative}.video-embed{height:100%;inset:0;position:absolute;width:100%}.video-placeholder{background:#1a1a2e;padding-top:56.25%;position:relative;width:100%}.video-placeholder-inner{align-items:center;color:#ffffff80;display:flex;flex-direction:column;gap:10px;inset:0;justify-content:center;position:absolute}.play-icon{font-size:48px}.lesson-content-area{background:var(--bg-primary);color:var(--text-primary);flex:1 1}.lesson-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:10px 18px;transition:all .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{border-bottom-color:var(--primary);color:var(--primary)}.lesson-overview{padding:20px}.lesson-overview h2{font-size:18px;font-weight:700;margin-bottom:8px}.lesson-desc-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:16px;margin-bottom:16px}.completed-tag{background:#5ee0c01f;border-radius:20px;color:var(--easy-color);font-weight:600;padding:2px 8px}.lesson-code-panel{padding:20px}.lesson-code-panel h3{font-size:15px;font-weight:600;margin-bottom:12px}.lesson-comments{padding:20px}.lesson-comments h3{font-size:16px;font-weight:600;margin-bottom:16px}.comment-form-box{display:flex;gap:12px;margin-bottom:24px}.comment-user-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:36px;justify-content:center;width:36px}.comment-input-area{flex:1 1}.enroll-to-comment{color:var(--text-secondary);font-size:13px;margin-bottom:20px}.comments-thread{display:flex;flex-direction:column;gap:16px}.comment-item{display:flex;gap:12px}.comment-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.comment-avatar.sm{font-size:12px;height:28px;width:28px}.comment-body-wrap{flex:1 1}.comment-meta-row{align-items:center;display:flex;gap:8px;margin-bottom:4px}.comment-username{color:var(--primary);font-size:13px;font-weight:600;text-decoration:none}.comment-time{color:var(--text-muted);font-size:11px}.comment-text{font-size:14px;line-height:1.6;margin-bottom:6px}.comment-actions-row{display:flex;gap:10px}.action-sm{background:#0000;border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:3px 10px;transition:all .15s}.action-sm:hover{background:var(--bg-hover)}.comment-reply{border-left:2px solid var(--border);display:flex;gap:10px;padding-left:8px}.comment-reply,.reply-input-box{margin-top:10px}.lesson-sidebar{background:#1e1e1e;border-left:1px solid #333;color:#fff;overflow-y:auto}.sidebar-header{color:#fffc;font-size:13px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}.sidebar-header,.sidebar-section{border-bottom:1px solid #333}.sidebar-section-title{background:#2a2a2a;color:#ffffff80;font-size:12px;font-weight:600;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase}.sidebar-lesson{border-bottom:1px solid #2a2a2a}.sidebar-lesson:last-child{border-bottom:none}.sidebar-lesson-link{align-items:center;color:#ffffffb3;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 16px;text-decoration:none;transition:all .15s}.sidebar-lesson-link:hover{background:#2d2d2d;color:#fff;text-decoration:none}.sidebar-lesson.active .sidebar-lesson-link{background:#1a73e833;color:#fff}.sidebar-lesson.locked .sidebar-lesson-link{cursor:not-allowed;opacity:.5}.locked-link{align-items:center;color:#fff6;display:flex;font-size:13px;gap:8px;padding:10px 16px}.sidebar-lesson-icon{flex-shrink:0;font-size:11px;width:14px}.sidebar-lesson-title{flex:1 1;line-height:1.3}.sidebar-lesson-dur{color:#fff6;flex-shrink:0;font-size:11px}@media (max-width:900px){.lesson-layout.with-sidebar{grid-template-columns:1fr}.lesson-sidebar{display:none}}.player-with-playlist{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:1fr 280px}.player-area{min-width:0}.video-playlist{background:#1f2937;border-radius:10px;color:#e5e7eb;display:flex;flex-direction:column;max-height:70vh;overflow:hidden}.video-playlist-header{background:#111827;border-bottom:1px solid var(--border);color:#9ca3af;font-size:13px;font-weight:700;letter-spacing:.04em;padding:12px 14px;text-transform:uppercase}.video-playlist-list{list-style:none;margin:0;overflow-y:auto;padding:6px 0}.playlist-item{grid-gap:8px;align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:inherit;cursor:pointer;display:grid;font-size:13px;gap:8px;grid-template-columns:28px 1fr auto;padding:9px 14px;text-align:left;transition:background .12s,border-color .12s;width:100%}.playlist-item:hover{background:#374151}.playlist-item.active{background:#111827;border-left-color:#3b82f6;color:#fff}.playlist-item .pl-num{align-items:center;background:#374151;border-radius:50%;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.playlist-item.active .pl-num{background:#3b82f6;color:#fff}.playlist-item .pl-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-item .pl-dur{font-feature-settings:"tnum";color:#9ca3af;font-size:11px;font-variant-numeric:tabular-nums}@media (max-width:900px){.player-with-playlist{grid-template-columns:1fr}.video-playlist{max-height:280px}}.admin-activities{background:var(--bg-secondary);min-height:calc(100vh - var(--header-height));padding:28px 0}.admin-activities-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.admin-activities-header h1{font-size:22px;font-weight:700}.admin-toolbar{align-items:center;gap:10px;margin-bottom:18px}.admin-toolbar input[type=text]{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none;padding:8px 14px;width:260px}.admin-toolbar input[type=text]:focus{border-color:var(--primary)}.admin-toolbar select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:14px;outline:none;padding:8px 12px}.admin-table-wrap{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto}.admin-table{border-collapse:collapse;font-size:14px;width:100%}.admin-table th{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-bottom:1px solid var(--border-light);padding:14px 16px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-secondary)}.admin-table .act-title{font-weight:600;max-width:220px}.admin-table .act-title a{color:var(--text-primary);text-decoration:none}.admin-table .act-title a:hover{color:var(--primary)}.status-pill{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;padding:2px 10px}.status-pill.published{background:#5ee0c01f;color:var(--secondary)}.status-pill.draft{background:#151a25;color:var(--text-secondary)}.status-pill.ended{background:#ff7a901f;color:var(--danger)}.action-btns{display:flex;flex-wrap:wrap;gap:6px}.btn-xs{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:all .15s;white-space:nowrap}.btn-xs:hover{background:var(--bg-secondary)}.btn-xs.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-xs.primary:hover{opacity:.9}.btn-xs.danger{border-color:var(--danger);color:var(--danger)}.btn-xs.danger:hover{background:#ff7a901f}.btn-xs.success{border-color:var(--secondary);color:var(--secondary)}.btn-xs.success:hover{background:#5ee0c01f}.admin-overlay{align-items:flex-start;background:#00000073;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:40px 16px;position:fixed;z-index:1000}.admin-form-box{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 8px 40px #0000002e;flex-shrink:0;max-width:680px;overflow:hidden;width:100%}.admin-form-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 24px}.admin-form-header h2{font-size:17px;font-weight:700}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1}.close-btn:hover{color:var(--text-primary)}.admin-form-body{max-height:calc(100vh - 160px);overflow-y:auto;padding:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-row.three{grid-template-columns:1fr 1fr 1fr}.form-group label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;font-family:inherit;font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group textarea{min-height:90px;resize:vertical}.form-group textarea.description-editor{font-family:ui-monospace,SFMono-Regular,Menlo,DejaVu Sans Mono,monospace;font-size:13.5px;line-height:1.55;min-height:520px;padding:14px 16px}.form-group .checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:8px}.form-group .checkbox-label input[type=checkbox]{width:auto}.form-group small{color:var(--text-muted);display:block;font-size:11px;margin-top:3px}.section-label{border-bottom:1px solid var(--border-light);color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin:20px 0 12px;padding-bottom:6px;text-transform:uppercase}.admin-form-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.manage-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:260px 1fr}.manage-sidebar{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.manage-sidebar-header{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding:14px 16px}.section-list{list-style:none;margin:0;padding:8px 0}.section-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 16px;transition:all .15s}.section-item:hover{background:var(--bg-secondary)}.section-item.active{border-left-color:var(--primary);font-weight:600}.section-item-del{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.section-item-del:hover{color:var(--danger)}.add-section-form{border-top:1px solid var(--border);display:flex;gap:6px;padding:12px 16px}.add-section-form input{border:1px solid var(--border);border-radius:var(--radius);flex:1 1;font-size:13px;outline:none;padding:6px 10px}.add-section-form input:focus{border-color:var(--primary)}.manage-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.manage-content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.manage-content-header h3{font-size:15px;font-weight:700}.lesson-list{list-style:none;margin:0 0 16px;padding:0}.lesson-item{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius);display:flex;font-size:13px;justify-content:space-between;margin-bottom:6px;padding:10px 14px}.lesson-item:hover{background:var(--bg-secondary);border-color:var(--border)}.lesson-item-title{font-weight:500}.lesson-item-meta{color:var(--text-muted);font-size:11px;margin-top:2px}.lesson-item-actions{display:flex;gap:4px}.admin-empty{font-size:14px;padding:48px 0}@media (max-width:900px){.form-row,.form-row.three,.manage-layout{grid-template-columns:1fr}}@media (max-width:600px){.admin-activities-header,.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-toolbar input[type=text]{width:100%}}.admin-lesson-row{border-bottom:1px solid var(--border);display:block;padding:10px 12px}.admin-lesson-row:last-child{border-bottom:none}.admin-lesson-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.admin-lesson-head .lesson-name{flex:1 1;min-width:200px}.lesson-video-manager{margin-top:6px;width:100%}.video-mgr-panel{background:#0c0f16;border:1px solid var(--border);border-radius:var(--radius);margin-top:10px;padding:14px}.video-mgr-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 10px;padding:0}.video-mgr-item{grid-gap:10px;align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;font-size:13px;gap:10px;grid-template-columns:24px 1fr auto auto auto;padding:6px 10px}.video-mgr-item .vidx{align-items:center;background:#3b82f6;background:var(--primary,#3b82f6);border-radius:50%;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.video-mgr-item .vname{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-mgr-item .vmeta{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:12px}.video-upload-dropzone{align-items:center;background:var(--bg-primary);border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:4px;padding:18px;transition:border-color .12s,background .12s}.video-upload-dropzone:hover{background:#7c9cff24;border-color:#3b82f6;border-color:var(--primary,#3b82f6)}.video-upload-dropzone input{display:none}.video-upload-dropzone .dz-hint{font-size:12px;font-weight:400}.upload-progress-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.upload-row{grid-gap:8px;align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;font-size:12px;gap:8px;grid-template-columns:1fr 80px 1fr 60px;padding:6px 10px}.upload-row .up-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-row .up-size{color:var(--text-secondary);font-family:ui-monospace,monospace}.upload-row .up-bar{background:#ffffff1f;border-radius:3px;height:6px;overflow:hidden}.upload-row .up-fill{background:#3b82f6;background:var(--primary,#3b82f6);height:100%;transition:width .12s}.upload-row .up-percent{font-family:ui-monospace,monospace;text-align:right}.upload-error .up-fill{background:#ef4444;background:var(--danger,#ef4444)}.upload-error .up-percent{color:#ef4444;color:var(--danger,#ef4444)}.upload-done .up-fill{background:#10b981}.upload-done .up-percent{color:#10b981;font-weight:600}.lecture-builder{display:flex;flex-direction:column;gap:18px}.lb-header{align-items:flex-start;background:linear-gradient(135deg,#7c9cff1a,#7c9cff14);border:1px solid var(--border,var(--border));border-radius:12px;border-radius:var(--radius-lg,12px);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding:20px 24px}.lb-header h2.lb-title{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:22px;font-weight:700;margin:10px 0 6px}.lb-subtitle{color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));font-size:13.5px;line-height:1.5;margin:0;max-width:640px}.lb-stats{align-items:stretch;display:flex;flex-shrink:0;gap:16px}.lb-stat{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light,var(--border-light));border-radius:8px;border-radius:var(--radius,8px);display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:14px 20px}.lb-stat-num{color:#3b82f6;color:var(--primary,#3b82f6);font-size:22px;font-weight:700;line-height:1.1}.lb-stat-label{color:var(--text-secondary);color:var(--text-muted,var(--text-secondary));font-size:11px;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.lb-toolbar{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:12px;border-radius:var(--radius-lg,12px);flex-wrap:wrap;gap:16px;padding:14px 18px}.lb-bulk,.lb-toolbar{align-items:center;display:flex}.lb-bulk{border-left:1px solid var(--border-light,var(--border-light));gap:8px;padding-left:16px}.lb-bulk-label{color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));font-size:13px}.lb-bulk-input{padding:6px 8px!important;text-align:center;width:70px!important}.lb-empty{background:var(--bg-primary);border:2px dashed var(--border,var(--border));border-radius:12px;border-radius:var(--radius-lg,12px);color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));padding:48px 24px;text-align:center}.lb-empty-icon{font-size:48px;margin-bottom:12px}.lb-empty h3{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:18px;font-weight:700;margin-bottom:8px}.lb-empty p{font-size:14px;line-height:1.5;margin:0 auto 18px;max-width:380px}.lb-list{display:flex;flex-direction:column;gap:10px}.lb-list-footer{padding:8px;text-align:center}.lecture-card{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:12px;border-radius:var(--radius-lg,12px);overflow:hidden;transition:border-color .12s,box-shadow .12s}.lecture-card:hover{border-color:#7c9cff73}.lecture-card.is-expanded{border-color:#3b82f6;border-color:var(--primary,#3b82f6);box-shadow:0 4px 16px #3b82f614}.lc-head{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:36px 1fr auto auto;padding:12px 16px}.lecture-card.is-expanded .lc-head{border-bottom:1px solid var(--border-light,var(--border-light))}.lc-index{background:linear-gradient(135deg,#3b82f6,#6366f1);background:linear-gradient(135deg,var(--primary,#3b82f6),#6366f1);border-radius:50%;color:#fff;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.lc-index,.lc-title-display{align-items:center;display:flex}.lc-title-display{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:15px;font-weight:600;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-dirty-dot{color:#f59e0b;color:var(--warning,#f59e0b);font-size:12px}.lc-meta{align-items:center;display:flex;flex-shrink:0;gap:6px}.lc-meta-pill{background:#151a25;background:var(--bg-secondary,#151a25);color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));display:inline-block;font-family:ui-monospace,monospace;font-size:11px;font-weight:500}.lc-meta-pill,.lc-preview-tag{border-radius:12px;padding:3px 9px}.lc-preview-tag{background:#f0b42924;color:var(--warning);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lc-head-actions{flex-shrink:0;gap:6px}.lc-head-actions,.lc-mv-btn{align-items:center;display:flex}.lc-mv-btn{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:6px;color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));cursor:pointer;font-size:14px;height:26px;justify-content:center;transition:all .12s;width:26px}.lc-mv-btn:hover:not(:disabled){background:#151a25;background:var(--bg-secondary,#151a25);border-color:#3b82f6;border-color:var(--primary,#3b82f6);color:#3b82f6;color:var(--primary,#3b82f6)}.lc-mv-btn:disabled{cursor:not-allowed;opacity:.3}.lc-body{background:#0c0f16;padding:18px 20px 20px}.lc-body .form-row-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:700px){.lc-body .form-row-2{grid-template-columns:1fr}}.lc-advanced{background:var(--bg-primary);border:1px solid var(--border-light,var(--border-light));border-radius:8px;border-radius:var(--radius,8px);margin:12px 0}.lc-advanced summary{color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px;-webkit-user-select:none;user-select:none}.lc-advanced[open] summary{border-bottom:1px solid var(--border-light,var(--border-light))}.lc-advanced>div,.lc-advanced>div.form-group{padding:0 14px}.lc-advanced[open]>.form-group:last-child{padding-bottom:14px}.lc-save-row{align-items:center;border-top:1px dashed var(--border-light,var(--border-light));display:flex;gap:12px;margin-top:12px;padding:12px 0}.lc-dirty-hint{color:#f59e0b;color:var(--warning,#f59e0b);font-size:12px;font-style:italic}.lc-videos-section{background:var(--bg-primary);border:1px solid var(--border-light,var(--border-light));border-radius:8px;border-radius:var(--radius,8px);margin-top:18px;padding:16px}.lc-videos-head{margin-bottom:12px}.lc-videos-head h4{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:14px;font-weight:700;margin:0 0 4px}.lc-hint{color:var(--text-secondary);color:var(--text-muted,var(--text-secondary));font-size:12px;line-height:1.5;margin:0}@media (max-width:700px){.lb-header{flex-direction:column}.lb-stats{width:100%}.lb-toolbar{align-items:stretch;flex-direction:column}.lb-bulk{border-left:none;border-top:1px solid var(--border-light,var(--border-light));padding-left:0;padding-top:12px}.lc-head{grid-template-columns:36px 1fr}.lc-meta{flex-wrap:wrap}.lc-head-actions,.lc-meta{grid-column:1/-1}}.admin-shell{background:var(--bg-secondary);display:flex;min-height:calc(100vh - var(--header-height))}.admin-sidebar{background:#1f2937;color:#e5e7eb;display:flex;flex-direction:column;flex-shrink:0;width:240px}.admin-sidebar-header{border-bottom:1px solid var(--border);padding:20px 18px}.admin-badge{background:#ef4444;border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:10px;padding:2px 8px}.admin-who-name{color:#fff;font-size:15px;font-weight:600}.admin-who-role{color:#9ca3af;font-size:12px;margin-top:2px}.admin-nav{display:flex;flex-direction:column;padding:12px 0}.admin-nav-link{border-left:3px solid #0000;color:#d1d5db;display:block;font-size:14px;padding:10px 18px;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.admin-nav-link:hover{background:#374151;color:#fff}.admin-nav-link.active{background:#111827;border-left-color:#3b82f6;color:#fff}.admin-nav-secondary{color:#9ca3af;font-size:13px}.admin-nav-divider{background:#374151;height:1px;margin:10px 0}.admin-main{flex:1 1;min-width:0;padding:30px 32px}.admin-page-header{margin-bottom:24px}.admin-page-header h1{font-size:24px;font-weight:700;margin-bottom:4px}.admin-page-header p{color:var(--text-secondary);font-size:14px}.admin-stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:28px}.admin-stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px}.admin-stat-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-stat-value{color:var(--text-primary);font-size:30px;font-weight:700;margin-top:6px}.admin-stat-sub{color:var(--text-secondary);font-size:12px;margin-top:4px}.admin-section-title{color:var(--text-secondary);font-size:14px;font-weight:700;letter-spacing:.5px;margin:24px 0 12px;text-transform:uppercase}.admin-users-table{background:var(--bg-primary);border:1px solid var(--border);border-collapse:collapse;border-radius:var(--radius-md);overflow:hidden;width:100%}.admin-users-table td,.admin-users-table th{border-bottom:1px solid var(--border);font-size:14px;padding:12px 14px;text-align:left;vertical-align:middle}.admin-users-table th{background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-users-table tbody tr:hover{background:#0c0f16}.admin-role-pill{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.admin-role-pill.staff{color:#1e40af}.admin-role-pill.user{background:#151a25}.admin-role-pill.inactive{color:#991b1b}.admin-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-toolbar .form-control{max-width:280px}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-empty{color:var(--text-secondary);padding:40px;text-align:center}.admin-system-info{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px}.admin-system-info dl{grid-row-gap:10px;display:grid;grid-template-columns:200px 1fr;margin:0;row-gap:10px}.admin-system-info dt{color:var(--text-secondary);font-size:13px;font-weight:600}.admin-system-info dd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;margin:0}@media (max-width:768px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%}.admin-main{padding:20px 16px}}.sd-page{margin:0 auto;max-width:1200px;padding:24px 24px 60px}.sd-hero{background:radial-gradient(circle at 20% 10%,#6366f159,#0000 50%),radial-gradient(circle at 90% 80%,#38bdf84d,#0000 50%),linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;color:#f8fafc;margin-bottom:24px;overflow:hidden;position:relative}.sd-hero-inner{display:flex;flex-direction:column;gap:12px;max-width:880px;padding:40px 36px 32px}.sd-hero-eyebrow{color:#c4b5fd;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.sd-hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--bg-primary) 0,#cbd5e1 100%);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;line-height:1.1;margin:0}.sd-hero-subtitle{color:#cbd5e1;font-size:16px;line-height:1.55;margin:0;max-width:720px}.sd-hero-phases{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.sd-phase-chip{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff12;border:1px solid #ffffff24;border-radius:24px;color:#e2e8f0;display:inline-flex;font-size:13px;gap:8px;padding:6px 14px 6px 6px}.sd-phase-num{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.sd-phase-num,.sd-toolbar{align-items:center;display:flex}.sd-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:24px}.sd-search{flex:1 1 260px;min-width:200px}.sd-filter{min-width:140px;width:auto}.sd-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.sd-card{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:14px;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s}.sd-card:hover{border-color:#6366f1;box-shadow:0 14px 32px #6366f11f;transform:translateY(-3px)}.sd-card-cover{background-color:#7c9cff1f;background-position:50%;background-size:cover;height:130px}.sd-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;padding:16px 18px 18px}.sd-card-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.sd-card-title{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:17px;font-weight:700;line-height:1.3;margin:0}.sd-card-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));display:-webkit-box;font-size:14px;line-height:1.5;margin:0;overflow:hidden}.sd-card-footer{align-items:center;color:var(--text-muted);color:var(--text-muted,var(--text-muted));display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-top:auto;padding-top:12px}.sd-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.sd-diff{border-radius:12px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.sd-diff-easy{background:#d1fae5;color:#047857}.sd-diff-medium{background:#f0b42924}.sd-cat{background:#7c9cff1f;border-radius:12px;color:var(--primary);font-weight:600;padding:3px 10px}.sd-cat,.sd-tag{display:inline-block;font-size:11px}.sd-tag{background:#ffffff0d;border-radius:8px;padding:2px 8px}.sd-status,.sd-tag{color:var(--text-secondary)}.sd-status{background:#151a25;border-radius:12px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.sd-empty{background:var(--bg-primary);border:2px dashed var(--border,var(--border));border-radius:14px;color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));padding:60px 24px;text-align:center}.sd-empty-icon{font-size:56px;margin-bottom:16px}.sd-empty h3{color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-size:20px;font-weight:700;margin-bottom:8px}.sd-empty p{font-size:14px;line-height:1.55;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:420px}.sd-detail-hero{background:linear-gradient(135deg,#151a25,#312e81);border-radius:16px;color:#f8fafc;margin-bottom:24px;padding:32px 36px 36px}.sd-back-link{color:#c7d2fe;display:inline-block;font-size:13px;margin-bottom:12px;text-decoration:none}.sd-back-link:hover{color:#fff}.sd-detail-hero-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.sd-detail-hero-text{flex:1 1}.sd-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.sd-meta-dim{color:#cbd5e1;font-size:13px}.sd-cat-on-hero{background:#ffffff1f;color:#e0e7ff}.sd-status-on-hero{background:#ffffff2e;color:#f1f5f9}.sd-detail-title{color:#fff;font-size:32px;font-weight:800;line-height:1.15;margin:0 0 10px}.sd-detail-summary{color:#cbd5e1;font-size:16px;line-height:1.55;margin:0 0 14px;max-width:740px}.sd-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.sd-detail-tags .sd-tag{background:#ffffff1a;color:#e0e7ff}.sd-admin-actions{display:flex;flex-shrink:0;gap:6px}.sd-phase-nav{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:8px;z-index:5}.sd-phase-nav-item{align-items:center;background:#0c0f16;background:var(--bg-secondary,#0c0f16);border-radius:16px;color:var(--text-secondary);color:var(--text-secondary,var(--text-secondary));display:inline-flex;font-size:13px;gap:6px;padding:5px 12px 5px 5px;text-decoration:none;transition:background .15s,color .15s}.sd-phase-nav-item:hover{background:#7c9cff29}.sd-phase-nav-num{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.sd-phase-nav-num.cross{background:#94a3b8}.sd-read{display:flex;flex-direction:column;gap:20px}.sd-section{background:var(--bg-primary);border:1px solid var(--border-light,var(--border-light));border-radius:14px;padding:24px 28px;scroll-margin-top:80px}.sd-section-title{color:var(--text-primary);color:var(--text-primary,var(--text-primary));display:flex;font-size:19px;gap:10px;margin:0 0 14px}.sd-phase-badge,.sd-section-title{align-items:center;font-weight:700}.sd-phase-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;color:#fff;display:inline-flex;font-size:11px;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.sd-phase-badge-cross{background:linear-gradient(135deg,#64748b,#475569)}.sd-md{font-size:15px;line-height:1.7}.sd-md p{margin:0 0 12px}.sd-md h1,.sd-md h2,.sd-md h3{margin:18px 0 10px}.sd-md h3{font-size:16px}.sd-md ol,.sd-md ul{margin:0 0 12px;padding-left:24px}.sd-md li{margin-bottom:4px}.sd-md code{background:#ffffff0d;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;padding:2px 6px}.sd-md pre{background:#080a0f;border-radius:8px;color:#e2e8f0;font-size:13px;line-height:1.55;overflow-x:auto;padding:14px 16px}.sd-md pre code{background:#0000;color:inherit;padding:0}.sd-md blockquote{background:#7c9cff14;border-left:3px solid #7c9cff73;border-radius:0 8px 8px 0;color:var(--primary);margin:12px 0;padding:6px 14px}.sd-md a{color:#1a73e8;color:var(--primary,#1a73e8)}.sd-md table{border-collapse:collapse;margin:12px 0;width:100%}.sd-md td,.sd-md th{border:1px solid var(--border-light,var(--border-light));padding:6px 12px;text-align:left}.sd-md th{background:#0c0f16;background:var(--bg-secondary,#0c0f16);font-weight:600}.sd-diagram{border:1px solid var(--border-light,var(--border-light));border-radius:10px;max-width:100%}.sd-detail-toolbar{align-items:center;display:flex;gap:16px;margin-bottom:20px}.sd-detail-edit-heading{font-size:22px;font-weight:700;margin:0}.sd-form{display:flex;flex-direction:column;gap:18px}.sd-form-section{background:var(--bg-primary);border:1px solid var(--border,var(--border));border-radius:12px;padding:20px 22px}.sd-form-section-title{align-items:center;color:var(--text-primary);color:var(--text-primary,var(--text-primary));display:flex;font-size:16px;font-weight:700;gap:10px;margin:0 0 14px}.sd-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.sd-col-span-2{grid-column:span 2}.sd-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,DejaVu Sans Mono,monospace;font-size:13.5px;line-height:1.55;min-height:130px;resize:vertical}.sd-form-actions{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8fafceb;border-top:1px solid var(--border-light,var(--border-light));bottom:0;display:flex;gap:10px;padding:16px 0;position:-webkit-sticky;position:sticky}@media (max-width:720px){.sd-hero-inner{padding:28px 22px}.sd-hero-title{font-size:28px}.sd-detail-hero{padding:22px}.sd-detail-title{font-size:24px}.sd-section{padding:18px}.sd-form-grid{grid-template-columns:1fr}.sd-col-span-2{grid-column:auto}.sd-detail-hero-row{flex-direction:column}}.sd-download-btn{white-space:nowrap}.coding-page{background:#0d1117;color:#e6edf3;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;inset:0;position:fixed;z-index:50}.coding-toolbar{align-items:center;background:#161b22;border-bottom:1px solid #21262d;display:flex;flex:0 0 52px;height:52px;justify-content:space-between;padding:0 16px}.coding-toolbar-left,.coding-toolbar-right{align-items:center;display:flex;gap:10px}.coding-logo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#58a6ff,#a371f7);-webkit-background-clip:text;font-weight:700;letter-spacing:.3px;text-decoration:none;white-space:nowrap}.coding-select{background:#0d1117;border:1px solid #30363d;border-radius:7px;color:#e6edf3;cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px}.coding-mode-switch{background:#0d1117;border:1px solid #21262d;border-radius:8px;display:flex;margin-left:4px;padding:3px}.coding-mode-btn{background:#0000;border:none;border-radius:6px;color:#8b949e;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;transition:all .15s}.coding-mode-btn.active{background:linear-gradient(90deg,#1f6feb,#8957e5);box-shadow:0 1px 6px #58a6ff59;color:#fff}.coding-rt-badge{background:#0d1117;border:1px solid #21262d;border-radius:6px;color:#7d8590;font-family:JetBrains Mono,monospace;font-size:11px;padding:3px 8px}.coding-ghost-btn{background:#0000;border:1px solid #30363d;border-radius:7px;color:#c9d1d9;cursor:pointer;font-size:13px;padding:6px 11px}.coding-ghost-btn:hover{border-color:#58a6ff;color:#58a6ff}.coding-ghost-btn.danger:hover{border-color:#f85149;color:#f85149}.coding-run-btn{align-items:center;background:linear-gradient(90deg,#238636,#2ea043);border:none;border-radius:8px;box-shadow:0 2px 10px #2ea04359;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:8px 16px;transition:filter .15s,transform .1s}.coding-run-btn:hover:not(:disabled){filter:brightness(1.08)}.coding-run-btn:active:not(:disabled){transform:translateY(1px)}.coding-run-btn:disabled,.coding-test-btn:disabled{cursor:default;opacity:.55}.coding-run-kbd{border:1px solid #fff6;border-radius:4px;font-size:11px;opacity:.8;padding:0 4px}.coding-test-btn{background:#21262d;border:1px solid #30363d;border-radius:8px;color:#e6edf3;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.coding-test-btn:hover:not(:disabled){border-color:#3fb950;color:#3fb950}.coding-body{display:flex;flex:1 1;min-height:0}.coding-sidebar{background:#0d1117;border-right:1px solid #21262d;display:flex;flex:0 0 220px;flex-direction:column;min-width:0}.coding-sidebar-head{align-items:center;border-bottom:1px solid #161b22;color:#7d8590;display:flex;font-size:11px;justify-content:space-between;letter-spacing:.6px;padding:10px 12px;text-transform:uppercase}.coding-sidebar-actions button{background:none;border:none;color:#8b949e;cursor:pointer;font-size:14px;padding:0 3px}.coding-sidebar-actions button:hover{color:#58a6ff}.coding-tree{flex:1 1;overflow:auto;padding:6px 0}.coding-tree-empty,.coding-tree-list{margin:0}.coding-tree-empty{color:#6e7681;font-size:13px;padding:12px}.coding-tree-list{list-style:none;padding:0}.coding-tree-row{align-items:center;border-radius:5px;color:#c9d1d9;cursor:pointer;display:flex;font-size:13px;gap:6px;margin:1px 6px;padding:3px 8px}.coding-tree-row:hover{background:#161b22}.coding-tree-row.active{background:#1f2937;color:#fff}.coding-tree-icon{font-size:12px;opacity:.9;text-align:center;width:16px}.coding-tree-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-tree-del{color:#7d8590;font-size:15px;opacity:0}.coding-tree-row:hover .coding-tree-del{opacity:1}.coding-tree-del:hover{color:#f85149}.coding-center{border-right:1px solid #21262d;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;position:relative}.coding-filebar{align-items:center;background:#161b22;border-bottom:1px solid #21262d;display:flex;flex:0 0 34px;font-family:JetBrains Mono,monospace;font-size:13px;height:34px;padding:0 14px}.coding-filename .muted,.coding-filename.muted{color:#6e7681}.coding-editor-wrap{flex:1 1;min-height:0}.coding-panel{background:#0d1117;display:flex;flex:0 0 420px;flex-direction:column;min-width:0}.coding-tabs{background:#161b22;border-bottom:1px solid #21262d;display:flex}.coding-tab{background:none;border:none;border-bottom:2px solid #0000;color:#8b949e;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;text-transform:capitalize}.coding-tab.active{border-bottom-color:#58a6ff;color:#fff}.coding-panel-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto}.coding-empty{align-items:center;color:#6e7681;display:flex;font-size:14px;gap:10px;height:100%;justify-content:center;min-height:120px;padding:16px;text-align:center}.coding-empty.small{min-height:40px}.coding-out{padding:12px 14px}.coding-out-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.coding-status{border-radius:20px;font-size:12px;font-weight:700;padding:4px 10px;white-space:nowrap}.coding-status.ok{background:#2ea0432e;color:#3fb950}.coding-status.err{background:#f851492e;color:#f85149}.coding-status.warn{background:#d299222e;color:#d29922}.coding-metrics{color:#7d8590;font-family:JetBrains Mono,monospace;font-size:12px;text-align:right}.coding-section{margin-bottom:12px}.coding-section-title{color:#7d8590;font-size:11px;letter-spacing:.6px;margin-bottom:6px;text-transform:uppercase}.coding-section-title.err{color:#f85149}.coding-pre{background:#161b22;border:1px solid #21262d;border-radius:8px;color:#e6edf3;font-family:JetBrains Mono,Menlo,monospace;font-size:12.5px;line-height:1.5;margin:0;padding:11px;white-space:pre-wrap;word-break:break-word}.coding-pre.err{border-color:#f8514966;color:#ffa198}.coding-test-summary{align-items:center;border-bottom:1px solid #21262d;display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px}.pill{border-radius:20px;font-size:12px;font-weight:700;padding:3px 10px}.pill.pass{background:#2ea0432e;color:#3fb950}.pill.fail{background:#f851492e;color:#f85149}.pill.skip{background:#d299222e;color:#d29922}.coding-test-list{padding:6px 10px}.coding-test-row{background:#0f141b;border:1px solid #21262d;border-radius:8px;margin-bottom:6px}.coding-test-row summary{align-items:center;cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-size:12.5px;gap:8px;list-style:none;padding:8px 10px}.coding-test-row summary::-webkit-details-marker{display:none}.coding-test-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-test-time{color:#7d8590;font-size:11px}.dot{border-radius:50%;flex:0 0 9px;height:9px;width:9px}.dot.passed{background:#3fb950}.dot.error,.dot.failed{background:#f85149}.dot.skipped{background:#d29922}.coding-test-row.error,.coding-test-row.failed{border-color:#f8514966}.coding-test-row pre{margin:0 10px 10px}.coding-term{display:flex;flex-direction:column;height:100%;min-height:0}.coding-term-bar{align-items:center;border-bottom:1px solid #21262d;color:#7d8590;display:flex;font-family:JetBrains Mono,monospace;font-size:11px;justify-content:space-between;padding:6px 12px}.coding-term-scroll{flex:1 1;min-height:0;overflow:auto;padding:8px 12px}.coding-term-line{font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.45;margin:0;white-space:pre-wrap;word-break:break-word}.coding-term-line.in{color:#58a6ff}.coding-term-line.out{color:#e6edf3}.coding-term-line.err{color:#ffa198}.coding-term-line.rc{color:#6e7681;font-size:11px;margin-bottom:6px}.coding-term-form{align-items:center;background:#161b22;border-top:1px solid #21262d;display:flex;gap:8px;padding:8px 12px}.coding-term-prompt{color:#3fb950;font-family:JetBrains Mono,monospace}.coding-term-form input{background:#0000;border:none;color:#e6edf3;flex:1 1;font-family:JetBrains Mono,monospace;font-size:13px;outline:none}.coding-spinner{animation:coding-spin .7s linear infinite;border:2px solid #30363d;border-radius:50%;border-top-color:#58a6ff;height:16px;width:16px}.coding-spinner.small{border-width:2px;height:12px;width:12px}@keyframes coding-spin{to{transform:rotate(1turn)}}.coding-select.small{font-size:12px;padding:6px}.coding-debug-btn{background:linear-gradient(90deg,#bd561d,#db6d28);border:none;border-radius:8px;box-shadow:0 2px 10px #db6d284d;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px}.coding-debug-btn:hover:not(:disabled){filter:brightness(1.08)}.coding-debug-btn:disabled,.coding-test-btn:disabled{cursor:default;opacity:.5}.coding-filebar{justify-content:space-between}.coding-filebar-hint{color:#586069;font-family:-apple-system,sans-serif;font-size:11px}.coding-tab-dot{background:#db6d28;border-radius:50%;display:inline-block;height:7px;margin-left:6px;vertical-align:middle;width:7px}.dbg-bp-glyph{background:#f85149;border-radius:50%;box-shadow:0 0 4px #f85149b3;height:11px!important;margin-left:5px;margin-top:4px;width:11px!important}.dbg-arrow-glyph:before{color:#f0b429;content:"▶";font-size:12px;margin-left:3px}.dbg-current-line{background:#f0b42924;border-left:2px solid #f0b429}.coding-debug{padding:12px 14px}.coding-debug-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.dbg-btn{background:#21262d;border:1px solid #30363d;border-radius:7px;color:#e6edf3;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.dbg-btn:disabled{cursor:default;opacity:.4}.dbg-btn.step:hover:not(:disabled){border-color:#58a6ff;color:#58a6ff}.dbg-btn.cont:hover:not(:disabled){border-color:#3fb950;color:#3fb950}.dbg-btn.stop:hover:not(:disabled){border-color:#f85149;color:#f85149}.dbg-state{border-radius:20px;font-family:JetBrains Mono,monospace;font-size:12px;padding:3px 10px}.dbg-state.running{background:#58a6ff29;color:#58a6ff}.dbg-state.paused{background:#f0b42929;color:#f0b429}.dbg-state.finished{background:#7d859029;color:#a3acb9}.coding-debug-section-title{color:#7d8590;font-size:11px;letter-spacing:.6px;margin:14px 0 6px;text-transform:uppercase}.dbg-vars{display:flex;flex-direction:column;gap:3px}.dbg-var{grid-gap:8px;align-items:baseline;background:#161b22;border:1px solid #21262d;border-radius:6px;display:grid;font-family:JetBrains Mono,monospace;font-size:12.5px;gap:8px;grid-template-columns:minmax(60px,28%) auto 1fr;padding:6px 9px}.dbg-var-name{color:#79c0ff;font-weight:600;overflow:hidden;text-overflow:ellipsis}.dbg-var-type{color:#7d8590;font-size:11px}.dbg-var-value{color:#e6edf3;white-space:pre-wrap;word-break:break-word}.dbg-stack{font-family:JetBrains Mono,monospace;font-size:12.5px}.dbg-stack-frame{color:#e6edf3;padding:4px 9px}.dbg-stack-frame .muted{color:#7d8590}.dbg-end{border-radius:8px;font-size:13px;font-weight:600;margin:12px 0;padding:10px 12px}.dbg-end.ok{background:#2ea04329;color:#3fb950}.dbg-end.err{background:#f8514929;color:#f85149}.dbg-end.warn{background:#d2992229;color:#d29922}.coding-page ::-webkit-scrollbar{height:10px;width:10px}.coding-page ::-webkit-scrollbar-thumb{background:#2d333b;background-clip:content-box;border:2px solid #0000;border-radius:6px}.coding-page ::-webkit-scrollbar-thumb:hover{background:#3d444d;background-clip:content-box}.coding-page ::-webkit-scrollbar-corner{background:#0000}.coding-toolbar{background:linear-gradient(180deg,#1a2029,#161b22);box-shadow:0 1px 0 #21262d,0 2px 12px #0000004d}.coding-logo{transition:filter .2s}.coding-logo:hover{filter:brightness(1.2)}.coding-ghost-btn,.coding-select{transition:border-color .15s,color .15s,background .15s}.coding-select:hover{border-color:#58a6ff}.cdlg-input:focus,.coding-select:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff2e;outline:none}.coding-resizer{background:#0000;cursor:col-resize;flex:0 0 5px;position:relative;z-index:2}.coding-resizer:after{background:#21262d;content:"";inset:0 2px;position:absolute;transition:background .15s}.coding-resizer:hover:after{background:#58a6ff}.coding-tree-row{transition:background .12s}.coding-tree-row.active{box-shadow:inset 2px 0 0 #58a6ff}.coding-sidebar-actions button{border-radius:5px;transition:color .15s,transform .1s}.coding-sidebar-actions button:hover{transform:scale(1.15)}.coding-tab{position:relative;transition:color .15s,border-color .15s}.coding-tab:hover{color:#c9d1d9}.cdlg-btn:focus-visible,.coding-debug-btn:focus-visible,.coding-run-btn:focus-visible,.coding-test-btn:focus-visible,.dbg-btn:focus-visible{box-shadow:0 0 0 3px #58a6ff59;outline:none}.coding-welcome{align-items:center;background:radial-gradient(1200px 500px at 50% -10%,#58a6ff1a,#0000 60%),#0d1117;display:flex;inset:34px 0 0 0;justify-content:center;position:absolute;z-index:5}.coding-welcome-card{animation:cdlg-pop .25s ease;background:linear-gradient(180deg,#161b22,#11151b);border:1px solid #21262d;border-radius:18px;box-shadow:0 24px 60px #00000073;max-width:520px;padding:40px 36px;text-align:center}.coding-welcome-logo{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#58a6ff,#a371f7);-webkit-background-clip:text;font-family:JetBrains Mono,monospace;font-size:40px;font-weight:800;margin-bottom:6px}.coding-welcome-card h1{color:#f0f6fc;font-size:26px;margin:4px 0 14px}.coding-welcome-card p{color:#9aa5b1;font-size:14px;line-height:1.6;margin:0 0 22px}.coding-welcome-card p b{color:#c9d1d9}.coding-welcome-btn{background:linear-gradient(90deg,#1f6feb,#8957e5);border:none;border-radius:10px;box-shadow:0 4px 16px #58a6ff66;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 22px;transition:transform .1s,filter .15s}.coding-welcome-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.coding-welcome-feats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px}.coding-welcome-feats span{background:#0d1117;border:1px solid #21262d;border-radius:20px;color:#8b949e;font-size:12px;padding:5px 12px}.cdlg-overlay{align-items:center;animation:cdlg-fade .15s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#01040999;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.cdlg-card{animation:cdlg-pop .18s ease;background:linear-gradient(180deg,#1a2029,#161b22);border:1px solid #30363d;border-radius:14px;box-shadow:0 24px 70px #0000008c;padding:22px 22px 18px;width:min(440px,92vw)}.cdlg-title{color:#f0f6fc;font-size:17px;font-weight:700;margin-bottom:6px}.cdlg-title.danger{color:#ff7b72}.cdlg-message{color:#9aa5b1;font-size:13px;line-height:1.5;margin-bottom:14px;word-break:break-word}.cdlg-input{background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#e6edf3;font-family:JetBrains Mono,monospace;font-size:14px;margin-bottom:16px;padding:10px 12px;width:100%}.cdlg-actions{display:flex;gap:10px;justify-content:flex-end}.cdlg-btn{background:#21262d;border:1px solid #30363d;border-radius:8px;color:#e6edf3;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:filter .15s,border-color .15s}.cdlg-btn.ghost:hover{border-color:#8b949e}.cdlg-btn.primary{background:linear-gradient(90deg,#238636,#2ea043);border:none}.cdlg-btn.danger{background:linear-gradient(90deg,#b62324,#da3633);border:none}.cdlg-btn.danger:hover,.cdlg-btn.primary:hover{filter:brightness(1.1)}@keyframes cdlg-fade{0%{opacity:0}to{opacity:1}}@keyframes cdlg-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:1100px){.coding-panel{flex-basis:340px}.coding-sidebar{flex-basis:180px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#7c9cff;--primary-dark:#6a88e8;--primary-light:#7c9cff24;--secondary:#5ee0c0;--danger:#ff7a90;--warning:#f0b429;--text-primary:#e8ecf5;--text-secondary:#a7b1c2;--text-muted:#8d96aa;--border:#ffffff1a;--border-light:#ffffff0f;--bg-primary:#10141d;--bg-secondary:#080a0f;--bg-hover:#171d29;--sidebar-width:240px;--header-height:66px;--easy-color:#5ee0c0;--medium-color:#f0b429;--hard-color:#ff7a90;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 12px 30px -18px #000000e6;--shadow-lg:0 32px 70px -34px #000000f2;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--font-serif:ui-serif,"Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}body{-webkit-font-smoothing:antialiased;background-attachment:fixed;background-color:#080a0f;background-color:var(--bg-secondary);background-image:radial-gradient(1100px 620px at 12% -12%,#7c9cff29,#0000 60%),radial-gradient(900px 520px at 92% 2%,#5ee0c014,#0000 58%),radial-gradient(700px 500px at 50% 110%,#c792ff0f,#0000 60%);color:#e8ecf5;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.65;text-rendering:optimizeLegibility}::selection{background:#7c9cff52}:focus-visible{outline:2px solid #7c9cffbf;outline-offset:2px}::-webkit-scrollbar{height:11px;width:11px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1f;border:3px solid #080a0f;border:3px solid var(--bg-secondary);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff3}h1,h2,h3{font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-weight:400;letter-spacing:-.015em}code,pre{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-family:var(--font-mono)}a{color:#7c9cff;color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button,input,select,textarea{font-family:inherit}code,pre{font-family:Consolas,Monaco,Courier New,monospace}.difficulty-easy{color:#5ee0c0;color:var(--easy-color)}.difficulty-medium{color:#f0b429;color:var(--medium-color)}.difficulty-hard{color:#ff7a90;color:var(--hard-color)}.badge-easy{background:#5ee0c01f;color:#5ee0c0;color:var(--easy-color)}.badge-medium{background:#f0b4291f;color:#f0b429;color:var(--medium-color)}.badge-hard{background:#ff7a901f;color:#ff7a90;color:var(--hard-color)}.status-accepted{color:#00b8a3}.status-wrong_answer{color:#ef4743}.status-time_limit_exceeded{color:orange}.status-runtime_error{color:#ef4743}.status-compile_error{color:#8d96aa;color:var(--text-muted)}.status-judging,.status-pending{color:#7c9cff;color:var(--primary)}.container{margin:0 auto;max-width:1200px;padding:0 16px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s ease;white-space:nowrap}.btn-primary{background:#7c9cff;background:var(--primary);color:#fff}.btn-primary:hover{background:#6a88e8;background:var(--primary-dark)}.btn-secondary{background:#080a0f;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border);color:#e8ecf5}.btn-secondary:hover{background:#171d29;background:var(--bg-hover)}.btn-success{background:var(--secondary);color:#fff}.btn-success:hover{background:#2d9248}.btn-danger{background:var(--danger);color:#fff}.btn-sm{font-size:13px;padding:5px 12px}.btn-lg{font-size:16px;padding:12px 24px}.card{background:#10141d;background:var(--bg-primary);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.tag{align-items:center;background:#080a0f;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:20px;color:#a7b1c2;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;padding:3px 10px;transition:all .15s}.tag.active,.tag:hover{background:#7c9cff24;background:var(--primary-light);border-color:#7c9cff;border-color:var(--primary);color:#7c9cff;color:var(--primary)}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:2px 8px}.spinner{animation:spin .7s linear infinite;border:2px solid #ffffff1a;border-top-color:#7c9cff;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.page-loading{align-items:center;display:flex;justify-content:center;min-height:300px}.text-muted{color:#8d96aa;color:var(--text-muted)}.text-secondary{color:#a7b1c2;color:var(--text-secondary)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-control{background:#10141d;background:var(--bg-primary);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#e8ecf5;color:var(--text-primary);font-size:14px;padding:8px 12px;transition:border-color .15s;width:100%}.form-control:focus{border-color:#7c9cff;border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81a;outline:none}.divider{background:#ffffff1a;background:var(--border);height:1px;margin:16px 0}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:16px 0 8px}.markdown-body p{margin:8px 0}.markdown-body pre{background:#080a0f;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);margin:8px 0;overflow-x:auto;padding:12px}.markdown-body code:not(pre code){background:#080a0f;background:var(--bg-secondary);border-radius:3px;color:#ff7a90;color:var(--danger);font-size:13px;padding:1px 5px}.navbar{-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);background:#080a0fb8;border-bottom:1px solid var(--border);box-shadow:none}.navbar-container{gap:26px;max-width:1180px;padding:0 24px}.navbar-brand{gap:11px}.brand-icon{background:linear-gradient(140deg,#7c9cfffa,#5ee0c0c7);border-radius:9px;box-shadow:0 0 22px #7c9cff52;color:#07090d;display:grid;font-size:11px;font-weight:800;height:28px;letter-spacing:.01em;padding:0;place-items:center;text-transform:uppercase;width:28px}.brand-icon:after{border-color:#080a0fcc #0000 #0000 #080a0fcc;border-radius:3px;border-style:solid;border-width:1.5px;content:"";inset:7px;position:absolute}.brand-icon{position:relative}.brand-text{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.brand-it{color:var(--text-muted);font-weight:600}.auth-logo .brand-text{font-size:17px}.auth-logo .brand-icon{height:34px;width:34px}.auth-logo .brand-icon:after{inset:9px}.navbar-nav{gap:4px}.nav-link{border-radius:9px;color:var(--text-muted);font-size:13.5px;font-weight:500;padding:7px 12px}.nav-link:hover{background:hsla(0,0%,100%,.045);color:var(--text-primary)}.nav-link.active{background:#ffffff12;color:var(--text-primary)}.lang-toggle{background:#ffffff08;border-color:var(--border)}.lang-btn.active{background:#7c9cffe6;color:#07090d}.user-dropdown{background:#10141d;border-color:var(--border);box-shadow:0 32px 70px -34px #000000f2}.btn{border-radius:999px;font-weight:600;letter-spacing:.005em}.btn-primary{background:linear-gradient(120deg,#8fa9ff,#7c9cff 45%,#5ee0c0);border:none;box-shadow:0 10px 24px -14px #7c9cffb3;color:#07090d}.btn-primary:hover{background:linear-gradient(120deg,#9fb4ff,#8aa6ff 45%,#6ee7ca);color:#07090d;filter:brightness(1.04)}.btn-secondary{background:#ffffff08;border:1px solid #ffffff24;color:var(--text-primary)}.btn-secondary:hover{background:#ffffff12;border-color:#ffffff38}.btn-success{background:#5ee0c0;color:#07090d}.btn-success:hover{background:#74e9cd}.btn-danger{background:#ff7a90;color:#07090d}.btn-danger:hover{background:#ff8fa2}.btn-ghost{background:#ffffff08;border:1px solid #ffffff24;color:var(--text-primary)}.btn-ghost:hover{background:#ffffff12;border-color:#ffffff38}h1,h2,h3,h4{color:var(--text-primary)}.activities-hero h1,.activity-hero-banner h1,.admin-page-header h1,.auth-title,.contest-hero h1,.contests-header h1,.discussions-header h1,.problem-header h1,.section-title,.submissions-header h1{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em}.activities-hero h1,.activity-hero-banner h1,.contest-hero h1{font-size:clamp(32px,4.4vw,52px);line-height:1.06}.auth-title{font-size:30px}.section-title{font-size:clamp(24px,3vw,34px)}.activities-hero{background:radial-gradient(760px 340px at 16% -10%,#7c9cff29,#0000 65%),radial-gradient(560px 300px at 88% 0,#5ee0c012,#0000 62%);border-bottom:1px solid var(--border);color:var(--text-primary);padding:54px 0 36px}.activities-hero p{color:var(--text-secondary);max-width:62ch;opacity:1}.activity-hero-banner,.contest-hero{background:radial-gradient(700px 340px at 14% -20%,#7c9cff2e,#0000 62%),radial-gradient(520px 300px at 90% 110%,#5ee0c012,#0000 60%),#0a0c12;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary)}.contest-hero{margin-bottom:24px}.activity-hero-banner{border-left:0;border-radius:0;border-right:0}.hero-tab{color:var(--text-muted)}.hero-tab.active,.hero-tab:hover{color:var(--text-primary)}.hero-tab.active{border-bottom-color:var(--primary)}.hero-tabs{border-top-color:var(--border)}.sd-hero{background:radial-gradient(circle at 20% 10%,#7c9cff38,#0000 52%),radial-gradient(circle at 90% 80%,#5ee0c021,#0000 52%),linear-gradient(135deg,#0a0c12,#10141d)}.sd-detail-hero,.sd-hero{border:1px solid var(--border)}.sd-detail-hero{background:radial-gradient(600px 280px at 12% 0,#7c9cff29,#0000 62%),linear-gradient(135deg,#0c0f16,#151a25);color:var(--text-primary)}.sd-hero-title{-webkit-text-fill-color:currentColor;background:none;-webkit-background-clip:border-box;background-clip:initial;color:var(--text-primary);font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em}.sd-hero-title em{color:var(--primary);font-style:italic}.sd-hero-subtitle,.sd-meta-dim{color:var(--text-secondary)}.sd-md{color:var(--text-primary)}.sd-phase-nav-item:hover{background:#7c9cff24;color:var(--primary)}.sd-diff-easy{background:#5ee0c01f;color:var(--secondary)}.sd-diff-medium{background:#f0b4291f;color:var(--warning)}.sd-diff-hard{background:#ff7a901f;color:var(--danger)}.activity-card,.admin-table-wrap,.auth-card,.card,.contest-card,.discussion-card,.discussion-header-card,.manage-content,.manage-sidebar,.modal-content,.panel,.profile-card,.stat-card{background:linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border-color:var(--border);color:var(--text-primary)}.activity-card:hover,.card:hover,.contest-card:hover,.discussion-card:hover{border-color:#7c9cff52;box-shadow:var(--shadow-lg)}.activity-cover{background:linear-gradient(160deg,#7c9cff24,#5ee0c00d)}.activity-cover-placeholder{opacity:.8}.activities-toolbar .chip.active,.chip.active,.contrast-btn.active,.filter-btn.active,.filter-chip.active,.gallery-tab.active,.mode-btn.active,.tab-btn.active{border-color:#0000;color:#07090d}.chip.active{border-color:#0000}.chip.active,.filter-chip.active{background:linear-gradient(120deg,#8fa9ff,#5ee0c0)}.filter-btn.active{background:#7c9cff2e}.search-box-act{background:#ffffff0a;border-color:var(--border)}.search-box-act,.search-input-act{color:var(--text-primary)}.search-input-act::placeholder{color:var(--text-muted)}.filter-chips .chip{border-color:#ffffff24;color:var(--text-secondary)}.filter-chips .chip:hover{background:#ffffff0f;color:var(--text-primary)}.form-control,.input,.search-input,select.form-control,textarea{background:#0c0f16;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.form-control::placeholder,.input::placeholder,.search-input::placeholder{color:var(--text-muted)}.form-control:focus,.input:focus,.search-input:focus{border-color:#7c9cffb3;box-shadow:0 0 0 3px #7c9cff24}.form-label{color:var(--text-secondary);font-weight:600}.form-error{background:#ff7a901f;border-color:#ff7a9059}table{color:var(--text-primary)}table thead th{background:#0c0f16;color:var(--text-muted);font-weight:600}table td,table thead th{border-color:var(--border)}table tbody tr:hover{background:hsla(0,0%,100%,.025)}.academy-catalogue{background:radial-gradient(900px 380px at 8% -20%,#7c9cff1a,#0000 62%),linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border-color:var(--border)}.academy-head h2{color:var(--text-primary);font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em}.academy-empty,.academy-head p{color:var(--text-secondary)}.academy-open{background:linear-gradient(120deg,#8fa9ff,#7c9cff 45%,#5ee0c0);color:#07090d;font-weight:700}.academy-open:hover{box-shadow:0 8px 20px #7c9cff4d}.academy-group>h3{color:var(--text-muted)}.academy-card{background:linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border-color:var(--border);border-top-color:var(--academy-accent,var(--primary))}.academy-card:hover{border-color:color-mix(in srgb,var(--academy-accent,var(--primary)) 34%,var(--border));box-shadow:var(--shadow-lg)}.academy-chip{background:#ffffff0d;color:var(--text-muted)}.academy-chip.accent{background:color-mix(in srgb,#7c9cff 14%,#0000);background:color-mix(in srgb,var(--academy-accent,#7c9cff) 14%,#0000);color:#7c9cff;color:var(--academy-accent,#7c9cff)}.academy-card h4{color:var(--text-primary);font-family:var(--font-serif);font-size:20px;font-weight:400}.academy-card p{color:var(--text-secondary)}.academy-meta{border-top-color:var(--border);color:var(--text-muted)}.academy-filter-chip,.academy-meta b{color:var(--text-secondary)}.academy-filter-chip{background:#ffffff08;border-color:var(--border)}.academy-filter-chip b{background:#ffffff12;color:var(--text-muted)}.academy-filter-chip.active{background:linear-gradient(120deg,#8fa9ff,#5ee0c0);border-color:#0000;color:#07090d}.academy-filter-chip.active b{background:#07090d2e;color:#07090d}.academy-skeleton{background:linear-gradient(100deg,hsla(0,0%,100%,.035) 30%,hsla(0,0%,100%,.075) 45%,hsla(0,0%,100%,.035) 60%);background-size:220% 100%;border-top-color:var(--border)}.enrolled-badge,.price-badge.free{background:#5ee0c01f;color:var(--secondary)}.group-tag{background:#f0b4291f;color:var(--warning)}.price-discount-label{background:#ff7a901f}.cover-badge-discount,.cover-badge-free{color:#07090d}.profile-banner,.profile-header{background:radial-gradient(600px 260px at 12% 0,#7c9cff29,#0000 64%),linear-gradient(135deg,#0c0f16,#151a25);border-color:var(--border)}.comment-avatar,.comment-user-avatar,.profile-avatar,.user-avatar{background:linear-gradient(140deg,#7c9cff,#5ee0c0);color:#07090d}.admin-layout,.admin-main{background:#0000}.admin-sidebar{background:#0a0c12;border-right:1px solid var(--border);color:var(--text-primary)}.admin-sidebar-header{border-bottom-color:var(--border)}.admin-badge{background:linear-gradient(120deg,#8fa9ff,#5ee0c0);color:#07090d;letter-spacing:.08em}.admin-who-name{color:var(--text-primary)}.admin-who-role{color:var(--text-muted)}.admin-nav-link{border-left-color:#0000;color:var(--text-secondary)}.admin-nav-link:hover{background:hsla(0,0%,100%,.045);color:var(--text-primary)}.admin-nav-link.active{background:#7c9cff1a;border-left-color:var(--primary);color:var(--text-primary)}.admin-nav-secondary{color:var(--text-muted)}.admin-nav-divider{background:var(--border)}.admin-stat-card,.admin-system-info,.admin-users-table{background:linear-gradient(165deg,hsla(0,0%,100%,.035),hsla(0,0%,100%,.008));border-color:var(--border)}.admin-header{-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);background:#080a0fb8;border-color:var(--border)}.admin-page-header h1{font-weight:400}.section-item.active{background:#7c9cff24;color:var(--primary)}.admin-role-pill.superuser{background:#f0b42924;color:var(--warning)}.admin-role-pill.staff{background:#7c9cff29;color:var(--primary)}.admin-role-pill.user{background:#ffffff0f;color:var(--text-secondary)}.admin-role-pill.inactive{background:#ff7a901f;color:var(--danger)}.video-upload-dropzone:hover{background:#7c9cff14}.upload-row .up-bar{background:#ffffff1a}.modal-overlay{background:#030509b8}.modal-content{background:#10141d;border:1px solid var(--border);box-shadow:0 40px 90px -40px #000}.dropdown-menu,.select-menu{background:#10141d;border-color:var(--border)}code,pre{color:inherit}@media (max-width:900px){.navbar-container{gap:14px;padding:0 16px}.navbar-nav{-webkit-overflow-scrolling:touch;overflow-x:auto}.nav-link{white-space:nowrap}}@media (max-width:640px){.brand-text{display:none}.activities-hero{padding:38px 0 28px}}