@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800;900&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-0:#f8f9fb;--bg-1:#fff;--bg-2:#fff;--bg-3:#f3f4f6;--bg-4:#e5e7eb;--line:#e8eaed;--line-strong:#d1d5db;--text:#111827;--text-dim:#374151;--text-muted:#6b7280;--cyan:#2563eb;--cyan-glow:#2563eb40;--cyan-soft:#2563eb1a;--purple:#7c3aed;--purple-glow:#7c3aed38;--purple-soft:#7c3aed14;--orange:#ea580c;--red:#dc2626;--yellow:#d97706;--font-display:"Geist", sans-serif;--font-body:"Geist", sans-serif;--font-mono:"Geist", sans-serif;--font-family:var(--font-body);--panel-bg:#fff;--panel-strong:#fff;--glass-bg:#fff;--glass-border:var(--line);--border-color:var(--line);--border-muted:var(--line);--accent-primary:var(--cyan);--accent-secondary:var(--purple);--accent-warning:var(--yellow);--text-main:var(--text);--success:#16a34a;--error:var(--red);--radius:12px;--on-accent:#fff}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#0b1220;--bg-1:#111c2e;--bg-2:#111c2e;--bg-3:#18243a;--bg-4:#223047;--line:#223047;--line-strong:#2f4a70;--text:#eef2f8;--text-dim:#c7d2e0;--text-muted:#94a3b8;--cyan:#60a5fa;--cyan-glow:#60a5fa40;--cyan-soft:#60a5fa24;--purple:#a78bfa;--purple-glow:#a78bfa38;--purple-soft:#a78bfa1f;--orange:#fb923c;--red:#f87171;--yellow:#fbbf24;--panel-bg:#111c2e;--panel-strong:#18243a;--glass-bg:#111c2e;--success:#4ade80;--on-accent:#0b1220}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh}body{background:var(--bg-0);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;font-weight:700;line-height:1.5;overflow-x:hidden}body:before,body:after{display:none}::selection{background:var(--cyan-soft);color:var(--cyan)}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}input,textarea,select{color:inherit;border:1px solid var(--line-strong);background:0 0;border-radius:6px;outline:none;padding:9px 11px;font-family:inherit;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--cyan)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}h1,h2,h3{color:var(--text);font-family:var(--font-display);letter-spacing:0}h1{font-size:clamp(2rem,3vw,2.7rem);font-weight:800}h3{font-size:22px;font-weight:700}p{color:var(--text-dim);font-size:.93rem;line-height:1.55}.app-container{z-index:1;max-width:1220px;margin:0 auto;padding:28px 32px 80px;position:relative}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.arena-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text);text-shadow:none;margin:0 0 10px;font-size:40px;font-weight:800;line-height:1}.arena-title-accent{color:var(--cyan)}.topbar-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:700}.topbar-title .accent,.accent{color:var(--cyan)}.topbar-sub{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;margin-top:4px;font-size:11px}.user-profile{justify-content:flex-end;align-items:center;gap:12px;display:flex}.dashboard-grid,.drill-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.dashboard-notice{color:var(--yellow);font-family:var(--font-mono);background:#f5d76e1a;border:1px solid #f5d76e57;border-radius:12px;grid-column:1/-1;padding:12px 14px;font-size:12px}.completed-section{grid-column:1/-1}.completed-toggle{border:1px solid var(--line);background:var(--bg-1);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.completed-toggle:hover{border-color:#2563eb73}.completed-toggle-label{align-items:center;gap:8px;display:inline-flex}.completed-count{background:var(--bg-2);min-width:22px;height:20px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.completed-grid{margin-top:16px}.drill-card{border:1px solid var(--line);background:var(--bg-1);border-radius:14px;flex-direction:column;padding:22px;font-weight:400;transition:transform .25s cubic-bezier(.2,.7,.3,1),border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.drill-card:before{content:none;background:linear-gradient(120deg,#0000 30%,#00e6cc0f 50%,#0000 70%);transition:transform .8s;position:absolute;inset:0;transform:translate(-100%)}.drill-card:hover{border-color:#2563eb73;transform:none;box-shadow:0 10px 26px #0f172a14}.drill-card:hover:before{transform:none}.drill-card>*{z-index:1;position:relative}.drill-cover-bar{background:var(--cyan);height:4px;box-shadow:0 0 16px var(--cyan-glow);border-radius:4px;margin-bottom:18px}.drill-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.drill-id{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;text-transform:none;font-size:11px;font-weight:500}.drill-card h3{margin-bottom:8px;font-weight:700}.drill-card p{min-height:66px;margin-bottom:16px;font-weight:400}.drill-meta{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;gap:14px;margin-bottom:18px;font-size:11px;display:flex}.drill-meta strong{color:var(--cyan);font-weight:400}.drill-actions,.btn-row{flex-wrap:wrap;gap:10px;display:flex}.drill-card .drill-actions{margin-top:auto}.drill-card .dashboard-notice{margin-bottom:14px;font-weight:400}.btn{border:1px solid var(--cyan);background:var(--cyan);min-height:40px;color:var(--on-accent);font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .15s,color .15s,background .15s;display:inline-flex}.btn:hover{box-shadow:0 6px 18px var(--cyan-glow);transform:translateY(-1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--cyan);border-color:var(--cyan);color:var(--on-accent)}.btn.btn-completed{background:var(--orange);border-color:var(--orange);color:#1a1205}.btn-secondary,.btn.ghost{background:var(--bg-1);border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover,.btn.ghost:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:none}.btn-small{width:auto;min-height:34px;padding:7px 12px;font-size:11px}.status-badge,.badge{background:var(--bg-3);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:none;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.status-in-progress,.status-testing,.status-ready-for-inspection,.status-waiting-for-inspection,.badge.cyan{background:var(--cyan-soft);color:var(--cyan)}.status-inspecting,.badge.purple{background:var(--purple-soft);color:var(--purple)}.status-completed{background:var(--cyan-soft);color:var(--cyan)}.status-failed,.badge.red{color:var(--red);background:#dc262614}.status-locked,.badge.muted{background:var(--bg-3);color:var(--text-muted)}.glass-panel,.glass-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);-webkit-backdrop-filter:none}.section-title{font-family:var(--font-display);align-items:center;gap:10px;margin-bottom:14px;font-size:18px;font-weight:700;display:flex}.loading-spinner{border:2px solid #00e6cc33;border-left-color:var(--cyan);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.loading-screen{z-index:9999;background:var(--bg-0);place-items:center;display:grid;position:fixed;inset:0}.empty-state{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;text-align:center;padding:40px 20px;font-size:12px}.fade-in{animation:.36s forwards fadeIn}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{border-color:#00e6cc47}50%{border-color:#00e6ccd1}}@media (width<=760px){.app-container{padding:24px 18px 60px}header,.user-profile{flex-direction:column;align-items:flex-start}.dashboard-grid,.drill-grid{grid-template-columns:1fr}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--bg-4)}.nav-link{cursor:pointer;opacity:.5;transition:opacity .2s,color .2s}.nav-link:hover{opacity:.8;color:var(--cyan)}.nav-link.active{opacity:1}.inspection-stats-header{margin-bottom:24px}.stat-pill{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.inspection-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.inspection-item-card{background:var(--bg-1);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:16px;transition:border-color .2s;display:flex}.inspection-item-card:hover{border-color:var(--line-strong)}.inspection-tag{font-family:var(--font-mono);color:var(--purple);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.inspection-status{font-family:var(--font-mono);color:var(--cyan);text-transform:uppercase;margin-left:auto;font-size:10px}.inspection-item-header{align-items:center;display:flex}.inspection-item-body{flex-direction:column;flex:1;gap:4px;display:flex}.inspection-user-info{justify-content:space-between;font-size:12px;display:flex}.inspection-user-info .label{color:var(--text-muted)}.stat-pills-mini{gap:8px;display:flex}.stat-pill-mini{background:var(--bg-3);border:1px solid var(--line);font-family:var(--font-mono);color:var(--cyan);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.arena-back-nav{flex-direction:row;flex:none;align-items:center;gap:6px;display:inline-flex}.arena-back-btn{border:1px solid var(--line-strong);background:var(--bg-1);height:30px;color:var(--text-dim);font-family:var(--font-body);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:11.5px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.arena-back-btn:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-soft)}.arena-back-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.arena-back-btn--primary{border-color:var(--cyan);background:var(--cyan);color:var(--on-accent);box-shadow:0 1px 3px var(--cyan-glow)}.arena-back-btn--primary:hover{background:var(--cyan);border-color:var(--cyan);color:var(--on-accent);filter:brightness(.92)}.arena-header-lead{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.admin-header{flex-wrap:wrap;justify-content:flex-start;gap:12px}.admin-header-title{text-transform:uppercase;letter-spacing:2px;margin:0 auto 0 4px;font-size:1.8rem}.admin-header select{background:var(--bg-1);text-overflow:ellipsis;flex:0 460px;min-width:0;height:34px;padding:0 11px}.admin-header .btn{white-space:nowrap;flex:none}@media (width<=760px){.admin-header{flex-direction:row;align-items:center}.admin-header-title{letter-spacing:1px;font-size:1.3rem}.admin-header select{flex:100%;order:1}}.admin-drill-search{border:1px solid var(--line-strong);background:var(--bg-1);color:var(--text-muted);border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:0 8px 0 14px;transition:border-color .15s;display:flex}.admin-drill-search:focus-within{border-color:var(--cyan)}.admin-drill-search input{min-width:0;color:var(--text);border:0;flex:1;padding:11px 0}.admin-drill-search input:focus-visible{outline:none}.admin-drill-search input::-webkit-search-cancel-button{display:none}.admin-drill-search button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.admin-drill-search button:hover{background:var(--bg-3);color:var(--text)}.admin-drill-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.admin-drill-grid .drill-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-drill-grid .drill-actions .btn{white-space:nowrap;padding-inline:8px}.scroll-jump{z-index:50;border:1px solid var(--line-strong);background:var(--bg-1);width:44px;height:44px;color:var(--text-muted);cursor:pointer;opacity:.7;border-radius:50%;place-items:center;transition:opacity .15s,color .15s,border-color .15s,transform .15s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 18px #0000001f}.scroll-jump:hover,.scroll-jump:focus-visible{opacity:1;color:var(--cyan);border-color:var(--cyan);transform:translateY(-1px)}.workspace-container{background:var(--bg-0);width:100vw;height:100vh;color:var(--text);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}.workspace-loading{background:var(--bg-0);width:100vw;height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.leetcode-header{background:var(--bg-1);border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) auto minmax(220px,1fr);align-items:center;gap:16px;height:66px;padding:0 15px;display:grid}.header-left,.header-center,.header-right,.problem-nav,.nav-arrows,.editor-tools,.code-actions,.console-tabs,.toolbar-button{align-items:center;display:flex}.header-left{gap:14px;min-width:0}.header-center{justify-content:center;gap:6px}.header-right{color:#a8aaaf;justify-content:flex-end;gap:22px}.brand-mark{border:0;border-right:1px solid var(--line);color:#f5a524;cursor:pointer;background:0 0;align-items:center;width:44px;height:44px;display:flex}.problem-nav{color:var(--text);white-space:nowrap;gap:26px;font-size:20px;font-weight:700}.problem-nav span,.nav-arrows svg,.header-right svg,.code-actions svg,.editor-tools svg{cursor:pointer}.nav-arrows{color:#a8aaaf;gap:24px}.toolbar-button{min-height:44px;color:var(--text);background:var(--bg-1);border:0;border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;gap:10px;padding:0 16px;font-size:18px;font-weight:700;text-decoration:none}.toolbar-button:hover{background:var(--cyan-soft)}.toolbar-button:disabled{cursor:progress;opacity:.72}.run-button{justify-content:center;min-width:92px}.submit-button{color:var(--cyan);background:var(--cyan-soft);border:1px solid #2563eb59}.gitea-button{color:#8ab4ff;font-size:16px}.template-button{color:#f0b35a;font-size:16px}.inspection-toolbar-button{color:var(--cyan);background:var(--cyan-soft);border:1px solid #2563eb59}.user-avatar{border:2px solid var(--line);color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.user-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.drill-shell{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.challenge-sidebar{background:var(--bg-0);border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:22px 0 14px;display:flex;overflow:hidden}.sidebar-kicker{color:#8c9099;text-transform:uppercase;padding:0 22px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.sidebar-title{color:var(--text);padding:8px 22px 18px;font-size:15px;font-weight:800}.challenge-list{flex:1;overflow-y:auto}.challenge-list-item{border:0;border-top:1px solid var(--line);width:100%;min-height:62px;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0 18px 0 22px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;display:flex}.challenge-list-item:last-child{border-bottom:1px solid var(--line)}.challenge-list-item:hover,.challenge-list-item.active{background:var(--cyan-soft);color:var(--cyan)}.challenge-list-item.locked{color:#62666f;cursor:not-allowed}.challenge-list-item i{background:#636873;border-radius:50%;width:8px;height:8px}.challenge-list-item.available i{background:#00a98f}.challenge-list-item.passed i{background:#22dc67}.challenge-list-item.testing i{background:#f5a524}.challenge-list-item.waiting i{background:#8bc3ff}.challenge-list-item.inspecting i{background:#a78bfa}.challenge-list-item.locked i{background:#3a3d44}.sidebar-repo-link{background:var(--cyan-soft);min-width:0;color:var(--cyan);border:1px solid #2563eb47;border-radius:8px;align-items:center;gap:8px;margin:14px;padding:10px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.repo-button-link{cursor:pointer;border-radius:8px;width:auto;font-family:inherit}.sidebar-repo-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-repo-link{color:#ffd391;background:#211a10;border-color:#55401f;margin-top:-6px}.split-view{grid-template-columns:minmax(320px, var(--description-width,50%)) 10px minmax(420px, 1fr);background:0 0;gap:0;min-width:0;min-height:0;padding:10px 15px 11px;display:grid;overflow:hidden}.pane-resizer{cursor:col-resize;touch-action:none;position:relative}.pane-resizer:before{content:"";background:0 0;border-radius:999px;position:absolute;inset:0 4px}.pane-resizer:hover:before,.pane-resizer:active:before{background:#2563eb6b}.description-pane,.editor-pane{background:var(--bg-1);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.pane-tabs{background:var(--bg-0);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;display:flex}.pane-tab-coins{color:var(--text-muted);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.pane-tab-coins svg{color:#d97706}.pane-tab-coins strong{color:var(--text-main);font-weight:700}.pane-tab{height:52px;color:var(--text-main);align-items:center;gap:7px;font-size:20px;font-weight:800;display:flex}.pane-tab svg{color:var(--cyan)}.pane-content{flex:1;padding:30px 24px 28px;overflow-y:auto}.problem-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.pane-content h1{color:var(--text);letter-spacing:0;margin:0 0 24px;font-size:54px;font-weight:300;line-height:1.05}.availability-dot{background:#636873;border-radius:50%;width:12px;height:12px}.availability-dot.available{background:var(--cyan)}.availability-dot.passed{background:#22dc67}.availability-dot.testing{background:#f5a524}.availability-dot.waiting{background:#8bc3ff}.availability-dot.inspecting{background:#a78bfa}.challenge-spec-card{color:#5f5c68;background:#e8e6ef;border:1px solid #c6c3cf;grid-template-columns:repeat(4,1fr);margin:12px 0 44px;display:grid}.challenge-spec-card div{text-align:center;border-right:1px solid #c6c3cf;place-items:center;gap:8px;min-height:72px;padding:12px;display:grid}.challenge-spec-card div:last-child{border-right:0}.challenge-spec-card span{text-transform:uppercase;font-size:11px}.challenge-spec-card strong{color:#504d58;font-size:12px;font-weight:700}.inspection-card{color:#166534;background:#16a34a14;border:1px solid #16a34a47;border-radius:8px;gap:4px;margin-bottom:28px;padding:14px;display:grid}.active-inspection-card{color:#5b21b6;background:#7c3aed14;border-color:#7c3aed47}.active-inspection-card button{background:var(--cyan);color:#fff;cursor:pointer;border:0;border-radius:8px;width:fit-content;padding:9px 16px;font-weight:900}.passed-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.drill-challenge-meta .status-completed{color:var(--orange,#ff8a5c);font-weight:700}.drill-challenge-meta .status-awaiting{color:var(--yellow,#f5d76e)}.submit-button.btn-completed{background:var(--orange,#ff8a5c);border-color:var(--orange,#ff8a5c);color:#1a1205}.next-challenge-button{background:var(--cyan);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-weight:900;display:inline-flex}.problem-copy{color:var(--text-dim);font-size:18px;line-height:1.55}.problem-copy h2{border-bottom:1px solid var(--line);color:var(--text-muted);margin:0 0 18px;padding-bottom:10px;font-size:20px;font-weight:500}.problem-copy pre{white-space:pre-wrap;color:inherit;margin:0;font-family:inherit}.problem-copy .fixture-block{border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;overflow-x:auto}.problem-copy h2 svg{vertical-align:-2px;margin-right:6px}.problem-copy pre+h2{margin-top:26px}.code-titlebar{background:var(--bg-0);border-bottom:1px solid var(--line);min-height:53px;color:var(--text-main);justify-content:space-between;align-items:center;padding:0 16px;font-size:22px;font-weight:800;display:flex}.code-titlebar>div:first-child{align-items:center;gap:7px;display:flex}.code-titlebar svg:first-child{color:var(--cyan)}.code-actions{color:var(--text-muted);gap:18px}.collapse-icon{transform:rotate(-90deg)}.editor-header{background:var(--bg-0);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;display:flex}.language-control{align-items:center;display:flex;position:relative}.language-button{color:var(--text-dim);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 8px 4px 0;font-size:22px;display:flex}.language-chip{color:var(--text-dim);padding:4px 8px 4px 0;font-size:22px}.language-menu{z-index:20;border:1px solid var(--line);background:var(--bg-1);border-radius:8px;grid-template-columns:repeat(3,minmax(150px,1fr));gap:0;width:min(706px,100vw - 310px);padding:18px 0;display:grid;position:absolute;top:42px;left:-10px;box-shadow:0 18px 50px #0f172a1f}.language-menu button{border:0;border-right:1px solid var(--line);min-height:48px;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;grid-template-columns:26px 1fr;align-items:center;padding:0 24px;font-size:20px;display:grid}.language-menu button:nth-child(3n){border-right:0}.language-menu button:hover,.language-menu button.active{background:var(--cyan-soft);color:var(--cyan)}.language-menu svg{color:var(--cyan)}.editor-tools{color:var(--text-muted);gap:10px;font-size:14px}.editor-shell{flex:1;min-height:260px;position:relative;overflow:hidden}.drill-list-screen{overflow:auto}.drill-challenge-catalog{width:min(1180px,100vw - 32px);margin:0 auto;padding:42px 0 64px}.drill-catalog-heading{gap:10px;margin-bottom:26px;display:grid}.drill-catalog-heading h1{color:var(--text-main);margin:0;font-size:42px}.drill-catalog-heading p{max-width:720px;color:var(--text-muted);margin:0}.drill-challenge-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.drill-challenge-card{border:1px solid var(--border-color);background:var(--glass-bg);border-radius:8px;gap:16px;padding:18px;display:grid}.drill-challenge-card.locked{opacity:.58}.drill-challenge-card-top,.drill-challenge-meta{color:var(--text-muted);font-family:var(--font-family);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.drill-challenge-card-top strong{color:var(--accent-primary)}.drill-challenge-card h2{color:var(--text-main);margin:0;font-size:22px}.drill-challenge-meta span{align-items:center;gap:6px;display:inline-flex}.drill-challenge-lock{color:var(--text-muted);font-family:var(--font-family);margin:-4px 0 0;font-size:12px;line-height:1.45}.template-view-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:16px;display:grid}.template-panel{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-1);min-width:0;overflow:hidden}.template-panel-title{border-bottom:1px solid var(--border-color);color:var(--accent-primary);font-family:var(--font-family);text-transform:uppercase;align-items:center;gap:8px;padding:12px 14px;font-size:12px;display:flex}.template-panel pre{max-height:640px;color:var(--text-main);white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow:auto}.repo-file-list{gap:0;display:grid}.repo-file-row{border-bottom:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-family);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;font-size:12px;display:grid}.repo-file-row strong{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.repo-file-row em{color:var(--text-muted);font-style:normal}@media (width<=900px){.template-view-grid{grid-template-columns:1fr}}.console-pane{min-height:54px;height:var(--console-height,180px);background:var(--bg-0);border-top:1px solid var(--line);padding:6px 18px 14px;position:relative}.console-resizer{cursor:row-resize;touch-action:none;height:8px;position:absolute;top:0;left:0;right:0}.console-resizer:before{content:"";background:0 0;border-radius:999px;height:2px;position:absolute;top:3px;left:18px;right:18px}.console-resizer:hover:before,.console-resizer:active:before{background:#2563eb6b}.console-header{min-height:54px;color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.console-tabs{gap:25px;font-size:20px;font-weight:500}.console-tabs span{cursor:pointer;align-items:center;gap:8px;display:flex}.console-tabs .active{color:var(--text-main);font-weight:800}.console-tabs .active svg{color:var(--cyan)}.console-output{border:1px solid var(--line);background:var(--bg-0);height:calc(100% - 54px);color:var(--text-dim);border-radius:8px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;overflow-y:auto}.testcase-list,.result-list{gap:10px;display:grid}.testcase-row,.result-row{border-left:3px solid var(--line-strong);gap:3px;padding-left:10px;display:grid}.result-row.passed{border-left-color:#16a34a}.result-row.failed{border-left-color:var(--red)}.result-summary{border-radius:6px;width:fit-content;padding:4px 8px;font-weight:800}.result-summary.passed{color:#16a34a;background:#16a34a1a}.result-summary.failed{color:var(--red);background:#dc26261a}.result-summary.testing{color:var(--cyan);background:#2563eb1a}.inspection-modal{z-index:30;background:#00000094;place-items:center;display:grid;position:fixed;inset:0}.inspection-modal>div{border:1px solid var(--line);background:var(--bg-1);border-radius:8px;width:min(460px,100vw - 32px);padding:26px;position:relative;box-shadow:0 24px 70px #0f172a26}.inspection-modal button{color:var(--text-dim);cursor:pointer;background:0 0;border:0;position:absolute;top:12px;right:12px}.inspection-modal h2{margin:0 0 10px}.inspection-modal p{color:var(--text-muted);margin:0}@media (width<=1100px){.drill-shell{grid-template-columns:minmax(0,1fr)}.split-view{grid-template-columns:1fr;overflow-y:auto}.pane-resizer{display:none}.description-pane,.editor-pane{min-height:620px}.language-menu{width:min(620px,100vw - 230px)}}@media (width<=760px){.leetcode-header{grid-template-columns:1fr;height:auto;padding:10px 12px}.header-center,.header-right{justify-content:flex-start;overflow-x:auto}.drill-shell{grid-template-columns:1fr;overflow-y:auto}.pane-content h1{font-size:36px}.challenge-spec-card{grid-template-columns:1fr 1fr}.language-menu{grid-template-columns:1fr;width:calc(100vw - 40px)}.language-menu button{border-right:0}}.mcq-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.mcq-answer-list{flex-direction:column;flex:1;gap:22px;padding:18px 20px;display:flex;overflow-y:auto}.mcq-answer{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.mcq-answer legend{color:var(--text-main);gap:10px;margin-bottom:10px;font-size:15px;line-height:1.5;display:flex}.mcq-answer-number{color:var(--text-muted);font-weight:700}.mcq-answer-prompt{white-space:pre-wrap}.mcq-answer label{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.mcq-answer label:hover{border-color:var(--cyan)}.mcq-answer label.selected{border-color:var(--cyan);background:var(--cyan-soft);color:var(--text-main)}.mcq-answer input[type=radio]{accent-color:var(--cyan);margin:0}.mcq-answer:disabled label{cursor:default;opacity:.7}.mcq-result{border-top:1px solid var(--line);color:var(--text-dim);align-items:center;gap:12px;padding:12px 20px;display:flex}.auth-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#11151db8;border-radius:14px;width:100%;max-width:450px;padding:3rem}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-header h1{font-family:var(--font-display);color:var(--cyan);text-transform:uppercase;margin-bottom:.5rem;font-size:2rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.9rem}.auth-footer button{color:var(--cyan);cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:0;font-weight:700}.auth-footer button:hover{text-decoration:underline}.input-group{margin-bottom:1.5rem}.input-group label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.72rem;font-weight:600;display:block}.input-group input{background:var(--bg-2);border:1px solid var(--line-strong);width:100%;color:var(--text);border-radius:6px;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.input-group input:focus{border-color:var(--cyan);outline:none}.error-message{color:var(--error);text-align:center;background:#ff5f731a;border:1px solid #ff5f7359;margin-bottom:1.5rem;padding:.8rem;font-size:.9rem}.loading-screen{justify-content:center;align-items:center;height:100vh;display:flex}.btn-small{padding:.4rem 1rem;font-size:.8rem}
